Skip to content
ANNO-Sprachen Plotly Dynamic.ipynb 4.88 MiB
Newer Older
Stefan Karner's avatar
Stefan Karner committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Dynamic Plots"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "* Filter: Issue size\n",
    "* Filter: Language\n",
    "* Filter: Time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import ipywidgets as widgets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "dd = pd.read_csv('../issue-based-data.csv.gz', compression='gzip')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>title</th>\n",
       "      <th>ais</th>\n",
       "      <th>year</th>\n",
       "      <th>pages</th>\n",
       "      <th>languages</th>\n",
       "      <th>place</th>\n",
       "      <th>in_labs</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>Der Telegraph</td>\n",
       "      <td>a44</td>\n",
       "      <td>1836</td>\n",
       "      <td>4</td>\n",
       "      <td>de</td>\n",
       "      <td>Wien</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>Der Telegraph</td>\n",
       "      <td>a44</td>\n",
       "      <td>1836</td>\n",
       "      <td>4</td>\n",
       "      <td>de</td>\n",
       "      <td>Wien</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>Der Telegraph</td>\n",
       "      <td>a44</td>\n",
       "      <td>1836</td>\n",
       "      <td>4</td>\n",
       "      <td>de</td>\n",
       "      <td>Wien</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>Der Telegraph</td>\n",
       "      <td>a44</td>\n",
       "      <td>1836</td>\n",
       "      <td>4</td>\n",
       "      <td>de</td>\n",
       "      <td>Wien</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>Der Telegraph</td>\n",
       "      <td>a44</td>\n",
       "      <td>1836</td>\n",
       "      <td>4</td>\n",
       "      <td>de</td>\n",
       "      <td>Wien</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Unnamed: 0          title  ais  year  pages languages place  in_labs\n",
       "0           0  Der Telegraph  a44  1836      4        de  Wien        0\n",
       "1           1  Der Telegraph  a44  1836      4        de  Wien        0\n",
       "2           2  Der Telegraph  a44  1836      4        de  Wien        0\n",
       "3           3  Der Telegraph  a44  1836      4        de  Wien        0\n",
       "4           4  Der Telegraph  a44  1836      4        de  Wien        0"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dd.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>year</th>\n",
       "      <th>pages</th>\n",
       "      <th>in_labs</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>1.461409e+06</td>\n",
       "      <td>1.461409e+06</td>\n",
       "      <td>1.461409e+06</td>\n",
       "      <td>1.461409e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>7.307040e+05</td>\n",
       "      <td>1.872292e+03</td>\n",
       "      <td>1.367011e+01</td>\n",
       "      <td>1.582233e-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>4.218726e+05</td>\n",
       "      <td>1.360414e+02</td>\n",
       "      <td>3.744340e+01</td>\n",
       "      <td>3.649504e-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>1.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>3.653520e+05</td>\n",
       "      <td>1.849000e+03</td>\n",
       "      <td>4.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>7.307040e+05</td>\n",
       "      <td>1.891000e+03</td>\n",
       "      <td>8.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>1.096056e+06</td>\n",
       "      <td>1.915000e+03</td>\n",
       "      <td>1.600000e+01</td>\n",
       "      <td>0.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>1.461408e+06</td>\n",
       "      <td>2.017000e+03</td>\n",
       "      <td>4.012000e+03</td>\n",
       "      <td>1.000000e+00</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         Unnamed: 0          year         pages       in_labs\n",
       "count  1.461409e+06  1.461409e+06  1.461409e+06  1.461409e+06\n",
       "mean   7.307040e+05  1.872292e+03  1.367011e+01  1.582233e-01\n",
       "std    4.218726e+05  1.360414e+02  3.744340e+01  3.649504e-01\n",
       "min    0.000000e+00  1.000000e+00  0.000000e+00  0.000000e+00\n",
       "25%    3.653520e+05  1.849000e+03  4.000000e+00  0.000000e+00\n",
       "50%    7.307040e+05  1.891000e+03  8.000000e+00  0.000000e+00\n",
       "75%    1.096056e+06  1.915000e+03  1.600000e+01  0.000000e+00\n",
       "max    1.461408e+06  2.017000e+03  4.012000e+03  1.000000e+00"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dd.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Prepare Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "dd = dd[dd['year'] >= 1500]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "dd['in_labs'] = dd['in_labs'].astype(bool)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>title</th>\n",
       "      <th>ais</th>\n",
       "      <th>year</th>\n",
       "      <th>pages</th>\n",
       "      <th>languages</th>\n",
       "      <th>place</th>\n",
       "      <th>in_labs</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>Der Telegraph</td>\n",
       "      <td>a44</td>\n",
       "      <td>1836</td>\n",
       "      <td>4</td>\n",
       "      <td>de</td>\n",
       "      <td>Wien</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>Der Telegraph</td>\n",
       "      <td>a44</td>\n",
       "      <td>1836</td>\n",
       "      <td>4</td>\n",
       "      <td>de</td>\n",
       "      <td>Wien</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>Der Telegraph</td>\n",
       "      <td>a44</td>\n",
       "      <td>1836</td>\n",
       "      <td>4</td>\n",
       "      <td>de</td>\n",
       "      <td>Wien</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>Der Telegraph</td>\n",
       "      <td>a44</td>\n",
       "      <td>1836</td>\n",
       "      <td>4</td>\n",
       "      <td>de</td>\n",
       "      <td>Wien</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>Der Telegraph</td>\n",
       "      <td>a44</td>\n",
       "      <td>1836</td>\n",
       "      <td>4</td>\n",
       "      <td>de</td>\n",
       "      <td>Wien</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Unnamed: 0          title  ais  year  pages languages place  in_labs\n",
       "0           0  Der Telegraph  a44  1836      4        de  Wien    False\n",
       "1           1  Der Telegraph  a44  1836      4        de  Wien    False\n",
       "2           2  Der Telegraph  a44  1836      4        de  Wien    False\n",
       "3           3  Der Telegraph  a44  1836      4        de  Wien    False\n",
       "4           4  Der Telegraph  a44  1836      4        de  Wien    False"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dd.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "dd.loc[dd['languages'].str.len() > 2, 'languages'] = 'multi'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "dd.loc[dd['languages'].isnull(), 'languages'] = 'unknown'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['de', 'it', 'hu', 'ro', 'unknown', 'en', 'pt', 'multi', 'sk', 'cs',\n",
       "       'eo', 'el', 'hr', 'he', 'pl', 'fr', 'ru', 'sl', 'sr', 'uk'],\n",
       "      dtype=object)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dd.languages.unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "dd.loc[dd['place'].isnull(), 'place'] = 'unknown'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Filter"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Some section\n",
    "\n",
    "* a list\n",
    "* with bullet points"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "year_min, year_max = dd.year.min(), dd.year.max()\n",
    "pages_min, pages_max = dd.pages.min(), dd.pages.max()\n",
    "pages_unique = sorted(dd.pages.unique())\n",
    "all_languages = dd.languages.unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "language_options = sorted(all_languages)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "549383bbad4a4bf7b9866d0c051b3227",
       "version_major": 2,
       "version_minor": 0
      },
      "text/html": [
       "<p>Failed to display Jupyter Widget of type <code>VBox</code>.</p>\n",
       "<p>\n",
       "  If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n",
       "  that the widgets JavaScript is still loading. If this message persists, it\n",
       "  likely means that the widgets JavaScript library is either not installed or\n",
       "  not enabled. See the <a href=\"https://ipywidgets.readthedocs.io/en/stable/user_install.html\">Jupyter\n",
       "  Widgets Documentation</a> for setup instructions.\n",
       "</p>\n",
       "<p>\n",
       "  If you're reading this message in another frontend (for example, a static\n",
       "  rendering on GitHub or <a href=\"https://nbviewer.jupyter.org/\">NBViewer</a>),\n",
       "  it may mean that your frontend doesn't currently support widgets.\n",
       "</p>\n"
      ],
      "text/plain": [
       "VBox(children=(IntRangeSlider(value=(1505, 2017), continuous_update=False, description='Years', layout=Layout(width='90%'), max=2017, min=1505), SelectionRangeSlider(continuous_update=False, description='Pages', index=(0, 1128), layout=Layout(width='90%'), options=(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 440, 441, 442, 443, 444, 445, 446, 447, 448, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 638, 639, 640, 641, 642, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 730, 731, 732, 733, 734, 735, 736, 737, 738, 740, 741, 742, 743, 744, 745, 746, 747, 748, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 762, 764, 765, 766, 767, 768, 769, 770, 771, 772, 774, 775, 776, 777, 778, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 792, 793, 794, 795, 797, 798, 799, 800, 801, 802, 803, 804, 805, 807, 808, 809, 810, 812, 813, 814, 816, 817, 818, 819, 820, 821, 822, 824, 825, 826, 828, 829, 832, 834, 835, 836, 837, 838, 839, 840, 841, 842, 844, 846, 848, 850, 852, 853, 854, 855, 856, 858, 859, 860, 863, 864, 865, 867, 868, 870, 872, 874, 876, 877, 878, 880, 882, 884, 888, 892, 893, 894, 896, 898, 899, 900, 902, 904, 905, 907, 910, 917, 918, 919, 926, 928, 932, 934, 936, 940, 941, 942, 944, 948, 950, 954, 956, 958, 960, 962, 963, 964, 966, 968, 969, 970, 972, 973, 974, 976, 977, 978, 982, 984, 986, 988, 990, 992, 993, 996, 998, 1002, 1004, 1005, 1006, 1008, 1010, 1012, 1018, 1020, 1022, 1024, 1026, 1028, 1030, 1036, 1037, 1040, 1042, 1044, 1045, 1046, 1048, 1052, 1056, 1058, 1060, 1070, 1074, 1078, 1084, 1087, 1088, 1093, 1096, 1098, 1100, 1102, 1104, 1106, 1109, 1110, 1112, 1114, 1116, 1118, 1128, 1130, 1132, 1133, 1134, 1135, 1136, 1138, 1140, 1141, 1142, 1144, 1146, 1147, 1152, 1153, 1155, 1156, 1157, 1160, 1164, 1182, 1183, 1192, 1194, 1196, 1197, 1198, 1199, 1202, 1205, 1206, 1207, 1208, 1214, 1216, 1217, 1220, 1224, 1226, 1228, 1230, 1231, 1232, 1234, 1235, 1236, 1237, 1238, 1240, 1242, 1244, 1248, 1252, 1256, 1258, 1264, 1269, 1273, 1274, 1275, 1277, 1281, 1284, 1288, 1292, 1293, 1294, 1296, 1301, 1305, 1306, 1318, 1320, 1321, 1322, 1326, 1328, 1336, 1348, 1354, 1356, 1362, 1375, 1380, 1398, 1402, 1408, 1412, 1416, 1419, 1420, 1428, 1431, 1432, 1433, 1434, 1438, 1440, 1444, 1456, 1462, 1464, 1466, 1474, 1478, 1480, 1489, 1494, 1498, 1500, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1516, 1517, 1518, 1520, 1522, 1527, 1528, 1532, 1539, 1540, 1542, 1546, 1550, 1552, 1553, 1564, 1574, 1576, 1585, 1586, 1588, 1592, 1594, 1602, 1604, 1605, 1610, 1614, 1615, 1617, 1623, 1624, 1632, 1639, 1642, 1644, 1651, 1659, 1666, 1668, 1701, 1704, 1706, 1708, 1712, 1713, 1716, 1717, 1722, 1738, 1750, 1755, 1768, 1774, 1886, 1890, 1894, 1905, 2049, 2060, 2162, 2271, 2367, 2421, 2604, 2699, 2876, 4012), value=(0, 4012)), SelectMultiple(description='Languages', index=(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19), layout=Layout(width='90%'), options=('cs', 'de', 'el', 'en', 'eo', 'fr', 'he', 'hr', 'hu', 'it', 'multi', 'pl', 'pt', 'ro', 'ru', 'sk', 'sl', 'sr', 'uk', 'unknown'), rows=20, value=('cs', 'de', 'el', 'en', 'eo', 'fr', 'he', 'hr', 'hu', 'it', 'multi', 'pl', 'pt', 'ro', 'ru', 'sk', 'sl', 'sr', 'uk', 'unknown')), Checkbox(value=False, description='Limit to Lab content', layout=Layout(width='90%')), Output()))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "wide_layout = widgets.Layout(width='90%')\n",
    "\n",
    "years = widgets.IntRangeSlider(value=(year_min, year_max), min=year_min, max=year_max, step=1,\n",
    "                               continuous_update=False, description='Years', layout=wide_layout)\n",
    "pages = widgets.SelectionRangeSlider(value=(pages_min, pages_max), options=pages_unique,\n",
    "                                     continuous_update=False, description='Pages', layout=wide_layout)\n",
    "lang = widgets.SelectMultiple(options=language_options, value=language_options[:], rows=len(language_options),\n",
    "                              description='Languages', layout=wide_layout)\n",
    "labs = widgets.Checkbox(value=False,\n",
    "                        description='Limit to Lab content', layout=wide_layout)\n",
    "out = widgets.Output()\n",
    "\n",
    "\n",
    "def get_filtered_dataframe():\n",
    "    ymin, ymax = years.value\n",
    "    pmin, pmax = pages.value\n",
    "    selected_languages = lang.value\n",
    "    filtered = dd[\n",
    "        (dd['year'] >= ymin) &\n",
    "        (dd['year'] <= ymax) &\n",
    "        (dd['pages'] >= pmin) &\n",
    "        (dd['pages'] <= pmax) &\n",
    "        (dd['languages'].isin(selected_languages))\n",
    "    ]\n",
    "    if labs.value:\n",
    "        filtered = filtered[filtered['in_labs']]\n",
    "    return filtered\n",
    "\n",
    "def update_filtered_plotly_output(*args):\n",
    "    filtered_data = get_filtered_dataframe()\n",
    "    out.clear_output()\n",
    "    with out:\n",
    "        print('Data length: {}'.format(len(filtered_data)))\n",
    "\n",
    "        \n",
    "years.observe(update_filtered_plotly_output, names=['value'])\n",
    "pages.observe(update_filtered_plotly_output, names=['value'])\n",
    "lang.observe(update_filtered_plotly_output, names=['value'])\n",
    "labs.observe(update_filtered_plotly_output, names=['value'])\n",
    "\n",
    "\n",
    "update_filtered_plotly_output()\n",
    "    \n",
    "widgets.VBox([\n",
    "    years,\n",
    "    pages,\n",
    "    lang,\n",
    "    labs,\n",
    "    out\n",
    "])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Plotly"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<script type='text/javascript'>if(!window.Plotly){define('plotly', function(require, exports, module) {/**\n",
       "* plotly.js v1.35.2\n",
       "* Copyright 2012-2018, 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{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).Plotly=t()}}(function(){var t={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEAVGYEAR:315576e5,ONEAVGMONTH:26298e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:1-1e-6,MINUS_SIGN:\"\\u2212\"},e={exports:{}};!function(){var t={version:\"3.5.17\"},r=[].slice,n=function(t){return r.call(t)},i=this.document;function a(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(i)try{n(i.documentElement.childNodes)[0].nodeType}catch(t){n=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}),i)try{i.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch(t){var s=this.Element.prototype,l=s.setAttribute,u=s.setAttributeNS,c=this.CSSStyleDeclaration.prototype,h=c.setProperty;s.setAttribute=function(t,e){l.call(this,t,e+\"\")},s.setAttributeNS=function(t,e,r){u.call(this,t,e,r+\"\")},c.setProperty=function(t,e,r){h.call(this,t,e+\"\",r)}}function f(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function p(t){return null===t?NaN:+t}function d(t){return!isNaN(t)}function g(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}}}t.ascending=f,t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.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},t.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},t.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]},t.sum=function(t,e){var r,n=0,i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)d(r=+t[a])&&(n+=r);else for(;++a<i;)d(r=+e.call(t,t[a],a))&&(n+=r);return n},t.mean=function(t,e){var r,n=0,i=t.length,a=-1,o=i;if(1===arguments.length)for(;++a<i;)d(r=p(t[a]))?n+=r:--o;else for(;++a<i;)d(r=p(e.call(t,t[a],a)))?n+=r:--o;if(o)return n/o},t.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},t.median=function(e,r){var n,i=[],a=e.length,o=-1;if(1===arguments.length)for(;++o<a;)d(n=p(e[o]))&&i.push(n);else for(;++o<a;)d(n=p(r.call(e,e[o],o)))&&i.push(n);if(i.length)return t.quantile(i.sort(f),.5)},t.variance=function(t,e){var r,n,i=t.length,a=0,o=0,s=-1,l=0;if(1===arguments.length)for(;++s<i;)d(r=p(t[s]))&&(o+=(n=r-a)*(r-(a+=n/++l)));else for(;++s<i;)d(r=p(e.call(t,t[s],s)))&&(o+=(n=r-a)*(r-(a+=n/++l)));if(l>1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var v=g(f);function m(t){return t.length}t.bisectLeft=v.left,t.bisect=t.bisectRight=v.right,t.bisector=function(t){return g(1===t.length?function(e,r){return f(t(e),r)}:t)},t.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},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.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},t.transpose=function(e){if(!(a=e.length))return[];for(var r=-1,n=t.min(e,m),i=new Array(n);++r<n;)for(var a,o=-1,s=i[r]=new Array(a);++o<a;)s[o]=e[o][r];return i},t.zip=function(){return t.transpose(arguments)},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},t.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(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function b(){this._=Object.create(null)}t.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=function(t){var e=1;for(;t*e%1;)e*=10;return e}(y(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)<e;)i.push(n/a);return i},t.map=function(t,e){var r=new b;if(t instanceof b)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 _=\"__proto__\",w=\"\\0\";function M(t){return(t+=\"\")===_||t[0]===w?w+t:t}function A(t){return(t+=\"\")[0]===w?t.slice(1):t}function k(t){return M(t)in this._}function T(t){return(t=M(t))in this._&&delete this._[t]}function S(){var t=[];for(var e in this._)t.push(A(e));return t}function E(){var t=0;for(var e in this._)++t;return t}function C(){for(var t in this._)return!1;return!0}function L(){this._=Object.create(null)}function z(t){return t}function P(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function I(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=D.length;r<n;++r){var i=D[r]+e;if(i in t)return i}}x(b,{has:k,get:function(t){return this._[M(t)]},set:function(t,e){return this._[M(t)]=e},remove:T,keys:S,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:A(e),value:this._[e]});return t},size:E,empty:C,forEach:function(t){for(var e in this._)t.call(this,A(e),this._[e])}}),t.nest=function(){var e,r,n={},i=[],a=[];function o(t,a,s){if(s>=i.length)return r?r.call(n,a):e?a.sort(e):a;for(var l,u,c,h,f=-1,p=a.length,d=i[s++],g=new b;++f<p;)(h=g.get(l=d(u=a[f])))?h.push(u):g.set(l,[u]);return t?(u=t(),c=function(e,r){u.set(e,o(t,r,s))}):(u={},c=function(e,r){u[e]=o(t,r,s)}),g.forEach(c),u}return n.map=function(t,e){return o(e,t,0)},n.entries=function(e){return function t(e,r){if(r>=i.length)return e;var n=[],o=a[r++];return e.forEach(function(e,i){n.push({key:e,values:t(i,r)})}),o?n.sort(function(t,e){return o(t.key,e.key)}):n}(o(t.map,e,0),0)},n.key=function(t){return i.push(t),n},n.sortKeys=function(t){return a[i.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new L;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},x(L,{has:k,add:function(t){return this._[M(t+=\"\")]=!0,t},remove:T,values:S,size:E,empty:C,forEach:function(t){for(var e in this._)t.call(this,A(e))}}),t.behavior={},t.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n<i;)t[r=arguments[n]]=P(t,e,e[r]);return t};var D=[\"webkit\",\"ms\",\"moz\",\"Moz\",\"o\",\"O\"];function O(){}function R(){}function F(t){var e=[],r=new b;function n(){for(var r,n=e,i=-1,a=n.length;++i<a;)(r=n[i].on)&&r.apply(this,arguments);return t}return n.on=function(n,i){var a,o=r.get(n);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,a=e.indexOf(o)).concat(e.slice(a+1)),r.remove(n)),i&&e.push(r.set(n,{on:i})),t)},n}function B(){t.event.preventDefault()}function N(){for(var e,r=t.event;e=r.sourceEvent;)r=e;return r}function j(e){for(var r=new R,n=0,i=arguments.length;++n<i;)r[arguments[n]]=F(r);return r.of=function(n,i){return function(a){try{var o=a.sourceEvent=t.event;a.target=e,t.event=a,r[a.type].apply(n,i)}finally{t.event=o}}},r}t.dispatch=function(){for(var t=new R,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=F(t);return t},R.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}},t.event=null,t.requote=function(t){return t.replace(V,\"\\\\$&\")};var V=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function q(t){return U(t,Y),t}var H=function(t,e){return e.querySelector(t)},G=function(t,e){return e.querySelectorAll(t)},W=function(t,e){var r=t.matches||t[I(t,\"matchesSelector\")];return(W=function(t,e){return r.call(t,e)})(t,e)};\"function\"==typeof Sizzle&&(H=function(t,e){return Sizzle(t,e)[0]||null},G=Sizzle,W=Sizzle.matchesSelector),t.selection=function(){return t.select(i.documentElement)};var Y=t.selection.prototype=[];function X(t){return\"function\"==typeof t?t:function(){return H(t,this)}}function Z(t){return\"function\"==typeof t?t:function(){return G(t,this)}}Y.select=function(t){var e,r,n,i,a=[];t=X(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 q(a)},Y.selectAll=function(t){var e,r,i=[];t=Z(t);for(var a=-1,o=this.length;++a<o;)for(var s=this[a],l=-1,u=s.length;++l<u;)(r=s[l])&&(i.push(e=n(t.call(r,r.__data__,l,a))),e.parentNode=r);return q(i)};var J=\"http://www.w3.org/1999/xhtml\",K={svg:\"http://www.w3.org/2000/svg\",xhtml:J,xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"};function Q(e,r){return e=t.ns.qualify(e),null==r?e.local?function(){this.removeAttributeNS(e.space,e.local)}:function(){this.removeAttribute(e)}:\"function\"==typeof r?e.local?function(){var t=r.apply(this,arguments);null==t?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,t)}:function(){var t=r.apply(this,arguments);null==t?this.removeAttribute(e):this.setAttribute(e,t)}:e.local?function(){this.setAttributeNS(e.space,e.local,r)}:function(){this.setAttribute(e,r)}}function $(t){return t.trim().replace(/\\s+/g,\" \")}function tt(e){return new RegExp(\"(?:^|\\\\s+)\"+t.requote(e)+\"(?:\\\\s+|$)\",\"g\")}function et(t){return(t+\"\").trim().split(/^|\\s+/)}function rt(t,e){var r=(t=et(t).map(nt)).length;return\"function\"==typeof e?function(){for(var n=-1,i=e.apply(this,arguments);++n<r;)t[n](this,i)}:function(){for(var n=-1;++n<r;)t[n](this,e)}}function nt(t){var e=tt(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\",$(i+\" \"+t))):r.setAttribute(\"class\",$(i.replace(e,\" \")))}}function it(t,e,r){return null==e?function(){this.style.removeProperty(t)}:\"function\"==typeof e?function(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,r)}:function(){this.style.setProperty(t,e,r)}}function at(t,e){return null==e?function(){delete this[t]}:\"function\"==typeof e?function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}:function(){this[t]=e}}function ot(e){return\"function\"==typeof e?e:(e=t.ns.qualify(e)).local?function(){return this.ownerDocument.createElementNS(e.space,e.local)}:function(){var t=this.ownerDocument,r=this.namespaceURI;return r===J&&t.documentElement.namespaceURI===J?t.createElement(e):t.createElementNS(r,e)}}function st(){var t=this.parentNode;t&&t.removeChild(this)}function lt(t){return{__data__:t}}function ut(t){return function(){return W(this,t)}}function ct(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 ht(t){return U(t,ft),t}t.ns={prefix:K,qualify:function(t){var e=t.indexOf(\":\"),r=t;return e>=0&&\"xmlns\"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),K.hasOwnProperty(r)?{space:K[r],local:t}:t}},Y.attr=function(e,r){if(arguments.length<2){if(\"string\"==typeof e){var n=this.node();return(e=t.ns.qualify(e)).local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}for(r in e)this.each(Q(r,e[r]));return this}return this.each(Q(e,r))},Y.classed=function(t,e){if(arguments.length<2){if(\"string\"==typeof t){var r=this.node(),n=(t=et(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(!tt(t[i]).test(e))return!1;return!0}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(t,e))},Y.style=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){for(r in n<2&&(e=\"\"),t)this.each(it(r,t[r],e));return this}if(n<2){var i=this.node();return o(i).getComputedStyle(i,null).getPropertyValue(t)}r=\"\"}return this.each(it(t,e,r))},Y.property=function(t,e){if(arguments.length<2){if(\"string\"==typeof t)return this.node()[t];for(e in t)this.each(at(e,t[e]));return this}return this.each(at(t,e))},Y.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},Y.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},Y.append=function(t){return t=ot(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Y.insert=function(t,e){return t=ot(t),e=X(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},Y.remove=function(){return this.each(st)},Y.data=function(t,e){var r,n,i=-1,a=this.length;if(!arguments.length){for(t=new Array(a=(r=this[0]).length);++i<a;)(n=r[i])&&(t[i]=n.__data__);return t}function o(t,r){var n,i,a,o=t.length,c=r.length,h=Math.min(o,c),f=new Array(c),p=new Array(c),d=new Array(o);if(e){var g,v=new b,m=new Array(o);for(n=-1;++n<o;)(i=t[n])&&(v.has(g=e.call(i,i.__data__,n))?d[n]=i:v.set(g,i),m[n]=g);for(n=-1;++n<c;)(i=v.get(g=e.call(r,a=r[n],n)))?!0!==i&&(f[n]=i,i.__data__=a):p[n]=lt(a),v.set(g,!0);for(n=-1;++n<o;)n in m&&!0!==v.get(m[n])&&(d[n]=t[n])}else{for(n=-1;++n<h;)i=t[n],a=r[n],i?(i.__data__=a,f[n]=i):p[n]=lt(a);for(;n<c;++n)p[n]=lt(r[n]);for(;n<o;++n)d[n]=t[n]}p.update=f,p.parentNode=f.parentNode=d.parentNode=t.parentNode,s.push(p),l.push(f),u.push(d)}var s=ht([]),l=q([]),u=q([]);if(\"function\"==typeof t)for(;++i<a;)o(r=this[i],t.call(r,r.parentNode.__data__,i));else for(;++i<a;)o(r=this[i],t);return l.enter=function(){return s},l.exit=function(){return u},l},Y.datum=function(t){return arguments.length?this.property(\"__data__\",t):this.property(\"__data__\")},Y.filter=function(t){var e,r,n,i=[];\"function\"!=typeof t&&(t=ut(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 q(i)},Y.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},Y.sort=function(t){t=function(t){arguments.length||(t=f);return function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}.apply(this,arguments);for(var e=-1,r=this.length;++e<r;)this[e].sort(t);return this.order()},Y.each=function(t){return ct(this,function(e,r,n){t.call(e,e.__data__,r,n)})},Y.call=function(t){var e=n(arguments);return t.apply(e[0]=this,e),this},Y.empty=function(){return!this.node()},Y.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},Y.size=function(){var t=0;return ct(this,function(){++t}),t};var ft=[];function pt(e,r,i){var a=\"__on\"+e,o=e.indexOf(\".\"),s=gt;o>0&&(e=e.slice(0,o));var l=dt.get(e);function u(){var t=this[a];t&&(this.removeEventListener(e,t,t.$),delete this[a])}return l&&(e=l,s=vt),o?r?function(){var t=s(r,n(arguments));u.call(this),this.addEventListener(e,this[a]=t,t.$=i),t._=r}:u:r?O:function(){var r,n=new RegExp(\"^__on([^.]+)\"+t.requote(e)+\"$\");for(var i in this)if(r=i.match(n)){var a=this[i];this.removeEventListener(r[1],a,a.$),delete this[i]}}}t.selection.enter=ht,t.selection.enter.prototype=ft,ft.append=Y.append,ft.empty=Y.empty,ft.node=Y.node,ft.call=Y.call,ft.size=Y.size,ft.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 q(o)},ft.insert=function(t,e){var r,n,i;return arguments.length<2&&(r=this,e=function(t,e,a){var o,s=r[a].update,l=s.length;for(a!=i&&(i=a,n=0),e>=n&&(n=e+1);!(o=s[n])&&++n<l;);return o}),Y.insert.call(this,t,e)},t.select=function(t){var e;return\"string\"==typeof t?(e=[H(t,i)]).parentNode=i.documentElement:(e=[t]).parentNode=a(t),q([e])},t.selectAll=function(t){var e;return\"string\"==typeof t?(e=n(G(t,i))).parentNode=i.documentElement:(e=n(t)).parentNode=null,q([e])},Y.on=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){for(r in n<2&&(e=!1),t)this.each(pt(r,t[r],e));return this}if(n<2)return(n=this.node()[\"__on\"+t])&&n._;r=!1}return this.each(pt(t,e,r))};var dt=t.map({mouseenter:\"mouseover\",mouseleave:\"mouseout\"});function gt(e,r){return function(n){var i=t.event;t.event=n,r[0]=this.__data__;try{e.apply(this,r)}finally{t.event=i}}}function vt(t,e){var r=gt(t,e);return function(t){var e=t.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||r.call(this,t)}}i&&dt.forEach(function(t){\"on\"+t in i&&dt.remove(t)});var mt,yt=0;function xt(e){var r=\".dragsuppress-\"+ ++yt,n=\"click\"+r,i=t.select(o(e)).on(\"touchmove\"+r,B).on(\"dragstart\"+r,B).on(\"selectstart\"+r,B);if(null==mt&&(mt=!(\"onselectstart\"in e)&&I(e.style,\"userSelect\")),mt){var s=a(e).style,l=s[mt];s[mt]=\"none\"}return function(t){if(i.on(r,null),mt&&(s[mt]=l),t){var e=function(){i.on(n,null)};i.on(n,function(){B(),e()},!0),setTimeout(e,0)}}}t.mouse=function(t){return _t(t,N())};var bt=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function _t(e,r){r.changedTouches&&(r=r.changedTouches[0]);var n=e.ownerSVGElement||e;if(n.createSVGPoint){var i=n.createSVGPoint();if(bt<0){var a=o(e);if(a.scrollX||a.scrollY){var s=(n=t.select(\"body\").append(\"svg\").style({position:\"absolute\",top:0,left:0,margin:0,padding:0,border:\"none\"},\"important\"))[0][0].getScreenCTM();bt=!(s.f||s.e),n.remove()}}return bt?(i.x=r.pageX,i.y=r.pageY):(i.x=r.clientX,i.y=r.clientY),[(i=i.matrixTransform(e.getScreenCTM().inverse())).x,i.y]}var l=e.getBoundingClientRect();return[r.clientX-l.left-e.clientLeft,r.clientY-l.top-e.clientTop]}function wt(){return t.event.changedTouches[0].identifier}t.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=N().changedTouches),e)for(var n,i=0,a=e.length;i<a;++i)if((n=e[i]).identifier===r)return _t(t,n)},t.behavior.drag=function(){var e=j(a,\"drag\",\"dragstart\",\"dragend\"),r=null,n=s(O,t.mouse,o,\"mousemove\",\"mouseup\"),i=s(wt,t.touch,z,\"touchmove\",\"touchend\");function a(){this.on(\"mousedown.drag\",n).on(\"touchstart.drag\",i)}function s(n,i,a,o,s){return function(){var l,u=t.event.target.correspondingElement||t.event.target,c=this.parentNode,h=e.of(this,arguments),f=0,p=n(),d=\".drag\"+(null==p?\"\":\"-\"+p),g=t.select(a(u)).on(o+d,function(){var t,e,r=i(c,p);if(!r)return;t=r[0]-m[0],e=r[1]-m[1],f|=t|e,m=r,h({type:\"drag\",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:e})}).on(s+d,function(){if(!i(c,p))return;g.on(o+d,null).on(s+d,null),v(f),h({type:\"dragend\"})}),v=xt(u),m=i(c,p);l=r?[(l=r.apply(this,arguments)).x-m[0],l.y-m[1]]:[0,0],h({type:\"dragstart\"})}}return a.origin=function(t){return arguments.length?(r=t,a):r},t.rebind(a,e,\"on\")},t.touches=function(t,e){return arguments.length<2&&(e=N().touches),e?n(e).map(function(e){var r=_t(t,e);return r.identifier=e.identifier,r}):[]};var Mt=1e-6,At=Mt*Mt,kt=Math.PI,Tt=2*kt,St=Tt-Mt,Et=kt/2,Ct=kt/180,Lt=180/kt;function zt(t){return t>0?1:t<0?-1:0}function Pt(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function It(t){return t>1?0:t<-1?kt:Math.acos(t)}function Dt(t){return t>1?Et:t<-1?-Et:Math.asin(t)}function Ot(t){return((t=Math.exp(t))+1/t)/2}function Rt(t){return(t=Math.sin(t/2))*t}var Ft=Math.SQRT2;t.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<At)n=Math.log(u/o)/Ft,r=function(t){return[i+t*c,a+t*h,o*Math.exp(Ft*t*n)]};else{var p=Math.sqrt(f),d=(u*u-o*o+4*f)/(2*o*2*p),g=(u*u-o*o-4*f)/(2*u*2*p),v=Math.log(Math.sqrt(d*d+1)-d),m=Math.log(Math.sqrt(g*g+1)-g);n=(m-v)/Ft,r=function(t){var e,r=t*n,s=Ot(v),l=o/(2*p)*(s*(e=Ft*r+v,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(v));return[i+l*c,a+l*h,o*s/Ot(Ft*r+v)]}}return r.duration=1e3*n,r},t.behavior.zoom=function(){var e,r,n,a,s,l,u,c,h,f={x:0,y:0,k:1},p=[960,500],d=jt,g=250,v=0,m=\"mousedown.zoom\",y=\"mousemove.zoom\",x=\"mouseup.zoom\",b=\"touchstart.zoom\",_=j(w,\"zoomstart\",\"zoom\",\"zoomend\");function w(t){t.on(m,z).on(Nt+\".zoom\",I).on(\"dblclick.zoom\",D).on(b,P)}function M(t){return[(t[0]-f.x)/f.k,(t[1]-f.y)/f.k]}function A(t){f.k=Math.max(d[0],Math.min(d[1],t))}function k(t,e){e=function(t){return[t[0]*f.k+f.x,t[1]*f.k+f.y]}(e),f.x+=t[0]-e[0],f.y+=t[1]-e[1]}function T(e,n,i,a){e.__chart__={x:f.x,y:f.y,k:f.k},A(Math.pow(2,a)),k(r=n,i),e=t.select(e),g>0&&(e=e.transition().duration(g)),e.call(w.event)}function S(){u&&u.domain(l.range().map(function(t){return(t-f.x)/f.k}).map(l.invert)),h&&h.domain(c.range().map(function(t){return(t-f.y)/f.k}).map(c.invert))}function E(t){v++||t({type:\"zoomstart\"})}function C(t){S(),t({type:\"zoom\",scale:f.k,translate:[f.x,f.y]})}function L(t){--v||(t({type:\"zoomend\"}),r=null)}function z(){var e=this,r=_.of(e,arguments),n=0,i=t.select(o(e)).on(y,function(){n=1,k(t.mouse(e),a),C(r)}).on(x,function(){i.on(y,null).on(x,null),s(n),L(r)}),a=M(t.mouse(e)),s=xt(e);ss.call(e),E(r)}function P(){var e,r=this,n=_.of(r,arguments),i={},a=0,o=\".zoom-\"+t.event.changedTouches[0].identifier,l=\"touchmove\"+o,u=\"touchend\"+o,c=[],h=t.select(r),p=xt(r);function d(){var n=t.touches(r);return e=f.k,n.forEach(function(t){t.identifier in i&&(i[t.identifier]=M(t))}),n}function g(){var e=t.event.target;t.select(e).on(l,v).on(u,y),c.push(e);for(var n=t.event.changedTouches,o=0,h=n.length;o<h;++o)i[n[o].identifier]=null;var p=d(),g=Date.now();if(1===p.length){if(g-s<500){var m=p[0];T(r,m,i[m.identifier],Math.floor(Math.log(f.k)/Math.LN2)+1),B()}s=g}else if(p.length>1){m=p[0];var x=p[1],b=m[0]-x[0],_=m[1]-x[1];a=b*b+_*_}}function v(){var o,l,u,c,h=t.touches(r);ss.call(r);for(var f=0,p=h.length;f<p;++f,c=null)if(u=h[f],c=i[u.identifier]){if(l)break;o=u,l=c}if(c){var d=(d=u[0]-o[0])*d+(d=u[1]-o[1])*d,g=a&&Math.sqrt(d/a);o=[(o[0]+u[0])/2,(o[1]+u[1])/2],l=[(l[0]+c[0])/2,(l[1]+c[1])/2],A(g*e)}s=null,k(o,l),C(n)}function y(){if(t.event.touches.length){for(var e=t.event.changedTouches,r=0,a=e.length;r<a;++r)delete i[e[r].identifier];for(var s in i)return void d()}t.selectAll(c).on(o,null),h.on(m,z).on(b,P),p(),L(n)}g(),E(n),h.on(m,null).on(b,g)}function I(){var i=_.of(this,arguments);a?clearTimeout(a):(ss.call(this),e=M(r=n||t.mouse(this)),E(i)),a=setTimeout(function(){a=null,L(i)},50),B(),A(Math.pow(2,.002*Bt())*f.k),k(r,e),C(i)}function D(){var e=t.mouse(this),r=Math.log(f.k)/Math.LN2;T(this,e,M(e),t.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}return Nt||(Nt=\"onwheel\"in i?(Bt=function(){return-t.event.deltaY*(t.event.deltaMode?120:1)},\"wheel\"):\"onmousewheel\"in i?(Bt=function(){return t.event.wheelDelta},\"mousewheel\"):(Bt=function(){return-t.event.detail},\"MozMousePixelScroll\")),w.event=function(e){e.each(function(){var e=_.of(this,arguments),n=f;cs?t.select(this).transition().each(\"start.zoom\",function(){f=this.__chart__||{x:0,y:0,k:1},E(e)}).tween(\"zoom:zoom\",function(){var i=p[0],a=p[1],o=r?r[0]:i/2,s=r?r[1]:a/2,l=t.interpolateZoom([(o-f.x)/f.k,(s-f.y)/f.k,i/f.k],[(o-n.x)/n.k,(s-n.y)/n.k,i/n.k]);return function(t){var r=l(t),n=i/r[2];this.__chart__=f={x:o-r[0]*n,y:s-r[1]*n,k:n},C(e)}}).each(\"interrupt.zoom\",function(){L(e)}).each(\"end.zoom\",function(){L(e)}):(this.__chart__=f,E(e),C(e),L(e))})},w.translate=function(t){return arguments.length?(f={x:+t[0],y:+t[1],k:f.k},S(),w):[f.x,f.y]},w.scale=function(t){return arguments.length?(f={x:f.x,y:f.y,k:null},A(+t),S(),w):f.k},w.scaleExtent=function(t){return arguments.length?(d=null==t?jt:[+t[0],+t[1]],w):d},w.center=function(t){return arguments.length?(n=t&&[+t[0],+t[1]],w):n},w.size=function(t){return arguments.length?(p=t&&[+t[0],+t[1]],w):p},w.duration=function(t){return arguments.length?(g=+t,w):g},w.x=function(t){return arguments.length?(u=t,l=t.copy(),f={x:0,y:0,k:1},w):u},w.y=function(t){return arguments.length?(h=t,c=t.copy(),f={x:0,y:0,k:1},w):h},t.rebind(w,_,\"on\")};var Bt,Nt,jt=[0,1/0];function Vt(){}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):ce(\"\"+t,he,Ut):new Ut(t,e,r)}t.color=Vt,Vt.prototype.toString=function(){return this.rgb()+\"\"},t.hsl=Ut;var qt=Ut.prototype=new Vt;function Ht(t,e,r){var n,i;function a(t){return Math.round(255*function(t){return t>360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Gt(e,r,n){return this instanceof Gt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Gt?new Gt(e.h,e.c,e.l):ee(e instanceof Xt?e.l:(e=fe((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Gt(e,r,n)}qt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,this.l/t)},qt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,t*this.l)},qt.rgb=function(){return Ht(this.h,this.s,this.l)},t.hcl=Gt;var Wt=Gt.prototype=new Vt;function Yt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Ct)*e,Math.sin(t)*e)}function Xt(t,e,r){return this instanceof Xt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Xt?new Xt(t.l,t.a,t.b):t instanceof Gt?Yt(t.h,t.c,t.l):fe((t=ae(t)).r,t.g,t.b):new Xt(t,e,r)}Wt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Zt*(arguments.length?t:1)))},Wt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Zt*(arguments.length?t:1)))},Wt.rgb=function(){return Yt(this.h,this.c,this.l).rgb()},t.lab=Xt;var Zt=18,Jt=.95047,Kt=1,Qt=1.08883,$t=Xt.prototype=new Vt;function te(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*Jt)-1.5371385*(n=re(n)*Kt)-.4985314*(a=re(a)*Qt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}function ee(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Lt,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ce(\"\"+t,ae,Ht):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+\"\"}$t.brighter=function(t){return new Xt(Math.min(100,this.l+Zt*(arguments.length?t:1)),this.a,this.b)},$t.darker=function(t){return new Xt(Math.max(0,this.l-Zt*(arguments.length?t:1)),this.a,this.b)},$t.rgb=function(){return te(this.l,this.a,this.b)},t.rgb=ae;var le=ae.prototype=new Vt;function ue(t){return t<16?\"0\"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ce(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(de(i[0]),de(i[1]),de(i[2]))}return(a=ge.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 he(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 fe(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),i=ne((.2126729*t+.7151522*e+.072175*r)/Kt);return Xt(116*i-16,500*(n-i),200*(i-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return\"%\"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.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 ae(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new ae(i,i,i)},le.darker=function(t){return new ae((t=Math.pow(.7,arguments.length?t:1))*this.r,t*this.g,t*this.b)},le.hsl=function(){return he(this.r,this.g,this.b)},le.toString=function(){return\"#\"+ue(this.r)+ue(this.g)+ue(this.b)};var ge=t.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});function ve(t){return\"function\"==typeof t?t:function(){return t}}function me(t){return function(e,r,n){return 2===arguments.length&&\"function\"==typeof r&&(n=r,r=null),ye(e,r,t,n)}}function ye(e,r,i,a){var o={},s=t.dispatch(\"beforesend\",\"progress\",\"load\",\"error\"),l={},u=new XMLHttpRequest,c=null;function h(){var t,e=u.status;if(!e&&function(t){var e=t.responseType;return e&&\"text\"!==e?t.response:t.responseText}(u)||e>=200&&e<300||304===e){try{t=i.call(o,u)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,u)}return!this.XDomainRequest||\"withCredentials\"in u||!/^(http(s)?:)?\\/\\//.test(e)||(u=new XDomainRequest),\"onload\"in u?u.onload=u.onerror=h:u.onreadystatechange=function(){u.readyState>3&&h()},u.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,u)}finally{t.event=r}},o.header=function(t,e){return t=(t+\"\").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+\"\",o)},o.mimeType=function(t){return arguments.length?(r=null==t?null:t+\"\",o):r},o.responseType=function(t){return arguments.length?(c=t,o):c},o.response=function(t){return i=t,o},[\"get\",\"post\"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}}),o.send=function(t,n,i){if(2===arguments.length&&\"function\"==typeof n&&(i=n,n=null),u.open(t,e,!0),null==r||\"accept\"in l||(l.accept=r+\",*/*\"),u.setRequestHeader)for(var a in l)u.setRequestHeader(a,l[a]);return null!=r&&u.overrideMimeType&&u.overrideMimeType(r),null!=c&&(u.responseType=c),null!=i&&o.on(\"error\",i).on(\"load\",function(t){i(null,t)}),s.beforesend.call(o,u),u.send(null==n?null:n),o},o.abort=function(){return u.abort(),o},t.rebind(o,s,\"on\"),null==a?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(a))}ge.forEach(function(t,e){ge.set(t,oe(e))}),t.functor=ve,t.xhr=me(z),t.dsv=function(t,e){var r=new RegExp('[\"'+t+\"\\n]\"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=ye(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'\"'+t.replace(/\\\"/g,'\"\"')+'\"':t}return i.parse=function(t,e){var r;return i.parseRows(t,function(t,n){if(r)return r(t,n-1);var i=new Function(\"d\",\"return {\"+t.map(function(t,e){return JSON.stringify(t)+\": d[\"+e+\"]\"}).join(\",\")+\"}\");r=e?function(t,r){return e(i(t),r)}:i})},i.parseRows=function(t,e){var r,i,a={},o={},s=[],l=t.length,u=0,c=0;function h(){if(u>=l)return o;if(i)return i=!1,a;var e=u;if(34===t.charCodeAt(e)){for(var r=e;r++<l;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}return u=r+2,13===(s=t.charCodeAt(r+1))?(i=!0,10===t.charCodeAt(r+2)&&++u):10===s&&(i=!0),t.slice(e+1,r).replace(/\"\"/g,'\"')}for(;u<l;){var s,c=1;if(10===(s=t.charCodeAt(u++)))i=!0;else if(13===s)i=!0,10===t.charCodeAt(u)&&(++u,++c);else if(s!==n)continue;return t.slice(e,u-c)}return t.slice(e)}for(;(r=h())!==o;){for(var f=[];r!==a&&r!==o;)f.push(r),r=h();e&&null==(f=e(f,c++))||s.push(f)}return s},i.format=function(e){if(Array.isArray(e[0]))return i.formatRows(e);var r=new L,n=[];return e.forEach(function(t){for(var e in t)r.has(e)||n.push(r.add(e))}),[n.map(l).join(t)].concat(e.map(function(e){return n.map(function(t){return l(e[t])}).join(t)})).join(\"\\n\")},i.formatRows=function(t){return t.map(s).join(\"\\n\")},i},t.csv=t.dsv(\",\",\"text/csv\"),t.tsv=t.dsv(\"\\t\",\"text/tab-separated-values\");var xe,be,_e,we,Me=this[I(this,\"requestAnimationFrame\")]||function(t){setTimeout(t,17)};function Ae(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var i={c:t,t:r+e,n:null};return be?be.n=i:xe=i,be=i,_e||(we=clearTimeout(we),_e=1,Me(ke)),i}function ke(){var t=Te(),e=Se()-t;e>24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(ke,e)),_e=0):(_e=1,Me(ke))}function Te(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:xe=e.n;return be=t,r}function Ee(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}t.timer=function(){Ae.apply(this,arguments)},t.timer.flush=function(){Te(),Se()},t.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var Ce=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xb5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"].map(function(t,e){var r=Math.pow(10,3*y(8-e));return{scale:e>8?function(t){return t/r}:function(t){return t*r},symbol:t}});t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Ee(e,r))),n=1+Math.floor(1e-12+Math.log(e)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),Ce[8+n/3]};var Le=/(?:([^{])?([<>=^]))?([+\\- ])?([$#])?(0)?(\\d+)?(,)?(\\.-?\\d+)?([a-z%])?/i,ze=t.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(e,r){return(e=t.round(e,Ee(e,r))).toFixed(Math.max(0,Math.min(20,Ee(e*(1+1e-15),r))))}});function Pe(t){return t+\"\"}var Ie=t.time={},De=Date;function Oe(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}Oe.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(){Re.setUTCDate.apply(this._,arguments)},setDay:function(){Re.setUTCDay.apply(this._,arguments)},setFullYear:function(){Re.setUTCFullYear.apply(this._,arguments)},setHours:function(){Re.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Re.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Re.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Re.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Re.setUTCSeconds.apply(this._,arguments)},setTime:function(){Re.setTime.apply(this._,arguments)}};var Re=Date.prototype;function Fe(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 De(r-1)),1),r}function a(t,r){return e(t=new De(+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}t.floor=t,t.round=n,t.ceil=i,t.offset=a,t.range=o;var s=t.utc=Be(t);return s.floor=s,s.round=Be(n),s.ceil=Be(i),s.offset=Be(a),s.range=function(t,e,r){try{De=Oe;var n=new Oe;return n._=t,o(n,e,r)}finally{De=Date}},t}function Be(t){return function(e,r){try{De=Oe;var n=new Oe;return n._=e,t(n,r)._}finally{De=Date}}}Ie.year=Fe(function(t){return(t=Ie.day(t)).setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),Ie.years=Ie.year.range,Ie.years.utc=Ie.year.utc.range,Ie.day=Fe(function(t){var e=new De(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}),Ie.days=Ie.day.range,Ie.days.utc=Ie.day.utc.range,Ie.dayOfYear=function(t){var e=Ie.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=Ie[t]=Fe(function(t){return(t=Ie.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=Ie.year(t).getDay();return Math.floor((Ie.dayOfYear(t)+(r+e)%7)/7)-(r!==e)});Ie[t+\"s\"]=r.range,Ie[t+\"s\"].utc=r.utc.range,Ie[t+\"OfYear\"]=function(t){var r=Ie.year(t).getDay();return Math.floor((Ie.dayOfYear(t)+(r+e)%7)/7)}}),Ie.week=Ie.sunday,Ie.weeks=Ie.sunday.range,Ie.weeks.utc=Ie.sunday.utc.range,Ie.weekOfYear=Ie.sundayOfYear;var Ne={\"-\":\"\",_:\" \",0:\"0\"},je=/^\\s*\\d+/,Ve=/^%/;function Ue(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 qe(e){return new RegExp(\"^(?:\"+e.map(t.requote).join(\"|\")+\")\",\"i\")}function He(t){for(var e=new b,r=-1,n=t.length;++r<n;)e.set(t[r].toLowerCase(),r);return e}function Ge(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function We(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.U=+n[0],r+n[0].length):-1}function Ye(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.W=+n[0],r+n[0].length):-1}function Xe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function Ze(t,e,r){je.lastIndex=0;var n,i=je.exec(e.slice(r,r+2));return i?(t.y=(n=+i[0])+(n>68?1900:2e3),r+i[0].length):-1}function Je(t,e,r){return/^[+-]\\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Ke(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Qe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function $e(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function tr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function er(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function rr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function nr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function ir(t){var e=t.getTimezoneOffset(),r=e>0?\"-\":\"+\",n=y(e)/60|0,i=y(e)%60;return r+Ue(n,\"0\",2)+Ue(i,\"0\",2)}function ar(t,e,r){Ve.lastIndex=0;var n=Ve.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function or(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)}}t.locale=function(e){return{numberFormat:function(e){var r=e.decimal,n=e.thousands,i=e.grouping,a=e.currency,o=i&&n?function(t,e){for(var r=t.length,a=[],o=0,s=i[0],l=0;r>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),a.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=i[o=(o+1)%i.length];return a.reverse().join(n)}:z;return function(e){var n=Le.exec(e),i=n[1]||\" \",s=n[2]||\">\",l=n[3]||\"-\",u=n[4]||\"\",c=n[5],h=+n[6],f=n[7],p=n[8],d=n[9],g=1,v=\"\",m=\"\",y=!1,x=!0;switch(p&&(p=+p.substring(1)),(c||\"0\"===i&&\"=\"===s)&&(c=i=\"0\",s=\"=\"),d){case\"n\":f=!0,d=\"g\";break;case\"%\":g=100,m=\"%\",d=\"f\";break;case\"p\":g=100,m=\"%\",d=\"r\";break;case\"b\":case\"o\":case\"x\":case\"X\":\"#\"===u&&(v=\"0\"+d.toLowerCase());case\"c\":x=!1;case\"d\":y=!0,p=0;break;case\"s\":g=-1,d=\"r\"}\"$\"===u&&(v=a[0],m=a[1]),\"r\"!=d||p||(d=\"g\"),null!=p&&(\"g\"==d?p=Math.max(1,Math.min(21,p)):\"e\"!=d&&\"f\"!=d||(p=Math.max(0,Math.min(20,p)))),d=ze.get(d)||Pe;var b=c&&f;return function(e){var n=m;if(y&&e%1)return\"\";var a=e<0||0===e&&1/e<0?(e=-e,\"-\"):\"-\"===l?\"\":l;if(g<0){var u=t.formatPrefix(e,p);e=u.scale(e),n=u.symbol+m}else e*=g;var _,w,M=(e=d(e,p)).lastIndexOf(\".\");if(M<0){var A=x?e.lastIndexOf(\"e\"):-1;A<0?(_=e,w=\"\"):(_=e.substring(0,A),w=e.substring(A))}else _=e.substring(0,M),w=r+e.substring(M+1);!c&&f&&(_=o(_,1/0));var k=v.length+_.length+w.length+(b?0:a.length),T=k<h?new Array(k=h-k+1).join(i):\"\";return b&&(_=o(T+_,T.length?h-w.length:1/0)),a+=v,e=_+w,(\"<\"===s?a+e+T:\">\"===s?T+a+e:\"^\"===s?T.substring(0,k>>=1)+a+e+T.substring(k):a+(b?e:T+e))+n}}}(e),timeFormat:function(e){var r=e.dateTime,n=e.date,i=e.time,a=e.periods,o=e.days,s=e.shortDays,l=e.months,u=e.shortMonths;function c(t){var e=t.length;function r(r){for(var n,i,a,o=[],s=-1,l=0;++s<e;)37===t.charCodeAt(s)&&(o.push(t.slice(l,s)),null!=(i=Ne[n=t.charAt(++s)])&&(n=t.charAt(++s)),(a=_[n])&&(n=a(r,null==i?\"e\"===n?\" \":\"0\":i)),o.push(n),l=s+1);return o.push(t.slice(l,s)),o.join(\"\")}return r.parse=function(e){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(h(r,t,e,0)!=e.length)return null;\"p\"in r&&(r.H=r.H%12+12*r.p);var n=null!=r.Z&&De!==Oe,i=new(n?Oe:De);return\"j\"in r?i.setFullYear(r.y,0,r.j):\"W\"in r||\"U\"in r?(\"w\"in r||(r.w=\"W\"in r?1:0),i.setFullYear(r.y,0,1),i.setFullYear(r.y,0,\"W\"in r?(r.w+6)%7+7*r.W-(i.getDay()+5)%7:r.w+7*r.U-(i.getDay()+6)%7)):i.setFullYear(r.y,r.m,r.d),i.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),n?i._:i},r.toString=function(){return t},r}function h(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=w[o in Ne?e.charAt(s++):o])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}c.utc=function(t){var e=c(t);function r(t){try{var r=new(De=Oe);return r._=t,e(r)}finally{De=Date}}return r.parse=function(t){try{De=Oe;var r=e.parse(t);return r&&r._}finally{De=Date}},r.toString=e.toString,r},c.multi=c.utc.multi=or;var f=t.map(),p=qe(o),d=He(o),g=qe(s),v=He(s),m=qe(l),y=He(l),x=qe(u),b=He(u);a.forEach(function(t,e){f.set(t.toLowerCase(),e)});var _={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return u[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:c(r),d:function(t,e){return Ue(t.getDate(),e,2)},e:function(t,e){return Ue(t.getDate(),e,2)},H:function(t,e){return Ue(t.getHours(),e,2)},I:function(t,e){return Ue(t.getHours()%12||12,e,2)},j:function(t,e){return Ue(1+Ie.dayOfYear(t),e,3)},L:function(t,e){return Ue(t.getMilliseconds(),e,3)},m:function(t,e){return Ue(t.getMonth()+1,e,2)},M:function(t,e){return Ue(t.getMinutes(),e,2)},p:function(t){return a[+(t.getHours()>=12)]},S:function(t,e){return Ue(t.getSeconds(),e,2)},U:function(t,e){return Ue(Ie.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Ue(Ie.mondayOfYear(t),e,2)},x:c(n),X:c(i),y:function(t,e){return Ue(t.getFullYear()%100,e,2)},Y:function(t,e){return Ue(t.getFullYear()%1e4,e,4)},Z:ir,\"%\":function(){return\"%\"}},w={a:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.w=v.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){p.lastIndex=0;var n=p.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){x.lastIndex=0;var n=x.exec(e.slice(r));return n?(t.m=b.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){m.lastIndex=0;var n=m.exec(e.slice(r));return n?(t.m=y.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,r){return h(t,_.c.toString(),e,r)},d:Qe,e:Qe,H:tr,I:tr,j:$e,L:nr,m:Ke,M:er,p:function(t,e,r){var n=f.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:rr,U:We,w:Ge,W:Ye,x:function(t,e,r){return h(t,_.x.toString(),e,r)},X:function(t,e,r){return h(t,_.X.toString(),e,r)},y:Ze,Y:Xe,Z:Je,\"%\":ar};return c}(e)}};var sr=t.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\"]});function lr(){}t.format=sr.numberFormat,t.geo={},lr.prototype={s:0,t:0,add:function(t){cr(t,this.t,ur),cr(ur.s,this.s,this),this.s?this.t+=ur.t:this.s=ur.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var ur=new lr;function cr(t,e,r){var n=r.s=t+e,i=n-t,a=n-i;r.t=t-a+(e-i)}function hr(t,e){t&&pr.hasOwnProperty(t.type)&&pr[t.type](t,e)}t.geo.stream=function(t,e){t&&fr.hasOwnProperty(t.type)?fr[t.type](t,e):hr(t,e)};var fr={Feature:function(t,e){hr(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n<i;)hr(r[n].geometry,e)}},pr={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){dr(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)dr(r[n],e,0)},Polygon:function(t,e){gr(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)gr(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n<i;)hr(r[n],e)}};function dr(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 gr(t,e){var r=-1,n=t.length;for(e.polygonStart();++r<n;)dr(t[r],e,1);e.polygonEnd()}t.geo.area=function(e){return vr=0,t.geo.stream(e,Cr),vr};var vr,mr,yr,xr,br,_r,wr,Mr,Ar,kr,Tr,Sr,Er=new lr,Cr={sphere:function(){vr+=4*kt},point:O,lineStart:O,lineEnd:O,polygonStart:function(){Er.reset(),Cr.lineStart=Lr},polygonEnd:function(){var t=2*Er;vr+=t<0?4*kt+t:t,Cr.lineStart=Cr.lineEnd=Cr.point=O}};function Lr(){var t,e,r,n,i;function a(t,e){e=e*Ct/2+kt/4;var a=(t*=Ct)-r,o=a>=0?1:-1,s=o*a,l=Math.cos(e),u=Math.sin(e),c=i*u,h=n*l+c*Math.cos(s),f=c*o*Math.sin(s);Er.add(Math.atan2(f,h)),r=t,n=l,i=u}Cr.point=function(o,s){Cr.point=a,r=(t=o)*Ct,n=Math.cos(s=(e=s)*Ct/2+kt/4),i=Math.sin(s)},Cr.lineEnd=function(){a(t,e)}}function zr(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 Pr(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Ir(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 Dr(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Or(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Rr(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 Fr(t){return[Math.atan2(t[1],t[0]),Dt(t[2])]}function Br(t,e){return y(t[0]-e[0])<Mt&&y(t[1]-e[1])<Mt}t.geo.bounds=function(){var e,r,n,i,a,o,s,l,u,c,h,f={point:p,lineStart:g,lineEnd:v,polygonStart:function(){f.point=m,f.lineStart=x,f.lineEnd=b,u=0,Cr.polygonStart()},polygonEnd:function(){Cr.polygonEnd(),f.point=p,f.lineStart=g,f.lineEnd=v,Er<0?(e=-(n=180),r=-(i=90)):u>Mt?i=90:u<-Mt&&(r=-90),h[0]=e,h[1]=n}};function p(t,a){c.push(h=[e=t,n=t]),a<r&&(r=a),a>i&&(i=a)}function d(t,o){var s=zr([t*Ct,o*Ct]);if(l){var u=Ir(l,s),c=Ir([u[1],-u[0],0],u);Rr(c),c=Fr(c);var h=t-a,f=h>0?1:-1,d=c[0]*Lt*f,g=y(h)>180;if(g^(f*a<d&&d<f*t))(v=c[1]*Lt)>i&&(i=v);else if(g^(f*a<(d=(d+360)%360-180)&&d<f*t)){var v;(v=-c[1]*Lt)<r&&(r=v)}else o<r&&(r=o),o>i&&(i=o);g?t<a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(t<e&&(e=t),t>n&&(n=t)):t>a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else p(t,o);l=s,a=t}function g(){f.point=d}function v(){h[0]=e,h[1]=n,f.point=p,l=null}function m(t,e){if(l){var r=t-a;u+=y(r)>180?r+(r>0?360:-360):r}else o=t,s=e;Cr.point(t,e),d(t,e)}function x(){Cr.lineStart()}function b(){m(o,s),Cr.lineEnd(),y(u)>Mt&&(e=-(n=180)),h[0]=e,h[1]=n,l=null}function _(t,e){return(e-=t)<0?e+360:e}function w(t,e){return t[0]-e[0]}function M(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}return function(a){if(i=n=-(e=r=1/0),c=[],t.geo.stream(a,f),u=c.length){c.sort(w);for(var o=1,s=[g=c[0]];o<u;++o)M((p=c[o])[0],g)||M(p[1],g)?(_(g[0],p[1])>_(g[0],g[1])&&(g[1]=p[1]),_(p[0],g[1])>_(g[0],g[1])&&(g[0]=p[0])):s.push(g=p);for(var l,u,p,d=-1/0,g=(o=0,s[u=s.length-1]);o<=u;g=p,++o)p=s[o],(l=_(g[1],p[0]))>d&&(d=l,e=p[0],n=g[1])}return c=h=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,i]]}}(),t.geo.centroid=function(e){mr=yr=xr=br=_r=wr=Mr=Ar=kr=Tr=Sr=0,t.geo.stream(e,Nr);var r=kr,n=Tr,i=Sr,a=r*r+n*n+i*i;return a<At&&(r=wr,n=Mr,i=Ar,yr<Mt&&(r=xr,n=br,i=_r),(a=r*r+n*n+i*i)<At)?[NaN,NaN]:[Math.atan2(n,r)*Lt,Dt(i/Math.sqrt(a))*Lt]};var Nr={sphere:O,point:jr,lineStart:Ur,lineEnd:qr,polygonStart:function(){Nr.lineStart=Hr},polygonEnd:function(){Nr.lineStart=Ur}};function jr(t,e){t*=Ct;var r=Math.cos(e*=Ct);Vr(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function Vr(t,e,r){xr+=(t-xr)/++mr,br+=(e-br)/mr,_r+=(r-_r)/mr}function Ur(){var t,e,r;function n(n,i){n*=Ct;var a=Math.cos(i*=Ct),o=a*Math.cos(n),s=a*Math.sin(n),l=Math.sin(i),u=Math.atan2(Math.sqrt((u=e*l-r*s)*u+(u=r*o-t*l)*u+(u=t*s-e*o)*u),t*o+e*s+r*l);yr+=u,wr+=u*(t+(t=o)),Mr+=u*(e+(e=s)),Ar+=u*(r+(r=l)),Vr(t,e,r)}Nr.point=function(i,a){i*=Ct;var o=Math.cos(a*=Ct);t=o*Math.cos(i),e=o*Math.sin(i),r=Math.sin(a),Nr.point=n,Vr(t,e,r)}}function qr(){Nr.point=jr}function Hr(){var t,e,r,n,i;function a(t,e){t*=Ct;var a=Math.cos(e*=Ct),o=a*Math.cos(t),s=a*Math.sin(t),l=Math.sin(e),u=n*l-i*s,c=i*o-r*l,h=r*s-n*o,f=Math.sqrt(u*u+c*c+h*h),p=r*o+n*s+i*l,d=f&&-It(p)/f,g=Math.atan2(f,p);kr+=d*u,Tr+=d*c,Sr+=d*h,yr+=g,wr+=g*(r+(r=o)),Mr+=g*(n+(n=s)),Ar+=g*(i+(i=l)),Vr(r,n,i)}Nr.point=function(o,s){t=o,e=s,Nr.point=a,o*=Ct;var l=Math.cos(s*=Ct);r=l*Math.cos(o),n=l*Math.sin(o),i=Math.sin(s),Vr(r,n,i)},Nr.lineEnd=function(){a(t,e),Nr.lineEnd=qr,Nr.point=jr}}function Gr(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 Wr(){return!0}function Yr(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(Br(r,n)){i.lineStart();for(var s=0;s<e;++s)i.point((r=t[s])[0],r[1]);i.lineEnd()}else{var l=new Zr(r,t,null,!0),u=new Zr(r,null,l,!1);l.o=u,a.push(l),o.push(u),u=new Zr(n,null,l=new Zr(n,t,null,!1),!0),l.o=u,a.push(l),o.push(u)}}}),o.sort(e),Xr(a),Xr(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 p=f,d=!0;p.v;)if((p=p.n)===f)return;c=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(s=0,u=c.length;s<u;++s)i.point((h=c[s])[0],h[1]);else n(p.x,p.n.x,1,i);p=p.n}else{if(d)for(s=(c=p.p.z).length-1;s>=0;--s)i.point((h=c[s])[0],h[1]);else n(p.x,p.p.x,-1,i);p=p.p}c=(p=p.o).z,d=!d}while(!p.v);i.lineEnd()}}}function Xr(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 Zr(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 Jr(e,r,n,i){return function(a,o){var s,l=r(o),u=a.invert(i[0],i[1]),c={point:h,lineStart:p,lineEnd:d,polygonStart:function(){c.point=b,c.lineStart=_,c.lineEnd=w,s=[],g=[]},polygonEnd:function(){c.point=h,c.lineStart=p,c.lineEnd=d,s=t.merge(s);var e=function(t,e){var r=t[0],n=t[1],i=[Math.sin(r),-Math.cos(r),0],a=0,o=0;Er.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],p=h[1]/2+kt/4,d=Math.sin(p),g=Math.cos(p),v=1;;){v===c&&(v=0);var m=(t=u[v])[0],y=t[1]/2+kt/4,x=Math.sin(y),b=Math.cos(y),_=m-f,w=_>=0?1:-1,M=w*_,A=M>kt,k=d*x;if(Er.add(Math.atan2(k*w*Math.sin(M),g*b+k*Math.cos(M))),a+=A?_+w*Tt:_,A^f>=r^m>=r){var T=Ir(zr(h),zr(t));Rr(T);var S=Ir(i,T);Rr(S);var E=(A^_>=0?-1:1)*Dt(S[2]);(n>E||n===E&&(T[0]||T[1]))&&(o+=A^_>=0?1:-1)}if(!v++)break;f=m,d=x,g=b,h=t}}return(a<-Mt||a<Mt&&Er<-Mt)^1&o}(u,g);s.length?(x||(o.polygonStart(),x=!0),Yr(s,$r,e,n,o)):e&&(x||(o.polygonStart(),x=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),x&&(o.polygonEnd(),x=!1),s=g=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function h(t,r){var n=a(t,r);e(t=n[0],r=n[1])&&o.point(t,r)}function f(t,e){var r=a(t,e);l.point(r[0],r[1])}function p(){c.point=f,l.lineStart()}function d(){c.point=h,l.lineEnd()}var g,v,m=Qr(),y=r(m),x=!1;function b(t,e){v.push([t,e]);var r=a(t,e);y.point(r[0],r[1])}function _(){y.lineStart(),v=[]}function w(){b(v[0][0],v[0][1]),y.lineEnd();var t,e=y.clean(),r=m.buffer(),n=r.length;if(v.pop(),g.push(v),v=null,n)if(1&e){var i,a=-1;if((n=(t=r[0]).length-1)>0){for(x||(o.polygonStart(),x=!0),o.lineStart();++a<n;)o.point((i=t[a])[0],i[1]);o.lineEnd()}}else n>1&&2&e&&r.push(r.pop().concat(r.shift())),s.push(r.filter(Kr))}return c}}function Kr(t){return t.length>1}function Qr(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:O,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function $r(t,e){return((t=t.x)[0]<0?t[1]-Et-Mt:Et-t[1])-((e=e.x)[0]<0?e[1]-Et-Mt:Et-e[1])}var tn=Jr(Wr,function(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?kt:-kt,l=y(a-r);y(l-kt)<Mt?(t.point(r,n=(n+o)/2>0?Et:-Et),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&&l>=kt&&(y(r-i)<Mt&&(r-=i*Mt),y(a-s)<Mt&&(a-=s*Mt),n=function(t,e,r,n){var i,a,o=Math.sin(t-r);return y(o)>Mt?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}(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(t,e,r,n){var i;if(null==t)i=r*Et,n.point(-kt,i),n.point(0,i),n.point(kt,i),n.point(kt,0),n.point(kt,-i),n.point(0,-i),n.point(-kt,-i),n.point(-kt,0),n.point(-kt,i);else if(y(t[0]-e[0])>Mt){var a=t[0]<e[0]?kt:-kt;i=r*a/2,n.point(-a,i),n.point(0,i),n.point(a,i)}else n.point(e[0],e[1])},[-kt,-kt/2]);function en(t,e,r,n){return function(i){var a,o=i.a,s=i.b,l=o.x,u=o.y,c=0,h=1,f=s.x-l,p=s.y-u;if(a=t-l,f||!(a>0)){if(a/=f,f<0){if(a<c)return;a<h&&(h=a)}else if(f>0){if(a>h)return;a>c&&(c=a)}if(a=r-l,f||!(a<0)){if(a/=f,f<0){if(a>h)return;a>c&&(c=a)}else if(f>0){if(a<c)return;a<h&&(h=a)}if(a=e-u,p||!(a>0)){if(a/=p,p<0){if(a<c)return;a<h&&(h=a)}else if(p>0){if(a>h)return;a>c&&(c=a)}if(a=n-u,p||!(a<0)){if(a/=p,p<0){if(a>h)return;a>c&&(c=a)}else if(p>0){if(a<c)return;a<h&&(h=a)}return c>0&&(i.a={x:l+c*f,y:u+c*p}),h<1&&(i.b={x:l+h*f,y:u+h*p}),i}}}}}}var rn=1e9;function nn(e,r,n,i){return function(l){var u,c,h,f,p,d,g,v,m,y,x,b=l,_=Qr(),w=en(e,r,n,i),M={point:T,lineStart:function(){M.point=S,c&&c.push(h=[]);y=!0,m=!1,g=v=NaN},lineEnd:function(){u&&(S(f,p),d&&m&&_.rejoin(),u.push(_.buffer()));M.point=T,m&&l.lineEnd()},polygonStart:function(){l=_,u=[],c=[],x=!0},polygonEnd:function(){l=b,u=t.merge(u);var r=function(t){for(var e=0,r=c.length,n=t[1],i=0;i<r;++i)for(var a,o=1,s=c[i],l=s.length,u=s[0];o<l;++o)a=s[o],u[1]<=n?a[1]>n&&Pt(u,a,t)>0&&++e:a[1]<=n&&Pt(u,a,t)<0&&--e,u=a;return 0!==e}([e,i]),n=x&&r,a=u.length;(n||a)&&(l.polygonStart(),n&&(l.lineStart(),A(null,null,1,l),l.lineEnd()),a&&Yr(u,o,r,A,l),l.polygonEnd()),u=c=h=null}};function A(t,o,l,u){var c=0,h=0;if(null==t||(c=a(t,l))!==(h=a(o,l))||s(t,o)<0^l>0)do{u.point(0===c||3===c?e:n,c>1?i:r)}while((c=(c+l+4)%4)!==h);else u.point(o[0],o[1])}function k(t,a){return e<=t&&t<=n&&r<=a&&a<=i}function T(t,e){k(t,e)&&l.point(t,e)}function S(t,e){var r=k(t=Math.max(-rn,Math.min(rn,t)),e=Math.max(-rn,Math.min(rn,e)));if(c&&h.push([t,e]),y)f=t,p=e,d=r,y=!1,r&&(l.lineStart(),l.point(t,e));else if(r&&m)l.point(t,e);else{var n={a:{x:g,y:v},b:{x:t,y:e}};w(n)?(m||(l.lineStart(),l.point(n.a.x,n.a.y)),l.point(n.b.x,n.b.y),r||l.lineEnd(),x=!1):r&&(l.lineStart(),l.point(t,e),x=!1)}g=t,v=e,m=r}return M};function a(t,i){return y(t[0]-e)<Mt?i>0?0:3:y(t[0]-n)<Mt?i>0?2:1:y(t[1]-r)<Mt?i>0?1:0:i>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=a(t,1),n=a(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]}}function an(t){var e=0,r=kt/3,n=Sn(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*kt/180,r=t[1]*kt/180):[e/kt*180,r/kt*180]},i}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,i=1+r*(2*n-r),a=Math.sqrt(i)/n;function o(t,e){var r=Math.sqrt(i-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),a-r*Math.cos(t)]}return o.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/n,Dt((i-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&&(i.valid=!1),(i=a(t)).valid=!0,i},extent:function(s){return arguments.length?(a=nn(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]])},(t.geo.conicEqualArea=function(){return an(on)}).raw=on,t.geo.albers=function(){return t.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},t.geo.albersUsa=function(){var e,r,n,i,a=t.geo.albers(),o=t.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=t.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};function u(t){var a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}return u.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)},u.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()}}},u.precision=function(t){return arguments.length?(a.precision(t),o.precision(t),s.precision(t),u):a.precision()},u.scale=function(t){return arguments.length?(a.scale(t),o.scale(.35*t),s.scale(t),u.translate(a.translate())):a.scale()},u.translate=function(t){if(!arguments.length)return a.translate();var e=a.scale(),c=+t[0],h=+t[1];return r=a.translate(t).clipExtent([[c-.455*e,h-.238*e],[c+.455*e,h+.238*e]]).stream(l).point,n=o.translate([c-.307*e,h+.201*e]).clipExtent([[c-.425*e+Mt,h+.12*e+Mt],[c-.214*e-Mt,h+.234*e-Mt]]).stream(l).point,i=s.translate([c-.205*e,h+.212*e]).clipExtent([[c-.214*e+Mt,h+.166*e+Mt],[c-.115*e-Mt,h+.234*e-Mt]]).stream(l).point,u},u.scale(1070)};var sn,ln,un,cn,hn,fn,pn={point:O,lineStart:O,lineEnd:O,polygonStart:function(){ln=0,pn.lineStart=dn},polygonEnd:function(){pn.lineStart=pn.lineEnd=pn.point=O,sn+=y(ln/2)}};function dn(){var t,e,r,n;function i(t,e){ln+=n*t-r*e,r=t,n=e}pn.point=function(a,o){pn.point=i,t=r=a,e=n=o},pn.lineEnd=function(){i(t,e)}}var gn={point:function(t,e){t<un&&(un=t);t>hn&&(hn=t);e<cn&&(cn=e);e>fn&&(fn=e)},lineStart:O,lineEnd:O,polygonStart:O,polygonEnd:O};function vn(t){return\"m0,\"+t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+-2*t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+2*t+\"z\"}var mn,yn={point:xn,lineStart:bn,lineEnd:_n,polygonStart:function(){yn.lineStart=wn},polygonEnd:function(){yn.point=xn,yn.lineStart=bn,yn.lineEnd=_n}};function xn(t,e){xr+=t,br+=e,++_r}function bn(){var t,e;function r(r,n){var i=r-t,a=n-e,o=Math.sqrt(i*i+a*a);wr+=o*(t+r)/2,Mr+=o*(e+n)/2,Ar+=o,xn(t=r,e=n)}yn.point=function(n,i){yn.point=r,xn(t=n,e=i)}}function _n(){yn.point=xn}function wn(){var t,e,r,n;function i(t,e){var i=t-r,a=e-n,o=Math.sqrt(i*i+a*a);wr+=o*(r+t)/2,Mr+=o*(n+e)/2,Ar+=o,kr+=(o=n*t-r*e)*(r+t),Tr+=o*(n+e),Sr+=3*o,xn(r=t,n=e)}yn.point=function(a,o){yn.point=i,xn(t=r=a,e=n=o)},yn.lineEnd=function(){i(t,e)}}function Mn(t){var e=.5,r=Math.cos(30*Ct),n=16;function i(e){return(n?function(e){var r,i,o,s,l,u,c,h,f,p,d,g,v={point:m,lineStart:y,lineEnd:b,polygonStart:function(){e.polygonStart(),v.lineStart=_},polygonEnd:function(){e.polygonEnd(),v.lineStart=y}};function m(r,n){r=t(r,n),e.point(r[0],r[1])}function y(){h=NaN,v.point=x,e.lineStart()}function x(r,i){var o=zr([r,i]),s=t(r,i);a(h,f,c,p,d,g,h=s[0],f=s[1],c=r,p=o[0],d=o[1],g=o[2],n,e),e.point(h,f)}function b(){v.point=m,e.lineEnd()}function _(){y(),v.point=w,v.lineEnd=M}function w(t,e){x(r=t,e),i=h,o=f,s=p,l=d,u=g,v.point=x}function M(){a(h,f,c,p,d,g,i,o,r,s,l,u,n,e),v.lineEnd=b,b()}return v}:function(e){return kn(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function a(n,i,o,s,l,u,c,h,f,p,d,g,v,m){var x=c-n,b=h-i,_=x*x+b*b;if(_>4*e&&v--){var w=s+p,M=l+d,A=u+g,k=Math.sqrt(w*w+M*M+A*A),T=Math.asin(A/=k),S=y(y(A)-1)<Mt||y(o-f)<Mt?(o+f)/2:Math.atan2(M,w),E=t(S,T),C=E[0],L=E[1],z=C-n,P=L-i,I=b*z-x*P;(I*I/_>e||y((x*z+b*P)/_-.5)>.3||s*p+l*d+u*g<r)&&(a(n,i,o,s,l,u,C,L,S,w/=k,M/=k,A,v,m),m.point(C,L),a(C,L,S,w,M,A,c,h,f,p,d,g,v,m))}}return i.precision=function(t){return arguments.length?(n=(e=t*t)>0&&16,i):Math.sqrt(e)},i}function An(t){this.stream=t}function kn(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 Tn(t){return Sn(function(){return t})()}function Sn(e){var r,n,i,a,o,s,l=Mn(function(t,e){return[(t=r(t,e))[0]*u+a,o-t[1]*u]}),u=150,c=480,h=250,f=0,p=0,d=0,g=0,v=0,m=tn,x=z,b=null,_=null;function w(t){return[(t=i(t[0]*Ct,t[1]*Ct))[0]*u+a,o-t[1]*u]}function M(t){return(t=i.invert((t[0]-a)/u,(o-t[1])/u))&&[t[0]*Lt,t[1]*Lt]}function A(){i=Gr(n=zn(d,g,v),r);var t=r(f,p);return a=c-t[0]*u,o=h+t[1]*u,k()}function k(){return s&&(s.valid=!1,s=null),w}return w.stream=function(t){return s&&(s.valid=!1),(s=En(m(n,l(x(t))))).valid=!0,s},w.clipAngle=function(t){return arguments.length?(m=null==t?(b=t,tn):function(t){var e=Math.cos(t),r=e>0,n=y(e)>Mt;return Jr(i,function(t){var e,s,l,u,c;return{lineStart:function(){u=l=!1,c=1},point:function(h,f){var p,d=[h,f],g=i(h,f),v=r?g?0:o(h,f):g?o(h+(h<0?kt:-kt),f):0;if(!e&&(u=l=g)&&t.lineStart(),g!==l&&(p=a(e,d),(Br(e,p)||Br(d,p))&&(d[0]+=Mt,d[1]+=Mt,g=i(d[0],d[1]))),g!==l)c=0,g?(t.lineStart(),p=a(d,e),t.point(p[0],p[1])):(p=a(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(n&&e&&r^g){var m;v&s||!(m=a(d,e,!0))||(c=0,r?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!g||e&&Br(e,d)||t.point(d[0],d[1]),e=d,l=g,s=v},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return c|(u&&l)<<1}}},On(t,6*Ct),r?[0,-t]:[-kt,t-kt]);function i(t,r){return Math.cos(t)*Math.cos(r)>e}function a(t,r,n){var i=[1,0,0],a=Ir(zr(t),zr(r)),o=Pr(a,a),s=a[0],l=o-s*s;if(!l)return!n&&t;var u=e*o/l,c=-e*s/l,h=Ir(i,a),f=Or(i,u);Dr(f,Or(a,c));var p=h,d=Pr(f,p),g=Pr(p,p),v=d*d-g*(Pr(f,f)-1);if(!(v<0)){var m=Math.sqrt(v),x=Or(p,(-d-m)/g);if(Dr(x,f),x=Fr(x),!n)return x;var b,_=t[0],w=r[0],M=t[1],A=r[1];w<_&&(b=_,_=w,w=b);var k=w-_,T=y(k-kt)<Mt;if(!T&&A<M&&(b=M,M=A,A=b),T||k<Mt?T?M+A>0^x[1]<(y(x[0]-_)<Mt?M:A):M<=x[1]&&x[1]<=A:k>kt^(_<=x[0]&&x[0]<=w)){var S=Or(p,(-d+m)/g);return Dr(S,f),[x,Fr(S)]}}}function o(e,n){var i=r?t:kt-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}}((b=+t)*Ct),k()):b},w.clipExtent=function(t){return arguments.length?(_=t,x=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):z,k()):_},w.scale=function(t){return arguments.length?(u=+t,A()):u},w.translate=function(t){return arguments.length?(c=+t[0],h=+t[1],A()):[c,h]},w.center=function(t){return arguments.length?(f=t[0]%360*Ct,p=t[1]%360*Ct,A()):[f*Lt,p*Lt]},w.rotate=function(t){return arguments.length?(d=t[0]%360*Ct,g=t[1]%360*Ct,v=t.length>2?t[2]%360*Ct:0,A()):[d*Lt,g*Lt,v*Lt]},t.rebind(w,l,\"precision\"),function(){return r=e.apply(this,arguments),w.invert=r.invert&&M,A()}}function En(t){return kn(t,function(e,r){t.point(e*Ct,r*Ct)})}function Cn(t,e){return[t,e]}function Ln(t,e){return[t>kt?t-Tt:t<-kt?t+Tt:t,e]}function zn(t,e,r){return t?e||r?Gr(In(t),Dn(e,r)):In(t):e||r?Dn(e,r):Ln}function Pn(t){return function(e,r){return[(e+=t)>kt?e-Tt:e<-kt?e+Tt:e,r]}}function In(t){var e=Pn(t);return e.invert=Pn(-t),e}function Dn(t,e){var r=Math.cos(t),n=Math.sin(t),i=Math.cos(e),a=Math.sin(e);function o(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,u=Math.sin(e),c=u*r+s*n;return[Math.atan2(l*i-c*a,s*r-u*n),Dt(c*i+l*a)]}return o.invert=function(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,u=Math.sin(e),c=u*i-l*a;return[Math.atan2(l*i+u*a,s*r+c*n),Dt(c*r-s*n)]},o}function On(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=Rn(r,i),a=Rn(r,a),(o>0?i<a:i>a)&&(i+=o*Tt)):(i=t+o*Tt,a=t-.5*l);for(var u,c=i;o>0?c>a:c<a;c-=l)s.point((u=Fr([r,-n*Math.cos(c),-n*Math.sin(c)]))[0],u[1])}}function Rn(t,e){var r=zr(e);r[0]-=t,Rr(r);var n=It(-r[1]);return((-r[2]<0?-n:n)+2*Math.PI-Mt)%(2*Math.PI)}function Fn(e,r,n){var i=t.range(e,r-Mt,n).concat(r);return function(t){return i.map(function(e){return[t,e]})}}function Bn(e,r,n){var i=t.range(e,r-Mt,n).concat(r);return function(t){return i.map(function(e){return[e,t]})}}function Nn(t){return t.source}function jn(t){return t.target}t.geo.path=function(){var e,r,n,i,a,o=4.5;function s(e){return e&&(\"function\"==typeof o&&i.pointRadius(+o.apply(this,arguments)),a&&a.valid||(a=n(i)),t.geo.stream(e,a)),i.result()}function l(){return a=null,s}return s.area=function(e){return sn=0,t.geo.stream(e,n(pn)),sn},s.centroid=function(e){return xr=br=_r=wr=Mr=Ar=kr=Tr=Sr=0,t.geo.stream(e,n(yn)),Sr?[kr/Sr,Tr/Sr]:Ar?[wr/Ar,Mr/Ar]:_r?[xr/_r,br/_r]:[NaN,NaN]},s.bounds=function(e){return hn=fn=-(un=cn=1/0),t.geo.stream(e,n(gn)),[[un,cn],[hn,fn]]},s.projection=function(t){return arguments.length?(n=(e=t)?t.stream||(r=t,i=Mn(function(t,e){return r([t*Lt,e*Lt])}),function(t){return En(i(t))}):z,l()):e;var r,i},s.context=function(t){return arguments.length?(i=null==(r=t)?new function(){var t=vn(4.5),e=[],r={point:n,lineStart:function(){r.point=i},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(e){return t=vn(e),r},result:function(){if(e.length){var t=e.join(\"\");return e=[],t}}};function n(r,n){e.push(\"M\",r,\",\",n,t)}function i(t,n){e.push(\"M\",t,\",\",n),r.point=a}function a(t,r){e.push(\"L\",t,\",\",r)}function o(){r.point=n}function s(){e.push(\"Z\")}return r}:new function(t){var e=4.5,r={point:n,lineStart:function(){r.point=i},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(t){return e=t,r},result:O};function n(r,n){t.moveTo(r+e,n),t.arc(r,n,e,0,Tt)}function i(e,n){t.moveTo(e,n),r.point=a}function a(e,r){t.lineTo(e,r)}function o(){r.point=n}function s(){t.closePath()}return r}(t),\"function\"!=typeof o&&i.pointRadius(o),l()):r},s.pointRadius=function(t){return arguments.length?(o=\"function\"==typeof t?t:(i.pointRadius(+t),+t),s):o},s.projection(t.geo.albersUsa()).context(null)},t.geo.transform=function(t){return{stream:function(e){var r=new An(e);for(var n in t)r[n]=t[n];return r}}},An.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()}},t.geo.projection=Tn,t.geo.projectionMutator=Sn,(t.geo.equirectangular=function(){return Tn(Cn)}).raw=Cn.invert=Cn,t.geo.rotation=function(t){function e(e){return(e=t(e[0]*Ct,e[1]*Ct))[0]*=Lt,e[1]*=Lt,e}return t=zn(t[0]%360*Ct,t[1]*Ct,t.length>2?t[2]*Ct:0),e.invert=function(e){return(e=t.invert(e[0]*Ct,e[1]*Ct))[0]*=Lt,e[1]*=Lt,e},e},Ln.invert=Cn,t.geo.circle=function(){var t,e,r=[0,0],n=6;function i(){var t=\"function\"==typeof r?r.apply(this,arguments):r,n=zn(-t[0]*Ct,-t[1]*Ct,0).invert,i=[];return e(null,null,1,{point:function(t,e){i.push(t=n(t,e)),t[0]*=Lt,t[1]*=Lt}}),{type:\"Polygon\",coordinates:[i]}}return i.origin=function(t){return arguments.length?(r=t,i):r},i.angle=function(r){return arguments.length?(e=On((t=+r)*Ct,n*Ct),i):t},i.precision=function(r){return arguments.length?(e=On(t*Ct,(n=+r)*Ct),i):n},i.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Ct,i=t[1]*Ct,a=e[1]*Ct,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)},t.geo.graticule=function(){var e,r,n,i,a,o,s,l,u,c,h,f,p=10,d=p,g=90,v=360,m=2.5;function x(){return{type:\"MultiLineString\",coordinates:b()}}function b(){return t.range(Math.ceil(i/g)*g,n,g).map(h).concat(t.range(Math.ceil(l/v)*v,s,v).map(f)).concat(t.range(Math.ceil(r/p)*p,e,p).filter(function(t){return y(t%g)>Mt}).map(u)).concat(t.range(Math.ceil(o/d)*d,a,d).filter(function(t){return y(t%v)>Mt}).map(c))}return x.lines=function(){return b().map(function(t){return{type:\"LineString\",coordinates:t}})},x.outline=function(){return{type:\"Polygon\",coordinates:[h(i).concat(f(s).slice(1),h(n).reverse().slice(1),f(l).reverse().slice(1))]}},x.extent=function(t){return arguments.length?x.majorExtent(t).minorExtent(t):x.minorExtent()},x.majorExtent=function(t){return arguments.length?(i=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],i>n&&(t=i,i=n,n=t),l>s&&(t=l,l=s,s=t),x.precision(m)):[[i,l],[n,s]]},x.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),o>a&&(t=o,o=a,a=t),x.precision(m)):[[r,o],[e,a]]},x.step=function(t){return arguments.length?x.majorStep(t).minorStep(t):x.minorStep()},x.majorStep=function(t){return arguments.length?(g=+t[0],v=+t[1],x):[g,v]},x.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],x):[p,d]},x.precision=function(t){return arguments.length?(m=+t,u=Fn(o,a,90),c=Bn(r,e,m),h=Fn(l,s,90),f=Bn(i,n,m),x):m},x.majorExtent([[-180,-90+Mt],[180,90-Mt]]).minorExtent([[-180,-80-Mt],[180,80+Mt]])},t.geo.greatArc=function(){var e,r,n=Nn,i=jn;function a(){return{type:\"LineString\",coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}return a.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},a.source=function(t){return arguments.length?(n=t,e=\"function\"==typeof t?null:t,a):n},a.target=function(t){return arguments.length?(i=t,r=\"function\"==typeof t?null:t,a):i},a.precision=function(){return arguments.length?a:0},a},t.geo.interpolate=function(t,e){return r=t[0]*Ct,n=t[1]*Ct,i=e[0]*Ct,a=e[1]*Ct,o=Math.cos(n),s=Math.sin(n),l=Math.cos(a),u=Math.sin(a),c=o*Math.cos(r),h=o*Math.sin(r),f=l*Math.cos(i),p=l*Math.sin(i),d=2*Math.asin(Math.sqrt(Rt(a-n)+o*l*Rt(i-r))),g=1/Math.sin(d),(v=d?function(t){var e=Math.sin(t*=d)*g,r=Math.sin(d-t)*g,n=r*c+e*f,i=r*h+e*p,a=r*s+e*u;return[Math.atan2(i,n)*Lt,Math.atan2(a,Math.sqrt(n*n+i*i))*Lt]}:function(){return[r*Lt,n*Lt]}).distance=d,v;var r,n,i,a,o,s,l,u,c,h,f,p,d,g,v},t.geo.length=function(e){return mn=0,t.geo.stream(e,Vn),mn};var Vn={sphere:O,point:O,lineStart:function(){var t,e,r;function n(n,i){var a=Math.sin(i*=Ct),o=Math.cos(i),s=y((n*=Ct)-t),l=Math.cos(s);mn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*a-e*o*l)*s),e*a+r*o*l),t=n,e=a,r=o}Vn.point=function(i,a){t=i*Ct,e=Math.sin(a*=Ct),r=Math.cos(a),Vn.point=n},Vn.lineEnd=function(){Vn.point=Vn.lineEnd=O}},lineEnd:O,polygonStart:O,polygonEnd:O};function Un(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}var qn=Un(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(t.geo.azimuthalEqualArea=function(){return Tn(qn)}).raw=qn;var Hn=Un(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},z);function Gn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(kt/4+t/2)},i=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),a=r*Math.pow(n(t),i)/i;if(!i)return Xn;function o(t,e){a>0?e<-Et+Mt&&(e=-Et+Mt):e>Et-Mt&&(e=Et-Mt);var r=a/Math.pow(n(e),i);return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}return o.invert=function(t,e){var r=a-e,n=zt(i)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/i,2*Math.atan(Math.pow(a/n,1/i))-Et]},o}function Wn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),i=r/n+t;if(y(n)<Mt)return Cn;function a(t,e){var r=i-e;return[r*Math.sin(n*t),i-r*Math.cos(n*t)]}return a.invert=function(t,e){var r=i-e;return[Math.atan2(t,r)/n,i-zt(n)*Math.sqrt(t*t+r*r)]},a}(t.geo.azimuthalEquidistant=function(){return Tn(Hn)}).raw=Hn,(t.geo.conicConformal=function(){return an(Gn)}).raw=Gn,(t.geo.conicEquidistant=function(){return an(Wn)}).raw=Wn;var Yn=Un(function(t){return 1/t},Math.atan);function Xn(t,e){return[t,Math.log(Math.tan(kt/4+e/2))]}function Zn(t){var e,r=Tn(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=kt*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)}(t.geo.gnomonic=function(){return Tn(Yn)}).raw=Yn,Xn.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Et]},(t.geo.mercator=function(){return Zn(Xn)}).raw=Xn;var Jn=Un(function(){return 1},Math.asin);(t.geo.orthographic=function(){return Tn(Jn)}).raw=Jn;var Kn=Un(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});function Qn(t,e){return[Math.log(Math.tan(kt/4+e/2)),-t]}function $n(t){return t[0]}function ti(t){return t[1]}function ei(t){for(var e=t.length,r=[0,1],n=2,i=2;i<e;i++){for(;n>1&&Pt(t[r[n-2]],t[r[n-1]],t[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function ri(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return Tn(Kn)}).raw=Kn,Qn.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Et]},(t.geo.transverseMercator=function(){var t=Zn(Qn),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90])}).raw=Qn,t.geom={},t.geom.hull=function(t){var e=$n,r=ti;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=ve(e),a=ve(r),o=t.length,s=[],l=[];for(n=0;n<o;n++)s.push([+i.call(this,t[n],n),+a.call(this,t[n],n),n]);for(s.sort(ri),n=0;n<o;n++)l.push([s[n][0],-s[n][1]]);var u=ei(s),c=ei(l),h=c[0]===u[0],f=c[c.length-1]===u[u.length-1],p=[];for(n=u.length-1;n>=0;--n)p.push(t[s[u[n]][2]]);for(n=+h;n<c.length-f;++n)p.push(t[s[c[n]][2]]);return p}return n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n},t.geom.polygon=function(t){return U(t,ni),t};var ni=t.geom.polygon.prototype=[];function ii(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function ai(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 oi(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}ni.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},ni.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]},ni.clip=function(t){for(var e,r,n,i,a,o,s=oi(t),l=-1,u=this.length-oi(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;)ii(o=e[r],c,i)?(ii(a,c,i)||t.push(ai(a,o,c,i)),t.push(o)):ii(a,c,i)&&t.push(ai(a,o,c,i)),a=o;s&&t.push(t[0]),c=i}return t};var si,li,ui,ci,hi,fi=[],pi=[];function di(t){var e=fi.pop()||new function(){Li(this),this.edge=this.site=this.circle=null};return e.site=t,e}function gi(t){Mi(t),ui.remove(t),fi.push(t),Li(t)}function vi(t){var e=t.circle,r=e.x,n=e.cy,i={x:r,y:n},a=t.P,o=t.N,s=[t];gi(t);for(var l=a;l.circle&&y(r-l.circle.x)<Mt&&y(n-l.circle.cy)<Mt;)a=l.P,s.unshift(l),gi(l),l=a;s.unshift(l),Mi(l);for(var u=o;u.circle&&y(r-u.circle.x)<Mt&&y(n-u.circle.cy)<Mt;)o=u.N,s.push(u),gi(u),u=o;s.push(u),Mi(u);var c,h=s.length;for(c=1;c<h;++c)u=s[c],l=s[c-1],Si(u.edge,l.site,u.site,i);l=s[0],(u=s[h-1]).edge=Ti(l.site,u.site,null,i),wi(l),wi(u)}function mi(t){for(var e,r,n,i,a=t.x,o=t.y,s=ui._;s;)if((n=yi(s,o)-a)>Mt)s=s.L;else{if(!((i=a-xi(s,o))>Mt)){n>-Mt?(e=s.P,r=s):i>-Mt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=di(t);if(ui.insert(e,l),e||r){if(e===r)return Mi(e),r=di(e.site),ui.insert(l,r),l.edge=r.edge=Ti(e.site,l.site),wi(e),void wi(r);if(r){Mi(e),Mi(r);var u=e.site,c=u.x,h=u.y,f=t.x-c,p=t.y-h,d=r.site,g=d.x-c,v=d.y-h,m=2*(f*v-p*g),y=f*f+p*p,x=g*g+v*v,b={x:(v*y-p*x)/m+c,y:(f*x-g*y)/m+h};Si(r.edge,u,d,b),l.edge=Ti(u,t,null,b),r.edge=Ti(t,d,null,b),wi(e),wi(r)}else l.edge=Ti(e.site,l.site)}}function yi(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;var s=(r=o.site).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 xi(t,e){var r=t.N;if(r)return yi(r,e);var n=t.site;return n.y===e?n.x:1/0}function bi(t){this.site=t,this.edges=[]}function _i(t,e){return e.angle-t.angle}function wi(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=2*(l*(v=a.y-s)-u*c);if(!(h>=-At)){var f=l*l+u*u,p=c*c+v*v,d=(v*f-u*p)/h,g=(l*p-c*f)/h,v=g+s,m=pi.pop()||new function(){Li(this),this.x=this.y=this.arc=this.site=this.cy=null};m.arc=t,m.site=i,m.x=d+o,m.y=v+Math.sqrt(d*d+g*g),m.cy=v,t.circle=m;for(var y=null,x=hi._;x;)if(m.y<x.y||m.y===x.y&&m.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}hi.insert(y,m),y||(ci=m)}}}}function Mi(t){var e=t.circle;e&&(e.P||(ci=e.N),hi.remove(e),pi.push(e),Li(e),t.circle=null)}function Ai(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,p=c.y,d=h.x,g=h.y,v=(f+d)/2,m=(p+g)/2;if(g===p){if(v<o||v>=s)return;if(f>d){if(a){if(a.y>=u)return}else a={x:v,y:l};r={x:v,y:u}}else{if(a){if(a.y<l)return}else a={x:v,y:u};r={x:v,y:l}}}else if(i=m-(n=(f-d)/(g-p))*v,n<-1||n>1)if(f>d){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(p<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 ki(t,e){this.l=t,this.r=e,this.a=this.b=null}function Ti(t,e,r,n){var i=new ki(t,e);return si.push(i),r&&Si(i,t,e,r),n&&Si(i,e,t,n),li[t.i].edges.push(new Ei(i,t,e)),li[e.i].edges.push(new Ei(i,e,t)),i}function Si(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 Ei(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 Ci(){this._=null}function Li(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function zi(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 Pi(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 Ii(t){for(;t.L;)t=t.L;return t}function Di(t,e){var r,n,i,a=t.sort(Oi).pop();for(si=[],li=new Array(t.length),ui=new Ci,hi=new Ci;;)if(i=ci,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))a.x===r&&a.y===n||(li[a.i]=new bi(a),mi(a),r=a.x,n=a.y),a=t.pop();else{if(!i)break;vi(i.arc)}e&&(function(t){for(var e,r=si,n=en(t[0][0],t[0][1],t[1][0],t[1][1]),i=r.length;i--;)(!Ai(e=r[i],t)||!n(e)||y(e.a.x-e.b.x)<Mt&&y(e.a.y-e.b.y)<Mt)&&(e.a=e.b=null,r.splice(i,1))}(e),function(t){for(var e,r,n,i,a,o,s,l,u,c,h=t[0][0],f=t[1][0],p=t[0][1],d=t[1][1],g=li,v=g.length;v--;)if((a=g[v])&&a.prepare())for(l=(s=a.edges).length,o=0;o<l;)n=(c=s[o].end()).x,i=c.y,e=(u=s[++o%l].start()).x,r=u.y,(y(n-e)>Mt||y(i-r)>Mt)&&(s.splice(o,0,new Ei((m=a.site,x=c,b=y(n-h)<Mt&&d-i>Mt?{x:h,y:y(e-h)<Mt?r:d}:y(i-d)<Mt&&f-n>Mt?{x:y(r-d)<Mt?e:f,y:d}:y(n-f)<Mt&&i-p>Mt?{x:f,y:y(e-f)<Mt?r:p}:y(i-p)<Mt&&n-h>Mt?{x:y(r-p)<Mt?e:h,y:p}:null,_=void 0,_=new ki(m,null),_.a=x,_.b=b,si.push(_),_),a.site,null)),++l);var m,x,b,_}(e));var o={cells:li,edges:si};return ui=hi=si=li=null,o}function Oi(t,e){return e.y-t.y||e.x-t.x}bi.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)(t=e[r].edge).b&&t.a||e.splice(r,1);return e.sort(_i),e.length},Ei.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}},Ci.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=Ii(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;)r===(n=r.U).L?(i=n.R)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.R&&(zi(this,r),r=(t=r).U),r.C=!1,n.C=!0,Pi(this,n)):(i=n.L)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.L&&(Pi(this,r),r=(t=r).U),r.C=!1,n.C=!0,zi(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?Ii(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)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&&(e.C=!1,i.C=!0,zi(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,Pi(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,zi(this,i),t=this._;break}}else if((e=i.L).C&&(e.C=!1,i.C=!0,Pi(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,zi(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,Pi(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},t.geom.voronoi=function(t){var e=$n,r=ti,n=e,i=r,a=Ri;if(t)return o(t);function o(t){var e=new Array(t.length),r=a[0][0],n=a[0][1],i=a[1][0],o=a[1][1];return Di(s(t),a).cells.forEach(function(a,s){var l=a.edges,u=a.site;(e[s]=l.length?l.map(function(t){var e=t.start();return[e.x,e.y]}):u.x>=r&&u.x<=i&&u.y>=n&&u.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]}),e}function s(t){return t.map(function(t,e){return{x:Math.round(n(t,e)/Mt)*Mt,y:Math.round(i(t,e)/Mt)*Mt,i:e}})}return o.links=function(t){return Di(s(t)).edges.filter(function(t){return t.l&&t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},o.triangles=function(t){var e=[];return Di(s(t)).cells.forEach(function(r,n){for(var i,a,o,s,l=r.site,u=r.edges.sort(_i),c=-1,h=u.length,f=u[h-1].edge,p=f.l===l?f.r:f.l;++c<h;)f,i=p,p=(f=u[c].edge).l===l?f.r:f.l,n<i.i&&n<p.i&&(o=i,s=p,((a=l).x-s.x)*(o.y-a.y)-(a.x-o.x)*(s.y-a.y)<0)&&e.push([t[n],t[i.i],t[p.i]])}),e},o.x=function(t){return arguments.length?(n=ve(e=t),o):e},o.y=function(t){return arguments.length?(i=ve(r=t),o):r},o.clipExtent=function(t){return arguments.length?(a=null==t?Ri:t,o):a===Ri?null:a},o.size=function(t){return arguments.length?o.clipExtent(t&&[[0,0],t]):a===Ri?null:a&&a[1]},o};var Ri=[[-1e6,-1e6],[1e6,1e6]];function Fi(t){return t.x}function Bi(t){return t.y}function Ni(e,r){e=t.rgb(e),r=t.rgb(r);var n=e.r,i=e.g,a=e.b,o=r.r-n,s=r.g-i,l=r.b-a;return function(t){return\"#\"+ue(Math.round(n+o*t))+ue(Math.round(i+s*t))+ue(Math.round(a+l*t))}}function ji(t,e){var r,n={},i={};for(r in t)r in e?n[r]=Gi(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 Vi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function Ui(t,e){var r,n,i,a=qi.lastIndex=Hi.lastIndex=0,o=-1,s=[],l=[];for(t+=\"\",e+=\"\";(r=qi.exec(t))&&(n=Hi.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:Vi(r,n)})),a=Hi.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(\"\")})}t.geom.delaunay=function(e){return t.geom.voronoi().triangles(e)},t.geom.quadtree=function(t,e,r,n,i){var a,o=$n,s=ti;if(a=arguments.length)return o=Fi,s=Bi,3===a&&(i=r,n=e,r=e=0),l(t);function l(t){var l,u,c,h,f,p,d,g,v,m=ve(o),x=ve(s);if(null!=e)p=e,d=r,g=n,v=i;else if(g=v=-(p=d=1/0),u=[],c=[],f=t.length,a)for(h=0;h<f;++h)(l=t[h]).x<p&&(p=l.x),l.y<d&&(d=l.y),l.x>g&&(g=l.x),l.y>v&&(v=l.y),u.push(l.x),c.push(l.y);else for(h=0;h<f;++h){var b=+m(l=t[h],h),_=+x(l,h);b<p&&(p=b),_<d&&(d=_),b>g&&(g=b),_>v&&(v=_),u.push(b),c.push(_)}var w=g-p,M=v-d;function A(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,u=t.y;if(null!=l)if(y(l-r)+y(u-n)<.01)k(t,e,r,n,i,a,o,s);else{var c=t.point;t.x=t.y=t.point=null,k(t,c,l,u,i,a,o,s),k(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else k(t,e,r,n,i,a,o,s)}function k(t,e,r,n,i,a,o,s){var l=.5*(i+o),u=.5*(a+s),c=r>=l,h=n>=u,f=h<<1|c;t.leaf=!1,t=t.nodes[f]||(t.nodes[f]={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){A(T,t,+m(t,++h),+x(t,h),p,d,g,v)}}),c?i=l:o=l,h?a=u:s=u,A(t,e,r,n,i,a,o,s)}w>M?v=d+w:g=p+M;var T={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){A(T,t,+m(t,++h),+x(t,h),p,d,g,v)}};if(T.visit=function(t){!function t(e,r,n,i,a,o){if(!e(r,n,i,a,o)){var s=.5*(n+a),l=.5*(i+o),u=r.nodes;u[0]&&t(e,u[0],n,i,s,l),u[1]&&t(e,u[1],s,i,a,l),u[2]&&t(e,u[2],n,l,s,o),u[3]&&t(e,u[3],s,l,a,o)}}(t,T,p,d,g,v)},T.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(u,c,h,f,p){if(!(c>a||h>o||f<n||p<i)){if(d=u.point){var d,g=e-u.x,v=r-u.y,m=g*g+v*v;if(m<l){var y=Math.sqrt(l=m);n=e-y,i=r-y,a=e+y,o=r+y,s=d}}for(var x=u.nodes,b=.5*(c+f),_=.5*(h+p),w=(r>=_)<<1|e>=b,M=w+4;w<M;++w)if(u=x[3&w])switch(3&w){case 0:t(u,c,h,b,_);break;case 1:t(u,b,h,f,_);break;case 2:t(u,c,_,b,p);break;case 3:t(u,b,_,f,p)}}}(t,n,i,a,o),s}(T,t[0],t[1],p,d,g,v)},h=-1,null==e){for(;++h<f;)A(T,t[h],u[h],c[h],p,d,g,v);--h}else t.forEach(T.add);return u=c=t=l=null,T}return l.x=function(t){return arguments.length?(o=t,l):o},l.y=function(t){return arguments.length?(s=t,l):s},l.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]),l):null==e?null:[[e,r],[n,i]]},l.size=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=r=0,n=+t[0],i=+t[1]),l):null==e?null:[n-e,i-r]},l},t.interpolateRgb=Ni,t.interpolateObject=ji,t.interpolateNumber=Vi,t.interpolateString=Ui;var qi=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,Hi=new RegExp(qi.source,\"g\");function Gi(e,r){for(var n,i=t.interpolators.length;--i>=0&&!(n=t.interpolators[i](e,r)););return n}function Wi(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(Gi(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}}t.interpolate=Gi,t.interpolators=[function(t,e){var r=typeof e;return(\"string\"===r?ge.has(e.toLowerCase())||/^(#|rgb\\(|hsl\\()/i.test(e)?Ni:Ui:e instanceof Vt?Ni:Array.isArray(e)?Wi:\"object\"===r&&isNaN(e)?ji:Vi)(t,e)}],t.interpolateArray=Wi;var Yi=function(){return z},Xi=t.map({linear:Yi,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return Qi},cubic:function(){return $i},sin:function(){return ea},exp:function(){return ra},circle:function(){return na},elastic:function(t,e){var r;arguments.length<2&&(e=.45);arguments.length?r=e/Tt*Math.asin(1/t):(t=1,r=e/4);return function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Tt/e)}},back:function(t){t||(t=1.70158);return function(e){return e*e*((t+1)*e-t)}},bounce:function(){return ia}}),Zi=t.map({in:z,out:Ji,\"in-out\":Ki,\"out-in\":function(t){return Ki(Ji(t))}});function Ji(t){return function(e){return 1-t(1-e)}}function Ki(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function Qi(t){return t*t}function $i(t){return t*t*t}function ta(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 ea(t){return 1-Math.cos(t*Et)}function ra(t){return Math.pow(2,10*(t-1))}function na(t){return 1-Math.sqrt(1-t*t)}function ia(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 aa(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function oa(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=la(i),s=sa(i,a),l=la(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]<a[0]*i[1]&&(i[0]*=-1,i[1]*=-1,o*=-1,s*=-1),this.rotate=(o?Math.atan2(i[1],i[0]):Math.atan2(-a[0],a[1]))*Lt,this.translate=[t.e,t.f],this.scale=[o,l],this.skew=l?Math.atan2(s,l)*Lt:0}function sa(t,e){return t[0]*e[0]+t[1]*e[1]}function la(t){var e=Math.sqrt(sa(t,t));return e&&(t[0]/=e,t[1]/=e),e}t.ease=function(t){var e,n=t.indexOf(\"-\"),i=n>=0?t.slice(0,n):t,a=n>=0?t.slice(n+1):\"in\";return i=Xi.get(i)||Yi,a=Zi.get(a)||z,e=a(i.apply(null,r.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,i=e.c,a=e.l,o=r.h-n,s=r.c-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.c:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Yt(n+o*t,i+s*t,a+l*t)+\"\"}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,i=e.s,a=e.l,o=r.h-n,s=r.s-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.s:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Ht(n+o*t,i+s*t,a+l*t)+\"\"}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,i=e.a,a=e.b,o=r.l-n,s=r.a-i,l=r.b-a;return function(t){return te(n+o*t,i+s*t,a+l*t)+\"\"}},t.interpolateRound=aa,t.transform=function(e){var r=i.createElementNS(t.ns.prefix.svg,\"g\");return(t.transform=function(t){if(null!=t){r.setAttribute(\"transform\",t);var e=r.transform.baseVal.consolidate()}return new oa(e?e.matrix:ua)})(e)},oa.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};var ua={a:1,b:0,c:0,d:1,e:0,f:0};function ca(t){return t.length?t.pop()+\",\":\"\"}function ha(e,r){var n=[],i=[];return e=t.transform(e),r=t.transform(r),function(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:Vi(t[0],e[0])},{i:i-2,x:Vi(t[1],e[1])})}else(e[0]||e[1])&&r.push(\"translate(\"+e+\")\")}(e.translate,r.translate,n,i),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(ca(r)+\"rotate(\",null,\")\")-2,x:Vi(t,e)})):e&&r.push(ca(r)+\"rotate(\"+e+\")\")}(e.rotate,r.rotate,n,i),function(t,e,r,n){t!==e?n.push({i:r.push(ca(r)+\"skewX(\",null,\")\")-2,x:Vi(t,e)}):e&&r.push(ca(r)+\"skewX(\"+e+\")\")}(e.skew,r.skew,n,i),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(ca(r)+\"scale(\",null,\",\",null,\")\");n.push({i:i-4,x:Vi(t[0],e[0])},{i:i-2,x:Vi(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(ca(r)+\"scale(\"+e+\")\")}(e.scale,r.scale,n,i),e=r=null,function(t){for(var e,r=-1,a=i.length;++r<a;)n[(e=i[r]).i]=e.x(t);return n.join(\"\")}}function fa(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function pa(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function da(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;var r=ga(t),n=ga(e),i=r.pop(),a=n.pop(),o=null;for(;i===a;)o=i,i=r.pop(),a=n.pop();return o}(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 ga(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function va(t){t.fixed|=2}function ma(t){t.fixed&=-7}function ya(t){t.fixed|=4,t.px=t.x,t.py=t.y}function xa(t){t.fixed&=-5}t.interpolateTransform=ha,t.layout={},t.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push(da(t[r]));return e}},t.layout.chord=function(){var e,r,n,i,a,o,s,l={},u=0;function c(){var l,c,f,p,d,g={},v=[],m=t.range(i),y=[];for(e=[],r=[],l=0,p=-1;++p<i;){for(c=0,d=-1;++d<i;)c+=n[p][d];v.push(c),y.push(t.range(i)),l+=c}for(a&&m.sort(function(t,e){return a(v[t],v[e])}),o&&y.forEach(function(t,e){t.sort(function(t,r){return o(n[e][t],n[e][r])})}),l=(Tt-u*i)/l,c=0,p=-1;++p<i;){for(f=c,d=-1;++d<i;){var x=m[p],b=y[x][d],_=n[x][b],w=c,M=c+=_*l;g[x+\"-\"+b]={index:x,subindex:b,startAngle:w,endAngle:M,value:_}}r[x]={index:x,startAngle:f,endAngle:c,value:v[x]},c+=u}for(p=-1;++p<i;)for(d=p-1;++d<i;){var A=g[p+\"-\"+d],k=g[d+\"-\"+p];(A.value||k.value)&&e.push(A.value<k.value?{source:k,target:A}:{source:A,target:k})}s&&h()}function h(){e.sort(function(t,e){return s((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}return l.matrix=function(t){return arguments.length?(i=(n=t)&&n.length,e=r=null,l):n},l.padding=function(t){return arguments.length?(u=t,e=r=null,l):u},l.sortGroups=function(t){return arguments.length?(a=t,e=r=null,l):a},l.sortSubgroups=function(t){return arguments.length?(o=t,e=null,l):o},l.sortChords=function(t){return arguments.length?(s=t,e&&h(),l):s},l.chords=function(){return e||c(),e},l.groups=function(){return r||c(),r},l},t.layout.force=function(){var e,r,n,i,a,o,s={},l=t.dispatch(\"start\",\"tick\",\"end\"),u=[1,1],c=.9,h=ba,f=_a,p=-30,d=wa,g=.1,v=.64,m=[],y=[];function x(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<d){var u=e.charge/l;t.px-=a*u,t.py-=o*u}return!0}if(e.point&&l&&l<d){u=e.pointCharge/l;t.px-=a*u,t.py-=o*u}}return!e.charge}}function b(e){e.px=t.event.x,e.py=t.event.y,s.resume()}return s.tick=function(){if((n*=.99)<.005)return e=null,l.end({type:\"end\",alpha:n=0}),!0;var r,s,h,f,d,v,b,_,w,M=m.length,A=y.length;for(s=0;s<A;++s)f=(h=y[s]).source,(v=(_=(d=h.target).x-f.x)*_+(w=d.y-f.y)*w)&&(_*=v=n*a[s]*((v=Math.sqrt(v))-i[s])/v,w*=v,d.x-=_*(b=f.weight+d.weight?f.weight/(f.weight+d.weight):.5),d.y-=w*b,f.x+=_*(b=1-b),f.y+=w*b);if((b=n*g)&&(_=u[0]/2,w=u[1]/2,s=-1,b))for(;++s<M;)(h=m[s]).x+=(_-h.x)*b,h.y+=(w-h.y)*b;if(p)for(!function t(e,r,n){var i=0,a=0;e.charge=0;if(!e.leaf)for(var o,s=e.nodes,l=s.length,u=-1;++u<l;)null!=(o=s[u])&&(t(o,r,n),e.charge+=o.charge,i+=o.charge*o.cx,a+=o.charge*o.cy);if(e.point){e.leaf||(e.point.x+=Math.random()-.5,e.point.y+=Math.random()-.5);var c=r*n[e.point.index];e.charge+=e.pointCharge=c,i+=c*e.point.x,a+=c*e.point.y}e.cx=i/e.charge;e.cy=a/e.charge}(r=t.geom.quadtree(m),n,o),s=-1;++s<M;)(h=m[s]).fixed||r.visit(x(h));for(s=-1;++s<M;)(h=m[s]).fixed?(h.x=h.px,h.y=h.py):(h.x-=(h.px-(h.px=h.x))*c,h.y-=(h.py-(h.py=h.y))*c);l.tick({type:\"tick\",alpha:n})},s.nodes=function(t){return arguments.length?(m=t,s):m},s.links=function(t){return arguments.length?(y=t,s):y},s.size=function(t){return arguments.length?(u=t,s):u},s.linkDistance=function(t){return arguments.length?(h=\"function\"==typeof t?t:+t,s):h},s.distance=s.linkDistance,s.linkStrength=function(t){return arguments.length?(f=\"function\"==typeof t?t:+t,s):f},s.friction=function(t){return arguments.length?(c=+t,s):c},s.charge=function(t){return arguments.length?(p=\"function\"==typeof t?t:+t,s):p},s.chargeDistance=function(t){return arguments.length?(d=t*t,s):Math.sqrt(d)},s.gravity=function(t){return arguments.length?(g=+t,s):g},s.theta=function(t){return arguments.length?(v=t*t,s):Math.sqrt(v)},s.alpha=function(t){return arguments.length?(t=+t,n?t>0?n=t:(e.c=null,e.t=NaN,e=null,l.end({type:\"end\",alpha:n=0})):t>0&&(l.start({type:\"start\",alpha:n=t}),e=Ae(s.tick)),s):n},s.start=function(){var t,e,r,n=m.length,l=y.length,c=u[0],d=u[1];for(t=0;t<n;++t)(r=m[t]).index=t,r.weight=0;for(t=0;t<l;++t)\"number\"==typeof(r=y[t]).source&&(r.source=m[r.source]),\"number\"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;t<n;++t)r=m[t],isNaN(r.x)&&(r.x=g(\"x\",c)),isNaN(r.y)&&(r.y=g(\"y\",d)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(i=[],\"function\"==typeof h)for(t=0;t<l;++t)i[t]=+h.call(this,y[t],t);else for(t=0;t<l;++t)i[t]=h;if(a=[],\"function\"==typeof f)for(t=0;t<l;++t)a[t]=+f.call(this,y[t],t);else for(t=0;t<l;++t)a[t]=f;if(o=[],\"function\"==typeof p)for(t=0;t<n;++t)o[t]=+p.call(this,m[t],t);else for(t=0;t<n;++t)o[t]=p;function g(r,i){if(!e){for(e=new Array(n),u=0;u<n;++u)e[u]=[];for(u=0;u<l;++u){var a=y[u];e[a.source.index].push(a.target),e[a.target.index].push(a.source)}}for(var o,s=e[t],u=-1,c=s.length;++u<c;)if(!isNaN(o=s[u][r]))return o;return Math.random()*i}return s.resume()},s.resume=function(){return s.alpha(.1)},s.stop=function(){return s.alpha(0)},s.drag=function(){if(r||(r=t.behavior.drag().origin(z).on(\"dragstart.force\",va).on(\"drag.force\",b).on(\"dragend.force\",ma)),!arguments.length)return r;this.on(\"mouseover.force\",ya).on(\"mouseout.force\",xa).call(r)},t.rebind(s,l,\"on\")};var ba=20,_a=1,wa=1/0;function Ma(e,r){return t.rebind(e,r,\"sort\",\"children\",\"value\"),e.nodes=e,e.links=Ca,e}function Aa(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 ka(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 Ta(t){return t.children}function Sa(t){return t.value}function Ea(t,e){return e.value-t.value}function Ca(e){return t.merge(e.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}t.layout.hierarchy=function(){var t=Ea,e=Ta,r=Sa;function n(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(u=e.call(n,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;r&&(a.value=0),a.children=u}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return ka(i,function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.value+=e.value)}),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Aa(t,function(t){t.children&&(t.value=0)}),ka(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},t.layout.partition=function(){var e=t.layout.hierarchy(),r=[1,1];function n(t,n){var i=e.call(this,t,n);return 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}}(i[0],0,r[0],r[1]/function t(e){var r=e.children,n=0;if(r&&(i=r.length))for(var i,a=-1;++a<i;)n=Math.max(n,t(r[a]));return 1+n}(i[0])),i}return n.size=function(t){return arguments.length?(r=t,n):r},Ma(n,e)},t.layout.pie=function(){var e=Number,r=La,n=0,i=Tt,a=0;function o(s){var l,u=s.length,c=s.map(function(t,r){return+e.call(o,t,r)}),h=+(\"function\"==typeof n?n.apply(this,arguments):n),f=(\"function\"==typeof i?i.apply(this,arguments):i)-h,p=Math.min(Math.abs(f)/u,+(\"function\"==typeof a?a.apply(this,arguments):a)),d=p*(f<0?-1:1),g=t.sum(c),v=g?(f-u*d)/g:0,m=t.range(u),y=[];return null!=r&&m.sort(r===La?function(t,e){return c[e]-c[t]}:function(t,e){return r(s[t],s[e])}),m.forEach(function(t){y[t]={data:s[t],value:l=c[t],startAngle:h,endAngle:h+=l*v+d,padAngle:p}}),y}return o.value=function(t){return arguments.length?(e=t,o):e},o.sort=function(t){return arguments.length?(r=t,o):r},o.startAngle=function(t){return arguments.length?(n=t,o):n},o.endAngle=function(t){return arguments.length?(i=t,o):i},o.padAngle=function(t){return arguments.length?(a=t,o):a},o};var La={};function za(t){return t.x}function Pa(t){return t.y}function Ia(t,e,r){t.y0=e,t.y=r}t.layout.stack=function(){var e=z,r=Ra,n=Fa,i=Ia,a=za,o=Pa;function s(l,u){if(!(p=l.length))return l;var c=l.map(function(t,r){return e.call(s,t,r)}),h=c.map(function(t){return t.map(function(t,e){return[a.call(s,t,e),o.call(s,t,e)]})}),f=r.call(s,h,u);c=t.permute(c,f),h=t.permute(h,f);var p,d,g,v,m=n.call(s,h,u),y=c[0].length;for(g=0;g<y;++g)for(i.call(s,c[0][g],v=m[g],h[0][g][1]),d=1;d<p;++d)i.call(s,c[d][g],v+=h[d-1][g][1],h[d][g][1]);return l}return s.values=function(t){return arguments.length?(e=t,s):e},s.order=function(t){return arguments.length?(r=\"function\"==typeof t?t:Da.get(t)||Ra,s):r},s.offset=function(t){return arguments.length?(n=\"function\"==typeof t?t:Oa.get(t)||Fa,s):n},s.x=function(t){return arguments.length?(a=t,s):a},s.y=function(t){return arguments.length?(o=t,s):o},s.out=function(t){return arguments.length?(i=t,s):i},s};var Da=t.map({\"inside-out\":function(e){var r,n,i=e.length,a=e.map(Ba),o=e.map(Na),s=t.range(i).sort(function(t,e){return a[t]-a[e]}),l=0,u=0,c=[],h=[];for(r=0;r<i;++r)n=s[r],l<u?(l+=o[n],c.push(n)):(u+=o[n],h.push(n));return h.reverse().concat(c)},reverse:function(e){return t.range(e.length).reverse()},default:Ra}),Oa=t.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,p=[];for(p[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]}p[r]=l-=i?a/i*s:0,l<u&&(u=l)}for(r=0;r<f;++r)p[r]-=u;return p},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:Fa});function Ra(e){return t.range(e.length)}function Fa(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function Ba(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 Na(t){return t.reduce(ja,0)}function ja(t,e){return t+e[1]}function Va(t,e){return Ua(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Ua(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 qa(e){return[t.min(e),t.max(e)]}function Ha(t,e){return t.value-e.value}function Ga(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Wa(t,e){t._pack_next=e,e._pack_prev=t}function Ya(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 Xa(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,u=1/0,c=-1/0,h=1/0,f=-1/0;if(e.forEach(Za),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(Ka(r,n,i=e[2]),x(i),Ga(r,i),r._pack_prev=i,Ga(i,n),n=r._pack_next,a=3;a<l;a++){Ka(r,n,i=e[a]);var p=0,d=1,g=1;for(o=n._pack_next;o!==n;o=o._pack_next,d++)if(Ya(o,i)){p=1;break}if(1==p)for(s=r._pack_prev;s!==o._pack_prev&&!Ya(s,i);s=s._pack_prev,g++);p?(d<g||d==g&&n.r<r.r?Wa(r,n=o):Wa(r=s,n),a--):(Ga(r,i),n=i,x(i))}var v=(u+c)/2,m=(h+f)/2,y=0;for(a=0;a<l;a++)(i=e[a]).x-=v,i.y-=m,y=Math.max(y,i.r+Math.sqrt(i.x*i.x+i.y*i.y));t.r=y,e.forEach(Ja)}function x(t){u=Math.min(t.x-t.r,u),c=Math.max(t.x+t.r,c),h=Math.min(t.y-t.r,h),f=Math.max(t.y+t.r,f)}}function Za(t){t._pack_next=t._pack_prev=t}function Ja(t){delete t._pack_next,delete t._pack_prev}function Ka(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,l=.5+((n*=n)-(o*=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 Qa(t,e){return t.parent==e.parent?1:2}function $a(t){var e=t.children;return e.length?e[0]:t.t}function to(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function eo(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 ro(t,e,r){return t.a.parent===e.parent?t.a:r}function no(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function io(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 ao(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function oo(t){return t.rangeExtent?t.rangeExtent():ao(t.range())}function so(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 lo(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 uo(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:co}t.layout.histogram=function(){var e=!0,r=Number,n=qa,i=Va;function a(a,o){for(var s,l,u=[],c=a.map(r,this),h=n.call(this,c,o),f=i.call(this,h,c,o),p=(o=-1,c.length),d=f.length-1,g=e?1:1/p;++o<d;)(s=u[o]=[]).dx=f[o+1]-(s.x=f[o]),s.y=0;if(d>0)for(o=-1;++o<p;)(l=c[o])>=h[0]&&l<=h[1]&&((s=u[t.bisect(f,l,1,d)-1]).y+=g,s.push(a[o]));return u}return a.value=function(t){return arguments.length?(r=t,a):r},a.range=function(t){return arguments.length?(n=ve(t),a):n},a.bins=function(t){return arguments.length?(i=\"number\"==typeof t?function(e){return Ua(e,t)}:ve(t),a):i},a.frequency=function(t){return arguments.length?(e=!!t,a):e},a},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort(Ha),n=0,i=[1,1];function a(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,ka(s,function(t){t.r=+c(t.value)}),ka(s,Xa),n){var h=n*(e?1:Math.max(2*s.r/l,2*s.r/u))/2;ka(s,function(t){t.r+=h}),ka(s,Xa),ka(s,function(t){t.r-=h})}return function t(e,r,n,i){var a=e.children;e.x=r+=i*e.x;e.y=n+=i*e.y;e.r*=i;if(a)for(var o=-1,s=a.length;++o<s;)t(a[o],r,n,i)}(s,l/2,u/2,e?1:1/Math.max(2*s.r/l,2*s.r/u)),o}return a.size=function(t){return arguments.length?(i=t,a):i},a.radius=function(t){return arguments.length?(e=null==t||\"function\"==typeof t?t:+t,a):e},a.padding=function(t){return arguments.length?(n=+t,a):n},Ma(a,r)},t.layout.tree=function(){var e=t.layout.hierarchy().sort(null).value(null),r=Qa,n=[1,1],i=null;function a(t,a){var u=e.call(this,t,a),c=u[0],h=function(t){var e,r={A:null,children:[t]},n=[r];for(;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]}(c);if(ka(h,o),h.parent.m=-h.z,Aa(h,s),i)Aa(c,l);else{var f=c,p=c,d=c;Aa(c,function(t){t.x<f.x&&(f=t),t.x>p.x&&(p=t),t.depth>d.depth&&(d=t)});var g=r(f,p)/2-f.x,v=n[0]/(p.x+r(p,f)/2+g),m=n[1]/(d.depth||1);Aa(c,function(t){t.x=(t.x+g)*v,t.y=t.depth*m})}return u}function o(t){var e=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,i=t.children,a=i.length;for(;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(e[0].z+e[e.length-1].z)/2;i?(t.z=i.z+r(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+r(t._,i._));t.parent.A=function(t,e,n){if(e){for(var i,a=t,o=t,s=e,l=a.parent.children[0],u=a.m,c=o.m,h=s.m,f=l.m;s=to(s),a=$a(a),s&&a;)l=$a(l),(o=to(o)).a=t,(i=s.z+h-a.z-u+r(s._,a._))>0&&(eo(ro(s,t,n),t,i),u+=i,c+=i),h+=s.m,u+=a.m,f+=l.m,c+=o.m;s&&!to(o)&&(o.t=s,o.m+=h-c),a&&!$a(l)&&(l.t=a,l.m+=u-f,n=t)}return n}(t,i,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=n[0],t.y=t.depth*n[1]}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t)?l:null,a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null==(n=t)?null:l,a):i?n:null},Ma(a,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=Qa,n=[1,1],i=!1;function a(a,o){var s,l=e.call(this,a,o),u=l[0],c=0;ka(u,function(e){var n=e.children;n&&n.length?(e.x=function(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}(n),e.y=function(e){return 1+t.max(e,function(t){return t.y})}(n)):(e.x=s?c+=r(e,s):0,e.y=0,s=e)});var h=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(u),f=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(u),p=h.x-r(h,f)/2,d=f.x+r(f,h)/2;return ka(u,i?function(t){t.x=(t.x-u.x)*n[0],t.y=(u.y-t.y)*n[1]}:function(t){t.x=(t.x-p)/(d-p)*n[0],t.y=(1-(u.y?t.y/u.y:1))*n[1]}),l}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t),a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null!=(n=t),a):i?n:null},Ma(a,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=no,s=!1,l=\"squarify\",u=.5*(1+Math.sqrt(5));function c(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 h(t){var e=t.children;if(e&&e.length){var r,n,i,a=o(t),s=[],u=e.slice(),f=1/0,g=\"slice\"===l?a.dx:\"dice\"===l?a.dy:\"slice-dice\"===l?1&t.depth?a.dy:a.dx:Math.min(a.dx,a.dy);for(c(u,a.dx*a.dy/t.value),s.area=0;(i=u.length)>0;)s.push(r=u[i-1]),s.area+=r.area,\"squarify\"!==l||(n=p(s,g))<=f?(u.pop(),f=n):(s.area-=s.pop().area,d(s,g,a,!1),g=Math.min(a.dx,a.dy),s.length=s.area=0,f=1/0);s.length&&(d(s,g,a,!0),s.length=s.area=0),e.forEach(h)}}function f(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(c(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(f)}}function p(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 e*=e,(n*=n)?Math.max(e*i*u/n,n/(e*a*u)):1/0}function d(t,e,r,i){var a,o=-1,s=t.length,l=r.x,u=r.y,c=e?n(t.area/e):0;if(e==r.dx){for((i||c>r.dy)&&(c=r.dy);++o<s;)(a=t[o]).x=l,a.y=u,a.dy=c,l+=a.dx=Math.min(r.x+r.dx-l,c?n(a.area/c):0);a.z=!0,a.dx+=r.x+r.dx-l,r.y+=c,r.dy-=c}else{for((i||c>r.dx)&&(c=r.dx);++o<s;)(a=t[o]).x=l,a.y=u,a.dx=c,u+=a.dy=Math.min(r.y+r.dy-u,c?n(a.area/c):0);a.z=!1,a.dy+=r.y+r.dy-u,r.x+=c,r.dx-=c}}function g(t){var n=e||r(t),a=n[0];return a.x=a.y=0,a.value?(a.dx=i[0],a.dy=i[1]):a.dx=a.dy=0,e&&r.revalue(a),c([a],a.dx*a.dy/a.value),(e?f:h)(a),s&&(e=n),n}return g.size=function(t){return arguments.length?(i=t,g):i},g.padding=function(t){if(!arguments.length)return a;function e(e){return io(e,t)}var r;return o=null==(a=t)?no:\"function\"==(r=typeof t)?function(e){var r=t.call(g,e,e.depth);return null==r?no(e):io(e,\"number\"==typeof r?[r,r,r,r]:r)}:\"number\"===r?(t=[t,t,t,t],e):e,g},g.round=function(t){return arguments.length?(n=t?Math.round:Number,g):n!=Number},g.sticky=function(t){return arguments.length?(s=t,e=null,g):s},g.ratio=function(t){return arguments.length?(u=t,g):u},g.mode=function(t){return arguments.length?(l=t+\"\",g):l},Ma(g,r)},t.random={normal:function(t,e){var r=arguments.length;return r<2&&(e=1),r<1&&(t=0),function(){var r,n,i;do{i=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!i||i>1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var e=t.random.normal.apply(t,arguments);return function(){return Math.exp(e())}},bates:function(e){var r=t.random.irwinHall(e);return function(){return r()/e}},irwinHall:function(t){return function(){for(var e=0,r=0;r<t;r++)e+=Math.random();return e}}},t.scale={};var co={floor:z,ceil:z};function ho(e,r,n,i){var a=[],o=[],s=0,l=Math.min(e.length,r.length)-1;for(e[l]<e[0]&&(e=e.slice().reverse(),r=r.slice().reverse());++s<=l;)a.push(n(e[s-1],e[s])),o.push(i(r[s-1],r[s]));return function(r){var n=t.bisect(e,r,1,l)-1;return o[n](a[n](r))}}function fo(e,r){return t.rebind(e,r,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function po(t,e){return lo(t,uo(go(t,e)[2])),lo(t,uo(go(t,e)[2])),t}function go(t,e){null==e&&(e=10);var r=ao(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 vo(e,r){return t.range.apply(t,go(e,r))}function mo(e,r,n){var i=go(e,r);if(n){var a=Le.exec(n);if(a.shift(),\"s\"===a[8]){var o=t.formatPrefix(Math.max(y(i[0]),y(i[1])));return a[7]||(a[7]=\".\"+xo(o.scale(i[2]))),a[8]=\"f\",n=t.format(a.join(\"\")),function(t){return n(o.scale(t))+o.symbol}}a[7]||(a[7]=\".\"+function(t,e){var r=xo(e[2]);return t in yo?Math.abs(r-xo(Math.max(y(e[0]),y(e[1]))))+ +(\"e\"!==t):r-2*(\"%\"===t)}(a[8],i)),n=a.join(\"\")}else n=\",.\"+xo(i[2])+\"f\";return t.format(n)}t.scale.linear=function(){return function t(e,r,n,i){var a,o;function s(){var t=Math.min(e.length,r.length)>2?ho:so,s=i?pa:fa;return a=t(e,r,s,n),o=t(r,e,s,Gi),l}function l(t){return a(t)}l.invert=function(t){return o(t)};l.domain=function(t){return arguments.length?(e=t.map(Number),s()):e};l.range=function(t){return arguments.length?(r=t,s()):r};l.rangeRound=function(t){return l.range(t).interpolate(aa)};l.clamp=function(t){return arguments.length?(i=t,s()):i};l.interpolate=function(t){return arguments.length?(n=t,s()):n};l.ticks=function(t){return vo(e,t)};l.tickFormat=function(t,r){return mo(e,t,r)};l.nice=function(t){return po(e,t),s()};l.copy=function(){return t(e,r,n,i)};return s()}([0,1],[0,1],Gi,!1)};var yo={s:1,g:1,p:1,r:1,e:1};function xo(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,i,a){function o(t){return(i?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return i?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}l.invert=function(t){return s(r.invert(t))};l.domain=function(t){return arguments.length?(i=t[0]>=0,r.domain((a=t.map(Number)).map(o)),l):a};l.base=function(t){return arguments.length?(n=+t,r.domain(a.map(o)),l):n};l.nice=function(){var t=lo(a.map(o),i?Math:_o);return r.domain(t),a=t.map(s),l};l.ticks=function(){var t=ao(a),e=[],r=t[0],l=t[1],u=Math.floor(o(r)),c=Math.ceil(o(l)),h=n%1?2:n;if(isFinite(c-u)){if(i){for(;u<c;u++)for(var f=1;f<h;f++)e.push(s(u)*f);e.push(s(u))}else for(e.push(s(u));u++<c;)for(var f=h-1;f>0;f--)e.push(s(u)*f);for(u=0;e[u]<r;u++);for(c=e.length;e[c-1]>l;c--);e=e.slice(u,c)}return e};l.tickFormat=function(e,r){if(!arguments.length)return bo;arguments.length<2?r=bo:\"function\"!=typeof r&&(r=t.format(r));var i=Math.max(1,n*e/l.ticks().length);return function(t){var e=t/s(Math.round(o(t)));return e*n<n-.5&&(e*=n),e<=i?r(t):\"\"}};l.copy=function(){return e(r.copy(),n,i,a)};return fo(l,r)}(t.scale.linear().domain([0,1]),10,!0,[1,10])};var bo=t.format(\".0e\"),_o={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function wo(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}t.scale.pow=function(){return function t(e,r,n){var i=wo(r),a=wo(1/r);function o(t){return e(i(t))}o.invert=function(t){return a(e.invert(t))};o.domain=function(t){return arguments.length?(e.domain((n=t.map(Number)).map(i)),o):n};o.ticks=function(t){return vo(n,t)};o.tickFormat=function(t,e){return mo(n,t,e)};o.nice=function(t){return o.domain(po(n,t))};o.exponent=function(t){return arguments.length?(i=wo(r=t),a=wo(1/r),e.domain(n.map(i)),o):r};o.copy=function(){return t(e.copy(),r,n)};return fo(o,e)}(t.scale.linear(),1,[0,1])},t.scale.sqrt=function(){return t.scale.pow().exponent(.5)},t.scale.ordinal=function(){return function e(r,n){var i,a,o;function s(t){return a[((i.get(t)||(\"range\"===n.t?i.set(t,r.push(t)):NaN))-1)%a.length]}function l(e,n){return t.range(r.length).map(function(t){return e+n*t})}s.domain=function(t){if(!arguments.length)return r;r=[],i=new b;for(var e,a=-1,o=t.length;++a<o;)i.has(e=t[a])||i.set(e,r.push(e));return s[n.t].apply(s,n.a)};s.range=function(t){return arguments.length?(a=t,o=0,n={t:\"range\",a:arguments},s):a};s.rangePoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],u=t[1],c=r.length<2?(i=(i+u)/2,0):(u-i)/(r.length-1+e);return a=l(i+c*e/2,c),o=0,n={t:\"rangePoints\",a:arguments},s};s.rangeRoundPoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],u=t[1],c=r.length<2?(i=u=Math.round((i+u)/2),0):(u-i)/(r.length-1+e)|0;return a=l(i+Math.round(c*e/2+(u-i-(r.length-1+e)*c)/2),c),o=0,n={t:\"rangeRoundPoints\",a:arguments},s};s.rangeBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var u=t[1]<t[0],c=t[u-0],h=t[1-u],f=(h-c)/(r.length-e+2*i);return a=l(c+f*i,f),u&&a.reverse(),o=f*(1-e),n={t:\"rangeBands\",a:arguments},s};s.rangeRoundBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var u=t[1]<t[0],c=t[u-0],h=t[1-u],f=Math.floor((h-c)/(r.length-e+2*i));return a=l(c+Math.round((h-c-(r.length-e)*f)/2),f),u&&a.reverse(),o=Math.round(f*(1-e)),n={t:\"rangeRoundBands\",a:arguments},s};s.rangeBand=function(){return o};s.rangeExtent=function(){return ao(n.a[0])};s.copy=function(){return e(r,n)};return s.domain(r)}([],{t:\"range\",a:[[]]})},t.scale.category10=function(){return t.scale.ordinal().range(Mo)},t.scale.category20=function(){return t.scale.ordinal().range(Ao)},t.scale.category20b=function(){return t.scale.ordinal().range(ko)},t.scale.category20c=function(){return t.scale.ordinal().range(To)};var Mo=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(se),Ao=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(se),ko=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(se),To=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(se);function So(){return 0}t.scale.quantile=function(){return function e(r,n){var i;function a(){var e=0,a=n.length;for(i=[];++e<a;)i[e-1]=t.quantile(r,e/a);return o}function o(e){if(!isNaN(e=+e))return n[t.bisect(i,e)]}o.domain=function(t){return arguments.length?(r=t.map(p).filter(d).sort(f),a()):r};o.range=function(t){return arguments.length?(n=t,a()):n};o.quantiles=function(){return i};o.invertExtent=function(t){return(t=n.indexOf(t))<0?[NaN,NaN]:[t>0?i[t-1]:r[0],t<i.length?i[t]:r[r.length-1]]};o.copy=function(){return e(r,n)};return a()}([],[])},t.scale.quantize=function(){return function t(e,r,n){var i,a;function o(t){return n[Math.max(0,Math.min(a,Math.floor(i*(t-e))))]}function s(){return i=n.length/(r-e),a=n.length-1,o}o.domain=function(t){return arguments.length?(e=+t[0],r=+t[t.length-1],s()):[e,r]};o.range=function(t){return arguments.length?(n=t,s()):n};o.invertExtent=function(t){return[t=(t=n.indexOf(t))<0?NaN:t/i+e,t+1/i]};o.copy=function(){return t(e,r,n)};return s()}(0,1,[0,1])},t.scale.threshold=function(){return function e(r,n){function i(e){if(e<=e)return n[t.bisect(r,e)]}i.domain=function(t){return arguments.length?(r=t,i):r};i.range=function(t){return arguments.length?(n=t,i):n};i.invertExtent=function(t){return t=n.indexOf(t),[r[t-1],r[t]]};i.copy=function(){return e(r,n)};return i}([.5],[0,1])},t.scale.identity=function(){return function t(e){function r(t){return+t}r.invert=r;r.domain=r.range=function(t){return arguments.length?(e=t.map(r),r):e};r.ticks=function(t){return vo(e,t)};r.tickFormat=function(t,r){return mo(e,t,r)};r.copy=function(){return t(e)};return r}([0,1])},t.svg={},t.svg.arc=function(){var t=Co,e=Lo,r=So,n=Eo,i=zo,a=Po,o=Io;function s(){var s=Math.max(0,+t.apply(this,arguments)),u=Math.max(0,+e.apply(this,arguments)),c=i.apply(this,arguments)-Et,h=a.apply(this,arguments)-Et,f=Math.abs(h-c),p=c>h?0:1;if(u<s&&(d=u,u=s,s=d),f>=St)return l(u,p)+(s?l(s,1-p):\"\")+\"Z\";var d,g,v,m,y,x,b,_,w,M,A,k,T=0,S=0,E=[];if((m=(+o.apply(this,arguments)||0)/2)&&(v=n===Eo?Math.sqrt(s*s+u*u):+n.apply(this,arguments),p||(S*=-1),u&&(S=Dt(v/u*Math.sin(m))),s&&(T=Dt(v/s*Math.sin(m)))),u){y=u*Math.cos(c+S),x=u*Math.sin(c+S),b=u*Math.cos(h-S),_=u*Math.sin(h-S);var C=Math.abs(h-c-2*S)<=kt?0:1;if(S&&Do(y,x,b,_)===p^C){var L=(c+h)/2;y=u*Math.cos(L),x=u*Math.sin(L),b=_=null}}else y=x=0;if(s){w=s*Math.cos(h-T),M=s*Math.sin(h-T),A=s*Math.cos(c+T),k=s*Math.sin(c+T);var z=Math.abs(c-h+2*T)<=kt?0:1;if(T&&Do(w,M,A,k)===1-p^z){var P=(c+h)/2;w=s*Math.cos(P),M=s*Math.sin(P),A=k=null}}else w=M=0;if(f>Mt&&(d=Math.min(Math.abs(u-s)/2,+r.apply(this,arguments)))>.001){g=s<u^p?0:1;var I=d,D=d;if(f<kt){var O=null==A?[w,M]:null==b?[y,x]:ai([y,x],[A,k],[b,_],[w,M]),R=y-O[0],F=x-O[1],B=b-O[0],N=_-O[1],j=1/Math.sin(Math.acos((R*B+F*N)/(Math.sqrt(R*R+F*F)*Math.sqrt(B*B+N*N)))/2),V=Math.sqrt(O[0]*O[0]+O[1]*O[1]);D=Math.min(d,(s-V)/(j-1)),I=Math.min(d,(u-V)/(j+1))}if(null!=b){var U=Oo(null==A?[w,M]:[A,k],[y,x],u,I,p),q=Oo([b,_],[w,M],u,I,p);d===I?E.push(\"M\",U[0],\"A\",I,\",\",I,\" 0 0,\",g,\" \",U[1],\"A\",u,\",\",u,\" 0 \",1-p^Do(U[1][0],U[1][1],q[1][0],q[1][1]),\",\",p,\" \",q[1],\"A\",I,\",\",I,\" 0 0,\",g,\" \",q[0]):E.push(\"M\",U[0],\"A\",I,\",\",I,\" 0 1,\",g,\" \",q[0])}else E.push(\"M\",y,\",\",x);if(null!=A){var H=Oo([y,x],[A,k],s,-D,p),G=Oo([w,M],null==b?[y,x]:[b,_],s,-D,p);d===D?E.push(\"L\",G[0],\"A\",D,\",\",D,\" 0 0,\",g,\" \",G[1],\"A\",s,\",\",s,\" 0 \",p^Do(G[1][0],G[1][1],H[1][0],H[1][1]),\",\",1-p,\" \",H[1],\"A\",D,\",\",D,\" 0 0,\",g,\" \",H[0]):E.push(\"L\",G[0],\"A\",D,\",\",D,\" 0 0,\",g,\" \",H[0])}else E.push(\"L\",w,\",\",M)}else E.push(\"M\",y,\",\",x),null!=b&&E.push(\"A\",u,\",\",u,\" 0 \",C,\",\",p,\" \",b,\",\",_),E.push(\"L\",w,\",\",M),null!=A&&E.push(\"A\",s,\",\",s,\" 0 \",z,\",\",1-p,\" \",A,\",\",k);return E.push(\"Z\"),E.join(\"\")}function l(t,e){return\"M0,\"+t+\"A\"+t+\",\"+t+\" 0 1,\"+e+\" 0,\"+-t+\"A\"+t+\",\"+t+\" 0 1,\"+e+\" 0,\"+t}return s.innerRadius=function(e){return arguments.length?(t=ve(e),s):t},s.outerRadius=function(t){return arguments.length?(e=ve(t),s):e},s.cornerRadius=function(t){return arguments.length?(r=ve(t),s):r},s.padRadius=function(t){return arguments.length?(n=t==Eo?Eo:ve(t),s):n},s.startAngle=function(t){return arguments.length?(i=ve(t),s):i},s.endAngle=function(t){return arguments.length?(a=ve(t),s):a},s.padAngle=function(t){return arguments.length?(o=ve(t),s):o},s.centroid=function(){var r=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,n=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-Et;return[Math.cos(n)*r,Math.sin(n)*r]},s};var Eo=\"auto\";function Co(t){return t.innerRadius}function Lo(t){return t.outerRadius}function zo(t){return t.startAngle}function Po(t){return t.endAngle}function Io(t){return t&&t.padAngle}function Do(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function Oo(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,p=e[1]+u,d=(c+f)/2,g=(h+p)/2,v=f-c,m=p-h,y=v*v+m*m,x=r-n,b=c*p-f*h,_=(m<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*m-v*_)/y,M=(-b*v-m*_)/y,A=(b*m+v*_)/y,k=(-b*v+m*_)/y,T=w-d,S=M-g,E=A-d,C=k-g;return T*T+S*S>E*E+C*C&&(w=A,M=k),[[w-l,M-u],[w*r/x,M*r/x]]}function Ro(t){var e=$n,r=ti,n=Wr,i=Bo,a=i.key,o=.7;function s(a){var s,l=[],u=[],c=-1,h=a.length,f=ve(e),p=ve(r);function d(){l.push(\"M\",i(t(u),o))}for(;++c<h;)n.call(this,s=a[c],c)?u.push([+f.call(this,s,c),+p.call(this,s,c)]):u.length&&(d(),u=[]);return u.length&&d(),l.length?l.join(\"\"):null}return s.x=function(t){return arguments.length?(e=t,s):e},s.y=function(t){return arguments.length?(r=t,s):r},s.defined=function(t){return arguments.length?(n=t,s):n},s.interpolate=function(t){return arguments.length?(a=\"function\"==typeof t?i=t:(i=Fo.get(t)||Bo).key,s):a},s.tension=function(t){return arguments.length?(o=t,s):o},s}t.svg.line=function(){return Ro(z)};var Fo=t.map({linear:Bo,\"linear-closed\":No,step:function(t){var e=0,r=t.length,n=t[0],i=[n[0],\",\",n[1]];for(;++e<r;)i.push(\"H\",(n[0]+(n=t[e])[0])/2,\"V\",n[1]);r>1&&i.push(\"H\",n[0]);return i.join(\"\")},\"step-before\":jo,\"step-after\":Vo,basis:Ho,\"basis-open\":function(t){if(t.length<4)return Bo(t);var e,r=[],n=-1,i=t.length,a=[0],o=[0];for(;++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);r.push(Go(Xo,a)+\",\"+Go(Xo,o)),--n;for(;++n<i;)e=t[n],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),Zo(r,a,o);return r.join(\"\")},\"basis-closed\":function(t){var e,r,n=-1,i=t.length,a=i+4,o=[],s=[];for(;++n<4;)r=t[n%i],o.push(r[0]),s.push(r[1]);e=[Go(Xo,o),\",\",Go(Xo,s)],--n;for(;++n<a;)r=t[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),Zo(e,o,s);return e.join(\"\")},bundle:function(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 Ho(t)},cardinal:function(t,e){return t.length<3?Bo(t):t[0]+Uo(t,qo(t,e))},\"cardinal-open\":function(t,e){return t.length<4?Bo(t):t[1]+Uo(t.slice(1,-1),qo(t,e))},\"cardinal-closed\":function(t,e){return t.length<3?No(t):t[0]+Uo((t.push(t[0]),t),qo([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length<3?Bo(t):t[0]+Uo(t,function(t){var e,r,n,i,a=[],o=function(t){var e=0,r=t.length-1,n=[],i=t[0],a=t[1],o=n[0]=Jo(i,a);for(;++e<r;)n[e]=(o+(o=Jo(i=a,a=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;for(;++s<l;)e=Jo(t[s],t[s+1]),y(e)<Mt?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));s=-1;for(;++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}(t))}});function Bo(t){return t.length>1?t.join(\"L\"):t+\"Z\"}function No(t){return t.join(\"L\")+\"Z\"}function jo(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 Vo(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 Uo(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return Bo(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 qo(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 Ho(t){if(t.length<3)return Bo(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\",Go(Xo,o),\",\",Go(Xo,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),Zo(l,o,s);return t.pop(),l.push(\"L\",n),l.join(\"\")}function Go(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}Fo.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var Wo=[0,2/3,1/3,0],Yo=[0,1/3,2/3,0],Xo=[0,1/6,2/3,1/6];function Zo(t,e,r){t.push(\"C\",Go(Wo,e),\",\",Go(Wo,r),\",\",Go(Yo,e),\",\",Go(Yo,r),\",\",Go(Xo,e),\",\",Go(Xo,r))}function Jo(t,e){return(e[1]-t[1])/(e[0]-t[0])}function Ko(t){for(var e,r,n,i=-1,a=t.length;++i<a;)r=(e=t[i])[0],n=e[1]-Et,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function Qo(t){var e=$n,r=$n,n=0,i=ti,a=Wr,o=Bo,s=o.key,l=o,u=\"L\",c=.7;function h(s){var h,f,p,d=[],g=[],v=[],m=-1,y=s.length,x=ve(e),b=ve(n),_=e===r?function(){return f}:ve(r),w=n===i?function(){return p}:ve(i);function M(){d.push(\"M\",o(t(v),c),u,l(t(g.reverse()),c),\"Z\")}for(;++m<y;)a.call(this,h=s[m],m)?(g.push([f=+x.call(this,h,m),p=+b.call(this,h,m)]),v.push([+_.call(this,h,m),+w.call(this,h,m)])):g.length&&(M(),g=[],v=[]);return g.length&&M(),d.length?d.join(\"\"):null}return h.x=function(t){return arguments.length?(e=r=t,h):r},h.x0=function(t){return arguments.length?(e=t,h):e},h.x1=function(t){return arguments.length?(r=t,h):r},h.y=function(t){return arguments.length?(n=i=t,h):i},h.y0=function(t){return arguments.length?(n=t,h):n},h.y1=function(t){return arguments.length?(i=t,h):i},h.defined=function(t){return arguments.length?(a=t,h):a},h.interpolate=function(t){return arguments.length?(s=\"function\"==typeof t?o=t:(o=Fo.get(t)||Bo).key,l=o.reverse||o,u=o.closed?\"M\":\"L\",h):s},h.tension=function(t){return arguments.length?(c=t,h):c},h}function $o(t){return t.radius}function ts(t){return[t.x,t.y]}function es(){return 64}function rs(){return\"circle\"}function ns(t){var e=Math.sqrt(t/kt);return\"M0,\"+e+\"A\"+e+\",\"+e+\" 0 1,1 0,\"+-e+\"A\"+e+\",\"+e+\" 0 1,1 0,\"+e+\"Z\"}t.svg.line.radial=function(){var t=Ro(Ko);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},jo.reverse=Vo,Vo.reverse=jo,t.svg.area=function(){return Qo(z)},t.svg.area.radial=function(){var t=Qo(Ko);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},t.svg.chord=function(){var t=Nn,e=jn,r=$o,n=zo,i=Po;function a(r,n){var i,a,u=o(this,t,r,n),c=o(this,e,r,n);return\"M\"+u.p0+s(u.r,u.p1,u.a1-u.a0)+(a=c,(i=u).a0==a.a0&&i.a1==a.a1?l(u.r,u.p1,u.r,u.p0):l(u.r,u.p1,c.r,c.p0)+s(c.r,c.p1,c.a1-c.a0)+l(c.r,c.p1,u.r,u.p0))+\"Z\"}function o(t,e,a,o){var s=e.call(t,a,o),l=r.call(t,s,o),u=n.call(t,s,o)-Et,c=i.call(t,s,o)-Et;return{r:l,a0:u,a1:c,p0:[l*Math.cos(u),l*Math.sin(u)],p1:[l*Math.cos(c),l*Math.sin(c)]}}function s(t,e,r){return\"A\"+t+\",\"+t+\" 0 \"+ +(r>kt)+\",1 \"+e}function l(t,e,r,n){return\"Q 0,0 \"+n}return a.radius=function(t){return arguments.length?(r=ve(t),a):r},a.source=function(e){return arguments.length?(t=ve(e),a):t},a.target=function(t){return arguments.length?(e=ve(t),a):e},a.startAngle=function(t){return arguments.length?(n=ve(t),a):n},a.endAngle=function(t){return arguments.length?(i=ve(t),a):i},a},t.svg.diagonal=function(){var t=Nn,e=jn,r=ts;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return\"M\"+(l=l.map(r))[0]+\"C\"+l[1]+\" \"+l[2]+\" \"+l[3]}return n.source=function(e){return arguments.length?(t=ve(e),n):t},n.target=function(t){return arguments.length?(e=ve(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},t.svg.diagonal.radial=function(){var e=t.svg.diagonal(),r=ts,n=e.projection;return e.projection=function(t){return arguments.length?n(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Et;return[r*Math.cos(n),r*Math.sin(n)]}}(r=t)):r},e},t.svg.symbol=function(){var t=rs,e=es;function r(r,n){return(is.get(t.call(this,r,n))||ns)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ve(e),r):t},r.size=function(t){return arguments.length?(e=ve(t),r):e},r};var is=t.map({circle:ns,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*os)),r=e*os;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/as),r=e*as/2;return\"M0,\"+r+\"L\"+e+\",\"+-r+\" \"+-e+\",\"+-r+\"Z\"},\"triangle-up\":function(t){var e=Math.sqrt(t/as),r=e*as/2;return\"M0,\"+-r+\"L\"+e+\",\"+r+\" \"+-e+\",\"+r+\"Z\"}});t.svg.symbolTypes=is.keys();var as=Math.sqrt(3),os=Math.tan(30*Ct);Y.transition=function(t){for(var e,r,n=cs||++ps,i=vs(t),a=[],o=hs||{time:Date.now(),ease:ta,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])&&ms(r,c,i,n,o),e.push(r)}return us(a,i,n)},Y.interrupt=function(t){return this.each(null==t?ss:ls(vs(t)))};var ss=ls(vs());function ls(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 us(t,e,r){return U(t,fs),t.namespace=e,t.id=r,t}var cs,hs,fs=[],ps=0;function ds(t,e,r,n){var i=t.id,a=t.namespace;return ct(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 gs(t){return null==t&&(t=\"\"),function(){this.textContent=t}}function vs(t){return null==t?\"__transition__\":\"__transition_\"+t+\"__\"}function ms(t,e,r,n,i){var a,o,s,l,u,c=t[r]||(t[r]={active:0,count:0}),h=c[n];function f(r){var i=c.active,f=c[i];for(var d in f&&(f.timer.c=null,f.timer.t=NaN,--c.count,delete c[i],f.event&&f.event.interrupt.call(t,t.__data__,f.index)),c)if(+d<n){var g=c[d];g.timer.c=null,g.timer.t=NaN,--c.count,delete c[d]}o.c=p,Ae(function(){return o.c&&p(r||1)&&(o.c=null,o.t=NaN),1},0,a),c.active=n,h.event&&h.event.start.call(t,t.__data__,e),u=[],h.tween.forEach(function(r,n){(n=n.call(t,t.__data__,e))&&u.push(n)}),l=h.ease,s=h.duration}function p(i){for(var a=i/s,o=l(a),f=u.length;f>0;)u[--f].call(t,o);if(a>=1)return h.event&&h.event.end.call(t,t.__data__,e),--c.count?delete c[n]:delete t[r],1}h||(a=i.time,o=Ae(function(t){var e=h.delay;if(o.t=e+a,e<=t)return f(t-e);o.c=f},0,a),h=c[n]={tween:new b,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++c.count)}fs.call=Y.call,fs.empty=Y.empty,fs.node=Y.node,fs.size=Y.size,t.transition=function(e,r){return e&&e.transition?cs?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=fs,fs.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=X(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__),ms(r,c,a,i,n[a][i]),e.push(r)):e.push(null)}return us(o,a,i)},fs.selectAll=function(t){var e,r,n,i,a,o=this.id,s=this.namespace,l=[];t=Z(t);for(var u=-1,c=this.length;++u<c;)for(var h=this[u],f=-1,p=h.length;++f<p;)if(n=h[f]){a=n[s][o],r=t.call(n,n.__data__,f,u),l.push(e=[]);for(var d=-1,g=r.length;++d<g;)(i=r[d])&&ms(i,d,s,o,a),e.push(i)}return us(l,s,o)},fs.filter=function(t){var e,r,n=[];\"function\"!=typeof t&&(t=ut(t));for(var i=0,a=this.length;i<a;i++){n.push(e=[]);for(var o,s=0,l=(o=this[i]).length;s<l;s++)(r=o[s])&&t.call(r,r.__data__,s,i)&&e.push(r)}return us(n,this.namespace,this.id)},fs.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length<2?this.node()[n][r].tween.get(t):ct(this,null==e?function(e){e[n][r].tween.remove(t)}:function(i){i[n][r].tween.set(t,e)})},fs.attr=function(e,r){if(arguments.length<2){for(r in e)this.attr(r,e[r]);return this}var n=\"transform\"==e?ha:Gi,i=t.ns.qualify(e);function a(){this.removeAttribute(i)}function o(){this.removeAttributeNS(i.space,i.local)}return ds(this,\"attr.\"+e,r,i.local?function(t){return null==t?o:(t+=\"\",function(){var e,r=this.getAttributeNS(i.space,i.local);return r!==t&&(e=n(r,t),function(t){this.setAttributeNS(i.space,i.local,e(t))})})}:function(t){return null==t?a:(t+=\"\",function(){var e,r=this.getAttribute(i);return r!==t&&(e=n(r,t),function(t){this.setAttribute(i,e(t))})})})},fs.attrTween=function(e,r){var n=t.ns.qualify(e);return this.tween(\"attr.\"+e,n.local?function(t,e){var i=r.call(this,t,e,this.getAttributeNS(n.space,n.local));return i&&function(t){this.setAttributeNS(n.space,n.local,i(t))}}:function(t,e){var i=r.call(this,t,e,this.getAttribute(n));return i&&function(t){this.setAttribute(n,i(t))}})},fs.style=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){for(r in n<2&&(e=\"\"),t)this.style(r,t[r],e);return this}r=\"\"}function i(){this.style.removeProperty(t)}return ds(this,\"style.\"+t,e,function(e){return null==e?i:(e+=\"\",function(){var n,i=o(this).getComputedStyle(this,null).getPropertyValue(t);return i!==e&&(n=Gi(i,e),function(e){this.style.setProperty(t,n(e),r)})})})},fs.styleTween=function(t,e,r){return arguments.length<3&&(r=\"\"),this.tween(\"style.\"+t,function(n,i){var a=e.call(this,n,i,o(this).getComputedStyle(this,null).getPropertyValue(t));return a&&function(e){this.style.setProperty(t,a(e),r)}})},fs.text=function(t){return ds(this,\"text\",t,gs)},fs.remove=function(){var t=this.namespace;return this.each(\"end.transition\",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},fs.ease=function(e){var r=this.id,n=this.namespace;return arguments.length<1?this.node()[n][r].ease:(\"function\"!=typeof e&&(e=t.ease.apply(t,arguments)),ct(this,function(t){t[n][r].ease=e}))},fs.delay=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].delay:ct(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}))},fs.duration=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].duration:ct(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}))},fs.each=function(e,r){var n=this.id,i=this.namespace;if(arguments.length<2){var a=hs,o=cs;try{cs=n,ct(this,function(t,r,a){hs=t[i][n],e.call(t,t.__data__,r,a)})}finally{hs=a,cs=o}}else ct(this,function(a){var o=a[i][n];(o.event||(o.event=t.dispatch(\"start\",\"end\",\"interrupt\"))).on(e,r)});return this},fs.transition=function(){for(var t,e,r,n=this.id,i=++ps,a=this.namespace,o=[],s=0,l=this.length;s<l;s++){o.push(t=[]);for(var u,c=0,h=(u=this[s]).length;c<h;c++)(e=u[c])&&ms(e,c,a,i,{time:(r=e[a][n]).time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration}),t.push(e)}return us(o,a,i)},t.svg.axis=function(){var e,r=t.scale.linear(),i=ys,a=6,o=6,s=3,l=[10],u=null;function c(n){n.each(function(){var n,c=t.select(this),h=this.__chart__||r,f=this.__chart__=r.copy(),p=null==u?f.ticks?f.ticks.apply(f,l):f.domain():u,d=null==e?f.tickFormat?f.tickFormat.apply(f,l):z:e,g=c.selectAll(\".tick\").data(p,f),v=g.enter().insert(\"g\",\".domain\").attr(\"class\",\"tick\").style(\"opacity\",Mt),m=t.transition(g.exit()).style(\"opacity\",Mt).remove(),y=t.transition(g.order()).style(\"opacity\",1),x=Math.max(a,0)+s,b=oo(f),_=c.selectAll(\".domain\").data([0]),w=(_.enter().append(\"path\").attr(\"class\",\"domain\"),t.transition(_));v.append(\"line\"),v.append(\"text\");var M,A,k,T,S=v.select(\"line\"),E=y.select(\"line\"),C=g.select(\"text\").text(d),L=v.select(\"text\"),P=y.select(\"text\"),I=\"top\"===i||\"left\"===i?-1:1;if(\"bottom\"===i||\"top\"===i?(n=bs,M=\"x\",k=\"y\",A=\"x2\",T=\"y2\",C.attr(\"dy\",I<0?\"0em\":\".71em\").style(\"text-anchor\",\"middle\"),w.attr(\"d\",\"M\"+b[0]+\",\"+I*o+\"V0H\"+b[1]+\"V\"+I*o)):(n=_s,M=\"y\",k=\"x\",A=\"y2\",T=\"x2\",C.attr(\"dy\",\".32em\").style(\"text-anchor\",I<0?\"end\":\"start\"),w.attr(\"d\",\"M\"+I*o+\",\"+b[0]+\"H0V\"+b[1]+\"H\"+I*o)),S.attr(T,I*a),L.attr(k,I*x),E.attr(A,0).attr(T,I*a),P.attr(M,0).attr(k,I*x),f.rangeBand){var D=f,O=D.rangeBand()/2;h=f=function(t){return D(t)+O}}else h.rangeBand?h=f:m.call(n,f,h);v.call(n,h,f),y.call(n,f,f)})}return c.scale=function(t){return arguments.length?(r=t,c):r},c.orient=function(t){return arguments.length?(i=t in xs?t+\"\":ys,c):i},c.ticks=function(){return arguments.length?(l=n(arguments),c):l},c.tickValues=function(t){return arguments.length?(u=t,c):u},c.tickFormat=function(t){return arguments.length?(e=t,c):e},c.tickSize=function(t){var e=arguments.length;return e?(a=+t,o=+arguments[e-1],c):a},c.innerTickSize=function(t){return arguments.length?(a=+t,c):a},c.outerTickSize=function(t){return arguments.length?(o=+t,c):o},c.tickPadding=function(t){return arguments.length?(s=+t,c):s},c.tickSubdivide=function(){return arguments.length&&c},c};var ys=\"bottom\",xs={top:1,right:1,bottom:1,left:1};function bs(t,e,r){t.attr(\"transform\",function(t){var n=e(t);return\"translate(\"+(isFinite(n)?n:r(t))+\",0)\"})}function _s(t,e,r){t.attr(\"transform\",function(t){var n=e(t);return\"translate(0,\"+(isFinite(n)?n:r(t))+\")\"})}t.svg.brush=function(){var e,r,n=j(f,\"brushstart\",\"brush\",\"brushend\"),i=null,a=null,s=[0,0],l=[0,0],u=!0,c=!0,h=Ms[0];function f(e){e.each(function(){var e=t.select(this).style(\"pointer-events\",\"all\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\").on(\"mousedown.brush\",v).on(\"touchstart.brush\",v),r=e.selectAll(\".background\").data([0]);r.enter().append(\"rect\").attr(\"class\",\"background\").style(\"visibility\",\"hidden\").style(\"cursor\",\"crosshair\"),e.selectAll(\".extent\").data([0]).enter().append(\"rect\").attr(\"class\",\"extent\").style(\"cursor\",\"move\");var n=e.selectAll(\".resize\").data(h,z);n.exit().remove(),n.enter().append(\"g\").attr(\"class\",function(t){return\"resize \"+t}).style(\"cursor\",function(t){return ws[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\"),n.style(\"display\",f.empty()?\"none\":null);var o,s=t.transition(e),l=t.transition(r);i&&(o=oo(i),l.attr(\"x\",o[0]).attr(\"width\",o[1]-o[0]),d(s)),a&&(o=oo(a),l.attr(\"y\",o[0]).attr(\"height\",o[1]-o[0]),g(s)),p(s)})}function p(t){t.selectAll(\".resize\").attr(\"transform\",function(t){return\"translate(\"+s[+/e$/.test(t)]+\",\"+l[+/^s/.test(t)]+\")\"})}function d(t){t.select(\".extent\").attr(\"x\",s[0]),t.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\",s[1]-s[0])}function g(t){t.select(\".extent\").attr(\"y\",l[0]),t.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",l[1]-l[0])}function v(){var h,v,m=this,y=t.select(t.event.target),x=n.of(m,arguments),b=t.select(m),_=y.datum(),w=!/^(n|s)$/.test(_)&&i,M=!/^(e|w)$/.test(_)&&a,A=y.classed(\"extent\"),k=xt(m),T=t.mouse(m),S=t.select(o(m)).on(\"keydown.brush\",function(){32==t.event.keyCode&&(A||(h=null,T[0]-=s[1],T[1]-=l[1],A=2),B())}).on(\"keyup.brush\",function(){32==t.event.keyCode&&2==A&&(T[0]+=s[1],T[1]+=l[1],A=0,B())});if(t.event.changedTouches?S.on(\"touchmove.brush\",L).on(\"touchend.brush\",P):S.on(\"mousemove.brush\",L).on(\"mouseup.brush\",P),b.interrupt().selectAll(\"*\").interrupt(),A)T[0]=s[0]-T[0],T[1]=l[0]-T[1];else if(_){var E=+/w$/.test(_),C=+/^n/.test(_);v=[s[1-E]-T[0],l[1-C]-T[1]],T[0]=s[E],T[1]=l[C]}else t.event.altKey&&(h=T.slice());function L(){var e=t.mouse(m),r=!1;v&&(e[0]+=v[0],e[1]+=v[1]),A||(t.event.altKey?(h||(h=[(s[0]+s[1])/2,(l[0]+l[1])/2]),T[0]=s[+(e[0]<h[0])],T[1]=l[+(e[1]<h[1])]):h=null),w&&z(e,i,0)&&(d(b),r=!0),M&&z(e,a,1)&&(g(b),r=!0),r&&(p(b),x({type:\"brush\",mode:A?\"move\":\"resize\"}))}function z(t,n,i){var a,o,f=oo(n),p=f[0],d=f[1],g=T[i],v=i?l:s,m=v[1]-v[0];if(A&&(p-=g,d-=m+g),a=(i?c:u)?Math.max(p,Math.min(d,t[i])):t[i],A?o=(a+=g)+m:(h&&(g=Math.max(p,Math.min(d,2*h[i]-a))),g<a?(o=a,a=g):o=g),v[0]!=a||v[1]!=o)return i?r=null:e=null,v[0]=a,v[1]=o,!0}function P(){L(),b.style(\"pointer-events\",\"all\").selectAll(\".resize\").style(\"display\",f.empty()?\"none\":null),t.select(\"body\").style(\"cursor\",null),S.on(\"mousemove.brush\",null).on(\"mouseup.brush\",null).on(\"touchmove.brush\",null).on(\"touchend.brush\",null).on(\"keydown.brush\",null).on(\"keyup.brush\",null),k(),x({type:\"brushend\"})}b.style(\"pointer-events\",\"none\").selectAll(\".resize\").style(\"display\",null),t.select(\"body\").style(\"cursor\",y.style(\"cursor\")),x({type:\"brushstart\"}),L()}return f.event=function(i){i.each(function(){var i=n.of(this,arguments),a={x:s,y:l,i:e,j:r},o=this.__chart__||a;this.__chart__=a,cs?t.select(this).transition().each(\"start.brush\",function(){e=o.i,r=o.j,s=o.x,l=o.y,i({type:\"brushstart\"})}).tween(\"brush:brush\",function(){var t=Wi(s,a.x),n=Wi(l,a.y);return e=r=null,function(e){s=a.x=t(e),l=a.y=n(e),i({type:\"brush\",mode:\"resize\"})}}).each(\"end.brush\",function(){e=a.i,r=a.j,i({type:\"brush\",mode:\"resize\"}),i({type:\"brushend\"})}):(i({type:\"brushstart\"}),i({type:\"brush\",mode:\"resize\"}),i({type:\"brushend\"}))})},f.x=function(t){return arguments.length?(h=Ms[!(i=t)<<1|!a],f):i},f.y=function(t){return arguments.length?(h=Ms[!i<<1|!(a=t)],f):a},f.clamp=function(t){return arguments.length?(i&&a?(u=!!t[0],c=!!t[1]):i?u=!!t:a&&(c=!!t),f):i&&a?[u,c]:i?u:a?c:null},f.extent=function(t){var n,o,u,c,h;return arguments.length?(i&&(n=t[0],o=t[1],a&&(n=n[0],o=o[0]),e=[n,o],i.invert&&(n=i(n),o=i(o)),o<n&&(h=n,n=o,o=h),n==s[0]&&o==s[1]||(s=[n,o])),a&&(u=t[0],c=t[1],i&&(u=u[1],c=c[1]),r=[u,c],a.invert&&(u=a(u),c=a(c)),c<u&&(h=u,u=c,c=h),u==l[0]&&c==l[1]||(l=[u,c])),f):(i&&(e?(n=e[0],o=e[1]):(n=s[0],o=s[1],i.invert&&(n=i.invert(n),o=i.invert(o)),o<n&&(h=n,n=o,o=h))),a&&(r?(u=r[0],c=r[1]):(u=l[0],c=l[1],a.invert&&(u=a.invert(u),c=a.invert(c)),c<u&&(h=u,u=c,c=h))),i&&a?[[n,u],[o,c]]:i?[n,o]:a&&[u,c])},f.clear=function(){return f.empty()||(s=[0,0],l=[0,0],e=r=null),f},f.empty=function(){return!!i&&s[0]==s[1]||!!a&&l[0]==l[1]},t.rebind(f,n,\"on\")};var ws={n:\"ns-resize\",e:\"ew-resize\",s:\"ns-resize\",w:\"ew-resize\",nw:\"nwse-resize\",ne:\"nesw-resize\",se:\"nwse-resize\",sw:\"nesw-resize\"},Ms=[[\"n\",\"e\",\"s\",\"w\",\"nw\",\"ne\",\"se\",\"sw\"],[\"e\",\"w\"],[\"n\",\"s\"],[]],As=Ie.format=sr.timeFormat,ks=As.utc,Ts=ks(\"%Y-%m-%dT%H:%M:%S.%LZ\");function Ss(t){return t.toISOString()}function Es(e,r,n){function i(t){return e(t)}function a(e,n){var i=(e[1]-e[0])/n,a=t.bisect(Ls,i);return a==Ls.length?[r.year,go(e.map(function(t){return t/31536e6}),n)[2]]:a?r[i/Ls[a-1]<Ls[a]/i?a-1:a]:[Is,go(e,n)[2]]}return i.invert=function(t){return Cs(e.invert(t))},i.domain=function(t){return arguments.length?(e.domain(t),i):e.domain().map(Cs)},i.nice=function(t,e){var r=i.domain(),n=ao(r),o=null==t?a(n,10):\"number\"==typeof t&&a(n,t);function s(r){return!isNaN(r)&&!t.range(r,Cs(+r+1),e).length}return o&&(t=o[0],e=o[1]),i.domain(lo(r,e>1?{floor:function(e){for(;s(e=t.floor(e));)e=Cs(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=Cs(+e+1);return e}}:t))},i.ticks=function(t,e){var r=ao(i.domain()),n=null==t?a(r,10):\"number\"==typeof t?a(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],Cs(+r[1]+1),e<1?1:e)},i.tickFormat=function(){return n},i.copy=function(){return Es(e.copy(),r,n)},fo(i,e)}function Cs(t){return new Date(t)}As.iso=Date.prototype.toISOString&&+new Date(\"2000-01-01T00:00:00.000Z\")?Ss:Ts,Ss.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Ss.toString=Ts.toString,Ie.second=Fe(function(t){return new De(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),Ie.seconds=Ie.second.range,Ie.seconds.utc=Ie.second.utc.range,Ie.minute=Fe(function(t){return new De(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),Ie.minutes=Ie.minute.range,Ie.minutes.utc=Ie.minute.utc.range,Ie.hour=Fe(function(t){var e=t.getTimezoneOffset()/60;return new De(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),Ie.hours=Ie.hour.range,Ie.hours.utc=Ie.hour.utc.range,Ie.month=Fe(function(t){return(t=Ie.day(t)).setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),Ie.months=Ie.month.range,Ie.months.utc=Ie.month.utc.range;var Ls=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],zs=[[Ie.second,1],[Ie.second,5],[Ie.second,15],[Ie.second,30],[Ie.minute,1],[Ie.minute,5],[Ie.minute,15],[Ie.minute,30],[Ie.hour,1],[Ie.hour,3],[Ie.hour,6],[Ie.hour,12],[Ie.day,1],[Ie.day,2],[Ie.week,1],[Ie.month,1],[Ie.month,3],[Ie.year,1]],Ps=As.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\",Wr]]),Is={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(Cs)},floor:z,ceil:z};zs.year=Ie.year,Ie.scale=function(){return Es(t.scale.linear(),zs,Ps)};var Ds=zs.map(function(t){return[t[0].utc,t[1]]}),Os=ks.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\",Wr]]);function Rs(t){return JSON.parse(t.responseText)}function Fs(t){var e=i.createRange();return e.selectNode(i.body),e.createContextualFragment(t.responseText)}Ds.year=Ie.year.utc,Ie.scale.utc=function(){return Es(t.scale.linear(),Ds,Os)},t.text=me(function(t){return t.responseText}),t.json=function(t,e){return ye(t,\"application/json\",Rs,e)},t.html=function(t,e){return ye(t,\"text/html\",Fs,e)},t.xml=me(function(t){return t.responseXML}),e.exports?e.exports=t:this.d3=t}(),e=e.exports;var r=function(t){var e=typeof t;if(\"string\"===e){var r=t;if(0===(t=+t)&&function(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}(r))return!1}else if(\"number\"!==e)return!1;return t-t<1},n={},i=Math.PI;n.deg2rad=function(t){return t/180*i},n.rad2deg=function(t){return t/i*180},n.wrap360=function(t){var e=t%360;return e<0?e+360:e},n.wrap180=function(t){return Math.abs(t)>180&&(t-=360*Math.round(t/360)),t};var a=t.BADNUM,o=/^['\"%,$#\\s']+|[, ]|['\"%,$#\\s']+$/g,s={exports:{}};!function(t){var e=/^\\s+/,r=/\\s+$/,n=0,i=t.round,a=t.min,o=t.max,l=t.random;function u(s,l){if(s=s||\"\",l=l||{},s instanceof u)return s;if(!(this instanceof u))return new u(s,l);var c=function(n){var i={r:0,g:0,b:0},s=1,l=null,u=null,c=null,h=!1,f=!1;\"string\"==typeof n&&(n=function(t){t=t.replace(e,\"\").replace(r,\"\").toLowerCase();var n,i=!1;if(S[t])t=S[t],i=!0;else if(\"transparent\"==t)return{r:0,g:0,b:0,a:0,format:\"name\"};if(n=j.rgb.exec(t))return{r:n[1],g:n[2],b:n[3]};if(n=j.rgba.exec(t))return{r:n[1],g:n[2],b:n[3],a:n[4]};if(n=j.hsl.exec(t))return{h:n[1],s:n[2],l:n[3]};if(n=j.hsla.exec(t))return{h:n[1],s:n[2],l:n[3],a:n[4]};if(n=j.hsv.exec(t))return{h:n[1],s:n[2],v:n[3]};if(n=j.hsva.exec(t))return{h:n[1],s:n[2],v:n[3],a:n[4]};if(n=j.hex8.exec(t))return{r:P(n[1]),g:P(n[2]),b:P(n[3]),a:R(n[4]),format:i?\"name\":\"hex8\"};if(n=j.hex6.exec(t))return{r:P(n[1]),g:P(n[2]),b:P(n[3]),format:i?\"name\":\"hex\"};if(n=j.hex4.exec(t))return{r:P(n[1]+\"\"+n[1]),g:P(n[2]+\"\"+n[2]),b:P(n[3]+\"\"+n[3]),a:R(n[4]+\"\"+n[4]),format:i?\"name\":\"hex8\"};if(n=j.hex3.exec(t))return{r:P(n[1]+\"\"+n[1]),g:P(n[2]+\"\"+n[2]),b:P(n[3]+\"\"+n[3]),format:i?\"name\":\"hex\"};return!1}(n));\"object\"==typeof n&&(V(n.r)&&V(n.g)&&V(n.b)?(p=n.r,d=n.g,g=n.b,i={r:255*L(p,255),g:255*L(d,255),b:255*L(g,255)},h=!0,f=\"%\"===String(n.r).substr(-1)?\"prgb\":\"rgb\"):V(n.h)&&V(n.s)&&V(n.v)?(l=D(n.s),u=D(n.v),i=function(e,r,n){e=6*L(e,360),r=L(r,100),n=L(n,100);var i=t.floor(e),a=e-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]}}(n.h,l,u),h=!0,f=\"hsv\"):V(n.h)&&V(n.s)&&V(n.l)&&(l=D(n.s),c=D(n.l),i=function(t,e,r){var n,i,a;function o(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}if(t=L(t,360),e=L(e,100),r=L(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(n.h,l,c),h=!0,f=\"hsl\"),n.hasOwnProperty(\"a\")&&(s=n.a));var p,d,g;return s=C(s),{ok:h,format:n.format||f,r:a(255,o(i.r,0)),g:a(255,o(i.g,0)),b:a(255,o(i.b,0)),a:s}}(s);this._originalInput=s,this._r=c.r,this._g=c.g,this._b=c.b,this._a=c.a,this._roundA=i(100*this._a)/100,this._format=l.format||c.format,this._gradientType=l.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=c.ok,this._tc_id=n++}function c(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,s=o(t,e,r),l=a(t,e,r),u=(s+l)/2;if(s==l)n=i=0;else{var c=s-l;switch(i=u>.5?c/(2-s-l):c/(s+l),s){case t:n=(e-r)/c+(e<r?6:0);break;case e:n=(r-t)/c+2;break;case r:n=(t-e)/c+4}n/=6}return{h:n,s:i,l:u}}function h(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,s=o(t,e,r),l=a(t,e,r),u=s,c=s-l;if(i=0===s?0:c/s,s==l)n=0;else{switch(s){case t:n=(e-r)/c+(e<r?6:0);break;case e:n=(r-t)/c+2;break;case r:n=(t-e)/c+4}n/=6}return{h:n,s:i,v:u}}function f(t,e,r,n){var a=[I(i(t).toString(16)),I(i(e).toString(16)),I(i(r).toString(16))];return n&&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[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0):a.join(\"\")}function p(t,e,r,n){return[I(O(n)),I(i(t).toString(16)),I(i(e).toString(16)),I(i(r).toString(16))].join(\"\")}function d(t,e){e=0===e?0:e||10;var r=u(t).toHsl();return r.s-=e/100,r.s=z(r.s),u(r)}function g(t,e){e=0===e?0:e||10;var r=u(t).toHsl();return r.s+=e/100,r.s=z(r.s),u(r)}function v(t){return u(t).desaturate(100)}function m(t,e){e=0===e?0:e||10;var r=u(t).toHsl();return r.l+=e/100,r.l=z(r.l),u(r)}function y(t,e){e=0===e?0:e||10;var r=u(t).toRgb();return r.r=o(0,a(255,r.r-i(-e/100*255))),r.g=o(0,a(255,r.g-i(-e/100*255))),r.b=o(0,a(255,r.b-i(-e/100*255))),u(r)}function x(t,e){e=0===e?0:e||10;var r=u(t).toHsl();return r.l-=e/100,r.l=z(r.l),u(r)}function b(t,e){var r=u(t).toHsl(),n=(r.h+e)%360;return r.h=n<0?360+n:n,u(r)}function _(t){var e=u(t).toHsl();return e.h=(e.h+180)%360,u(e)}function w(t){var e=u(t).toHsl(),r=e.h;return[u(t),u({h:(r+120)%360,s:e.s,l:e.l}),u({h:(r+240)%360,s:e.s,l:e.l})]}function M(t){var e=u(t).toHsl(),r=e.h;return[u(t),u({h:(r+90)%360,s:e.s,l:e.l}),u({h:(r+180)%360,s:e.s,l:e.l}),u({h:(r+270)%360,s:e.s,l:e.l})]}function A(t){var e=u(t).toHsl(),r=e.h;return[u(t),u({h:(r+72)%360,s:e.s,l:e.l}),u({h:(r+216)%360,s:e.s,l:e.l})]}function k(t,e,r){e=e||6,r=r||30;var n=u(t).toHsl(),i=360/r,a=[u(t)];for(n.h=(n.h-(i*e>>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(u(n));return a}function T(t,e){e=e||6;for(var r=u(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(u({h:n,s:i,v:a})),a=(a+s)%1;return o}u.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 e,r,n,i=this.toRgb();return e=i.r/255,r=i.g/255,n=i.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=C(t),this._roundA=i(100*this._a)/100,this},toHsv:function(){var t=h(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=h(this._r,this._g,this._b),e=i(360*t.h),r=i(100*t.s),n=i(100*t.v);return 1==this._a?\"hsv(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsva(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHsl:function(){var t=c(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=c(this._r,this._g,this._b),e=i(360*t.h),r=i(100*t.s),n=i(100*t.l);return 1==this._a?\"hsl(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsla(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHex:function(t){return f(this._r,this._g,this._b,t)},toHexString:function(t){return\"#\"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,a){var o=[I(i(t).toString(16)),I(i(e).toString(16)),I(i(r).toString(16)),I(O(n))];if(a&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join(\"\")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return\"#\"+this.toHex8(t)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\"rgb(\"+i(this._r)+\", \"+i(this._g)+\", \"+i(this._b)+\")\":\"rgba(\"+i(this._r)+\", \"+i(this._g)+\", \"+i(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:i(100*L(this._r,255))+\"%\",g:i(100*L(this._g,255))+\"%\",b:i(100*L(this._b,255))+\"%\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\"rgb(\"+i(100*L(this._r,255))+\"%, \"+i(100*L(this._g,255))+\"%, \"+i(100*L(this._b,255))+\"%)\":\"rgba(\"+i(100*L(this._r,255))+\"%, \"+i(100*L(this._g,255))+\"%, \"+i(100*L(this._b,255))+\"%, \"+this._roundA+\")\"},toName:function(){return 0===this._a?\"transparent\":!(this._a<1)&&(E[f(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e=\"#\"+p(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?\"GradientType = 1, \":\"\";if(t){var i=u(t);r=\"#\"+p(i._r,i._g,i._b,i._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+n+\"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 u(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(){return this._applyModification(y,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(v,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(k,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(T,arguments)},splitcomplement:function(){return this._applyCombination(A,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},u.fromRatio=function(t,e){if(\"object\"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=\"a\"===n?t[n]:D(t[n]));t=r}return u(t,e)},u.equals=function(t,e){return!(!t||!e)&&u(t).toRgbString()==u(e).toRgbString()},u.random=function(){return u.fromRatio({r:l(),g:l(),b:l()})},u.mix=function(t,e,r){r=0===r?0:r||50;var n=u(t).toRgb(),i=u(e).toRgb(),a=r/100;return u({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},u.readability=function(e,r){var n=u(e),i=u(r);return(t.max(n.getLuminance(),i.getLuminance())+.05)/(t.min(n.getLuminance(),i.getLuminance())+.05)},u.isReadable=function(t,e,r){var n,i,a=u.readability(t,e);switch(i=!1,(n=function(t){var e,r;e=((t=t||{level:\"AA\",size:\"small\"}).level||\"AA\").toUpperCase(),r=(t.size||\"small\").toLowerCase(),\"AA\"!==e&&\"AAA\"!==e&&(e=\"AA\");\"small\"!==r&&\"large\"!==r&&(r=\"small\");return{level:e,size:r}}(r)).level+n.size){case\"AAsmall\":case\"AAAlarge\":i=a>=4.5;break;case\"AAlarge\":i=a>=3;break;case\"AAAsmall\":i=a>=7}return i},u.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var c=0;c<e.length;c++)(n=u.readability(t,e[c]))>l&&(l=n,s=u(e[c]));return u.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,u.mostReadable(t,[\"#fff\",\"#000\"],r))};var S=u.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\"},E=u.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function C(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function L(e,r){(function(t){return\"string\"==typeof t&&-1!=t.indexOf(\".\")&&1===parseFloat(t)})(e)&&(e=\"100%\");var n=function(t){return\"string\"==typeof t&&-1!=t.indexOf(\"%\")}(e);return e=a(r,o(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function z(t){return a(1,o(0,t))}function P(t){return parseInt(t,16)}function I(t){return 1==t.length?\"0\"+t:\"\"+t}function D(t){return t<=1&&(t=100*t+\"%\"),t}function O(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return P(t)/255}var F,B,N,j=(B=\"[\\\\s|\\\\(]+(\"+(F=\"(?:[-\\\\+]?\\\\d*\\\\.\\\\d+%?)|(?:[-\\\\+]?\\\\d+%?)\")+\")[,|\\\\s]+(\"+F+\")[,|\\\\s]+(\"+F+\")\\\\s*\\\\)?\",N=\"[\\\\s|\\\\(]+(\"+F+\")[,|\\\\s]+(\"+F+\")[,|\\\\s]+(\"+F+\")[,|\\\\s]+(\"+F+\")\\\\s*\\\\)?\",{CSS_UNIT:new RegExp(F),rgb:new RegExp(\"rgb\"+B),rgba:new RegExp(\"rgba\"+N),hsl:new RegExp(\"hsl\"+B),hsla:new RegExp(\"hsla\"+N),hsv:new RegExp(\"hsv\"+B),hsva:new RegExp(\"hsva\"+N),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})$/});function V(t){return!!j.CSS_UNIT.exec(t)}s.exports?s.exports=u:window.tinycolor=u}(Math),s=s.exports;var l={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\"]],Cividis:[[0,\"rgb(0,32,76)\"],[.058824,\"rgb(0,42,102)\"],[.117647,\"rgb(0,52,110)\"],[.176471,\"rgb(39,63,108)\"],[.235294,\"rgb(60,74,107)\"],[.294118,\"rgb(76,85,107)\"],[.352941,\"rgb(91,95,109)\"],[.411765,\"rgb(104,106,112)\"],[.470588,\"rgb(117,117,117)\"],[.529412,\"rgb(131,129,120)\"],[.588235,\"rgb(146,140,120)\"],[.647059,\"rgb(161,152,118)\"],[.705882,\"rgb(176,165,114)\"],[.764706,\"rgb(192,177,109)\"],[.823529,\"rgb(209,191,102)\"],[.882353,\"rgb(225,204,92)\"],[.941176,\"rgb(243,219,79)\"],[1,\"rgb(255,233,69)\"]]},u=l.RdBu,c=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 n=t[r];if(2!==n.length||+n[0]<e||!s(n[1]).isValid())return!1;e=+n[0]}return!0},h=function(t,e){if(e||(e=u),!t)return e;function r(){try{t=l[t]||JSON.parse(t)}catch(r){t=e}}return\"string\"==typeof t&&(r(),\"string\"==typeof t&&r()),c(t)?t:e},f={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DBLCLICKDELAY:300,DESELECTDIM:.2},p={},d=\"undefined\"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}},g=\"undefined\"==typeof DataView?function(){}:DataView;p.isTypedArray=function(t){return d.isView(t)&&!(t instanceof g)},p.isArrayOrTypedArray=function(t){return Array.isArray(t)||p.isTypedArray(t)};var v=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},m={},y=Array.isArray;function x(t,e,r,n){var i,a,o,s,l,u,c=t[0],h=t.length;if(2===h&&y(c)&&y(t[1])&&0===c.length){if(function(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}(t[1],c))return c;c.splice(0,c.length)}for(var f=1;f<h;f++)for(a in i=t[f])o=c[a],s=i[a],n&&y(s)?c[a]=s:e&&s&&(v(s)||(l=y(s)))?(l?(l=!1,u=o&&y(o)?o:[]):u=o&&v(o)?o:{},c[a]=x([u,s],e,r,n)):(void 0!==s||r)&&(c[a]=s);return c}m.extendFlat=function(){return x(arguments,!1,!1,!1)},m.extendDeep=function(){return x(arguments,!0,!1,!1)},m.extendDeepAll=function(){return x(arguments,!0,!0,!1)},m.extendDeepNoArrays=function(){return x(arguments,!0,!1,!0)};var b={staticPlot:!1,editable:!1,edits:{annotationPosition:!1,annotationTail:!1,annotationText:!1,axisTitleText:!1,colorbarPosition:!1,colorbarTitleText:!1,legendPosition:!1,legendText:!1,shapePosition:!1,titleText:!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:\"transparent\",topojsonURL:\"https://cdn.plot.ly/\",mapboxAccessToken:null,logging:1,globalTransforms:[],locale:\"en-US\",locales:{}},_={},w=_={};function M(t,e){if(t.apply)t.apply(t,e);else for(var r=0;r<e.length;r++)t(e[r])}w.log=function(){if(b.logging>1){for(var t=[\"LOG:\"],e=0;e<arguments.length;e++)t.push(arguments[e]);M(console.trace||console.log,t)}},w.warn=function(){if(b.logging>0){for(var t=[\"WARN:\"],e=0;e<arguments.length;e++)t.push(arguments[e]);M(console.trace||console.log,t)}},w.error=function(){if(b.logging>0){for(var t=[\"ERROR:\"],e=0;e<arguments.length;e++)t.push(arguments[e]);M(console.error,t)}};var A=function(){},k=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&&0!==e||-1!==t.indexOf(e)||t.push(e);return t},T=function(t){var e=t.editType,r=t.colorEditType;void 0===r&&(r=e);var n={family:{valType:\"string\",noBlank:!0,strict:!0,editType:e},size:{valType:\"number\",min:1,editType:e},color:{valType:\"color\",editType:r},editType:e};return t.arrayOk&&(n.family.arrayOk=!0,n.size.arrayOk=!0,n.color.arrayOk=!0),n},S={hoverlabel:{bgcolor:{valType:\"color\",arrayOk:!0,editType:\"none\"},bordercolor:{valType:\"color\",arrayOk:!0,editType:\"none\"},font:T({arrayOk:!0,editType:\"none\"}),namelength:{valType:\"integer\",min:-1,arrayOk:!0,editType:\"none\"},editType:\"calc\"}},E={type:{valType:\"enumerated\",values:[],dflt:\"scatter\",editType:\"calc+clearAxisTypes\"},visible:{valType:\"enumerated\",values:[!0,!1,\"legendonly\"],dflt:!0,editType:\"calc\"},showlegend:{valType:\"boolean\",dflt:!0,editType:\"style\"},legendgroup:{valType:\"string\",dflt:\"\",editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"style\"},name:{valType:\"string\",editType:\"style\"},uid:{valType:\"string\",dflt:\"\",editType:\"calc\"},ids:{valType:\"data_array\",editType:\"calc\"},customdata:{valType:\"data_array\",editType:\"calc\"},selectedpoints:{valType:\"any\",editType:\"calc\"},hoverinfo:{valType:\"flaglist\",flags:[\"x\",\"y\",\"z\",\"text\",\"name\"],extras:[\"all\",\"none\",\"skip\"],arrayOk:!0,dflt:\"all\",editType:\"none\"},hoverlabel:S.hoverlabel,stream:{token:{valType:\"string\",noBlank:!0,strict:!0,editType:\"calc\"},maxpoints:{valType:\"number\",min:0,max:1e4,dflt:500,editType:\"calc\"},editType:\"calc\"}},C={defaults:[\"#1f77b4\",\"#ff7f0e\",\"#2ca02c\",\"#d62728\",\"#9467bd\",\"#8c564b\",\"#e377c2\",\"#7f7f7f\",\"#bcbd22\",\"#17becf\"],defaultLine:\"#444\",lightLine:\"#eee\",background:\"#fff\",borderLine:\"#BEC8D9\",lightFraction:1e3/11},L=T({editType:\"calc\"});L.family.dflt='\"Open Sans\", verdana, arial, sans-serif',L.size.dflt=12,L.color.dflt=C.defaultLine;var z={font:L,title:{valType:\"string\",editType:\"layoutstyle\"},titlefont:T({editType:\"layoutstyle\"}),autosize:{valType:\"boolean\",dflt:!1,editType:\"none\"},width:{valType:\"number\",min:10,dflt:700,editType:\"plot\"},height:{valType:\"number\",min:10,dflt:450,editType:\"plot\"},margin:{l:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},r:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},t:{valType:\"number\",min:0,dflt:100,editType:\"plot\"},b:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},autoexpand:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},paper_bgcolor:{valType:\"color\",dflt:C.background,editType:\"plot\"},plot_bgcolor:{valType:\"color\",dflt:C.background,editType:\"layoutstyle\"},separators:{valType:\"string\",editType:\"plot\"},hidesources:{valType:\"boolean\",dflt:!1,editType:\"plot\"},showlegend:{valType:\"boolean\",editType:\"legend\"},colorway:{valType:\"colorlist\",dflt:C.defaults,editType:\"calc\"},datarevision:{valType:\"any\",editType:\"calc\"}},P={},I=m.extendFlat,D=m.extendDeepAll;function O(t){var e=t.name,r=t.categories,n=t.meta;if(P.modules[e])_.log(\"Type \"+e+\" already registered\");else{P.subplotsRegistry[t.basePlotModule.name]||function(t){var e=t.name;if(P.subplotsRegistry[e])return void _.log(\"Plot type \"+e+\" already registered.\");for(var r in N(t),P.subplotsRegistry[e]=t,P.componentsRegistry)U(r,t.name)}(t.basePlotModule);for(var i={},a=0;a<r.length;a++)i[r[a]]=!0,P.allCategories[r[a]]=!0;for(var o in P.modules[e]={_module:t,categories:i},n&&Object.keys(n).length&&(P.modules[e].meta=n),P.allTypes.push(e),P.componentsRegistry)j(o,e);t.layoutAttributes&&I(P.traceLayoutAttributes,t.layoutAttributes)}}function R(t){if(\"string\"!=typeof t.name)throw new Error(\"Component module *name* must be a string.\");var e=t.name;for(var r in P.componentsRegistry[e]=t,t.layoutAttributes&&(t.layoutAttributes._isLinkedToArray&&k(P.layoutArrayContainers,e),N(t)),P.modules)j(e,r);for(var n in P.subplotsRegistry)U(e,n);for(var i in P.transformsRegistry)V(e,i);t.schema&&t.schema.layout&&D(z,t.schema.layout)}function F(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.\");for(var i in r&&n&&_.log([e+\" has both a *transform* and *calcTransform* methods.\",\"Please note that all *transform* methods are executed\",\"before all *calcTransform* methods.\"].join(\" \")),v(t.attributes)||_.log(e+\" registered without an *attributes* object.\"),\"function\"!=typeof t.supplyDefaults&&_.log(e+\" registered without a *supplyDefaults* method.\"),P.transformsRegistry[t.name]=t,P.componentsRegistry)V(i,t.name)}function B(t){var e=t.name,r=e.split(\"-\")[0],n=t.dictionary,i=t.format,a=n&&Object.keys(n).length,o=i&&Object.keys(i).length,s=P.localeRegistry,l=s[e];if(l||(s[e]=l={}),r!==e){var u=s[r];u||(s[r]=u={}),a&&u.dictionary===l.dictionary&&(u.dictionary=n),o&&u.format===l.format&&(u.format=i)}a&&(l.dictionary=n),o&&(l.format=i)}function N(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var r=0;r<e.length;r++)k(P.layoutArrayRegexes,e[r])}}function j(t,e){var r=P.componentsRegistry[t].schema;if(r&&r.traces){var n=r.traces[e];n&&D(P.modules[e]._module.attributes,n)}}function V(t,e){var r=P.componentsRegistry[t].schema;if(r&&r.transforms){var n=r.transforms[e];n&&D(P.transformsRegistry[e].attributes,n)}}function U(t,e){var r=P.componentsRegistry[t].schema;if(r&&r.subplots){var n=P.subplotsRegistry[e],i=n.layoutAttributes,a=\"subplot\"===n.attr?n.name:n.attr;Array.isArray(a)&&(a=a[0]);var o=r.subplots[a];i&&o&&D(i,o)}}function q(t){return\"object\"==typeof t&&(t=t.type),t}P.modules={},P.allCategories={},P.allTypes=[],P.subplotsRegistry={},P.transformsRegistry={},P.componentsRegistry={},P.layoutArrayContainers=[],P.layoutArrayRegexes=[],P.traceLayoutAttributes={},P.localeRegistry={},P.apiMethodRegistry={},P.register=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\":O(r);break;case\"transform\":F(r);break;case\"component\":R(r);break;case\"locale\":B(r);break;case\"apiMethod\":var n=r.name;P.apiMethodRegistry[n]=r.fn;break;default:throw new Error(\"Invalid module was attempted to be registered!\")}}},P.getModule=function(t){var e=P.modules[q(t)];return!!e&&e._module},P.traceIs=function(t,e){if(\"various\"===(t=q(t)))return!1;var r=P.modules[t];return r||(t&&\"area\"!==t&&_.log(\"Unrecognized trace type \"+t+\".\"),r=P.modules[E.type.dflt]),!!r.categories[e]},P.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],i=0;i<n.length;i++)n[i].type===e&&r.push(i);return r},P.hasTransform=function(t,e){for(var r=t.transforms||[],n=0;n<r.length;n++)if(r[n].type===e)return!0;return!1},P.getComponentMethod=function(t,e){var r=P.componentsRegistry[t];return r&&r[e]||A},P.call=function(){var t=arguments[0],e=[].slice.call(arguments,1);return P.apiMethodRegistry[t].apply(null,e)};var H=function(t){for(var e,r,n=P.layoutArrayContainers,i=P.layoutArrayRegexes,a=t.split(\"[\")[0],o=0;o<i.length;o++)if((r=t.match(i[o]))&&0===r.index){e=r[0];break}if(e||(e=n[n.indexOf(a)]),!e)return!1;var s=t.substr(e.length);return s?!!(r=s.match(/^\\[(0|[1-9][0-9]*)\\](\\.(.+))?$/))&&{array:e,index:Number(r[1]),property:r[3]||\"\"}:{array:e,index:\"\",property:\"\"}},G=p.isArrayOrTypedArray,W=function(t,e){if(r(e))e=String(e);else if(\"string\"!=typeof e||\"[-1]\"===e.substr(e.length-4))throw\"bad property string\";for(var n,i,a,o=0,s=e.split(\".\");o<s.length;){if(n=String(s[o]).match(/^([^\\[\\]]*)((\\[\\-?[0-9]*\\])+)$/)){if(n[1])s[o]=n[1];else{if(0!==o)throw\"bad property string\";s.splice(0,1)}for(i=n[2].substr(1,n[2].length-2).split(\"][\"),a=0;a<i.length;a++)o++,s.splice(o,0,Number(i[a]))}o++}return\"object\"!=typeof t?function(t,e,r){return{set:function(){throw\"bad container\"},get:function(){},astr:e,parts:r,obj:t}}(t,e,s):{set:J(t,s,e),get:function t(e,r){return function(){var n,i,a,o,s,l=e;for(o=0;o<r.length-1;o++){if(-1===(n=r[o])){for(i=!0,a=[],s=0;s<l.length;s++)a[s]=t(l[s],r.slice(o+1))(),a[s]!==a[0]&&(i=!1);return i?a[0]:a}if(\"number\"==typeof n&&!G(l))return;if(\"object\"!=typeof(l=l[n])||null===l)return}if(\"object\"==typeof l&&null!==l&&null!==(a=l[r[o]]))return a}}(t,s),astr:e,parts:s,obj:t}};var Y=/(^|\\.)((domain|range)(\\.[xy])?|args|parallels)$/,X=/(^|\\.)args\\[/;function Z(t,e){if(void 0!==(r=t)&&null!==r&&(\"object\"!=typeof r||(G(r)?r.length:Object.keys(r).length))||v(t)&&\"]\"===e.charAt(e.length-1)||e.match(X)&&void 0!==t)return!1;var r;if(!G(t))return!0;if(e.match(Y))return!0;var n=H(e);return n&&\"\"===n.index}function J(t,e,r){return function(n){var i,a,o=t,s=\"\",l=[[t,s]],u=Z(n,r);for(a=0;a<e.length-1;a++){if(\"number\"==typeof(i=e[a])&&!G(o))throw\"array index but container is not an array\";if(-1===i){if(u=!Q(o,e.slice(a+1),n,r))break;return}if(!$(o,i,e[a+1],u))break;if(\"object\"!=typeof(o=o[i])||null===o)throw\"container is not an object\";s=K(s,i),l.push([o,s])}u?(a===e.length-1&&delete o[e[a]],function(t){var e,r,n,i,a,o;for(e=t.length-1;e>=0;e--){if(n=t[e][0],i=t[e][1],o=!1,G(n))for(r=n.length-1;r>=0;r--)Z(n[r],K(i,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--)Z(n[a[r]],K(i,a[r]))?delete n[a[r]]:o=!0;if(o)return}}(l)):o[e[a]]=n}}function K(t,e){var n=e;return r(e)?n=\"[\"+e+\"]\":t&&(n=\".\"+e),t+n}function Q(t,e,r,n){var i,a=G(r),o=!0,s=r,l=n.replace(\"-1\",0),u=!a&&Z(r,l),c=e[0];for(i=0;i<t.length;i++)l=n.replace(\"-1\",i),a&&(u=Z(s=r[i%r.length],l)),u&&(o=!1),$(t,i,c,u)&&J(t[i],e,n.replace(\"-1\",i))(s);return o}function $(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]=\"number\"==typeof r?[]:{}}return!0}var tt={counter:function(t,e,r){var n=(e||\"\")+(r?\"\":\"$\");return\"xy\"===t?new RegExp(\"^x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?\"+n):new RegExp(\"^\"+t+\"([2-9]|[1-9][0-9]+)?\"+n)}},et={},rt=(Object.keys(l),tt.counter),nt=f.DESELECTDIM,it=n.wrap180,at=p.isArrayOrTypedArray;et.valObjectMeta={data_array:{coerceFunction:function(t,e,r){at(t)?e.set(t):void 0!==r&&e.set(r)}},enumerated:{coerceFunction:function(t,e,r,n){n.coerceNumber&&(t=+t),-1===n.values.indexOf(t)?e.set(r):e.set(t)},validateFunction:function(t,e){e.coerceNumber&&(t=+t);for(var r=e.values,n=0;n<r.length;n++){var i=String(r[n]);if(\"/\"===i.charAt(0)&&\"/\"===i.charAt(i.length-1)){if(new RegExp(i.substr(1,i.length-2)).test(t))return!0}else if(t===r[n])return!0}return!1}},boolean:{coerceFunction:function(t,e,r){!0===t||!1===t?e.set(t):e.set(r)}},number:{coerceFunction:function(t,e,n,i){!r(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(n):e.set(+t)}},integer:{coerceFunction:function(t,e,n,i){t%1||!r(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(n):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if(\"string\"!=typeof t){var i=\"number\"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){s(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every(function(t){return s(t).isValid()})?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(h(t,r))}},angle:{coerceFunction:function(t,e,n){\"auto\"===t?e.set(\"auto\"):r(t)?e.set(it(+t)):e.set(n)}},subplotid:{coerceFunction:function(t,e,r){\"string\"==typeof t&&rt(r).test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||\"string\"==typeof t&&!!rt(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(\"string\"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var i=t.split(\"+\"),a=0;a<i.length;){var o=i[a];-1===n.flags.indexOf(o)||i.indexOf(o)<a?i.splice(a,1):a++}i.length?e.set(i.join(\"+\")):e.set(r)}else e.set(t);else e.set(r)}},any:{coerceFunction:function(t,e,r){void 0===t?e.set(r):e.set(t)}},info_array:{coerceFunction:function(t,e,r,n){function i(t,e,r){var n,i={set:function(t){n=t}};return void 0===r&&(r=e.dflt),et.valObjectMeta[e.valType].coerceFunction(t,i,r,e),n}var a=2===n.dimensions;if(Array.isArray(t)){var o,s,l,u,c=n.items,h=[],f=Array.isArray(c),p=f?c.length:t.length;if(r=Array.isArray(r)?r:[],a)for(o=0;o<p;o++){h[o]=[];var d=Array.isArray(t[o])?t[o]:[];for(l=f?c[o].length:d.length,s=0;s<l;s++)void 0!==(u=i(d[s],f?c[o][s]:c,(r[o]||[])[s]))&&(h[o][s]=u)}else for(o=0;o<p;o++)void 0!==(u=i(t[o],f?c[o]:c,r[o]))&&(h[o]=u);e.set(h)}else e.set(r)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var r=e.items,n=Array.isArray(r),i=2===e.dimensions;if(!e.freeLength&&t.length!==r.length)return!1;for(var a=0;a<t.length;a++)if(i){if(!Array.isArray(t[a])||!e.freeLength&&t[a].length!==r[a].length)return!1;for(var o=0;o<t[a].length;o++)if(!et.validate(t[a][o],n?r[a][o]:r))return!1}else if(!et.validate(t[a],n?r[a]:r))return!1;return!0}}},et.coerce=function(t,e,r,n,i){var a=W(r,n).get(),o=W(t,n),s=W(e,n),l=o.get();return void 0===i&&(i=a.dflt),a.arrayOk&&at(l)?(s.set(l),l):(et.valObjectMeta[a.valType].coerceFunction(l,s,i,a),s.get())},et.coerce2=function(t,e,r,n,i){var a=W(t,n),o=et.coerce(t,e,r,n,i),s=a.get();return void 0!==s&&null!==s&&o},et.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},et.coerceHoverinfo=function(t,e,r){var n,i=e._module.attributes,a=i.hoverinfo?{hoverinfo:i.hoverinfo}:E,o=a.hoverinfo;if(1===r._dataLength){var s=\"all\"===o.dflt?o.flags.slice():o.dflt.split(\"+\");s.splice(s.indexOf(\"name\"),1),n=s.join(\"+\")}return et.coerce(t,e,a,\"hoverinfo\",n)},et.coerceSelectionMarkerOpacity=function(t,e){if(t.marker){var r,n,i=t.marker.opacity;if(void 0!==i)at(i)||t.selected||t.unselected||(r=i,n=nt*i),e(\"selected.marker.opacity\",r),e(\"unselected.marker.opacity\",n)}},et.validate=function(t,e){var r=et.valObjectMeta[e.valType];if(e.arrayOk&&at(t))return!0;if(r.validateFunction)return r.validateFunction(t,e);var n={},i=n,a={set:function(t){i=t}};return r.coerceFunction(t,a,n,e),i!==n};var ot,st,lt=function(t,e){var r=t%e;return r<0?r+e:r},ut={},ct=t.BADNUM,ht=t.ONEDAY,ft=t.ONEHOUR,pt=t.ONEMIN,dt=t.ONESEC,gt=t.EPOCHJD,vt=e.time.format.utc,mt=/^\\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,yt=/^\\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,xt=(new Date).getFullYear()-70;function bt(t){return t&&P.componentsRegistry.calendars&&\"string\"==typeof t&&\"gregorian\"!==t}function _t(t,e){return String(t+Math.pow(10,e)).substr(1)}ut.dateTick0=function(t,e){return bt(t)?e?P.getComponentMethod(\"calendars\",\"CANONICAL_SUNDAY\")[t]:P.getComponentMethod(\"calendars\",\"CANONICAL_TICK\")[t]:e?\"2000-01-02\":\"2000-01-01\"},ut.dfltRange=function(t){return bt(t)?P.getComponentMethod(\"calendars\",\"DFLTRANGE\")[t]:[\"2000-01-01\",\"2001-01-01\"]},ut.isJSDate=function(t){return\"object\"==typeof t&&null!==t&&\"function\"==typeof t.getTime},ut.dateTime2ms=function(t,e){if(ut.isJSDate(t))return(t=Number(t)-t.getTimezoneOffset()*pt)>=ot&&t<=st?t:ct;if(\"string\"!=typeof t&&\"number\"!=typeof t)return ct;t=String(t);var r=bt(e),n=t.charAt(0);!r||\"G\"!==n&&\"g\"!==n||(t=t.substr(1),e=\"\");var i=r&&\"chinese\"===e.substr(0,7),a=t.match(i?yt:mt);if(!a)return ct;var o=a[1],s=a[3]||\"1\",l=Number(a[5]||1),u=Number(a[7]||0),c=Number(a[9]||0),h=Number(a[11]||0);if(r){if(2===o.length)return ct;var f;o=Number(o);try{var p=P.getComponentMethod(\"calendars\",\"getCal\")(e);if(i){var d=\"i\"===s.charAt(s.length-1);s=parseInt(s,10),f=p.newDate(o,p.toMonthIndex(o,s,d),l)}else f=p.newDate(o,Number(s),l)}catch(t){return ct}return f?(f.toJD()-gt)*ht+u*ft+c*pt+h*dt:ct}o=2===o.length?(Number(o)+2e3-xt)%100+xt:Number(o),s-=1;var g=new Date(Date.UTC(2e3,s,l,u,c));return g.setUTCFullYear(o),g.getUTCMonth()!==s?ct:g.getUTCDate()!==l?ct:g.getTime()+h*dt},ot=ut.MIN_MS=ut.dateTime2ms(\"-9999\"),st=ut.MAX_MS=ut.dateTime2ms(\"9999-12-31 23:59:59.9999\"),ut.isDateTime=function(t,e){return ut.dateTime2ms(t,e)!==ct};var wt=90*ht,Mt=3*ft,At=5*pt;function kt(t,e,r,n,i){if((e||r||n||i)&&(t+=\" \"+_t(e,2)+\":\"+_t(r,2),(n||i)&&(t+=\":\"+_t(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+=\".\"+_t(i,a)}return t}ut.ms2DateTime=function(t,e,r){if(\"number\"!=typeof t||!(t>=ot&&t<=st))return ct;e||(e=0);var n,i,a,o,s,l,u=Math.floor(10*lt(t+.05,1)),c=Math.round(t-u/10);if(bt(r)){var h=Math.floor(c/ht)+gt,f=Math.floor(lt(t,ht));try{n=P.getComponentMethod(\"calendars\",\"getCal\")(r).fromJD(h).formatDate(\"yyyy-mm-dd\")}catch(t){n=vt(\"G%Y-%m-%d\")(new Date(c))}if(\"-\"===n.charAt(0))for(;n.length<11;)n=\"-0\"+n.substr(1);else for(;n.length<10;)n=\"0\"+n;i=e<wt?Math.floor(f/ft):0,a=e<wt?Math.floor(f%ft/pt):0,o=e<Mt?Math.floor(f%pt/dt):0,s=e<At?f%dt*10+u:0}else l=new Date(c),n=vt(\"%Y-%m-%d\")(l),i=e<wt?l.getUTCHours():0,a=e<wt?l.getUTCMinutes():0,o=e<Mt?l.getUTCSeconds():0,s=e<At?10*l.getUTCMilliseconds()+u:0;return kt(n,i,a,o,s)},ut.ms2DateTimeLocal=function(t){if(!(t>=ot+ht&&t<=st-ht))return ct;var r=Math.floor(10*lt(t+.05,1)),n=new Date(Math.round(t-r/10));return kt(e.time.format(\"%Y-%m-%d\")(n),n.getHours(),n.getMinutes(),n.getSeconds(),10*n.getUTCMilliseconds()+r)},ut.cleanDate=function(t,e,r){if(ut.isJSDate(t)||\"number\"==typeof t){if(bt(r))return _.error(\"JS Dates and milliseconds are incompatible with world calendars\",t),e;if(!(t=ut.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!ut.isDateTime(t,r))return _.error(\"unrecognized date\",t),e;return t};var Tt=/%\\d?f/g;function St(t,e,r,n){t=t.replace(Tt,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(bt(n))try{t=P.getComponentMethod(\"calendars\",\"worldCalFmt\")(t,e,n)}catch(t){return\"Invalid\"}return r(t)(i)}var Et=[59,59.9,59.99,59.999,59.9999];ut.formatDate=function(t,e,n,i,a,o){if(a=bt(a)&&a,!e)if(\"y\"===n)e=o.year;else if(\"m\"===n)e=o.month;else{if(\"d\"!==n)return function(t,e){var n=lt(t+.05,ht),i=_t(Math.floor(n/ft),2)+\":\"+_t(lt(Math.floor(n/pt),60),2);if(\"M\"!==e){r(e)||(e=0);var a=(100+Math.min(lt(t/dt,60),Et[e])).toFixed(e).substr(1);e>0&&(a=a.replace(/0+$/,\"\").replace(/[\\.]$/,\"\")),i+=\":\"+a}return i}(t,n)+\"\\n\"+St(o.dayMonthYear,t,i,a);e=o.dayMonth+\"\\n\"+o.year}return St(e,t,i,a)};var Ct=3*ht;ut.incrementMonth=function(t,e,r){r=bt(r)&&r;var n=lt(t,ht);if(t=Math.round(t-n),r)try{var i=Math.round(t/ht)+gt,a=P.getComponentMethod(\"calendars\",\"getCal\")(r),o=a.fromJD(i);return e%12?a.add(o,e,\"m\"):a.add(o,e/12,\"y\"),(o.toJD()-gt)*ht+n}catch(e){_.error(\"invalid ms \"+t+\" in calendar \"+r)}var s=new Date(t+Ct);return s.setUTCMonth(s.getUTCMonth()+e)+n-Ct},ut.findExactDates=function(t,e){for(var n,i,a=0,o=0,s=0,l=0,u=bt(e)&&P.getComponentMethod(\"calendars\",\"getCal\")(e),c=0;c<t.length;c++)if(i=t[c],r(i)){if(!(i%ht))if(u)try{1===(n=u.fromJD(i/ht+gt)).day()?1===n.month()?a++:o++:s++}catch(t){}else 1===(n=new Date(i)).getUTCDate()?0===n.getUTCMonth()?a++:o++:s++}else l++;s+=o+=a;var h=t.length-l;return{exactYears:a/h,exactMonths:o/h,exactDays:s/h}};function Lt(t){return!0===t.visible}function zt(t){return!0===t[0].trace.visible}var Pt,It,Dt,Ot={};function Rt(t,e,r,n,i,a,o,s){var l=r-t,u=i-t,c=o-i,h=n-e,f=a-e,p=s-a,d=l*p-c*h;if(0===d)return null;var g=(u*p-c*f)/d,v=(u*h-l*f)/d;return v<0||v>1||g<0||g>1?null:{x:t+l*g,y:e+h*g}}function Ft(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}Ot.segmentsIntersect=Rt,Ot.segmentDistance=function(t,e,r,n,i,a,o,s){if(Rt(t,e,r,n,i,a,o,s))return 0;var l=r-t,u=n-e,c=o-i,h=s-a,f=l*l+u*u,p=c*c+h*h,d=Math.min(Ft(l,u,f,i-t,a-e),Ft(l,u,f,o-t,s-e),Ft(c,h,p,t-i,e-a),Ft(c,h,p,r-i,n-a));return Math.sqrt(d)},Ot.getTextLocation=function(t,e,r,n){if(t===It&&n===Dt||(Pt={},It=t,Dt=n),Pt[r])return Pt[r];var i=t.getPointAtLength(lt(r-n/2,e)),a=t.getPointAtLength(lt(r+n/2,e)),o=Math.atan((a.y-i.y)/(a.x-i.x)),s=t.getPointAtLength(lt(r,e)),l={x:(4*s.x+i.x+a.x)/6,y:(4*s.y+i.y+a.y)/6,theta:o};return Pt[r]=l,l},Ot.clearLocationCache=function(){It=null},Ot.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,u=0,c=t.getTotalLength(),h=c;function f(e){var r=t.getPointAtLength(e);0===e?n=r:e===c&&(i=r);var u=r.x<a?a-r.x:r.x>o?r.x-o:0,h=r.y<s?s-r.y:r.y>l?r.y-l:0;return Math.sqrt(u*u+h*h)}for(var p=f(u);p;){if((u+=p+r)>h)return;p=f(u)}for(p=f(h);p;){if(u>(h-=p+r))return;p=f(h)}return{min:u,max:h,len:h-u,total:c,isClosed:0===u&&h===c&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},Ot.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,u=n.iterationLimit||30,c=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,h=0,f=0,p=s;h<u;){if(i=(f+p)/2,o=(a=t.getPointAtLength(i))[r]-e,Math.abs(o)<l)return a;c*o>0?p=i:f=i,h++}return a};var Bt=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},Nt=function(t){return t},jt=/^\\w*$/,Vt={init2dArray:function(t,e){for(var r=new Array(t),n=0;n<t;n++)r[n]=new Array(e);return 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},dot:function(t,e){if(!t.length||!e.length||t.length!==e.length)return null;var r,n,i=t.length;if(t[0].length)for(r=new Array(i),n=0;n<i;n++)r[n]=Vt.dot(t[n],e);else if(e[0].length){var a=Vt.transposeRagged(e);for(r=new Array(a.length),n=0;n<a.length;n++)r[n]=Vt.dot(t,a[n])}else for(r=0,n=0;n<i;n++)r+=t[n]*e[n];return r},translationMatrix:function(t,e){return[[1,0,t],[0,1,e],[0,0,1]]},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]]},rotationXYMatrix:function(t,e,r){return Vt.dot(Vt.dot(Vt.translationMatrix(e,r),Vt.rotationMatrix(t)),Vt.translationMatrix(-e,-r))},apply2DTransform:function(t){return function(){var e=arguments;3===e.length&&(e=e[0]);var r=1===arguments.length?e[0]:[e[0],e[1]];return Vt.dot(t,[r[0],r[1],1]).slice(0,2)}},apply2DTransform2:function(t){var e=Vt.apply2DTransform(t);return function(t){return e(t.slice(0,2)).concat(e(t.slice(2,4)))}}},Ut=[],qt=/^(.*)(\\.[^\\.\\[\\]]+|\\[\\d\\])$/,Ht=/^[^\\.\\[\\]]+$/,Gt=p.isArrayOrTypedArray,Wt={};function Yt(t,e){return t<e}function Xt(t,e){return t<=e}function Zt(t,e){return t>e}function Jt(t,e){return t>=e}Wt.findBin=function(t,e,n){if(r(e.start))return n?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var i,a,o=0,s=e.length,l=0,u=s>1?(e[s-1]-e[0])/(s-1):1;for(a=u>=0?n?Yt:Xt:n?Jt:Zt,t+=1e-9*u*(n?-1:1)*(u>=0?1:-1);o<s&&l++<100;)a(e[i=Math.floor((o+s)/2)],t)?o=i+1:s=i;return l>90&&_.log(\"Long binary search...\"),o-1},Wt.sorterAsc=function(t,e){return t-e},Wt.sorterDes=function(t,e){return e-t},Wt.distinctVals=function(t){var e=t.slice();e.sort(Wt.sorterAsc);for(var r=e.length-1,n=e[r]-e[0]||1,i=n/(r||1)/1e4,a=[e[0]],o=0;o<r;o++)e[o+1]>e[o]+i&&(n=Math.min(n,e[o+1]-e[o]),a.push(e[o+1]));return{vals:a,minDiff:n}},Wt.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;)e[n=u((i+a)/2)]<=t?i=n+s:a=n-l;return e[i]};var Kt={},Qt=p.isArrayOrTypedArray;Kt.aggNums=function(t,e,n,i){var a,o;if((!i||i>n.length)&&(i=n.length),r(e)||(e=!1),Qt(n[0])){for(o=new Array(i),a=0;a<i;a++)o[a]=Kt.aggNums(t,e,n[a]);n=o}for(a=0;a<i;a++)r(e)?r(n[a])&&(e=t(+e,+n[a])):e=n[a];return e},Kt.len=function(t){return Kt.aggNums(function(t){return t+1},0,t)},Kt.mean=function(t,e){return e||(e=Kt.len(t)),Kt.aggNums(function(t,e){return t+e},0,t)/e},Kt.variance=function(t,e,n){return e||(e=Kt.len(t)),r(n)||(n=Kt.mean(t,e)),Kt.aggNums(function(t,e){return t+Math.pow(e-n,2)},0,t)/e},Kt.stdev=function(t,e,r){return Math.sqrt(Kt.variance(t,e,r))},Kt.interp=function(t,e){if(!r(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 n=e%1;return n*t[Math.ceil(e)]+(1-n)*t[Math.floor(e)]};var $t={},te={};function ee(t){t&&null!==t.timer&&(clearTimeout(t.timer),t.timer=null)}$t.throttle=function(t,e,r){var n=te[t],i=Date.now();if(!n){for(var a in te)te[a].ts<i-6e4&&delete te[a];n=te[t]={ts:0,timer:null}}function o(){r(),n.ts=Date.now(),n.onDone&&(n.onDone(),n.onDone=null)}ee(n),i>n.ts+e?o():n.timer=setTimeout(function(){o(),n.timer=null},e)},$t.done=function(t){var e=te[t];return e&&e.timer?new Promise(function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}}):Promise.resolve()},$t.clear=function(t){if(t)ee(te[t]),delete te[t];else for(var e in te)$t.clear(e)};var re=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var n=Math.log(Math.min(e[0],e[1]))/Math.LN10;return r(n)||(n=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),n},ne={},ie=t.FP_SAFE,ae=t.BADNUM,oe=ne={};oe.nestedProperty=W,oe.keyedContainer=function(t,e,r,n){var i,a;r=r||\"name\",n=n||\"value\";var o={};a=e&&e.length?W(t,e).get():t,e=e||\"\",a=a||[];var s={};for(i=0;i<a.length;i++)s[a[i][r]]=i;var l=jt.test(n),u={set:function(t,e){var i=null===e?4:0,c=s[t];void 0===c?(i|=3,c=a.length,s[t]=c):e!==(l?a[c][n]:W(a[c],n).get())&&(i|=2);var h=a[c]=a[c]||{};return h[r]=t,l?h[n]=e:W(h,n).set(e),null!==e&&(i&=-5),o[c]=o[c]|i,u},get:function(t){var e=s[t];return void 0===e?void 0:l?a[e][n]:W(a[e],n).get()},rename:function(t,e){var n=s[t];return void 0===n?u:(o[n]=1|o[n],s[e]=n,delete s[t],a[n][r]=e,u)},remove:function(t){var e=s[t];if(void 0===e)return u;var c=a[e];if(Object.keys(c).length>2)return o[e]=2|o[e],u.set(t,null);if(l){for(i=e;i<a.length;i++)o[i]=3|o[i];for(i=e;i<a.length;i++)s[a[i][r]]--;a.splice(e,1),delete s[t]}else W(c,n).set(null),o[e]=6|o[e];return u},constructUpdate:function(){for(var t,i,s={},u=Object.keys(o),c=0;c<u.length;c++)i=u[c],t=e+\"[\"+i+\"]\",a[i]?(1&o[i]&&(s[t+\".\"+r]=a[i][r]),2&o[i]&&(s[t+\".\"+n]=l?4&o[i]?null:a[i][n]:4&o[i]?null:W(a[i],n).get())):s[t]=null;return s}};return u},oe.relativeAttr=function(t,e){for(;e;){var r=t.match(qt);if(r)t=r[1];else{if(!t.match(Ht))throw new Error(\"bad relativeAttr call:\"+[t,e]);t=\"\"}if(\"^\"!==e.charAt(0))break;e=e.slice(1)}return t&&\"[\"!==e.charAt(0)?t+\".\"+e:t+e},oe.isPlainObject=v,oe.mod=lt,oe.toLogRange=re,oe.relinkPrivateKeys=function t(e,r){for(var n in r){var i=r[n],a=e[n];if(a!==i)if(\"_\"===n.charAt(0)||\"function\"==typeof i){if(n in e)continue;e[n]=i}else if(Gt(i)&&Gt(a)&&v(i[0])){if(\"customdata\"===n||\"ids\"===n)continue;for(var o=Math.min(i.length,a.length),s=0;s<o;s++)a[s]!==i[s]&&v(i[s])&&v(a[s])&&t(a[s],i[s])}else v(i)&&v(a)&&(t(a,i),Object.keys(a).length||delete e[n])}},oe.ensureArray=function(t,e){return Array.isArray(t)||(t=[]),t.length=e,t},oe.isTypedArray=p.isTypedArray,oe.isArrayOrTypedArray=p.isArrayOrTypedArray,oe.valObjectMeta=et.valObjectMeta,oe.coerce=et.coerce,oe.coerce2=et.coerce2,oe.coerceFont=et.coerceFont,oe.coerceHoverinfo=et.coerceHoverinfo,oe.coerceSelectionMarkerOpacity=et.coerceSelectionMarkerOpacity,oe.validate=et.validate,oe.dateTime2ms=ut.dateTime2ms,oe.isDateTime=ut.isDateTime,oe.ms2DateTime=ut.ms2DateTime,oe.ms2DateTimeLocal=ut.ms2DateTimeLocal,oe.cleanDate=ut.cleanDate,oe.isJSDate=ut.isJSDate,oe.formatDate=ut.formatDate,oe.incrementMonth=ut.incrementMonth,oe.dateTick0=ut.dateTick0,oe.dfltRange=ut.dfltRange,oe.findExactDates=ut.findExactDates,oe.MIN_MS=ut.MIN_MS,oe.MAX_MS=ut.MAX_MS,oe.findBin=Wt.findBin,oe.sorterAsc=Wt.sorterAsc,oe.sorterDes=Wt.sorterDes,oe.distinctVals=Wt.distinctVals,oe.roundUp=Wt.roundUp,oe.aggNums=Kt.aggNums,oe.len=Kt.len,oe.mean=Kt.mean,oe.variance=Kt.variance,oe.stdev=Kt.stdev,oe.interp=Kt.interp,oe.init2dArray=Vt.init2dArray,oe.transposeRagged=Vt.transposeRagged,oe.dot=Vt.dot,oe.translationMatrix=Vt.translationMatrix,oe.rotationMatrix=Vt.rotationMatrix,oe.rotationXYMatrix=Vt.rotationXYMatrix,oe.apply2DTransform=Vt.apply2DTransform,oe.apply2DTransform2=Vt.apply2DTransform2,oe.deg2rad=n.deg2rad,oe.rad2deg=n.rad2deg,oe.wrap360=n.wrap360,oe.wrap180=n.wrap180,oe.segmentsIntersect=Ot.segmentsIntersect,oe.segmentDistance=Ot.segmentDistance,oe.getTextLocation=Ot.getTextLocation,oe.clearLocationCache=Ot.clearLocationCache,oe.getVisibleSegment=Ot.getVisibleSegment,oe.findPointOnPath=Ot.findPointOnPath,oe.extendFlat=m.extendFlat,oe.extendDeep=m.extendDeep,oe.extendDeepAll=m.extendDeepAll,oe.extendDeepNoArrays=m.extendDeepNoArrays,oe.log=_.log,oe.warn=_.warn,oe.error=_.error,oe.counterRegex=tt.counter,oe.throttle=$t.throttle,oe.throttleDone=$t.done,oe.clearThrottle=$t.clear,oe.getGraphDiv=Bt,oe._=function(t,e){for(var r=t._context.locale,n=0;n<2;n++){for(var i=t._context.locales,a=0;a<2;a++){var o=(i[r]||{}).dictionary;if(o){var s=o[e];if(s)return s}i=P.localeRegistry}var l=r.split(\"-\")[0];if(l===r)break;r=l}return e},oe.notifier=function(t,n){if(-1===Ut.indexOf(t)){Ut.push(t);var i=1e3;r(n)?i=n:\"long\"===n&&(i=3e3);var a=e.select(\"body\").selectAll(\".plotly-notifier\").data([0]);a.enter().append(\"div\").classed(\"plotly-notifier\",!0),a.selectAll(\".notifier-note\").data(Ut).enter().append(\"div\").classed(\"notifier-note\",!0).style(\"opacity\",0).each(function(t){var r=e.select(this);r.append(\"button\").classed(\"notifier-close\",!0).html(\"&times;\").on(\"click\",function(){r.transition().call(o)});for(var n=r.append(\"p\"),a=t.split(/<br\\s*\\/?>/g),s=0;s<a.length;s++)s&&n.append(\"br\"),n.append(\"span\").text(a[s]);r.transition().duration(700).style(\"opacity\",1).transition().delay(i).call(o)})}function o(t){t.duration(700).style(\"opacity\",0).each(\"end\",function(t){var r=Ut.indexOf(t);-1!==r&&Ut.splice(r,1),e.select(this).remove()})}},oe.filterUnique=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},oe.filterVisible=function(t){for(var e,r=(e=t,Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace?zt:Lt),n=[],i=0;i<t.length;i++){var a=t[i];r(a)&&n.push(a)}return n},oe.pushUnique=k,oe.cleanNumber=function(t){return\"string\"==typeof t&&(t=t.replace(o,\"\")),r(t)?Number(t):a},oe.ensureNumber=function(t){return r(t)?(t=Number(t))<-ie||t>ie?ae:r(t)?Number(t):ae:ae},oe.noop=A,oe.identity=Nt,oe.swapAttrs=function(t,e,r,n){r||(r=\"x\"),n||(n=\"y\");for(var i=0;i<e.length;i++){var a=e[i],o=oe.nestedProperty(t,a.replace(\"?\",r)),s=oe.nestedProperty(t,a.replace(\"?\",n)),l=o.get();o.set(s.get()),s.set(l)}},oe.raiseToTop=function(t){t.parentNode.appendChild(t)},oe.cancelTransition=function(t){return t.transition().duration(0)},oe.constrain=function(t,e,r){return e>r?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},oe.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},oe.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},oe.randstr=function t(e,r,n){if(n||(n=16),void 0===r&&(r=24),r<=0)return\"0\";var i,a,o=Math.log(Math.pow(2,r))/Math.log(n),s=\"\";for(i=2;o===1/0;i*=2)o=Math.log(Math.pow(2,r/i))/Math.log(n)*i;var l=o-Math.floor(o);for(i=0;i<Math.floor(o);i++)s=Math.floor(Math.random()*n).toString(n)+s;l&&(a=Math.pow(n,l),s=Math.floor(Math.random()*a).toString(n)+s);var u=parseInt(s,n);return e&&e.indexOf(s)>-1||u!==1/0&&u>=Math.pow(2,r)?t(e,r,n):s},oe.OptionControl=function(t,e){t||(t={}),e||(e=\"opt\");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r[\"_\"+e]=t,r},oe.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)<-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},oe.syncOrAsync=function(t,e,r){var n;function i(){return oe.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i).then(void 0,oe.promiseError);return r&&r(e)},oe.stripTrailingSlash=function(t){return\"/\"===t.substr(-1)?t.substr(0,t.length-1):t},oe.noneOrAll=function(t,e,r){if(t){var n,i,a=!1,o=!0;for(n=0;n<r.length;n++)void 0!==(i=t[r[n]])&&null!==i?a=!0:o=!1;if(a&&!o)for(n=0;n<r.length;n++)t[r[n]]=e[r[n]]}},oe.mergeArray=function(t,e,r){if(oe.isArrayOrTypedArray(t))for(var n=Math.min(t.length,e.length),i=0;i<n;i++)e[i][r]=t[i]},oe.fillArray=function(t,e,r,n){if(n=n||oe.identity,oe.isArrayOrTypedArray(t))for(var i=0;i<e.length;i++)e[i][r]=n(t[i])},oe.castOption=function(t,e,r,n){n=n||oe.identity;var i=oe.nestedProperty(t,r).get();return oe.isArrayOrTypedArray(i)?Array.isArray(e)&&oe.isArrayOrTypedArray(i[e[0]])?n(i[e[0]][e[1]]):n(i[e]):i},oe.extractOption=function(t,e,r,n){if(r in t)return t[r];var i=oe.nestedProperty(e,n).get();return Array.isArray(i)?void 0:i},oe.tagSelected=function(t,e,n){var i,a,o=e.selectedpoints,s=e._indexToPoints;if(s)for(var l in i={},s)for(var u=s[l],c=0;c<u.length;c++)i[u[c]]=l;function h(e){return void 0!==e&&e<t.length}for(var f=0;f<o.length;f++){var p=o[f];if(r(a=p)&&a>=0&&a%1==0){var d=i?i[p]:p,g=n?n[d]:d;h(g)&&(t[g].selected=1)}}},oe.getTargetArray=function(t,e){var r=e.target;if(\"string\"==typeof r&&r){var n=oe.nestedProperty(t,r).get();return!!Array.isArray(n)&&n}return!!Array.isArray(r)&&r},oe.minExtend=function(t,e){var r={};\"object\"!=typeof e&&(e={});var n,i,a,o=Object.keys(t);for(n=0;n<o.length;n++)a=t[i=o[n]],\"_\"!==i.charAt(0)&&\"function\"!=typeof a&&(\"module\"===i?r[i]=a:Array.isArray(a)?r[i]=a.slice(0,3):r[i]=a&&\"object\"==typeof a?oe.minExtend(t[i],e[i]):a);for(o=Object.keys(e),n=0;n<o.length;n++)\"object\"==typeof(a=e[i=o[n]])&&i in r&&\"object\"==typeof r[i]||(r[i]=a);return r},oe.titleCase=function(t){return t.charAt(0).toUpperCase()+t.substr(1)},oe.containsAny=function(t,e){for(var r=0;r<e.length;r++)if(-1!==t.indexOf(e[r]))return!0;return!1},oe.isPlotDiv=function(t){var r=e.select(t);return r.node()instanceof HTMLElement&&r.size()&&r.classed(\"js-plotly-plot\")},oe.removeElement=function(t){var e=t&&t.parentNode;e&&e.removeChild(t)},oe.addStyleRule=function(t,e){if(!oe.styleSheet){var r=document.createElement(\"style\");r.appendChild(document.createTextNode(\"\")),document.head.appendChild(r),oe.styleSheet=r.sheet}var n=oe.styleSheet;n.insertRule?n.insertRule(t+\"{\"+e+\"}\",0):n.addRule?n.addRule(t,e,0):oe.warn(\"addStyleRule failed\")},oe.isIE=function(){return void 0!==window.navigator.msSaveBlob},oe.isD3Selection=function(t){return t&&\"function\"==typeof t.classed},oe.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 se=/^([^\\[\\.]+)\\.(.+)?/,le=/^([^\\.]+)\\[([0-9]+)\\](\\.)?(.+)?/;oe.expandObjectPaths=function(t){var e,r,n,i,a,o,s;if(\"object\"==typeof t&&!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&&((e=r.match(se))?(i=t[r],n=e[1],delete t[r],t[n]=oe.extendDeepNoArrays(t[n]||{},oe.objectFromPath(r,oe.expandObjectPaths(i))[n])):(e=r.match(le))?(i=t[r],n=e[1],a=parseInt(e[2]),delete t[r],t[n]=t[n]||[],\".\"===e[3]?(s=e[4],o=t[n][a]=t[n][a]||{},oe.extendDeepNoArrays(o,oe.objectFromPath(s,oe.expandObjectPaths(i)))):t[n][a]=oe.expandObjectPaths(i)):t[r]=oe.expandObjectPaths(t[r]));return t},oe.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};var ue=/%{([^\\s%{}]*)}/g,ce=/^\\w*$/;oe.templateString=function(t,e){var r={};return t.replace(ue,function(t,n){return ce.test(n)?e[n]||\"\":(r[n]=r[n]||oe.nestedProperty(e,n).get,r[n]()||\"\")})};oe.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,i=0,a=0;a<r;a++){var o=t.charCodeAt(a)||0,s=e.charCodeAt(a)||0,l=o>=48&&o<=57,u=s>=48&&s<=57;if(l&&(n=10*n+o-48),u&&(i=10*i+s-48),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var he=2e9;oe.seedPseudoRandom=function(){he=2e9},oe.pseudoRandom=function(){var t=he;return he=(69069*he+1)%4294967296,Math.abs(he-t)<429496729?oe.pseudoRandom():he/4294967296};var fe=ne.extendFlat,pe=ne.isPlainObject,de={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"calcIfAutorange\",\"clearAxisTypes\",\"plot\",\"style\",\"colorbars\"]},ge={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"calcIfAutorange\",\"plot\",\"legend\",\"ticks\",\"margins\",\"layoutstyle\",\"modebar\",\"camera\",\"arraydraw\"]},ve=de.flags.slice().concat([\"clearCalc\",\"fullReplot\"]),me=ge.flags.slice().concat(\"layoutReplot\"),ye={traces:de,layout:ge,traceFlags:function(){return xe(ve)},layoutFlags:function(){return xe(me)},update:function(t,e){var r=e.editType;if(r&&\"none\"!==r)for(var n=r.split(\"+\"),i=0;i<n.length;i++)t[n[i]]=!0},overrideAll:be};function xe(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=!1;return e}function be(t,e,r){var n=fe({},t);for(var i in n){var a=n[i];pe(a)&&(n[i]=_e(a,e,r,i))}return\"from-root\"===r&&(n.editType=e),n}function _e(t,e,r,n){if(t.valType){var i=fe({},t);if(i.editType=e,Array.isArray(t.items)){i.items=new Array(t.items.length);for(var a=0;a<t.items.length;a++)i.items[a]=_e(t.items[a],e,\"from-root\")}return i}return be(t,e,\"_\"===n.charAt(0)?\"nested\":\"from-root\")}var we={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\"]}}},Me={_isLinkedToArray:\"frames_entry\",group:{valType:\"string\"},name:{valType:\"string\"},traces:{valType:\"any\"},baseframe:{valType:\"string\"},data:{valType:\"any\"},layout:{valType:\"any\"}},Ae={dash:{valType:\"string\",values:[\"solid\",\"dot\",\"dash\",\"longdash\",\"dashdot\",\"longdashdot\"],dflt:\"solid\",editType:\"style\"}},ke=tt.counter,Te={idRegex:{x:ke(\"x\"),y:ke(\"y\")},attrRegex:ke(\"[xy]axis\"),xAxisMatch:ke(\"xaxis\"),yAxisMatch:ke(\"yaxis\"),AX_ID_PATTERN:/^[xyz][0-9]*$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,SELECTDELAY:100,SELECTID:\"-select\",DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:[\"imagelayer\",\"maplayer\",\"barlayer\",\"carpetlayer\",\"violinlayer\",\"boxlayer\",\"scatterlayer\"],layerValue2layerClass:{\"above traces\":\"above\",\"below traces\":\"below\"}},Se=Ae.dash,Ee=m.extendFlat,Ce={visible:{valType:\"boolean\",editType:\"plot\"},color:{valType:\"color\",dflt:C.defaultLine,editType:\"ticks\"},title:{valType:\"string\",editType:\"ticks+margins\"},titlefont:T({editType:\"ticks+margins\"}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"log\",\"date\",\"category\"],dflt:\"-\",editType:\"calc\"},autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0,editType:\"calc\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"plot\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"plot+margins\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot+margins\",impliedEdits:{\"^autorange\":!1}}],editType:\"plot+margins\",impliedEdits:{autorange:!1}},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},scaleanchor:{valType:\"enumerated\",values:[Te.idRegex.x.toString(),Te.idRegex.y.toString()],editType:\"plot\"},scaleratio:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},constrain:{valType:\"enumerated\",values:[\"range\",\"domain\"],dflt:\"range\",editType:\"plot\"},constraintoward:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\",\"top\",\"middle\",\"bottom\"],editType:\"plot\"},tickmode:{valType:\"enumerated\",values:[\"auto\",\"linear\",\"array\"],editType:\"ticks+margins\",impliedEdits:{tick0:void 0,dtick:void 0}},nticks:{valType:\"integer\",min:0,dflt:0,editType:\"ticks+margins\"},tick0:{valType:\"any\",editType:\"ticks+margins\",impliedEdits:{tickmode:\"linear\"}},dtick:{valType:\"any\",editType:\"ticks+margins\",impliedEdits:{tickmode:\"linear\"}},tickvals:{valType:\"data_array\",editType:\"ticks+margins\"},ticktext:{valType:\"data_array\",editType:\"ticks+margins\"},ticks:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"\"],editType:\"ticks+margins\"},mirror:{valType:\"enumerated\",values:[!0,\"ticks\",!1,\"all\",\"allticks\"],dflt:!1,editType:\"ticks+layoutstyle\"},ticklen:{valType:\"number\",min:0,dflt:5,editType:\"ticks\"},tickwidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks\"},tickcolor:{valType:\"color\",dflt:C.defaultLine,editType:\"ticks\"},showticklabels:{valType:\"boolean\",dflt:!0,editType:\"ticks+margins\"},automargin:{valType:\"boolean\",dflt:!1,editType:\"ticks+margins\"},showspikes:{valType:\"boolean\",dflt:!1,editType:\"modebar\"},spikecolor:{valType:\"color\",dflt:null,editType:\"none\"},spikethickness:{valType:\"number\",dflt:3,editType:\"none\"},spikedash:Ee({},Se,{dflt:\"dash\",editType:\"none\"}),spikemode:{valType:\"flaglist\",flags:[\"toaxis\",\"across\",\"marker\"],dflt:\"toaxis\",editType:\"none\"},spikesnap:{valType:\"enumerated\",values:[\"data\",\"cursor\"],dflt:\"data\",editType:\"none\"},tickfont:T({editType:\"ticks+margins\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"ticks+margins\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"ticks+margins\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks+margins\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"ticks+margins\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks+margins\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks+margins\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"ticks+margins\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"ticks+margins\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"ticks+margins\"},tickformatstops:{_isLinkedToArray:\"tickformatstop\",dtickrange:{valType:\"info_array\",items:[{valType:\"any\",editType:\"ticks+margins\"},{valType:\"any\",editType:\"ticks+margins\"}],editType:\"ticks+margins\"},value:{valType:\"string\",dflt:\"\",editType:\"ticks+margins\"},editType:\"ticks+margins\"},hoverformat:{valType:\"string\",dflt:\"\",editType:\"none\"},showline:{valType:\"boolean\",dflt:!1,editType:\"layoutstyle\"},linecolor:{valType:\"color\",dflt:C.defaultLine,editType:\"layoutstyle\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks+layoutstyle\"},showgrid:{valType:\"boolean\",editType:\"ticks\"},gridcolor:{valType:\"color\",dflt:C.lightLine,editType:\"ticks\"},gridwidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks\"},zeroline:{valType:\"boolean\",editType:\"ticks\"},zerolinecolor:{valType:\"color\",dflt:C.defaultLine,editType:\"ticks\"},zerolinewidth:{valType:\"number\",dflt:1,editType:\"ticks\"},anchor:{valType:\"enumerated\",values:[\"free\",Te.idRegex.x.toString(),Te.idRegex.y.toString()],editType:\"plot+margins\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],editType:\"plot+margins\"},overlaying:{valType:\"enumerated\",values:[\"free\",Te.idRegex.x.toString(),Te.idRegex.y.toString()],editType:\"plot\"},layer:{valType:\"enumerated\",values:[\"above traces\",\"below traces\"],dflt:\"above traces\",editType:\"plot\"},domain:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1,editType:\"plot+margins\"},{valType:\"number\",min:0,max:1,editType:\"plot+margins\"}],dflt:[0,1],editType:\"plot+margins\"},position:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot+margins\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\",_deprecated:{autotick:{valType:\"boolean\",editType:\"ticks+margins\"}}},Le=m.extendFlat,ze=(0,ye.overrideAll)({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:Ce.linecolor,outlinewidth:Ce.linewidth,bordercolor:Ce.linecolor,borderwidth:{valType:\"number\",min:0,dflt:0},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},tickmode:Ce.tickmode,nticks:Ce.nticks,tick0:Ce.tick0,dtick:Ce.dtick,tickvals:Ce.tickvals,ticktext:Ce.ticktext,ticks:Le({},Ce.ticks,{dflt:\"\"}),ticklen:Ce.ticklen,tickwidth:Ce.tickwidth,tickcolor:Ce.tickcolor,showticklabels:Ce.showticklabels,tickfont:T({}),tickangle:Ce.tickangle,tickformat:Ce.tickformat,tickformatstops:Ce.tickformatstops,tickprefix:Ce.tickprefix,showtickprefix:Ce.showtickprefix,ticksuffix:Ce.ticksuffix,showticksuffix:Ce.showticksuffix,separatethousands:Ce.separatethousands,exponentformat:Ce.exponentformat,showexponent:Ce.showexponent,title:{valType:\"string\"},titlefont:T({}),titleside:{valType:\"enumerated\",values:[\"right\",\"top\",\"bottom\"],dflt:\"top\"}},\"colorbars\",\"from-root\"),Pe={zauto:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{zmin:void 0,zmax:void 0}},zmin:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{zauto:!1}},zmax:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{zauto:!1}},colorscale:{valType:\"colorscale\",editType:\"calc\",impliedEdits:{autocolorscale:!1}},autocolorscale:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{colorscale:void 0}},reversescale:{valType:\"boolean\",dflt:!1,editType:\"calc\"},showscale:{valType:\"boolean\",dflt:!0,editType:\"calc\"}},Ie=m.extendFlat,De=function(t,e,r){return{color:{valType:\"color\",arrayOk:!0,editType:e||\"style\"},colorscale:Ie({},Pe.colorscale,{}),cauto:Ie({},Pe.zauto,{impliedEdits:{cmin:void 0,cmax:void 0}}),cmax:Ie({},Pe.zmax,{editType:e||Pe.zmax.editType,impliedEdits:{cauto:!1}}),cmin:Ie({},Pe.zmin,{editType:e||Pe.zmin.editType,impliedEdits:{cauto:!1}}),autocolorscale:Ie({},Pe.autocolorscale,{dflt:!1===r?r:Pe.autocolorscale.dflt}),reversescale:Ie({},Pe.reversescale,{})}},Oe={},Re=Oe={};Re.defaults=C.defaults;var Fe=Re.defaultLine=C.defaultLine;Re.lightLine=C.lightLine;var Be=Re.background=C.background;function Ne(t){if(r(t)||\"string\"!=typeof t)return t;var e=t.trim();if(\"rgb\"!==e.substr(0,3))return t;var n=e.match(/^rgba?\\s*\\(([^()]*)\\)$/);if(!n)return t;var i=n[1].trim().split(/\\s*[\\s,]\\s*/),a=\"a\"===e.charAt(3)&&4===i.length;if(!a&&3!==i.length)return t;for(var o=0;o<i.length;o++){if(!i[o].length)return t;if(i[o]=Number(i[o]),!(i[o]>=0))return t;if(3===o)i[o]>1&&(i[o]=1);else if(i[o]>=1)return t}var s=Math.round(255*i[0])+\", \"+Math.round(255*i[1])+\", \"+Math.round(255*i[2]);return a?\"rgba(\"+s+\", \"+i[3]+\")\":\"rgb(\"+s+\")\"}Re.tinyRGB=function(t){var e=t.toRgb();return\"rgb(\"+Math.round(e.r)+\", \"+Math.round(e.g)+\", \"+Math.round(e.b)+\")\"},Re.rgb=function(t){return Re.tinyRGB(s(t))},Re.opacity=function(t){return t?s(t).getAlpha():0},Re.addOpacity=function(t,e){var r=s(t).toRgb();return\"rgba(\"+Math.round(r.r)+\", \"+Math.round(r.g)+\", \"+Math.round(r.b)+\", \"+e+\")\"},Re.combine=function(t,e){var r=s(t).toRgb();if(1===r.a)return s(t).toRgbString();var n=s(e||Be).toRgb(),i=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},a={r:i.r*(1-r.a)+r.r*r.a,g:i.g*(1-r.a)+r.g*r.a,b:i.b*(1-r.a)+r.b*r.a};return s(a).toRgbString()},Re.contrast=function(t,e,r){var n=s(t);return 1!==n.getAlpha()&&(n=s(Re.combine(t,Be))),(n.isDark()?e?n.lighten(e):Be:r?n.darken(r):Fe).toString()},Re.stroke=function(t,e){var r=s(e);t.style({stroke:Re.tinyRGB(r),\"stroke-opacity\":r.getAlpha()})},Re.fill=function(t,e){var r=s(e);t.style({fill:Re.tinyRGB(r),\"fill-opacity\":r.getAlpha()})},Re.clean=function(t){if(t&&\"object\"==typeof t){var e,r,n,i,a=Object.keys(t);for(e=0;e<a.length;e++)if(i=t[n=a[e]],\"color\"===n.substr(n.length-5))if(Array.isArray(i))for(r=0;r<i.length;r++)i[r]=Ne(i[r]);else t[n]=Ne(i);else if(\"colorscale\"===n.substr(n.length-10)&&Array.isArray(i))for(r=0;r<i.length;r++)Array.isArray(i[r])&&(i[r][1]=Ne(i[r][1]));else if(Array.isArray(i)){var o=i[0];if(!Array.isArray(o)&&o&&\"object\"==typeof o)for(r=0;r<i.length;r++)Re.clean(i[r])}else i&&\"object\"==typeof i&&Re.clean(i)}};var je=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},Ve=function(t,e,r,n){var i,a;r?(i=ne.nestedProperty(t,r).get(),a=ne.nestedProperty(t._input,r).get()):(i=t,a=t._input);var o=n+\"auto\",s=n+\"min\",u=n+\"max\",c=i[o],h=i[s],f=i[u],p=i.colorscale;!1===c&&void 0!==h||(h=ne.aggNums(Math.min,null,e)),!1===c&&void 0!==f||(f=ne.aggNums(Math.max,null,e)),h===f&&(h-=.5,f+=.5),i[s]=h,i[u]=f,a[s]=h,a[u]=f,a[o]=!1!==c||void 0===h&&void 0===f,i.autocolorscale&&(p=h*f<0?l.RdBu:h>=0?l.Reds:l.Blues,a.colorscale=p,i.reversescale&&(p=je(p)),i.colorscale=p)},Ue=function(t,e,r,n,i){var a=function(t){var e=[\"showexponent\",\"showtickprefix\",\"showticksuffix\"].filter(function(e){return void 0!==t[e]});if(e.every(function(r){return t[r]===t[e[0]]})||1===e.length)return t[e[0]]}(t);if(r(\"tickprefix\")&&r(\"showtickprefix\",a),r(\"ticksuffix\",i.tickSuffixDflt)&&r(\"showticksuffix\",a),r(\"showticklabels\")){var o=i.font||{},s=e.color===t.color?e.color:o.color;if(ne.coerceFont(r,\"tickfont\",{family:o.family,size:o.size,color:s}),r(\"tickangle\"),\"category\"!==n){var l=r(\"tickformat\");!function(t,e){var r,n,i=t.tickformatstops,a=e.tickformatstops=[];if(!Array.isArray(i))return;function o(t,e){return ne.coerce(r,n,Ce.tickformatstops,t,e)}for(var s=0;s<i.length;s++)r=i[s],n={},o(\"dtickrange\"),o(\"value\"),a.push(n)}(t,e),l||\"date\"===n||(r(\"showexponent\",a),r(\"exponentformat\"),r(\"separatethousands\"))}}};var qe=function(t,e,r,n){var i=ne.coerce2(t,e,Ce,\"ticklen\"),a=ne.coerce2(t,e,Ce,\"tickwidth\"),o=ne.coerce2(t,e,Ce,\"tickcolor\",e.color);r(\"ticks\",n.outerTicks||i||a||o?\"outside\":\"\")||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)},He=t.ONEDAY,Ge=function(t,e,n,i){var a=\"auto\";\"array\"!==t.tickmode||\"log\"!==i&&\"date\"!==i||(t.tickmode=\"auto\"),Array.isArray(t.tickvals)?a=\"array\":t.dtick&&(a=\"linear\");var o=n(\"tickmode\",a);if(\"auto\"===o)n(\"nticks\");else if(\"linear\"===o){var s=\"date\"===i?He:1,l=n(\"dtick\",s);if(r(l))e.dtick=l>0?Number(l):s;else if(\"string\"!=typeof l)e.dtick=s;else{var u=l.charAt(0),c=l.substr(1);((c=r(c)?Number(c):0)<=0||!(\"date\"===i&&\"M\"===u&&c===Math.round(c)||\"log\"===i&&\"L\"===u||\"log\"===i&&\"D\"===u&&(1===c||2===c)))&&(e.dtick=s)}var h=\"date\"===i?ne.dateTick0(e.calendar):0,f=n(\"tick0\",h);\"date\"===i?e.tick0=ne.cleanDate(f,h):r(f)&&\"D1\"!==l&&\"D2\"!==l?e.tick0=Number(f):e.tick0=h}else{void 0===n(\"tickvals\")?e.tickmode=\"auto\":n(\"ticktext\")}},We=function(t){return void 0!==l[t]||c(t)},Ye=function(t,e,n,i,a){var o,s=a.prefix,l=a.cLetter,u=s.slice(0,s.length-1),c=s?ne.nestedProperty(t,u).get()||{}:t,h=s?ne.nestedProperty(e,u).get()||{}:e,f=c[l+\"min\"],p=c[l+\"max\"],d=c.colorscale;i(s+l+\"auto\",!(r(f)&&r(p)&&f<p)),i(s+l+\"min\"),i(s+l+\"max\"),void 0!==d&&(o=!We(d)),i(s+\"autocolorscale\",o);var g,v,m=i(s+\"colorscale\");(i(s+\"reversescale\")&&(h.colorscale=je(m)),\"marker.line.\"!==s)&&(s&&(v=c,g=ne.isPlainObject(v.colorbar)),i(s+\"showscale\",g)&&function(t,e,r){var n=e.colorbar={},i=t.colorbar||{};function a(t,e){return ne.coerce(i,n,ze,t,e)}a(\"thickness\",\"fraction\"===a(\"thicknessmode\")?30/(r.width-r.margin.l-r.margin.r):30),a(\"len\",\"fraction\"===a(\"lenmode\")?1:r.height-r.margin.t-r.margin.b),a(\"x\"),a(\"xanchor\"),a(\"xpad\"),a(\"y\"),a(\"yanchor\"),a(\"ypad\"),ne.noneOrAll(i,n,[\"x\",\"y\"]),a(\"outlinecolor\"),a(\"outlinewidth\"),a(\"bordercolor\"),a(\"borderwidth\"),a(\"bgcolor\"),Ge(i,n,a,\"linear\");var o={outerTicks:!1,font:r.font};Ue(i,n,a,\"linear\",o),qe(i,n,a,\"linear\",o),a(\"title\",r._dfltTitle.colorbar),ne.coerceFont(a,\"titlefont\",r.font),a(\"titleside\")}(c,h,n))},Xe=function(t,e){var n=e?ne.nestedProperty(t,e).get()||{}:t,i=n.color,a=!1;if(ne.isArrayOrTypedArray(i))for(var o=0;o<i.length;o++)if(r(i[o])){a=!0;break}return ne.isPlainObject(n)&&(a||!0===n.showscale||r(n.cmin)&&r(n.cmax)||We(n.colorscale)||ne.isPlainObject(n.colorbar))};function Ze(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return s(e).toRgbString()}var Je={};Je.scales=l,Je.defaultScale=u,Je.attributes=Pe,Je.handleDefaults=Ye,Je.calc=Ve,Je.hasColorscale=Xe,Je.isValidScale=We,Je.getScale=h,Je.flipScale=je,Je.extractScale=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}},Je.makeColorScaleFunc=function(t,n){n=n||{};for(var i=t.domain,a=t.range,o=a.length,l=new Array(o),u=0;u<o;u++){var c=s(a[u]).toRgb();l[u]=[c.r,c.g,c.b,c.a]}var h,f=e.scale.linear().domain(i).range(l).clamp(!0),p=n.noNumericCheck,d=n.returnArray;return(h=p&&d?f:p?function(t){return Ze(f(t))}:d?function(t){return r(t)?f(t):s(t).isValid()?t:Oe.defaultLine}:function(t){return r(t)?Ze(f(t)):s(t).isValid()?t:Oe.defaultLine}).domain=f.domain,h.range=function(){return a},h};var Ke={circle:{n:0,f:function(t){var r=e.round(t,2);return\"M\"+r+\",0A\"+r+\",\"+r+\" 0 1,1 0,-\"+r+\"A\"+r+\",\"+r+\" 0 0,1 \"+r+\",0Z\"}},square:{n:1,f:function(t){var r=e.round(t,2);return\"M\"+r+\",\"+r+\"H-\"+r+\"V-\"+r+\"H\"+r+\"Z\"}},diamond:{n:2,f:function(t){var r=e.round(1.3*t,2);return\"M\"+r+\",0L0,\"+r+\"L-\"+r+\",0L0,-\"+r+\"Z\"}},cross:{n:3,f:function(t){var r=e.round(.4*t,2),n=e.round(1.2*t,2);return\"M\"+n+\",\"+r+\"H\"+r+\"V\"+n+\"H-\"+r+\"V\"+r+\"H-\"+n+\"V-\"+r+\"H-\"+r+\"V-\"+n+\"H\"+r+\"V-\"+r+\"H\"+n+\"Z\"}},x:{n:4,f:function(t){var r=e.round(.8*t/Math.sqrt(2),2),n=\"l\"+r+\",\"+r,i=\"l\"+r+\",-\"+r,a=\"l-\"+r+\",-\"+r,o=\"l-\"+r+\",\"+r;return\"M0,\"+r+n+i+a+i+a+o+a+o+n+o+n+\"Z\"}},\"triangle-up\":{n:5,f:function(t){var r=e.round(2*t/Math.sqrt(3),2);return\"M-\"+r+\",\"+e.round(t/2,2)+\"H\"+r+\"L0,-\"+e.round(t,2)+\"Z\"}},\"triangle-down\":{n:6,f:function(t){var r=e.round(2*t/Math.sqrt(3),2);return\"M-\"+r+\",-\"+e.round(t/2,2)+\"H\"+r+\"L0,\"+e.round(t,2)+\"Z\"}},\"triangle-left\":{n:7,f:function(t){var r=e.round(2*t/Math.sqrt(3),2);return\"M\"+e.round(t/2,2)+\",-\"+r+\"V\"+r+\"L-\"+e.round(t,2)+\",0Z\"}},\"triangle-right\":{n:8,f:function(t){var r=e.round(2*t/Math.sqrt(3),2);return\"M-\"+e.round(t/2,2)+\",-\"+r+\"V\"+r+\"L\"+e.round(t,2)+\",0Z\"}},\"triangle-ne\":{n:9,f:function(t){var r=e.round(.6*t,2),n=e.round(1.2*t,2);return\"M-\"+n+\",-\"+r+\"H\"+r+\"V\"+n+\"Z\"}},\"triangle-se\":{n:10,f:function(t){var r=e.round(.6*t,2),n=e.round(1.2*t,2);return\"M\"+r+\",-\"+n+\"V\"+r+\"H-\"+n+\"Z\"}},\"triangle-sw\":{n:11,f:function(t){var r=e.round(.6*t,2),n=e.round(1.2*t,2);return\"M\"+n+\",\"+r+\"H-\"+r+\"V-\"+n+\"Z\"}},\"triangle-nw\":{n:12,f:function(t){var r=e.round(.6*t,2),n=e.round(1.2*t,2);return\"M-\"+r+\",\"+n+\"V-\"+r+\"H\"+n+\"Z\"}},pentagon:{n:13,f:function(t){var r=e.round(.951*t,2),n=e.round(.588*t,2),i=e.round(-t,2),a=e.round(-.309*t,2);return\"M\"+r+\",\"+a+\"L\"+n+\",\"+e.round(.809*t,2)+\"H-\"+n+\"L-\"+r+\",\"+a+\"L0,\"+i+\"Z\"}},hexagon:{n:14,f:function(t){var r=e.round(t,2),n=e.round(t/2,2),i=e.round(t*Math.sqrt(3)/2,2);return\"M\"+i+\",-\"+n+\"V\"+n+\"L0,\"+r+\"L-\"+i+\",\"+n+\"V-\"+n+\"L0,-\"+r+\"Z\"}},hexagon2:{n:15,f:function(t){var r=e.round(t,2),n=e.round(t/2,2),i=e.round(t*Math.sqrt(3)/2,2);return\"M-\"+n+\",\"+i+\"H\"+n+\"L\"+r+\",0L\"+n+\",-\"+i+\"H-\"+n+\"L-\"+r+\",0Z\"}},octagon:{n:16,f:function(t){var r=e.round(.924*t,2),n=e.round(.383*t,2);return\"M-\"+n+\",-\"+r+\"H\"+n+\"L\"+r+\",-\"+n+\"V\"+n+\"L\"+n+\",\"+r+\"H-\"+n+\"L-\"+r+\",\"+n+\"V-\"+n+\"Z\"}},star:{n:17,f:function(t){var r=1.4*t,n=e.round(.225*r,2),i=e.round(.951*r,2),a=e.round(.363*r,2),o=e.round(.588*r,2),s=e.round(-r,2),l=e.round(-.309*r,2),u=e.round(.118*r,2),c=e.round(.809*r,2);return\"M\"+n+\",\"+l+\"H\"+i+\"L\"+a+\",\"+u+\"L\"+o+\",\"+c+\"L0,\"+e.round(.382*r,2)+\"L-\"+o+\",\"+c+\"L-\"+a+\",\"+u+\"L-\"+i+\",\"+l+\"H-\"+n+\"L0,\"+s+\"Z\"}},hexagram:{n:18,f:function(t){var r=e.round(.66*t,2),n=e.round(.38*t,2),i=e.round(.76*t,2);return\"M-\"+i+\",0l-\"+n+\",-\"+r+\"h\"+i+\"l\"+n+\",-\"+r+\"l\"+n+\",\"+r+\"h\"+i+\"l-\"+n+\",\"+r+\"l\"+n+\",\"+r+\"h-\"+i+\"l-\"+n+\",\"+r+\"l-\"+n+\",-\"+r+\"h-\"+i+\"Z\"}},\"star-triangle-up\":{n:19,f:function(t){var r=e.round(t*Math.sqrt(3)*.8,2),n=e.round(.8*t,2),i=e.round(1.6*t,2),a=e.round(4*t,2),o=\"A \"+a+\",\"+a+\" 0 0 1 \";return\"M-\"+r+\",\"+n+o+r+\",\"+n+o+\"0,-\"+i+o+\"-\"+r+\",\"+n+\"Z\"}},\"star-triangle-down\":{n:20,f:function(t){var r=e.round(t*Math.sqrt(3)*.8,2),n=e.round(.8*t,2),i=e.round(1.6*t,2),a=e.round(4*t,2),o=\"A \"+a+\",\"+a+\" 0 0 1 \";return\"M\"+r+\",-\"+n+o+\"-\"+r+\",-\"+n+o+\"0,\"+i+o+r+\",-\"+n+\"Z\"}},\"star-square\":{n:21,f:function(t){var r=e.round(1.1*t,2),n=e.round(2*t,2),i=\"A \"+n+\",\"+n+\" 0 0 1 \";return\"M-\"+r+\",-\"+r+i+\"-\"+r+\",\"+r+i+r+\",\"+r+i+r+\",-\"+r+i+\"-\"+r+\",-\"+r+\"Z\"}},\"star-diamond\":{n:22,f:function(t){var r=e.round(1.4*t,2),n=e.round(1.9*t,2),i=\"A \"+n+\",\"+n+\" 0 0 1 \";return\"M-\"+r+\",0\"+i+\"0,\"+r+i+r+\",0\"+i+\"0,-\"+r+i+\"-\"+r+\",0Z\"}},\"diamond-tall\":{n:23,f:function(t){var r=e.round(.7*t,2),n=e.round(1.4*t,2);return\"M0,\"+n+\"L\"+r+\",0L0,-\"+n+\"L-\"+r+\",0Z\"}},\"diamond-wide\":{n:24,f:function(t){var r=e.round(1.4*t,2),n=e.round(.7*t,2);return\"M0,\"+n+\"L\"+r+\",0L0,-\"+n+\"L-\"+r+\",0Z\"}},hourglass:{n:25,f:function(t){var r=e.round(t,2);return\"M\"+r+\",\"+r+\"H-\"+r+\"L\"+r+\",-\"+r+\"H-\"+r+\"Z\"},noDot:!0},bowtie:{n:26,f:function(t){var r=e.round(t,2);return\"M\"+r+\",\"+r+\"V-\"+r+\"L-\"+r+\",\"+r+\"V-\"+r+\"Z\"},noDot:!0},\"circle-cross\":{n:27,f:function(t){var r=e.round(t,2);return\"M0,\"+r+\"V-\"+r+\"M\"+r+\",0H-\"+r+\"M\"+r+\",0A\"+r+\",\"+r+\" 0 1,1 0,-\"+r+\"A\"+r+\",\"+r+\" 0 0,1 \"+r+\",0Z\"},needLine:!0,noDot:!0},\"circle-x\":{n:28,f:function(t){var r=e.round(t,2),n=e.round(t/Math.sqrt(2),2);return\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n+\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n+\"M\"+r+\",0A\"+r+\",\"+r+\" 0 1,1 0,-\"+r+\"A\"+r+\",\"+r+\" 0 0,1 \"+r+\",0Z\"},needLine:!0,noDot:!0},\"square-cross\":{n:29,f:function(t){var r=e.round(t,2);return\"M0,\"+r+\"V-\"+r+\"M\"+r+\",0H-\"+r+\"M\"+r+\",\"+r+\"H-\"+r+\"V-\"+r+\"H\"+r+\"Z\"},needLine:!0,noDot:!0},\"square-x\":{n:30,f:function(t){var r=e.round(t,2);return\"M\"+r+\",\"+r+\"L-\"+r+\",-\"+r+\"M\"+r+\",-\"+r+\"L-\"+r+\",\"+r+\"M\"+r+\",\"+r+\"H-\"+r+\"V-\"+r+\"H\"+r+\"Z\"},needLine:!0,noDot:!0},\"diamond-cross\":{n:31,f:function(t){var r=e.round(1.3*t,2);return\"M\"+r+\",0L0,\"+r+\"L-\"+r+\",0L0,-\"+r+\"ZM0,-\"+r+\"V\"+r+\"M-\"+r+\",0H\"+r},needLine:!0,noDot:!0},\"diamond-x\":{n:32,f:function(t){var r=e.round(1.3*t,2),n=e.round(.65*t,2);return\"M\"+r+\",0L0,\"+r+\"L-\"+r+\",0L0,-\"+r+\"ZM-\"+n+\",-\"+n+\"L\"+n+\",\"+n+\"M-\"+n+\",\"+n+\"L\"+n+\",-\"+n},needLine:!0,noDot:!0},\"cross-thin\":{n:33,f:function(t){var r=e.round(1.4*t,2);return\"M0,\"+r+\"V-\"+r+\"M\"+r+\",0H-\"+r},needLine:!0,noDot:!0,noFill:!0},\"x-thin\":{n:34,f:function(t){var r=e.round(t,2);return\"M\"+r+\",\"+r+\"L-\"+r+\",-\"+r+\"M\"+r+\",-\"+r+\"L-\"+r+\",\"+r},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t){var r=e.round(1.2*t,2),n=e.round(.85*t,2);return\"M0,\"+r+\"V-\"+r+\"M\"+r+\",0H-\"+r+\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n+\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t){var r=e.round(t/2,2),n=e.round(t,2);return\"M\"+r+\",\"+n+\"V-\"+n+\"m-\"+n+\",0V\"+n+\"M\"+n+\",\"+r+\"H-\"+n+\"m0,-\"+n+\"H\"+n},needLine:!0,noFill:!0},\"y-up\":{n:37,f:function(t){var r=e.round(1.2*t,2),n=e.round(1.6*t,2),i=e.round(.8*t,2);return\"M-\"+r+\",\"+i+\"L0,0M\"+r+\",\"+i+\"L0,0M0,-\"+n+\"L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"y-down\":{n:38,f:function(t){var r=e.round(1.2*t,2),n=e.round(1.6*t,2),i=e.round(.8*t,2);return\"M-\"+r+\",-\"+i+\"L0,0M\"+r+\",-\"+i+\"L0,0M0,\"+n+\"L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"y-left\":{n:39,f:function(t){var r=e.round(1.2*t,2),n=e.round(1.6*t,2),i=e.round(.8*t,2);return\"M\"+i+\",\"+r+\"L0,0M\"+i+\",-\"+r+\"L0,0M-\"+n+\",0L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"y-right\":{n:40,f:function(t){var r=e.round(1.2*t,2),n=e.round(1.6*t,2),i=e.round(.8*t,2);return\"M-\"+i+\",\"+r+\"L0,0M-\"+i+\",-\"+r+\"L0,0M\"+n+\",0L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"line-ew\":{n:41,f:function(t){var r=e.round(1.4*t,2);return\"M\"+r+\",0H-\"+r},needLine:!0,noDot:!0,noFill:!0},\"line-ns\":{n:42,f:function(t){var r=e.round(1.4*t,2);return\"M0,\"+r+\"V-\"+r},needLine:!0,noDot:!0,noFill:!0},\"line-ne\":{n:43,f:function(t){var r=e.round(t,2);return\"M\"+r+\",-\"+r+\"L-\"+r+\",\"+r},needLine:!0,noDot:!0,noFill:!0},\"line-nw\":{n:44,f:function(t){var r=e.round(t,2);return\"M\"+r+\",\"+r+\"L-\"+r+\",-\"+r},needLine:!0,noDot:!0,noFill:!0}},Qe={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,MID_SHIFT:.35,OPPOSITE_SIDE:{left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\"}},$e={xmlns:\"http://www.w3.org/2000/xmlns/\",svg:\"http://www.w3.org/2000/svg\",xlink:\"http://www.w3.org/1999/xlink\"};$e.svgAttrs={xmlns:$e.svg,\"xmlns:xlink\":$e.xlink};var tr={entityToUnicode:{mu:\"\\u03bc\",\"#956\":\"\\u03bc\",amp:\"&\",\"#28\":\"&\",lt:\"<\",\"#60\":\"<\",gt:\">\",\"#62\":\">\",nbsp:\"\\xa0\",\"#160\":\"\\xa0\",times:\"\\xd7\",\"#215\":\"\\xd7\",plusmn:\"\\xb1\",\"#177\":\"\\xb1\",deg:\"\\xb0\",\"#176\":\"\\xb0\"}},er={},rr=Qe.LINE_SPACING;function nr(t,e){return t.node().getBoundingClientRect()[e]}var ir=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;er.convertToTspans=function(t,r,n){var i=t.text(),a=!t.attr(\"data-notex\")&&\"undefined\"!=typeof MathJax&&i.match(ir),o=e.select(t.node().parentNode);if(!o.empty()){var s=t.attr(\"class\")?t.attr(\"class\").split(\" \")[0]:\"text\";return s+=\"-math\",o.selectAll(\"svg.\"+s).remove(),o.selectAll(\"g.\"+s+\"-group\").remove(),t.style(\"display\",null).attr({\"data-unformatted\":i,\"data-math\":\"N\"}),a?(r&&r._promises||[]).push(new Promise(function(r){t.style(\"display\",\"none\");var u=parseInt(t.node().style.fontSize,10),c={fontSize:u};!function(t,r,n){var i=\"math-output-\"+ne.randstr([],64),a=e.select(\"body\").append(\"div\").attr({id:i}).style({visibility:\"hidden\",position:\"absolute\"}).style({\"font-size\":r.fontSize+\"px\"}).text((o=t,o.replace(ar,\"\\\\lt \").replace(or,\"\\\\gt \")));var o;MathJax.Hub.Queue([\"Typeset\",MathJax.Hub,a.node()],function(){var r=e.select(\"body\").select(\"#MathJax_SVG_glyphs\");if(a.select(\".MathJax_SVG\").empty()||!a.select(\"svg\").node())ne.log(\"There was an error in the tex syntax.\",t),n();else{var i=a.select(\"svg\").node().getBoundingClientRect();n(a.select(\".MathJax_SVG\"),r,i)}a.remove()})}(a[2],c,function(e,a,c){o.selectAll(\"svg.\"+s).remove(),o.selectAll(\"g.\"+s+\"-group\").remove();var h=e&&e.select(\"svg\");if(!h||!h.node())return l(),void r();var f=o.append(\"g\").classed(s+\"-group\",!0).attr({\"pointer-events\":\"none\",\"data-unformatted\":i,\"data-math\":\"Y\"});f.node().appendChild(h.node()),a&&a.node()&&h.node().insertBefore(a.node().cloneNode(!0),h.node().firstChild),h.attr({class:s,height:c.height,preserveAspectRatio:\"xMinYMin meet\"}).style({overflow:\"visible\",\"pointer-events\":\"none\"});var p=t.node().style.fill||\"black\";h.select(\"g\").attr({fill:p,stroke:p});var d=nr(h,\"width\"),g=nr(h,\"height\"),v=+t.attr(\"x\")-d*{start:0,middle:.5,end:1}[t.attr(\"text-anchor\")||\"start\"],m=-(u||nr(t,\"height\"))/4;\"y\"===s[0]?(f.attr({transform:\"rotate(\"+[-90,+t.attr(\"x\"),+t.attr(\"y\")]+\") translate(\"+[-d/2,m-g/2]+\")\"}),h.attr({x:+t.attr(\"x\"),y:+t.attr(\"y\")})):\"l\"===s[0]?h.attr({x:t.attr(\"x\"),y:m-g/2}):\"a\"===s[0]?h.attr({x:0,y:m}):h.attr({x:v,y:+t.attr(\"y\")+m-g/2}),n&&n.call(t,f),r(f)})})):l(),t}function l(){o.empty()||(s=t.attr(\"class\")+\"-math\",o.select(\"svg.\"+s).remove()),t.text(\"\").style(\"white-space\",\"pre\"),function(t,r){r=(n=r,function(t,e){if(!t)return\"\";for(var r=0;r<e.length;r++){var n=e[r];t=t.replace(n.regExp,n.sub)}return t}(n,pr)).replace(dr,\" \");var n;var i,a=!1,o=[],s=-1;function l(){s++;var r=document.createElementNS($e.svg,\"tspan\");e.select(r).attr({class:\"line\",dy:s*rr+\"em\"}),t.appendChild(r),i=r;var n=o;if(o=[{node:r}],n.length>1)for(var a=1;a<n.length;a++)u(n[a])}function u(t){var r,n=t.type,a={};if(\"a\"===n){r=\"a\";var s=t.target,l=t.href,u=t.popup;l&&(a={\"xlink:xlink:show\":\"_blank\"===s||\"_\"!==s.charAt(0)?\"new\":\"replace\",target:s,\"xlink:xlink:href\":l},u&&(a.onclick='window.open(this.href.baseVal,this.target.baseVal,\"'+u+'\");return false;'))}else r=\"tspan\";t.style&&(a.style=t.style);var h=document.createElementNS($e.svg,r);if(\"sup\"===n||\"sub\"===n){c(i,cr),i.appendChild(h);var f=document.createElementNS($e.svg,\"tspan\");c(f,cr),e.select(f).attr(\"dy\",ur[n]),a.dy=lr[n],i.appendChild(h),i.appendChild(f)}else i.appendChild(h);e.select(h).attr(a),i=t.node=h,o.push(t)}function c(t,e){t.appendChild(document.createTextNode(e))}function h(t){if(1!==o.length){var e=o.pop();t!==e.type&&ne.log(\"Start tag <\"+e.type+\"> doesnt match end tag <\"+t+\">. Pretending it did match.\",r),i=o[o.length-1].node}else ne.log(\"Ignoring unexpected end tag </\"+t+\">.\",r)}mr.test(r)?l():(i=t,o=[{node:t}]);for(var f=r.split(gr),p=0;p<f.length;p++){var d=f[p],g=d.match(vr),v=g&&g[2].toLowerCase(),m=sr[v];if(\"br\"===v)l();else if(void 0===m)c(i,d);else if(g[1])h(v);else{var y=g[4],x={type:v},b=wr(y,yr);if(b?(b=b.replace(Mr,\"$1 fill:\"),m&&(b+=\";\"+m)):m&&(b=m),b&&(x.style=b),\"a\"===v){a=!0;var _=wr(y,xr);if(_){var w=document.createElement(\"a\");w.href=_,-1!==hr.indexOf(w.protocol)&&(x.href=encodeURI(_),x.target=wr(y,br)||\"_blank\",x.popup=wr(y,_r))}}u(x)}}return a}(t.node(),i)&&t.style(\"pointer-events\",\"all\"),er.positionText(t),n&&n.call(t)}};var ar=/(<|&lt;|&#60;)/g,or=/(>|&gt;|&#62;)/g;var sr={sup:\"font-size:70%\",sub:\"font-size:70%\",b:\"font-weight:bold\",i:\"font-style:italic\",a:\"cursor:pointer\",span:\"\",em:\"font-style:italic;font-weight:bold\"},lr={sub:\"0.3em\",sup:\"-0.6em\"},ur={sub:\"-0.21em\",sup:\"0.42em\"},cr=\"\\u200b\",hr=[\"http:\",\"https:\",\"mailto:\",\"\",void 0,\":\"],fr=new RegExp(\"</?(\"+Object.keys(sr).join(\"|\")+\")( [^>]*)?/?>\",\"g\"),pr=Object.keys(tr.entityToUnicode).map(function(t){return{regExp:new RegExp(\"&\"+t+\";\",\"g\"),sub:tr.entityToUnicode[t]}}),dr=/(\\r\\n?|\\n)/g,gr=/(<[^<>]*>)/,vr=/<(\\/?)([^ >]*)(\\s+(.*))?>/i,mr=/<br(\\s+.*)?>/i,yr=/(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i,xr=/(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i,br=/(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i,_r=/(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;function wr(t,e){if(!t)return null;var r=t.match(e);return r&&(r[3]||r[4])}var Mr=/(^|;)\\s*color:/;function Ar(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}}er.plainText=function(t){return(t||\"\").replace(fr,\" \")},er.lineCount=function(t){return t.selectAll(\"tspan.line\").size()||1},er.positionText=function(t,r,n){return t.each(function(){var t=e.select(this);function i(e,r){return void 0===r?null===(r=t.attr(e))&&(t.attr(e,0),r=0):t.attr(e,r),r}var a=i(\"x\",r),o=i(\"y\",n);\"text\"===this.nodeName&&t.selectAll(\"tspan.line\").attr({x:a,y:o})})},er.makeEditable=function(t,r){var n=r.gd,i=r.delegate,a=e.dispatch(\"edit\",\"input\",\"cancel\"),o=i||t;if(t.style({\"pointer-events\":i?\"none\":\"all\"}),1!==t.size())throw new Error(\"boo\");function s(){var i,s,u,c;i=e.select(n).select(\".svg-container\"),s=i.append(\"div\"),u=t.node().style,c=parseFloat(u.fontSize||12),s.classed(\"plugin-editable editable\",!0).style({position:\"absolute\",\"font-family\":u.fontFamily||\"Arial\",\"font-size\":c,color:r.fill||u.fill||\"black\",opacity:1,\"background-color\":r.background||\"transparent\",outline:\"#ffffff33 1px solid\",margin:[-c/8+1,0,0,-1].join(\"px \")+\"px\",padding:\"0\",\"box-sizing\":\"border-box\"}).attr({contenteditable:!0}).text(r.text||t.attr(\"data-unformatted\")).call(Ar(t,i,r)).on(\"blur\",function(){n._editing=!1,t.text(this.textContent).style({opacity:1});var r,i=e.select(this).attr(\"class\");(r=i?\".\"+i.split(\" \")[0]+\"-math-group\":\"[class*=-math-group]\")&&e.select(t.node().parentNode).select(r).style({opacity:0});var o=this.textContent;e.select(this).transition().duration(0).remove(),e.select(document).on(\"mouseup\",null),a.edit.call(t,o)}).on(\"focus\",function(){var t=this;n._editing=!0,e.select(document).on(\"mouseup\",function(){if(e.event.target===t)return!1;document.activeElement===s.node()&&s.node().blur()})}).on(\"keyup\",function(){27===e.event.which?(n._editing=!1,t.style({opacity:1}),e.select(this).style({opacity:0}).on(\"blur\",function(){return!1}).transition().remove(),a.cancel.call(t,this.textContent)):(a.input.call(t,this.textContent),e.select(this).call(Ar(t,i,r)))}).on(\"keydown\",function(){13===e.event.which&&this.blur()}).call(l),t.style({opacity:0});var h,f=o.attr(\"class\");(h=f?\".\"+f.split(\" \")[0]+\"-math-group\":\"[class*=-math-group]\")&&e.select(t.node().parentNode).select(h).style({opacity:0})}function l(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}return r.immediate?s():o.on(\"click\",s),e.rebind(t,a,\"on\")};var kr=function(t){var e=t.marker,n=e.sizeref||1,i=e.sizemin||0,a=\"area\"===e.sizemode?function(t){return Math.sqrt(t/n)}:function(t){return t/n};return function(t){var e=a(t/2);return r(e)&&e>0?Math.max(e,i):0}},Tr={hasLines:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf(\"lines\")},hasMarkers:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf(\"markers\")},hasText:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf(\"text\")},isBubble:function(t){return ne.isPlainObject(t.marker)&&ne.isArrayOrTypedArray(t.marker.size)}},Sr={},Er=Qe.LINE_SPACING,Cr=f.DESELECTDIM,Lr=Sr={};Lr.font=function(t,e,r,n){ne.isPlainObject(e)&&(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(Oe.fill,n)},Lr.setPosition=function(t,e,r){t.attr(\"x\",e).attr(\"y\",r)},Lr.setSize=function(t,e,r){t.attr(\"width\",e).attr(\"height\",r)},Lr.setRect=function(t,e,r,n,i){t.call(Lr.setPosition,e,r).call(Lr.setSize,n,i)},Lr.translatePoint=function(t,e,n,i){var a=n.c2p(t.x),o=i.c2p(t.y);return!!(r(a)&&r(o)&&e.node())&&(\"text\"===e.node().nodeName?e.attr(\"x\",a).attr(\"y\",o):e.attr(\"transform\",\"translate(\"+a+\",\"+o+\")\"),!0)},Lr.translatePoints=function(t,r,n){t.each(function(t){var i=e.select(this);Lr.translatePoint(t,i,r,n)})},Lr.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr(\"display\",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:\"none\")},Lr.hideOutsideRangePoints=function(t,r,n){if(r._hasClipOnAxisFalse){n=n||\".point,.textpoint\";var i=r.xaxis,a=r.yaxis;t.each(function(r){var o=r[0].trace,s=o.xcalendar,l=o.ycalendar;t.selectAll(n).each(function(t){Lr.hideOutsideRangePoint(t,e.select(this),i,a,s,l)})})}},Lr.crispRound=function(t,e,n){return e&&r(e)?t._context.staticPlot?e:e<1?1:Math.round(e):n||0},Lr.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||\"\";Oe.stroke(e,n||a.color),Lr.dashLine(e,s,o)},Lr.lineGroupStyle=function(t,r,n,i){t.style(\"fill\",\"none\").each(function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||\"\";e.select(this).call(Oe.stroke,n||a.color).call(Lr.dashLine,s,o)})},Lr.dashLine=function(t,e,r){r=+r||0,e=Lr.dashStyle(e,r),t.style({\"stroke-dasharray\":e,\"stroke-width\":r+\"px\"})},Lr.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return\"solid\"===t?t=\"\":\"dot\"===t?t=r+\"px,\"+r+\"px\":\"dash\"===t?t=3*r+\"px,\"+3*r+\"px\":\"longdash\"===t?t=5*r+\"px,\"+5*r+\"px\":\"dashdot\"===t?t=3*r+\"px,\"+r+\"px,\"+r+\"px,\"+r+\"px\":\"longdashdot\"===t&&(t=5*r+\"px,\"+2*r+\"px,\"+r+\"px,\"+2*r+\"px\"),t},Lr.singleFillStyle=function(t){var r=(((e.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;r&&t.call(Oe.fill,r)},Lr.fillGroupStyle=function(t){t.style(\"stroke-width\",0).each(function(r){var n=e.select(this);try{n.call(Oe.fill,r[0].trace.fillcolor)}catch(e){ne.error(e,t),n.remove()}})},Lr.symbolNames=[],Lr.symbolFuncs=[],Lr.symbolNeedLines={},Lr.symbolNoDot={},Lr.symbolNoFill={},Lr.symbolList=[],Object.keys(Ke).forEach(function(t){var e=Ke[t];Lr.symbolList=Lr.symbolList.concat([e.n,t,e.n+100,t+\"-open\"]),Lr.symbolNames[e.n]=t,Lr.symbolFuncs[e.n]=e.f,e.needLine&&(Lr.symbolNeedLines[e.n]=!0),e.noDot?Lr.symbolNoDot[e.n]=!0:Lr.symbolList=Lr.symbolList.concat([e.n+200,t+\"-dot\",e.n+300,t+\"-open-dot\"]),e.noFill&&(Lr.symbolNoFill[e.n]=!0)});var zr=Lr.symbolNames.length,Pr=\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\";function Ir(t,e){var r=t%100;return Lr.symbolFuncs[r](e)+(t>=200?Pr:\"\")}Lr.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=Lr.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=zr||t>=400?0:Math.floor(Math.max(t,0))};var Dr={x1:1,x2:0,y1:0,y2:0},Or={x1:0,x2:0,y1:1,y2:0};Lr.gradient=function(t,r,n,i,a,o){var l=r._fullLayout._defs.select(\".gradients\").selectAll(\"#\"+n).data([i+a+o],ne.identity);l.exit().remove(),l.enter().append(\"radial\"===i?\"radialGradient\":\"linearGradient\").each(function(){var t=e.select(this);\"horizontal\"===i?t.attr(Dr):\"vertical\"===i&&t.attr(Or),t.attr(\"id\",n);var r=s(a),l=s(o);t.append(\"stop\").attr({offset:\"0%\",\"stop-color\":Oe.tinyRGB(l),\"stop-opacity\":l.getAlpha()}),t.append(\"stop\").attr({offset:\"100%\",\"stop-color\":Oe.tinyRGB(r),\"stop-opacity\":r.getAlpha()})}),t.style({fill:\"url(#\"+n+\")\",\"fill-opacity\":null})},Lr.initGradients=function(t){var e=t._fullLayout._defs.selectAll(\".gradients\").data([0]);e.enter().append(\"g\").classed(\"gradients\",!0),e.selectAll(\"linearGradient,radialGradient\").remove()},Lr.singlePointStyle=function(t,e,r,n,i,a){var o=r.marker;!function(t,e,r,n,i,a,o,s){if(P.traceIs(r,\"symbols\")){var l=kr(r);e.attr(\"d\",function(t){var e;e=\"various\"===t.ms||\"various\"===a.size?3:Tr.isBubble(r)?l(t.ms):(a.size||6)/2,t.mrc=e;var n=Lr.symbolNumber(t.mx||a.symbol)||0;return t.om=n%200>=100,Ir(n,e)})}e.style(\"opacity\",function(t){return(t.mo+1||a.opacity+1)-1});var u,c,h,f=!1;if(t.so?(h=o.outlierwidth,c=o.outliercolor,u=a.outliercolor):(h=(t.mlw+1||o.width+1||(t.trace?t.trace.marker.line.width:0)+1)-1,c=\"mlc\"in t?t.mlcc=i(t.mlc):ne.isArrayOrTypedArray(o.color)?Oe.defaultLine:o.color,ne.isArrayOrTypedArray(a.color)&&(u=Oe.defaultLine,f=!0),u=\"mc\"in t?t.mcc=n(t.mc):a.color||\"rgba(0,0,0,0)\"),t.om)e.call(Oe.stroke,u).style({\"stroke-width\":(h||1)+\"px\",fill:\"none\"});else{e.style(\"stroke-width\",h+\"px\");var p=a.gradient,d=t.mgt;if(d?f=!0:d=p&&p.type,d&&\"none\"!==d){var g=t.mgc;g?f=!0:g=p.color;var v=\"g\"+s._fullLayout._uid+\"-\"+r.uid;f&&(v+=\"-\"+t.i),e.call(Lr.gradient,s,v,d,u,g)}else e.call(Oe.fill,u);h&&e.call(Oe.stroke,c)}}(t,e,r,n,i,o,o.line,a)},Lr.pointStyle=function(t,r,n){if(t.size()){var i=r.marker,a=Lr.tryColorscale(i,\"\"),o=Lr.tryColorscale(i,\"line\");t.each(function(t){Lr.singlePointStyle(t,e.select(this),r,a,o,n)})}},Lr.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.marker||{},a=r.marker||{},o=n.marker||{},s=i.opacity,l=a.opacity,u=o.opacity,c=void 0!==l,h=void 0!==u;e.opacityFn=function(t){var e=t.mo,r=void 0!==e;if(r||c||h){if(!t.selected)return h?u:Cr*(r?e:s);if(c)return l}};var f=a.color,p=o.color;(f||p)&&(e.colorFn=function(t){if(t.selected){if(f)return f}else if(p)return p});var d=a.size,g=o.size,v=void 0!==d,m=void 0!==g;return(v||m)&&(e.sizeFn=function(t){var e=t.mrc;return t.selected?v?d/2:e:m?g/2:e}),e},Lr.selectedPointStyle=function(t,r){if(t.size()&&r.selectedpoints){var n=Lr.makeSelectedPointStyleFns(r),i=r.marker||{};t.each(function(t){var r=e.select(this),i=n.opacityFn(t);void 0!==i&&r.style(\"opacity\",i)}),n.colorFn&&t.each(function(t){var r=e.select(this),i=n.colorFn(t);i&&Oe.fill(r,i)}),P.traceIs(r,\"symbols\")&&n.sizeFn&&t.each(function(t){var r=e.select(this),a=t.mx||i.symbol||0,o=n.sizeFn(t);r.attr(\"d\",Ir(Lr.symbolNumber(a),o)),t.mrc2=o})}},Lr.tryColorscale=function(t,e){var r=e?ne.nestedProperty(t,e).get():t,n=r.colorscale,i=r.color;return n&&ne.isArrayOrTypedArray(i)?Je.makeColorScaleFunc(Je.extractScale(n,r.cmin,r.cmax)):ne.identity};var Rr={start:1,end:-1,middle:0,bottom:1,top:-1};function Fr(t,r,n,i){var a=e.select(t.node().parentNode),o=-1!==r.indexOf(\"top\")?\"top\":-1!==r.indexOf(\"bottom\")?\"bottom\":\"middle\",s=-1!==r.indexOf(\"left\")?\"end\":-1!==r.indexOf(\"right\")?\"start\":\"middle\",l=i?i/.8+1:0,u=(er.lineCount(t)-1)*Er+1,c=Rr[s]*l,h=.75*n+Rr[o]*l+(Rr[o]-1)*u*n/2;t.attr(\"text-anchor\",s),a.attr(\"transform\",\"translate(\"+c+\",\"+h+\")\")}function Br(t,e){var n=t.ts||e.textfont.size;return r(n)&&n>0?n:0}Lr.textPointStyle=function(t,r,n){t.each(function(t){var i=e.select(this),a=ne.extractOption(t,r,\"tx\",\"text\");if(a){var o=t.tp||r.textposition,s=Br(t,r);i.call(Lr.font,t.tf||r.textfont.family,s,t.tc||r.textfont.color).text(a).call(er.convertToTspans,n).call(Fr,o,s,t.mrc)}else i.remove()})},Lr.selectedTextStyle=function(t,r){if(t.size()&&r.selectedpoints){var n=r.selected||{},i=r.unselected||{};t.each(function(t){var a,o=e.select(this),s=t.tc||r.textfont.color,l=t.tp||r.textposition,u=Br(t,r),c=(n.textfont||{}).color,h=(i.textfont||{}).color;t.selected?c&&(a=c):h?a=h:c||(a=Oe.addOpacity(s,Cr)),a&&Oe.fill(o,a),Fr(o,l,u,t.mrc2||t.mrc)})}};var Nr=.5;function jr(t,r,n,i){var a=t[0]-r[0],o=t[1]-r[1],s=n[0]-r[0],l=n[1]-r[1],u=Math.pow(a*a+o*o,Nr/2),c=Math.pow(s*s+l*l,Nr/2),h=(c*c*a-u*u*s)*i,f=(c*c*o-u*u*l)*i,p=3*c*(u+c),d=3*u*(u+c);return[[e.round(r[0]+(p&&h/p),2),e.round(r[1]+(p&&f/p),2)],[e.round(r[0]-(d&&h/d),2),e.round(r[1]-(d&&f/d),2)]]}Lr.smoothopen=function(t,e){if(t.length<3)return\"M\"+t.join(\"L\");var r,n=\"M\"+t[0],i=[];for(r=1;r<t.length-1;r++)i.push(jr(t[r-1],t[r],t[r+1],e));for(n+=\"Q\"+i[0][0]+\" \"+t[1],r=2;r<t.length-1;r++)n+=\"C\"+i[r-2][1]+\" \"+i[r-1][0]+\" \"+t[r];return n+=\"Q\"+i[t.length-3][1]+\" \"+t[t.length-1]},Lr.smoothclosed=function(t,e){if(t.length<3)return\"M\"+t.join(\"L\")+\"Z\";var r,n=\"M\"+t[0],i=t.length-1,a=[jr(t[i],t[0],t[1],e)];for(r=1;r<i;r++)a.push(jr(t[r-1],t[r],t[r+1],e));for(a.push(jr(t[i-1],t[i],t[0],e)),r=1;r<=i;r++)n+=\"C\"+a[r-1][1]+\" \"+a[r][0]+\" \"+t[r];return n+=\"C\"+a[i][1]+\" \"+a[0][0]+\" \"+t[0]+\"Z\"};var Vr={hv:function(t,r){return\"H\"+e.round(r[0],2)+\"V\"+e.round(r[1],2)},vh:function(t,r){return\"V\"+e.round(r[1],2)+\"H\"+e.round(r[0],2)},hvh:function(t,r){return\"H\"+e.round((t[0]+r[0])/2,2)+\"V\"+e.round(r[1],2)+\"H\"+e.round(r[0],2)},vhv:function(t,r){return\"V\"+e.round((t[1]+r[1])/2,2)+\"H\"+e.round(r[0],2)+\"V\"+e.round(r[1],2)}},Ur=function(t,r){return\"L\"+e.round(r[0],2)+\",\"+e.round(r[1],2)};Lr.steps=function(t){var r=Vr[t]||Ur;return function(t){for(var n=\"M\"+e.round(t[0][0],2)+\",\"+e.round(t[0][1],2),i=1;i<t.length;i++)n+=r(t[i-1],t[i]);return n}},Lr.makeTester=function(){var t=e.select(\"body\").selectAll(\"#js-plotly-tester\").data([0]);t.enter().append(\"svg\").attr(\"id\",\"js-plotly-tester\").attr($e.svgAttrs).style({position:\"absolute\",left:\"-10000px\",top:\"-10000px\",width:\"9000px\",height:\"9000px\",\"z-index\":\"1\"});var r=t.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\"}),Lr.tester=t,Lr.testref=r},Lr.savedBBoxes={};var qr=0;function Hr(t){var e=t.getAttribute(\"data-unformatted\");if(null!==e)return e+t.getAttribute(\"data-math\")+t.getAttribute(\"text-anchor\")+t.getAttribute(\"style\")}Lr.bBox=function(t,r,n){var i,a,o;if(n||(n=Hr(t)),n){if(i=Lr.savedBBoxes[n])return ne.extendFlat({},i)}else if(1===t.childNodes.length){var s=t.childNodes[0];if(n=Hr(s)){var l=+s.getAttribute(\"x\")||0,u=+s.getAttribute(\"y\")||0,c=s.getAttribute(\"transform\");if(!c){var h=Lr.bBox(s,!1,n);return l&&(h.left+=l,h.right+=l),u&&(h.top+=u,h.bottom+=u),h}if(n+=\"~\"+l+\"~\"+u+\"~\"+c,i=Lr.savedBBoxes[n])return ne.extendFlat({},i)}}r?a=t:(o=Lr.tester.node(),a=t.cloneNode(!0),o.appendChild(a)),e.select(a).attr(\"transform\",null).call(er.positionText,0,0);var f=a.getBoundingClientRect(),p=Lr.testref.node().getBoundingClientRect();r||o.removeChild(a);var d={height:f.height,width:f.width,left:f.left-p.left,top:f.top-p.top,right:f.right-p.left,bottom:f.bottom-p.top};return qr>=1e4&&(Lr.savedBBoxes={},qr=0),n&&(Lr.savedBBoxes[n]=d),qr++,ne.extendFlat({},d)},Lr.setClipUrl=function(t,r){if(r){var n=\"#\"+r,i=e.select(\"base\");i.size()&&i.attr(\"href\")&&(n=window.location.href.split(\"#\")[0]+n),t.attr(\"clip-path\",\"url(\"+n+\")\")}else t.attr(\"clip-path\",null)},Lr.getTranslate=function(t){var e=(t[t.attr?\"attr\":\"getAttribute\"](\"transform\")||\"\").replace(/.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/,function(t,e,r){return[e,r].join(\" \")}).split(\" \");return{x:+e[0]||0,y:+e[1]||0}},Lr.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=(a+=\" translate(\"+e+\", \"+r+\")\").trim(),t[i](\"transform\",a),a},Lr.getScale=function(t){var e=(t[t.attr?\"attr\":\"getAttribute\"](\"transform\")||\"\").replace(/.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/,function(t,e,r){return[e,r].join(\" \")}).split(\" \");return{x:+e[0]||1,y:+e[1]||1}},Lr.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=(a+=\" scale(\"+e+\", \"+r+\")\").trim(),t[i](\"transform\",a),a},Lr.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=(n+=i).trim(),this.setAttribute(\"transform\",n)}),i};var Gr=/translate\\([^)]*\\)\\s*$/;Lr.setTextPointsScale=function(t,r,n){t.each(function(){var t,i=e.select(this),a=i.select(\"text\");if(a.node()){var o=parseFloat(a.attr(\"x\")||0),s=parseFloat(a.attr(\"y\")||0),l=(i.attr(\"transform\")||\"\").match(Gr);t=1===r&&1===n?[]:[\"translate(\"+o+\",\"+s+\")\",\"scale(\"+r+\",\"+n+\")\",\"translate(\"+-o+\",\"+-s+\")\"],l&&t.push(l),i.attr(\"transform\",t.join(\" \"))}})};var Wr={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20},Yr=Ae.dash,Xr=m.extendFlat,Zr={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dx:{valType:\"number\",dflt:1,editType:\"calc\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dy:{valType:\"number\",dflt:1,editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"],editType:\"calc\"},hoveron:{valType:\"flaglist\",flags:[\"points\",\"fills\"],editType:\"style\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},shape:{valType:\"enumerated\",values:[\"linear\",\"spline\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},smoothing:{valType:\"number\",min:0,max:1.3,dflt:1,editType:\"plot\"},dash:Xr({},Yr,{editType:\"style\"}),simplify:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cliponaxis:{valType:\"boolean\",dflt:!0,editType:\"plot\"},fill:{valType:\"enumerated\",values:[\"none\",\"tozeroy\",\"tozerox\",\"tonexty\",\"tonextx\",\"toself\",\"tonext\"],dflt:\"none\",editType:\"calc\"},fillcolor:{valType:\"color\",editType:\"style\"},marker:Xr({symbol:{valType:\"enumerated\",values:Sr.symbolList,dflt:\"circle\",arrayOk:!0,editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,arrayOk:!0,editType:\"style\"},size:{valType:\"number\",min:0,dflt:6,arrayOk:!0,editType:\"calcIfAutorange\"},maxdisplayed:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},sizeref:{valType:\"number\",dflt:1,editType:\"calc\"},sizemin:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"diameter\",\"area\"],dflt:\"diameter\",editType:\"calc\"},showscale:{valType:\"boolean\",dflt:!1,editType:\"calc\"},colorbar:ze,line:Xr({width:{valType:\"number\",min:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},De()),gradient:{type:{valType:\"enumerated\",values:[\"radial\",\"horizontal\",\"vertical\",\"none\"],arrayOk:!0,dflt:\"none\",editType:\"calc\"},color:{valType:\"color\",arrayOk:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},De()),selected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},unselected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},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,editType:\"calc\"},textfont:T({editType:\"calc\",colorEditType:\"style\",arrayOk:!0}),r:{valType:\"data_array\",editType:\"calc\"},t:{valType:\"data_array\",editType:\"calc\"}},Jr=Zr.marker,Kr={r:Zr.r,t:Zr.t,marker:{color:Jr.color,size:Jr.size,symbol:Jr.symbol,opacity:Jr.opacity,editType:\"calc\"}},Qr=m.extendFlat,$r=ye.overrideAll,tn=Qr({},Ce.domain,{});function en(t,e){return Qr({},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 rn=$r({radialaxis:en(0,{range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},domain:tn,orientation:{valType:\"number\"}}),angularaxis:en(0,{range:{valType:\"info_array\",items:[{valType:\"number\",dflt:0},{valType:\"number\",dflt:360}]},domain:tn}),layout:{direction:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"]},orientation:{valType:\"angle\"}}},\"plot\",\"nested\"),nn={},an=ne.extendFlat,on=ne.extendDeepAll,sn=\"_isSubplotObj\",ln=\"_isLinkedToArray\",un=[sn,ln,\"_arrayAttrRegexps\",\"_deprecated\"];function cn(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(hn(e[r]))r++;else if(r<e.length)return!1;for(;r<e.length;r++){var n=t[e[r]];if(!ne.isPlainObject(n))break;if(t=n,r===e.length-1)break;if(t._isLinkedToArray){if(!hn(e[++r]))return!1}else if(\"info_array\"===t.valType){var i=e[++r];if(!hn(i))return!1;var a=t.items;if(Array.isArray(a)){if(i>=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!hn(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function hn(t){return t===Math.round(t)&&t>=0}function fn(t){return function(t){nn.crawl(t,function(t,e,r){nn.isValObject(t)?\"data_array\"===t.valType?(t.role=\"data\",r[e+\"src\"]={valType:\"string\",editType:\"none\"}):!0===t.arrayOk&&(r[e+\"src\"]={valType:\"string\",editType:\"none\"}):ne.isPlainObject(t)&&(t.role=\"object\")})}(t),function(t){nn.crawl(t,function(t,e,r){if(!t)return;var n=t[ln];if(!n)return;delete t[ln],r[e]={items:{}},r[e].items[n]=t,r[e].role=\"object\"})}(t),t}function pn(t,e,r){var n=ne.nestedProperty(t,r),i=on({},e.layoutAttributes);i[sn]=!0,n.set(i)}function dn(t,e,r){var n=ne.nestedProperty(t,r);n.set(on(n.get()||{},e))}nn.IS_SUBPLOT_OBJ=sn,nn.IS_LINKED_TO_ARRAY=ln,nn.DEPRECATED=\"_deprecated\",nn.UNDERSCORE_ATTRS=un,nn.get=function(){var t={};P.allTypes.concat(\"area\").forEach(function(e){t[e]=function(t){var e,r;\"area\"===t?(e={attributes:Kr},r={}):(e=P.modules[t]._module,r=e.basePlotModule);var n={type:null};on(n,E),on(n,e.attributes),r.attributes&&on(n,r.attributes);n.type=t;var i={meta:e.meta||{},attributes:fn(n)};if(e.layoutAttributes){var a={};on(a,e.layoutAttributes),i.layoutAttributes=fn(a)}return i}(e)});var e,r={};return Object.keys(P.transformsRegistry).forEach(function(t){r[t]=function(t){var e=P.transformsRegistry[t],r=on({},e.attributes);return Object.keys(P.componentsRegistry).forEach(function(e){var n=P.componentsRegistry[e];n.schema&&n.schema.transforms&&n.schema.transforms[t]&&Object.keys(n.schema.transforms[t]).forEach(function(e){dn(r,n.schema.transforms[t][e],e)})}),{attributes:fn(r)}}(t)}),{defs:{valObjects:ne.valObjectMeta,metaKeys:un.concat([\"description\",\"role\",\"editType\",\"impliedEdits\"]),editType:{traces:ye.traces,layout:ye.layout},impliedEdits:{}},traces:t,layout:function(){var t,e,r={};for(t in on(r,z),P.subplotsRegistry)if((e=P.subplotsRegistry[t]).layoutAttributes)if(\"cartesian\"===e.name)pn(r,e,\"xaxis\"),pn(r,e,\"yaxis\");else{var n=\"subplot\"===e.attr?e.name:e.attr;pn(r,e,n)}for(t in r=function(t){return an(t,{radialaxis:rn.radialaxis,angularaxis:rn.angularaxis}),an(t,rn.layout),t}(r),P.componentsRegistry){var i=(e=P.componentsRegistry[t]).schema;if(i&&(i.subplots||i.layout)){var a=i.subplots;if(a&&a.xaxis&&!a.yaxis)for(var o in a.xaxis)delete r.yaxis[o]}else e.layoutAttributes&&dn(r,e.layoutAttributes,e.name)}return{layoutAttributes:fn(r)}}(),transforms:r,frames:(e={frames:ne.extendDeepAll({},Me)},fn(e),e.frames),animation:fn(we)}},nn.crawl=function(t,e,r,n){var i=r||0;n=n||\"\",Object.keys(t).forEach(function(r){var a=t[r];if(-1===un.indexOf(r)){var o=(n?n+\".\":\"\")+r;e(a,r,t,i,o),nn.isValObject(a)||ne.isPlainObject(a)&&\"impliedEdits\"!==r&&nn.crawl(a,e,i+1,o)}})},nn.isValObject=function(t){return t&&void 0!==t.valType},nn.findArrayAttributes=function(t){var e=[],r=[];function n(n,i,a,o){if(r=r.slice(0,o).concat([i]),n&&(\"data_array\"===n.valType||!0===n.arrayOk)&&!(\"colorbar\"===r[o-1]&&(\"ticktext\"===i||\"tickvals\"===i))){var s=function(t){return t.join(\".\")}(r),l=ne.nestedProperty(t,s).get();ne.isArrayOrTypedArray(l)&&e.push(s)}}if(nn.crawl(E,n),t._module&&t._module.attributes&&nn.crawl(t._module.attributes,n),t.transforms)for(var i=t.transforms,a=0;a<i.length;a++){var o=i[a]._module;o&&(r=[\"transforms[\"+a+\"]\"],nn.crawl(o.attributes,n,1))}return t._fullInput&&t._fullInput._module&&t._fullInput._module.attributes&&(nn.crawl(t._fullInput._module.attributes,n),e=ne.filterUnique(e)),e},nn.getTraceValObject=function(t,e){var r,n,i=e[0],a=1;if(\"transforms\"===i){if(!Array.isArray(t.transforms))return!1;var o=e[1];if(!hn(o)||o>=t.transforms.length)return!1;n=(r=(P.transformsRegistry[t.transforms[o].type]||{}).attributes)&&r[e[2]],a=3}else if(\"area\"===t.type)n=Kr[i];else{var s=t._module;if(s||(s=(P.modules[t.type||E.type.dflt]||{})._module),!s)return!1;if(!(n=(r=s.attributes)&&r[i])){var l=s.basePlotModule;l&&l.attributes&&(n=l.attributes[i])}n||(n=E[i])}return cn(n,e,a)},nn.getLayoutValObject=function(t,e){return cn(function(t,e){var r,n,i,a,o=t._basePlotModules;if(o){var s;for(r=0;r<o.length;r++){if((i=o[r]).attrRegex&&i.attrRegex.test(e)){if(i.layoutAttrOverrides)return i.layoutAttrOverrides;!s&&i.layoutAttributes&&(s=i.layoutAttributes)}var l=i.baseLayoutAttrOverrides;if(l&&e in l)return l[e]}if(s)return s}var u=t._modules;if(u)for(r=0;r<u.length;r++)if((a=u[r].layoutAttributes)&&e in a)return a[e];for(n in P.componentsRegistry)if(!(i=P.componentsRegistry[n]).schema&&e===i.name)return i.layoutAttributes;if(e in z)return z[e];if(\"radialaxis\"===e||\"angularaxis\"===e)return rn[e];return rn.layout[e]||!1}(t,e[0]),e,1)};var gn={id2name:function(t){if(\"string\"==typeof t&&t.match(Te.AX_ID_PATTERN)){var e=t.substr(1);return\"1\"===e&&(e=\"\"),t.charAt(0)+\"axis\"+e}},name2id:function(t){if(t.match(Te.AX_NAME_PATTERN)){var e=t.substr(5);return\"1\"===e&&(e=\"\"),t.charAt(0)+e}},cleanId:function(t,e){if(t.match(Te.AX_ID_PATTERN)&&(!e||t.charAt(0)===e)){var r=t.substr(1).replace(/^0+/,\"\");return\"1\"===r&&(r=\"\"),t.charAt(0)+r}},list:function(t,e,r){var n=t._fullLayout;if(!n)return[];var i,a=gn.listIds(t,e),o=new Array(a.length);for(i=0;i<a.length;i++){var s=a[i];o[i]=n[s.charAt(0)+\"axis\"+s.substr(1)]}if(!r){var l=n._subplots.gl3d||[];for(i=0;i<l.length;i++){var u=n[l[i]];e?o.push(u[e+\"axis\"]):o.push(u.xaxis,u.yaxis,u.zaxis)}}return o},listIds:function(t,e){var r=t._fullLayout;if(!r)return[];var n=r._subplots;return e?n[e+\"axis\"]:n.xaxis.concat(n.yaxis)},getFromId:function(t,e,r){var n=t._fullLayout;return\"x\"===r?e=e.replace(/y[0-9]*/,\"\"):\"y\"===r&&(e=e.replace(/x[0-9]*/,\"\")),n[gn.id2name(e)]},getFromTrace:function(t,e,r){var n=t._fullLayout,i=null;if(P.traceIs(e,\"gl3d\")){var a=e.scene;\"scene\"===a.substr(0,5)&&(i=n[a][r+\"axis\"])}else i=gn.getFromId(t,e[r+\"axis\"]||r);return i},idSort:function(t,e){var r=t.charAt(0),n=e.charAt(0);return r!==n?r>n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)}},vn={};function mn(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=ne.nestedProperty(n,e.prop).get(),(a=r[e.type]=r[e.type]||{}).hasOwnProperty(e.prop)&&a[e.prop]!==i&&(o=!0),a[e.prop]=i,{changed:o,value:i}}function yn(t,e){var r=[],n=e[0],i={};if(\"string\"==typeof n)i[n]=e[1];else{if(!ne.isPlainObject(n))return r;i=n}return bn(i,function(t,e,n){r.push({type:\"layout\",prop:t,value:n})},\"\",0),r}function xn(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(!ne.isPlainObject(n))return o;a=n,void 0===r&&(r=i)}return void 0===r&&(r=null),bn(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 bn(t,e,r,n){Object.keys(t).forEach(function(i){var a=t[i];if(\"_\"!==i[0]){var o=r+(n>0?\".\":\"\")+i;ne.isPlainObject(a)?bn(a,e,o,n+1):e(o,i,a)}})}vn.manageCommandObserver=function(t,e,r,n){var i={},a=!0;e&&e._commandObserver&&(i=e._commandObserver),i.cache||(i.cache={}),i.lookupTable={};var o=vn.hasSimpleAPICommandBindings(t,r,i.lookupTable);if(e&&e._commandObserver){if(o)return i;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,i}if(o){mn(t,o,i.cache),i.check=function(){if(a){var e=mn(t,o,i.cache);return e.changed&&n&&void 0!==i.lookupTable[e.value]&&(i.disable(),Promise.resolve(n({value:e.value,type:o.type,prop:o.prop,traces:o.traces,index:i.lookupTable[e.value]})).then(i.enable,i.enable)),e.changed}};for(var s=[\"plotly_relayout\",\"plotly_redraw\",\"plotly_restyle\",\"plotly_update\",\"plotly_animatingframe\",\"plotly_afterplot\"],l=0;l<s.length;l++)t._internalOn(s[l],i.check);i.remove=function(){for(var e=0;e<s.length;e++)t._removeInternalListener(s[e],i.check)}}else ne.log(\"Unable to automatically bind plot updates to API command\"),i.lookupTable={},i.remove=function(){};return i.disable=function(){a=!1},i.enable=function(){a=!0},e&&(e._commandObserver=i),i},vn.hasSimpleAPICommandBindings=function(t,e,r){var n,i,a=e.length;for(n=0;n<a;n++){var o,s=e[n],l=s.method,u=s.args;if(Array.isArray(u)||(u=[]),!l)return!1;var c=vn.computeAPICommandBindings(t,l,u);if(1!==c.length)return!1;if(i){if((o=c[0]).type!==i.type)return!1;if(o.prop!==i.prop)return!1;if(Array.isArray(i.traces)){if(!Array.isArray(o.traces))return!1;o.traces.sort();for(var h=0;h<i.traces.length;h++)if(i.traces[h]!==o.traces[h])return!1}else if(o.prop!==i.prop)return!1}else i=c[0],Array.isArray(i.traces)&&i.traces.sort();var f=(o=c[0]).value;if(Array.isArray(f)){if(1!==f.length)return!1;f=f[0]}r&&(r[f]=n)}return i},vn.executeAPICommand=function(t,e,r){if(\"skip\"===e)return Promise.resolve();var n=P.apiMethodRegistry[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 ne.warn(\"API call to Plotly.\"+e+\" rejected.\",t),Promise.reject(t)})},vn.computeAPICommandBindings=function(t,e,r){var n;switch(Array.isArray(r)||(r=[]),e){case\"restyle\":n=xn(t,r);break;case\"relayout\":n=yn(t,r);break;case\"update\":n=xn(t,[r[0],r[2]]).concat(yn(t,[r[1]]));break;case\"animate\":n=function(t,e){return Array.isArray(e[0])&&1===e[0].length&&-1!==[\"string\",\"number\"].indexOf(typeof e[0][0])?[{type:\"layout\",prop:\"_currentFrame\",value:e[0][0].toString()}]:[]}(0,r);break;default:n=[]}return n};var _n={},wn=ne._,Mn=t.BADNUM,An=_n={},kn=ne.relinkPrivateKeys;ne.extendFlat(An,P),An.attributes=E,An.attributes.type.values=An.allTypes,An.fontAttrs=T,An.layoutAttributes=z,An.fontWeight=\"normal\";var Tn=An.transformsRegistry;An.executeAPICommand=vn.executeAPICommand,An.computeAPICommandBindings=vn.computeAPICommandBindings,An.manageCommandObserver=vn.manageCommandObserver,An.hasSimpleAPICommandBindings=vn.hasSimpleAPICommandBindings,An.redrawText=function(t){if(!((t=ne.getGraphDiv(t)).data&&t.data[0]&&t.data[0].r))return new Promise(function(e){setTimeout(function(){P.getComponentMethod(\"annotations\",\"draw\")(t),P.getComponentMethod(\"legend\",\"draw\")(t),(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()}),e(An.previousPromises(t))},300)})},An.resize=function(t){return t=ne.getGraphDiv(t),new Promise(function(e,r){t&&!function(t){var e=window.getComputedStyle(t).display;return!e||\"none\"===e}(t)||r(new Error(\"Resize must be passed a displayed plot div element.\")),t._redrawTimer&&clearTimeout(t._redrawTimer),t._redrawTimer=setTimeout(function(){if(t.layout.width&&t.layout.height)e(t);else{delete t.layout.width,delete t.layout.height;var r=t.changed;t.autoplay=!0,P.call(\"relayout\",t,{autosize:!0}).then(function(){t.changed=r,e(t)})}},100)})},An.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then(function(){t._promises=[]})},An.addLinks=function(t){if(t._context.showLink||t._context.showSources){var r=t._fullLayout,n=r._paper.selectAll(\"text.js-plot-link-container\").data([0]);n.enter().append(\"text\").classed(\"js-plot-link-container\",!0).style({\"font-family\":'\"Open Sans\", Arial, sans-serif',\"font-size\":\"12px\",fill:Oe.defaultLine,\"pointer-events\":\"all\"}).each(function(){var t=e.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=n.node(),a={y:r._paper.attr(\"height\")-9};document.body.contains(i)&&i.getComputedTextLength()>=r.width-20?(a[\"text-anchor\"]=\"start\",a.x=5):(a[\"text-anchor\"]=\"end\",a.x=r._paper.attr(\"width\")-7),n.attr(a);var o=n.select(\".js-link-to-tool\"),s=n.select(\".js-link-spacer\"),l=n.select(\".js-sourcelinks\");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(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(){An.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})}}(t,o),s.text(o.text()&&l.text()?\" - \":\"\")}},An.sendDataToCloud=function(t){t.emit(\"plotly_beforeexport\");var r=window.PLOTLYENV&&window.PLOTLYENV.BASE_URL||\"https://plot.ly\",n=e.select(t).append(\"div\").attr(\"id\",\"hiddenform\").style(\"display\",\"none\"),i=n.append(\"form\").attr({action:r+\"/external\",method:\"post\",target:\"_blank\"});return i.append(\"input\").attr({type:\"text\",name:\"data\"}).node().value=An.graphJson(t,!1,\"keepdata\"),i.node().submit(),n.remove(),t.emit(\"plotly_afterexport\"),!1};var Sn,En=[\"days\",\"shortDays\",\"months\",\"shortMonths\",\"periods\",\"dateTime\",\"date\",\"time\",\"decimal\",\"thousands\",\"grouping\",\"currency\"],Cn=[\"year\",\"month\",\"dayMonth\",\"dayMonthYear\"];function Ln(t,e){var r,n,i=t.trace,a=i._arrayAttrs,o={};for(r=0;r<a.length;r++)o[n=a[r]]=ne.nestedProperty(i,n).get().slice();for(t.trace=e,r=0;r<a.length;r++)n=a[r],ne.nestedProperty(t.trace,n).set(o[n])}function zn(t,e){var r=t._context.locale,n=!1,i={};function a(t){for(var r=!0,a=0;a<e.length;a++){var o=e[a];i[o]||(t[o]?i[o]=t[o]:r=!1)}r&&(n=!0)}for(var o=0;o<2;o++){for(var s=t._context.locales,l=0;l<2;l++){var u=(s[r]||{}).format;if(u&&(a(u),n))break;s=P.localeRegistry}var c=r.split(\"-\")[0];if(n||c===r)break;r=c}return n||a(P.localeRegistry.en.format),i}function Pn(t,e,r,n){for(var i=t.transforms,a=[t],o=0;o<i.length;o++){var s=i[o],l=Tn[s.type];l&&l.transform&&(a=l.transform(a,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return a}function In(t){for(var e=0;e<t.length;e++)t[e].clearCalc()}An.supplyDefaults=function(t){var r=t._fullLayout||{};if(r._skipDefaults)delete r._skipDefaults;else{var n,i=t._fullLayout={},a=t.layout||{},o=t._fullData||[],s=t._fullData=[],l=t.data||[],u=t._context||{};t._transitionData||An.createTransitionData(t),i._dfltTitle={plot:wn(t,\"Click to enter Plot title\"),x:wn(t,\"Click to enter X axis title\"),y:wn(t,\"Click to enter Y axis title\"),colorbar:wn(t,\"Click to enter Colorscale title\"),annotation:wn(t,\"new text\")},i._traceWord=wn(t,\"trace\");var c=zn(t,En);if(i._mapboxAccessToken=u.mapboxAccessToken,r._initialAutoSizeIsDone){var h=r.width,f=r.height;An.supplyLayoutGlobalDefaults(a,i,c),a.width||(i.width=h),a.height||(i.height=f)}else{An.supplyLayoutGlobalDefaults(a,i,c);var p=!a.width||!a.height,d=i.autosize,g=u.autosizable;p&&(d||g)?An.plotAutoSize(t,a,i):p&&An.sanitizeMargins(t),!d&&p&&(a.width=i.width,a.height=i.height)}i._d3locale=function(t,r){return t.decimal=r.charAt(0),t.thousands=r.charAt(1),e.locale(t)}(c,i.separators),i._extraFormat=zn(t,Cn),i._initialAutoSizeIsDone=!0,i._dataLength=l.length,i._modules=[],i._basePlotModules=[],i._subplots=function(){var t,e,r={};if(!Sn){Sn=[];var n=P.subplotsRegistry;for(var i in n){var a=n[i],o=a.attr;if(o&&(Sn.push(i),Array.isArray(o)))for(e=0;e<o.length;e++)ne.pushUnique(Sn,o[e])}}for(t=0;t<Sn.length;t++)r[Sn[t]]=[];return r}(),i._globalTransforms=(t._context||{}).globalTransforms,An.supplyDataDefaults(l,s,a,i),i._has=An._hasPlotType.bind(i);var v=i._modules;for(n=0;n<v.length;n++){var m=v[n];m.cleanData&&m.cleanData(s)}if(o.length===l.length)for(n=0;n<s.length;n++)kn(s[n],o[n]);An.supplyLayoutModuleDefaults(a,i,s,t._transitionData),i._hasCartesian=i._has(\"cartesian\"),i._hasGeo=i._has(\"geo\"),i._hasGL3D=i._has(\"gl3d\"),i._hasGL2D=i._has(\"gl2d\"),i._hasTernary=i._has(\"ternary\"),i._hasPie=i._has(\"pie\"),An.cleanPlot(s,i,o,r),An.linkSubplots(s,i,o,r),kn(i,r),An.doAutoMargin(t);var y=gn.list(t);for(n=0;n<y.length;n++){y[n].setScale()}if((t.calcdata||[]).length===s.length)for(n=0;n<s.length;n++){var x=s[n],b=t.calcdata[n][0];b&&b.trace&&(b.trace._hasCalcTransform?Ln(b,x):b.trace=x)}}},An.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=[])},An._hasPlotType=function(t){var e,r=this._basePlotModules||[];for(e=0;e<r.length;e++){if(r[e].name===t)return!0}var n=this._modules||[];for(e=0;e<n.length;e++){var i=n[e];if(i.categories&&i.categories.indexOf(t)>=0)return!0}return!1},An.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,c=n._has&&n._has(\"gl\"),h=e._has&&e._has(\"gl\");c&&!h&&void 0!==n._glcontainer&&(n._glcontainer.selectAll(\".gl-canvas\").remove(),n._glcanvas=null);t:for(i=0;i<r.length;i++){var f=r[i].uid;for(a=0;a<t.length;a++){if(f===t[a].uid)continue t}var p=\".hm\"+f+\",.contour\"+f+\",.carpet\"+f+\",#clip\"+f+\",.trace\"+f;l&&n._paper.selectAll(p).remove(),u&&(n._infolayer.selectAll(\".cb\"+f).remove(),n._infolayer.selectAll(\"g.rangeslider-container\").selectAll(p).remove())}n._zoomlayer&&n._zoomlayer.selectAll(\".select-outline\").remove()},An.linkSubplots=function(t,e,r,n){var i,a,o,s,l=n._plots||{},u=e._plots={},c=e._subplots,h={_fullData:t,_fullLayout:e},f=c.cartesian.concat(c.gl2d||[]);for(i=0;i<f.length;i++){var p,d=l[o=f[i]],g=gn.getFromId(h,o,\"x\"),v=gn.getFromId(h,o,\"y\");for(d?((p=u[o]=d).xaxis.layer!==g.layer&&(p.xlines.attr(\"d\",null),p.xaxislayer.selectAll(\"*\").remove()),p.yaxis.layer!==v.layer&&(p.ylines.attr(\"d\",null),p.yaxislayer.selectAll(\"*\").remove())):(p=u[o]={}).id=o,p.xaxis=g,p.yaxis=v,p._hasClipOnAxisFalse=!1,a=0;a<t.length;a++){var m=t[a];if(m.xaxis===p.xaxis._id&&m.yaxis===p.yaxis._id&&!1===m.cliponaxis){p._hasClipOnAxisFalse=!0;break}}}var y=gn.list(h,null,!0);for(i=0;i<y.length;i++){var x=null;(s=y[i]).overlaying&&(x=gn.getFromId(h,s.overlaying))&&x.overlaying&&(s.overlaying=!1,x=null),s._mainAxis=x||s,x&&(s.domain=x.domain.slice()),s._anchorAxis=\"free\"===s.anchor?null:gn.getFromId(h,s.anchor)}for(i=0;i<y.length;i++){var b=\"x\"===(s=y[i])._id.charAt(0),_=s._mainAxis._anchorAxis,w=\"\",M=\"\",A=\"\";if(_&&(A=_._mainAxis._id,w=b?s._id+A:A+s._id),!w||-1===f.indexOf(w))for(w=\"\",a=0;a<f.length;a++){var k=(o=f[a]).indexOf(\"y\"),T=b?o.substr(0,k):o.substr(k),S=b?o.substr(k):o.substr(0,k);if(T===s._id){M||(M=o);var E=gn.getFromId(h,S);if(A&&E.overlaying===A){w=o;break}}}s._mainSubplot=w||M}},An.clearExpandedTraceDefaultColors=function(t){var e,r,n;for(r=[],(e=t._module._colorAttrs)||(t._module._colorAttrs=e=[],nn.crawl(t._module.attributes,function(t,n,i,a){r[a]=n,r.length=a+1,\"color\"===t.valType&&void 0===t.dflt&&e.push(r.join(\".\"))})),n=0;n<e.length;n++){ne.nestedProperty(t,\"_input.\"+e[n]).get()||ne.nestedProperty(t,e[n]).set(null)}},An.supplyDataDefaults=function(t,e,r,n){var i,a,o,s=n._modules,l=n._basePlotModules,u=0,c=0;function h(t){e.push(t);var r=t._module;r&&(!0===t.visible&&ne.pushUnique(s,r),ne.pushUnique(l,t._module.basePlotModule),u++,!1!==t._input.visible&&c++)}n._transformModules=[];var f={},p=[];for(i=0;i<t.length;i++){if(o=t[i],(a=An.supplyTraceDefaults(o,c,n,i)).index=i,a._input=o,a._expandedIndex=u,a.transforms&&a.transforms.length)for(var d=Pn(a,e,r,n),g=0;g<d.length;g++){var v=d[g],m=An.supplyTraceDefaults(v,u,n,i);kn(m,v),v.uid=m.uid=a.uid+g,m.index=i,m._input=o,m._fullInput=a,m._expandedIndex=u,m._expandedInput=v,h(m)}else a._fullInput=a,a._expandedInput=a,h(a);P.traceIs(a,\"carpetAxis\")&&(f[a.carpet]=a),P.traceIs(a,\"carpetDependent\")&&p.push(i)}for(i=0;i<p.length;i++)if((a=e[p[i]]).visible){var y=f[a.carpet];a._carpet=y,y&&y.visible?(a.xaxis=y.xaxis,a.yaxis=y.yaxis):a.visible=!1}},An.supplyAnimationDefaults=function(t){var e;t=t||{};var r={};function n(e,n){return ne.coerce(t||{},r,we,e,n)}if(n(\"mode\"),n(\"direction\"),n(\"fromcurrent\"),Array.isArray(t.frame))for(r.frame=[],e=0;e<t.frame.length;e++)r.frame[e]=An.supplyAnimationFrameDefaults(t.frame[e]||{});else r.frame=An.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(r.transition=[],e=0;e<t.transition.length;e++)r.transition[e]=An.supplyAnimationTransitionDefaults(t.transition[e]||{});else r.transition=An.supplyAnimationTransitionDefaults(t.transition||{});return r},An.supplyAnimationFrameDefaults=function(t){var e={};function r(r,n){return ne.coerce(t||{},e,we.frame,r,n)}return r(\"duration\"),r(\"redraw\"),e},An.supplyAnimationTransitionDefaults=function(t){var e={};function r(r,n){return ne.coerce(t||{},e,we.transition,r,n)}return r(\"duration\"),r(\"easing\"),e},An.supplyFrameDefaults=function(t){var e={};function r(r,n){return ne.coerce(t,e,Me,r,n)}return r(\"group\"),r(\"name\"),r(\"traces\"),r(\"baseframe\"),r(\"data\"),r(\"layout\"),e},An.supplyTraceDefaults=function(t,e,r,n){var i,a=r.colorway||Oe.defaults,o={},s=a[e%a.length];function l(e,r){return ne.coerce(t,o,An.attributes,e,r)}var u=l(\"visible\");l(\"type\"),l(\"uid\"),l(\"name\",r._traceWord+\" \"+n);var c=An.getModule(o);if(o._module=c,c){var h=c.basePlotModule,f=h.attr;if(f){var p=r._subplots,d=h.attributes,g=\"\";if(\"gl2d\"!==h.name||u){if(Array.isArray(f))for(i=0;i<f.length;i++){var v=f[i],m=ne.coerce(t,o,d,v);p[v]&&ne.pushUnique(p[v],m),g+=m}else g=ne.coerce(t,o,d,f);p[h.name]&&ne.pushUnique(p[h.name],g)}}}return u&&(l(\"customdata\"),l(\"ids\"),P.traceIs(o,\"showLegend\")&&(l(\"showlegend\"),l(\"legendgroup\")),P.getComponentMethod(\"fx\",\"supplyDefaults\")(t,o,s,r),c&&(c.supplyDefaults(t,o,s,r),ne.coerceHoverinfo(t,o,r)),P.traceIs(o,\"noOpacity\")||l(\"opacity\"),P.traceIs(o,\"notLegendIsolatable\")&&(o.visible=!!o.visible),c&&c.selectPoints&&l(\"selectedpoints\"),An.supplyTransformDefaults(t,o,r)),o},An.supplyTransformDefaults=function(t,e,r){var n=r._globalTransforms||[],i=r._transformModules||[];if(Array.isArray(t.transforms)||0!==n.length)for(var a=t.transforms||[],o=n.concat(a),s=e.transforms=[],l=0;l<o.length;l++){var u,c=o[l],h=c.type,f=Tn[h],p=!(c._module&&c._module===f),d=f&&\"function\"==typeof f.transform;f||ne.warn(\"Unrecognized transform type \"+h+\".\"),f&&f.supplyDefaults&&(p||d)?((u=f.supplyDefaults(c,e,r,t)).type=h,u._module=f,ne.pushUnique(i,f)):u=ne.extendFlat({},c),s.push(u)}},An.supplyLayoutGlobalDefaults=function(t,e,r){function n(r,n){return ne.coerce(t,e,An.layoutAttributes,r,n)}var i=ne.coerceFont(n,\"font\");n(\"title\",e._dfltTitle.plot),ne.coerceFont(n,\"titlefont\",{family:i.family,size:Math.round(1.4*i.size),color:i.color}),n(\"autosize\",!(t.width&&t.height)),n(\"width\"),n(\"height\"),n(\"margin.l\"),n(\"margin.r\"),n(\"margin.t\"),n(\"margin.b\"),n(\"margin.pad\"),n(\"margin.autoexpand\"),t.width&&t.height&&An.sanitizeMargins(e),P.getComponentMethod(\"grid\",\"sizeDefaults\")(t,e),n(\"paper_bgcolor\"),n(\"separators\",r.decimal+r.thousands),n(\"hidesources\"),n(\"colorway\"),n(\"datarevision\"),P.getComponentMethod(\"calendars\",\"handleDefaults\")(t,e,\"calendar\"),P.getComponentMethod(\"fx\",\"supplyLayoutGlobalDefaults\")(t,e,n)},An.plotAutoSize=function(t,e,n){var i,a,o=t._context||{},s=o.frameMargins,l=ne.isPlotDiv(t);if(l&&t.emit(\"plotly_autosize\"),o.fillFrame)i=window.innerWidth,a=window.innerHeight,document.body.style.overflow=\"hidden\";else if(r(s)&&s>0){var u=function(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}(t._boundingBoxMargins),c=u.left+u.right,h=u.bottom+u.top,f=1-2*s,p=n._container&&n._container.node?n._container.node().getBoundingClientRect():{width:n.width,height:n.height};i=Math.round(f*(p.width-c)),a=Math.round(f*(p.height-h))}else{var d=l?window.getComputedStyle(t):{};i=parseFloat(d.width)||n.width,a=parseFloat(d.height)||n.height}var g=An.layoutAttributes.width.min,v=An.layoutAttributes.height.min;i<g&&(i=g),a<v&&(a=v);var m=!e.width&&Math.abs(n.width-i)>1,y=!e.height&&Math.abs(n.height-a)>1;(y||m)&&(m&&(n.width=i),y&&(n.height=a)),t._initialAutoSize||(t._initialAutoSize={width:i,height:a}),An.sanitizeMargins(n)},An.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,s=P.componentsRegistry,l=e._basePlotModules,u=P.subplotsRegistry.cartesian;for(i in s)(o=s[i]).includeBasePlot&&o.includeBasePlot(t,e);for(var c in l.length||l.push(u),e._has(\"cartesian\")&&(P.getComponentMethod(\"grid\",\"contentDefaults\")(t,e),u.finalizeSubplots(t,e)),e._subplots)e._subplots[c].sort(ne.subplotSort);for(a=0;a<l.length;a++)(o=l[a]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r);var h=e._modules;for(a=0;a<h.length;a++)(o=h[a]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r);var f=e._transformModules;for(a=0;a<f.length;a++)(o=f[a]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r,n);for(i in s)(o=s[i]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r)},An.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&&(e._glcontainer.selectAll(\".gl-canvas\").remove(),e._glcontainer.remove(),e._glcanvas=null),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)),ne.clearThrottle(),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._promises,delete t._redrawTimer,delete t.firstscatter,delete t._hmlumcount,delete t._hmpixcount,delete t._transitionData,delete t._transitioning,delete t._initialAutoSize,delete t._transitioningWithDuration,delete t._dragging,delete t._dragged,delete t._hoverdata,delete t._snapshotInProgress,delete t._editing,delete t._replotPending,delete t._mouseDownTime,delete t._legendMouseDownTime,t.removeAllListeners&&t.removeAllListeners()},An.style=function(t){var e,r=t._fullLayout._modules,n=[];for(e=0;e<r.length;e++){var i=r[e];i.style&&ne.pushUnique(n,i.style)}for(e=0;e<n.length;e++)n[e](t)},An.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))}},An.autoMargin=function(t,e,r){var n=t._fullLayout;if(n._pushmargin||(n._pushmargin={}),!1!==n.margin.autoexpand){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||An.doAutoMargin(t)}},An.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),e._pushmargin||(e._pushmargin={});var n=e._size,i=JSON.stringify(n),a=Math.max(e.margin.l||0,0),o=Math.max(e.margin.r||0,0),s=Math.max(e.margin.t||0,0),l=Math.max(e.margin.b||0,0),u=e._pushmargin;if(!1!==e.margin.autoexpand)for(var c in u.base={l:{val:0,size:a},r:{val:1,size:o},t:{val:1,size:s},b:{val:0,size:l}},u){var h=u[c].l||{},f=u[c].b||{},p=h.val,d=h.size,g=f.val,v=f.size;for(var m in u){if(r(d)&&u[m].r){var y=u[m].r.val,x=u[m].r.size;if(y>p){var b=(d*y+(x-e.width)*p)/(y-p),_=(x*(1-p)+(d-e.width)*(1-y))/(y-p);b>=0&&_>=0&&b+_>a+o&&(a=b,o=_)}}if(r(v)&&u[m].t){var w=u[m].t.val,M=u[m].t.size;if(w>g){var A=(v*w+(M-e.height)*g)/(w-g),k=(M*(1-g)+(v-e.height)*(1-w))/(w-g);A>=0&&k>=0&&A+k>l+s&&(l=A,s=k)}}}}if(n.l=Math.round(a),n.r=Math.round(o),n.t=Math.round(s),n.b=Math.round(l),n.p=Math.round(e.margin.pad),n.w=Math.round(e.width)-n.l-n.r,n.h=Math.round(e.height)-n.t-n.b,!e._replotting&&\"{}\"!==i&&i!==JSON.stringify(e._size))return P.call(\"plot\",t)},An.graphJson=function(t,e,r,n,i){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&An.supplyDefaults(t);var a=i?t._fullData:t.data,o=i?t._fullLayout:t.layout,s=(t._transitionData||{})._frames;function l(t){if(\"function\"==typeof t)return null;if(ne.isPlainObject(t)){var e,n,i={};for(e in t)if(\"function\"!=typeof t[e]&&-1===[\"_\",\"[\"].indexOf(e.charAt(0))){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&&!ne.isPlainObject(t.stream))continue}else if(\"keepall\"!==r&&\"string\"==typeof(n=t[e+\"src\"])&&n.indexOf(\":\")>0)continue;i[e]=l(t[e])}return i}return Array.isArray(t)?t.map(l):ne.isJSDate(t)?ne.ms2DateTimeLocal(+t):t}var u={data:(a||[]).map(function(t){var r=l(t);return e&&delete r.fit,r})};return e||(u.layout=l(o)),t.framework&&t.framework.isPolar&&(u=t.framework.getConfig()),s&&(u.frames=l(s)),\"object\"===n?u:JSON.stringify(u)},An.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]).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\":o[(i=n.value).name]=i,a.splice(n.index,0,i);break;case\"delete\":delete o[(i=a[n.index]).name],a.splice(n.index,1)}return Promise.resolve()},An.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()])&&-1===u.indexOf(s.name);)l.push(s),u.push(s.name);for(var c={};s=l.pop();)if(s.layout&&(c.layout=An.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&&(-1===(a=c.traces.indexOf(i))&&(a=c.data.length,c.traces[a]=i),c.data[a]=An.extendTrace(c.data[a],s.data[r]))}return c},An.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)}},An.extendObjectWithContainers=function(t,e,r){var n,i,a,o,s,l,u,c=ne.extendDeepNoArrays({},e||{}),h=ne.expandObjectPaths(c),f={};if(r&&r.length)for(a=0;a<r.length;a++)void 0===(i=(n=ne.nestedProperty(h,r[a])).get())?ne.nestedProperty(f,r[a]).set(null):(n.set(null),ne.nestedProperty(f,r[a]).set(i));if(t=ne.extendDeepNoArrays(t||{},h),r&&r.length)for(a=0;a<r.length;a++)if(l=ne.nestedProperty(f,r[a]).get()){for(u=(s=ne.nestedProperty(t,r[a])).get(),Array.isArray(u)||(u=[],s.set(u)),o=0;o<l.length;o++){var p=l[o];u[o]=null===p?null:An.extendObjectWithContainers(u[o],p)}s.set(u)}return t},An.dataArrayContainers=[\"transforms\",\"dimensions\"],An.layoutArrayContainers=P.layoutArrayContainers,An.extendTrace=function(t,e){return An.extendObjectWithContainers(t,e,An.dataArrayContainers)},An.extendLayout=function(t,e){return An.extendObjectWithContainers(t,e,An.layoutArrayContainers)},An.transition=function(t,e,r,n,i,a){var o,s,l=Array.isArray(e)?e.length:0,u=n.slice(0,l),c=[];var h=!1;for(o=0;o<u.length;o++){s=u[o];t._fullData[s]._module}var f=[An.previousPromises,function(){if(t._transitionData)return t._transitioning=!1,function(t){var e=Promise.resolve();if(!t)return e;for(;t.length;)e=e.then(t.shift());return e}(t._transitionData._interruptCallbacks)},function(){var n;for(n=0;n<u.length;n++){var i=u[n],a=t._fullData[i]._module;a&&(a.animatable&&c.push(i),t.data[u[n]]=An.extendTrace(t.data[u[n]],e[n]))}var o=ne.expandObjectPaths(ne.extendDeepNoArrays({},r)),s=/^[xy]axis[0-9]*$/;for(var l in o)s.test(l)&&delete o[l].range;return An.extendLayout(t.layout,o),delete t.calcdata,An.supplyDefaults(t),An.doCalcdata(t),P.getComponentMethod(\"errorbars\",\"calc\")(t),Promise.resolve()},An.rehover,function(){return t.emit(\"plotly_transitioning\",[]),new Promise(function(e){t._transitioning=!0,a.duration>0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){h=!0}),i.redraw&&t._transitionData._interruptCallbacks.push(function(){return P.call(\"redraw\",t)}),t._transitionData._interruptCallbacks.push(function(){t.emit(\"plotly_transitioninterrupted\",[])});var n,o,s=0,l=0;function u(){return s++,function(){var r;h||++l!==s||(r=e,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(i.redraw)return P.call(\"redraw\",t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(\"plotly_transitioned\",[])}).then(r)))}}var f=t._fullLayout._basePlotModules,p=!1;if(r)for(o=0;o<f.length;o++)if(f[o].transitionAxes){var d=ne.expandObjectPaths(r);p=f[o].transitionAxes(t,d,a,u)||p}for(p?(n=ne.extendFlat({},a)).duration=0:n=a,o=0;o<f.length;o++)f[o].plot(t,c,n,u);setTimeout(u())})}],p=ne.syncOrAsync(f,t);return p&&p.then||(p=Promise.resolve()),p.then(function(){return t})},An.doCalcdata=function(t,e){var r,n,i,a,o=gn.list(t),s=t._fullData,l=t._fullLayout,u=new Array(s.length),c=(t.calcdata||[]).slice(0);for(t.calcdata=u,t.firstscatter=!0,l._numBoxes=0,l._numViolins=0,l._violinScaleGroupStats={},t._hmpixcount=0,t._hmlumcount=0,l._piecolormap={},l._piecolorway=null,l._piedefaultcolorcount=0,i=0;i<s.length;i++)Array.isArray(e)&&-1===e.indexOf(i)&&(u[i]=c[i]);for(i=0;i<s.length;i++)(r=s[i])._arrayAttrs=nn.findArrayAttributes(r);var h=l._subplots.polar||[];for(i=0;i<h.length;i++)o.push(l[h[i]].radialaxis,l[h[i]].angularaxis);In(o);var f=!1;for(i=0;i<s.length;i++)if(!0===(r=s[i]).visible&&r.transforms)for((n=r._module)&&n.calc&&n.calc(t,r),a=0;a<r.transforms.length;a++){var p=r.transforms[a];(n=Tn[p.type])&&n.calcTransform&&(r._hasCalcTransform=!0,f=!0,n.calcTransform(t,r,p))}for(f&&In(o),i=0;i<s.length;i++){var d=[];if(!0===(r=s[i]).visible){n=r._module;var g=r.transforms||[];for(a=g.length-1;a>=0;a--)if(g[a].enabled){r._indexToPoints=g[a]._indexToPoints;break}n&&n.calc&&(d=n.calc(t,r))}Array.isArray(d)&&d[0]||(d=[{x:Mn,y:Mn}]),d[0].t||(d[0].t={}),d[0].trace=r,u[i]=d}P.getComponentMethod(\"fx\",\"calc\")(t)},An.rehover=function(t){t._fullLayout._rehover&&t._fullLayout._rehover()},An.generalUpdatePerTraceModule=function(t,e,r,n){var i,a=e.traceHash,o={};for(i=0;i<r.length;i++){var s=r[i],l=s[0].trace;l.visible&&(o[l.type]=o[l.type]||[],o[l.type].push(s))}for(var u in a)if(!o[u]){var c=a[u][0];c[0].trace.visible=!1,o[u]=[c]}for(var h in o){var f=o[h];f[0][0].trace._module.plot(t,e,ne.filterVisible(f),n)}e.traceHash=o};var Dn={draw:function(t,n,i){var a,o=i.propContainer,s=i.propName,l=i.placeholder,u=i.traceIndex,c=i.avoid||{},h=i.attributes,p=i.transform,d=i.containerGroup,g=t._fullLayout,v=o.titlefont||{},m=v.family,y=v.size,x=v.color,b=1,_=!1,w=(o.title||\"\").trim();\"title\"===s?a=\"titleText\":-1!==s.indexOf(\"axis\")?a=\"axisTitleText\":s.indexOf(!0)&&(a=\"colorbarTitleText\");var M=t._context.edits[a];\"\"===w?b=0:w.replace(On,\" % \")===l.replace(On,\" % \")&&(b=.2,_=!0,M||(w=\"\"));var A=w||M;d||(d=g._infolayer.selectAll(\".g-\"+n).data([0])).enter().append(\"g\").classed(\"g-\"+n,!0);var k=d.selectAll(\"text\").data(A?[0]:[]);if(k.enter().append(\"text\"),k.text(w).attr(\"class\",n),k.exit().remove(),!A)return d;function T(t){ne.syncOrAsync([S,E],t)}function S(r){var n;return p?(n=\"\",p.rotate&&(n+=\"rotate(\"+[p.rotate,h.x,h.y]+\")\"),p.offset&&(n+=\"translate(0, \"+p.offset+\")\")):n=null,r.attr(\"transform\",n),r.style({\"font-family\":m,\"font-size\":e.round(y,2)+\"px\",fill:Oe.rgb(x),opacity:b*Oe.opacity(x),\"font-weight\":_n.fontWeight}).attr(h).call(er.convertToTspans,t),_n.previousPromises(t)}function E(t){var n=e.select(t.node().parentNode);if(c&&c.selection&&c.side&&w){n.attr(\"transform\",null);var i=0,a={left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\"}[c.side],o=-1!==[\"left\",\"top\"].indexOf(c.side)?-1:1,s=r(c.pad)?c.pad:2,l=Sr.bBox(n.node()),u={left:0,top:0,right:g.width,bottom:g.height},h=c.maxShift||(u[c.side]-l[c.side])*(\"left\"===c.side||\"top\"===c.side?-1:1);if(h<0)i=h;else{var f=c.offsetLeft||0,p=c.offsetTop||0;l.left-=f,l.right-=f,l.top-=p,l.bottom-=p,c.selection.each(function(){var t=Sr.bBox(this);ne.bBoxIntersect(l,t,s)&&(i=Math.max(i,o*(t[c.side]-l[a])+s))}),i=Math.min(h,i)}if(i>0||h<0){var d={left:[-i,0],right:[i,0],top:[0,-i],bottom:[0,i]}[c.side];n.attr(\"transform\",\"translate(\"+d+\")\")}}}k.call(T),M&&(w?k.on(\".opacity\",null):(b=0,_=!0,k.text(l).on(\"mouseover.opacity\",function(){e.select(this).transition().duration(f.SHOW_PLACEHOLDER).style(\"opacity\",1)}).on(\"mouseout.opacity\",function(){e.select(this).transition().duration(f.HIDE_PLACEHOLDER).style(\"opacity\",0)})),k.call(er.makeEditable,{gd:t}).on(\"edit\",function(e){void 0!==u?P.call(\"restyle\",t,s,e,u):P.call(\"relayout\",t,s,e)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(T)}).on(\"input\",function(t){this.text(t||\" \").call(er.positionText,h.x,h.y)}));return k.classed(\"js-placeholder\",_),d}},On=/ [XY][0-9]* /;var Rn=t.FP_SAFE,Fn=Vn,Bn=Un,Nn=function(t){t._length||t.setScale();var e,r=t._min&&t._max&&t._min.length&&t._max.length;t.autorange&&r&&(t.range=Vn(t),t._r=t.range.slice(),t._rl=ne.simpleMap(t._r,t.r2l),(e=t._input).range=t.range.slice(),e.autorange=t.autorange);if(t._anchorAxis&&t._anchorAxis.rangeslider){var n=t._anchorAxis.rangeslider[t._name];n&&\"auto\"===n.rangemode&&(n.range=r?Vn(t):t._rangeInitial?t._rangeInitial.slice():t.range.slice()),(e=t._anchorAxis._input).rangeslider[t._name]=ne.extendFlat({},n)}},jn=function(t,e,n){if(!function(t){return t.autorange||t._rangesliderAutorange}(t)||!e)return;t._min||(t._min=[]);t._max||(t._max=[]);n||(n={});t._m||t.setScale();var i,a,o,s,l,u,c,h,f,p,d,g,v=e.length,m=n.padded||!1,y=n.tozero&&(\"linear\"===t.type||\"-\"===t.type),x=\"log\"===t.type,b=!1;function _(t){if(Array.isArray(t))return b=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var w=_((t._m>0?n.ppadplus:n.ppadminus)||n.ppad||0),M=_((t._m>0?n.ppadminus:n.ppadplus)||n.ppad||0),A=_(n.vpadplus||n.vpad),k=_(n.vpadminus||n.vpad);if(!b){if(d=1/0,g=-1/0,x)for(i=0;i<v;i++)(s=e[i])<d&&s>0&&(d=s),s>g&&s<Rn&&(g=s);else for(i=0;i<v;i++)(s=e[i])<d&&s>-Rn&&(d=s),s>g&&s<Rn&&(g=s);e=[d,g],v=2}function T(n){if(l=e[n],r(l))for(h=w(n),f=M(n),d=l-k(n),g=l+A(n),x&&d<g/10&&(d=g/10),u=t.c2l(d),c=t.c2l(g),y&&(u=Math.min(0,u),c=Math.max(0,c)),o=0;o<2;o++){var i=o?c:u;if(qn(i)){var v=o?t._max:t._min,b=o?h:f,_=o?Gn:Hn;for(p=!0,a=0;a<v.length&&p;a++){if(s=v[a],_(s.val,i)&&s.pad>=b&&(s.extrapad||!m)){p=!1;break}_(i,s.val)&&s.pad<=b&&(m||!s.extrapad)&&(v.splice(a,1),a--)}if(p){var T=y&&0===i;v.push({val:i,pad:T?0:b,extrapad:!T&&m})}}}}var S=Math.min(6,v);for(i=0;i<S;i++)T(i);for(i=v-1;i>=S;i--)T(i)};function Vn(t){var e,r,n,i,a,o,s,l,u=[],c=t._min[0].val,h=t._max[0].val,f=0,p=!1,d=Un(t);for(e=1;e<t._min.length&&c===h;e++)c=Math.min(c,t._min[e].val);for(e=1;e<t._max.length&&c===h;e++)h=Math.max(h,t._max[e].val);if(t.range){var g=ne.simpleMap(t.range,t.r2l);p=g[1]<g[0]}for(\"reversed\"===t.autorange&&(p=!0,t.autorange=!0),e=0;e<t._min.length;e++)for(n=t._min[e],r=0;r<t._max.length;r++)l=(i=t._max[r]).val-n.val,s=t._length-d(n)-d(i),l>0&&s>0&&l/s>f&&(a=n,o=i,f=l/s);if(c===h){var v=c-1,m=c+1;u=\"tozero\"===t.rangemode?c<0?[v,0]:[0,m]:\"nonnegative\"===t.rangemode?[Math.max(0,v),Math.max(0,m)]:[v,m]}else f&&(\"linear\"!==t.type&&\"-\"!==t.type||(\"tozero\"===t.rangemode?(a.val>=0&&(a={val:0,pad:0}),o.val<=0&&(o={val:0,pad:0})):\"nonnegative\"===t.rangemode&&(a.val-f*d(a)<0&&(a={val:0,pad:0}),o.val<0&&(o={val:1,pad:0})),f=(o.val-a.val)/(t._length-d(a)-d(o))),u=[a.val-f*d(a),o.val+f*d(o)]);return u[0]===u[1]&&(\"tozero\"===t.rangemode?u=u[0]<0?[u[0],0]:u[0]>0?[0,u[0]]:[0,1]:(u=[u[0]-1,u[0]+1],\"nonnegative\"===t.rangemode&&(u[0]=Math.max(0,u[0])))),p&&u.reverse(),ne.simpleMap(u,t.l2r||Number)}function Un(t){var e=t._length/20;return\"domain\"===t.constrain&&t._inputDomain&&(e*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(t){return t.pad+(t.extrapad?e:0)}}function qn(t){return r(t)&&Math.abs(t)<Rn}function Hn(t,e){return t<=e}function Gn(t,e){return t>=e}var Wn=t.BADNUM,Yn=function(t,e){return function(t,e){for(var n,i=0,a=0,o=Math.max(1,(t.length-1)/1e3),s=0;s<t.length;s+=o)n=t[Math.round(s)],ne.isDateTime(n,e)&&(i+=1),r(n)&&(a+=1);return i>2*a}(t,e)?\"date\":function(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)],ne.cleanNumber(e)!==Wn?n++:\"string\"==typeof e&&\"\"!==e&&\"None\"!==e&&i++;return i>2*n}(t)?\"category\":function(t){if(!t)return!1;for(var e=0;e<t.length;e++)if(r(t[e]))return!0;return!1}(t)?\"linear\":\"-\"};var Xn=ne.cleanNumber,Zn=ne.ms2DateTime,Jn=ne.dateTime2ms,Kn=ne.ensureNumber,Qn=t.FP_SAFE,$n=t.BADNUM;function ti(t){return Math.pow(10,t)}var ei=function(t,n){n=n||{};var i=(t._id||\"x\").charAt(0),a=10;function o(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*a*Math.abs(n-i))}return $n}function s(e,n,i){var a=Jn(e,i||t.calendar);if(a===$n){if(!r(e))return $n;a=Jn(new Date(+e))}return a}function l(e,r,n){return Zn(e,r,n||t.calendar)}function u(e){return t._categories[Math.round(e)]}function c(e){if(t._categoriesMap){var n=t._categoriesMap[e];if(void 0!==n)return n}if(r(e))return+e}function h(n){return r(n)?e.round(t._b+t._m*n,2):$n}function f(e){return(e-t._b)/t._m}t.c2l=\"log\"===t.type?o:Kn,t.l2c=\"log\"===t.type?ti:Kn,t.l2p=h,t.p2l=f,t.c2p=\"log\"===t.type?function(t,e){return h(o(t,e))}:h,t.p2c=\"log\"===t.type?function(t){return ti(f(t))}:f,-1!==[\"linear\",\"-\"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=Xn,t.c2d=t.c2r=t.l2d=t.l2r=Kn,t.d2p=t.r2p=function(e){return t.l2p(Xn(e))},t.p2d=t.p2r=f,t.cleanPos=Kn):\"log\"===t.type?(t.d2r=t.d2l=function(t,e){return o(Xn(t),e)},t.r2d=t.r2c=function(t){return ti(Xn(t))},t.d2c=t.r2l=Xn,t.c2d=t.l2r=Kn,t.c2r=o,t.l2d=ti,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return ti(f(t))},t.r2p=function(e){return t.l2p(Xn(e))},t.p2r=f,t.cleanPos=Kn):\"date\"===t.type?(t.d2r=t.r2d=ne.identity,t.d2c=t.r2c=t.d2l=t.r2l=s,t.c2d=t.c2r=t.l2d=t.l2r=l,t.d2p=t.r2p=function(e,r,n){return t.l2p(s(e,0,n))},t.p2d=t.p2r=function(t,e,r){return l(f(t),e,r)},t.cleanPos=function(e){return ne.cleanDate(e,$n,t.calendar)}):\"category\"===t.type&&(t.d2c=t.d2l=function(e){if(null!==e&&void 0!==e){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return $n},t.r2d=t.c2d=t.l2d=u,t.d2r=t.d2l_noadd=c,t.r2c=function(e){var r=c(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=Kn,t.r2l=c,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return u(f(t))},t.r2p=t.d2p,t.p2r=f,t.cleanPos=function(t){return\"string\"==typeof t&&\"\"!==t?t:Kn(t)}),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,n){n||(n={}),e||(e=\"range\");var a,o,s=ne.nestedProperty(t,e).get();if(o=(o=\"date\"===t.type?ne.dfltRange(t.calendar):\"y\"===i?Te.DFLTRANGEY:n.dfltRange||Te.DFLTRANGEX).slice(),s&&2===s.length)for(\"date\"===t.type&&(s[0]=ne.cleanDate(s[0],$n,t.calendar),s[1]=ne.cleanDate(s[1],$n,t.calendar)),a=0;a<2;a++)if(\"date\"===t.type){if(!ne.isDateTime(s[a],t.calendar)){t[e]=o;break}if(t.r2l(s[0])===t.r2l(s[1])){var l=ne.constrain(t.r2l(s[0]),ne.MIN_MS+1e3,ne.MAX_MS-1e3);s[0]=t.l2r(l-1e3),s[1]=t.l2r(l+1e3);break}}else{if(!r(s[a])){if(!r(s[1-a])){t[e]=o;break}s[a]=s[1-a]*(a?10:.1)}if(s[a]<-Qn?s[a]=-Qn:s[a]>Qn&&(s[a]=Qn),s[0]===s[1]){var u=Math.max(1,Math.abs(1e-6*s[0]));s[0]-=u,s[1]+=u}}else ne.nestedProperty(t,e).set(o)},t.setScale=function(e){var r=n._size;if(t._categories||(t._categories=[]),t._categoriesMap||(t._categoriesMap={}),t.overlaying){var a=gn.getFromId({_fullLayout:n},t.overlaying);t.domain=a.domain}var o=e&&t._r?\"_r\":\"range\",s=t.calendar;t.cleanRange(o);var l=t.r2l(t[o][0],s),u=t.r2l(t[o][1],s);if(\"y\"===i?(t._offset=r.t+(1-t.domain[1])*r.h,t._length=r.h*(t.domain[1]-t.domain[0]),t._m=t._length/(l-u),t._b=-t._m*u):(t._offset=r.l+t.domain[0]*r.w,t._length=r.w*(t.domain[1]-t.domain[0]),t._m=t._length/(u-l),t._b=-t._m*l),!isFinite(t._m)||!isFinite(t._b))throw n._replotting=!1,new Error(\"Something went wrong with axis scaling\")},t.makeCalcdata=function(e,r){var n,i,a,o,s=t.type,l=\"date\"===s&&e[r+\"calendar\"];if(r in e){if(n=e[r],o=e._length||n.length,ne.isTypedArray(n)&&(\"linear\"===s||\"log\"===s)){if(o===n.length)return n;if(n.subarray)return n.subarray(0,o)}for(i=new Array(o),a=0;a<o;a++)i[a]=t.d2c(n[a],0,l)}else{var u=r+\"0\"in e?t.d2c(e[r+\"0\"],0,l):0,c=e[\"d\"+r]?Number(e[\"d\"+r]):1;for(n=e[{x:\"y\",y:\"x\"}[r]],o=e._length||n.length,i=new Array(o),a=0;a<o;a++)i[a]=u+a*c}return i},t.isValidRange=function(e){return Array.isArray(e)&&2===e.length&&r(t.r2l(e[0]))&&r(t.r2l(e[1]))},t.isPtWithinRange=function(e,r){var n=t.c2l(e[i],null,r);return n>=t.r2l(t.range[0])&&n<=t.r2l(t.range[1])},t.clearCalc=function(){t._min=[],t._max=[],t._categories=(t._initialCategories||[]).slice(),t._categoriesMap={};for(var e=0;e<t._categories.length;e++)t._categoriesMap[t._categories[e]]=e};var p=n._d3locale;\"date\"===t.type&&(t._dateFormat=p?p.timeFormat.utc:e.time.format.utc,t._extraFormat=n._extraFormat),t._separators=n.separators,t._numFormat=p?p.numberFormat:e.format,delete t._minDtick,delete t._forceTick0},ri={},ni=t.ONEAVGYEAR,ii=t.ONEAVGMONTH,ai=t.ONEDAY,oi=t.ONEHOUR,si=t.ONEMIN,li=t.ONESEC,ui=t.MINUS_SIGN,ci=t.BADNUM,hi=Qe.MID_SHIFT,fi=Qe.LINE_SPACING,pi=ri={};pi.setConvert=ei,pi.id2name=gn.id2name,pi.name2id=gn.name2id,pi.cleanId=gn.cleanId,pi.list=gn.list,pi.listIds=gn.listIds,pi.getFromId=gn.getFromId,pi.getFromTrace=gn.getFromTrace,pi.expand=jn,pi.getAutoRange=Fn,pi.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),s=r._fullLayout._subplots[o+\"axis\"],l=n+\"ref\",u={};return i||(i=s[0]||a),a||(a=i),u[l]={valType:\"enumerated\",values:s.concat(a?[a]:[]),dflt:i},ne.coerce(t,e,u,l)},pi.coercePosition=function(t,e,r,n,i,a){var o,s;if(\"paper\"===n||\"pixel\"===n)o=ne.ensureNumber,s=r(i,a);else{var l=pi.getFromId(e,n);s=r(i,a=l.fraction2r(a)),o=l.cleanPos}t[i]=o(s)},pi.cleanPosition=function(t,e,r){return(\"paper\"===r||\"pixel\"===r?ne.ensureNumber:pi.getFromId(e,r).cleanPos)(t)};var di=pi.getDataConversions=function(t,e,r,n){var i,a=\"x\"===r||\"y\"===r||\"z\"===r?r:n;if(Array.isArray(a)){if(i={type:Yn(n),_categories:[]},pi.setConvert(i),\"category\"===i.type)for(var o=0;o<n.length;o++)i.d2c(n[o])}else i=pi.getFromTrace(t,e,a);return i?{d2c:i.d2c,c2d:i.c2d}:\"ids\"===a?{d2c:vi,c2d:vi}:{d2c:gi,c2d:gi}};function gi(t){return+t}function vi(t){return String(t)}pi.getDataToCoordFunc=function(t,e,r,n){return di(t,e,r,n).d2c},pi.counterLetter=function(t){var e=t.charAt(0);return\"x\"===e?\"y\":\"y\"===e?\"x\":void 0},pi.minDtick=function(t,e,r,n){-1===[\"log\",\"category\"].indexOf(t.type)&&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},pi.saveRangeInitial=function(t,e){for(var r=pi.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&&!1===a.autorange||e&&s)&&(a._rangeInitial=a.range.slice(),n=!0)}return n},pi.saveShowSpikeInitial=function(t,e){for(var r=pi.list(t,\"\",!0),n=!1,i=\"on\",a=0;a<r.length;a++){var o=r[a],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),\"on\"!==i||o.showspikes||(i=\"off\")}return t._fullLayout._cartesianSpikesEnabled=i,n},pi.autoBin=function(t,e,n,i,a){var o,s,l=ne.aggNums(Math.min,null,t),u=ne.aggNums(Math.max,null,t);if(a||(a=e.calendar),\"category\"===e.type)return{start:l-.5,end:u+.5,size:1,_dataSpan:u-l};if(n)o=(u-l)/n;else{var c=ne.distinctVals(t),h=Math.pow(10,Math.floor(Math.log(c.minDiff)/Math.LN10)),f=h*ne.roundUp(c.minDiff/h,[.9,1.9,4.9,9.9],!0);o=Math.max(f,2*ne.stdev(t)/Math.pow(t.length,i?.25:.4)),r(o)||(o=1)}s=\"log\"===e.type?{type:\"linear\",range:[l,u]}:{type:e.type,range:ne.simpleMap([l,u],e.c2r,0,a),calendar:a},pi.setConvert(s),pi.autoTicks(s,o);var p,d=pi.tickIncrement(pi.tickFirst(s),s.dtick,\"reverse\",a);if(\"number\"==typeof s.dtick)p=(d=function(t,e,n,i,a){var o=0,s=0,l=0,u=0;function c(e){return(1+100*(e-t)/n.dtick)%100<2}for(var h=0;h<e.length;h++)e[h]%1==0?l++:r(e[h])||u++,c(e[h])&&o++,c(e[h]+n.dtick/2)&&s++;var f=e.length-u;if(l===f&&\"date\"!==n.type)n.dtick<1?t=i-.5*n.dtick:(t-=.5)+n.dtick<i&&(t+=n.dtick);else if(s<.1*f&&(o>.3*f||c(i)||c(a))){var p=n.dtick/2;t+=t+p<i?p:-p}return t}(d,t,s,l,u))+(1+Math.floor((u-d)/s.dtick))*s.dtick;else for(\"M\"===s.dtick.charAt(0)&&(d=function(t,e,r,n,i){var a=ne.findExactDates(e,i);if(a.exactDays>.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=pi.tickIncrement(t,\"M6\",\"reverse\")+1.5*ai:a.exactMonths>.8?t=pi.tickIncrement(t,\"M1\",\"reverse\")+15.5*ai:t-=ai/2;var s=pi.tickIncrement(t,r);if(s<=n)return s}return t}(d,t,s.dtick,l,a)),p=d,0;p<=u;)p=pi.tickIncrement(p,s.dtick,!1,a),0;return{start:e.c2r(d,0,a),end:e.c2r(p,0,a),size:s.dtick,_dataSpan:u-l}},pi.prepTicks=function(t){var e=ne.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=ne.constrain(t._length/r,4,9)+1),\"radialaxis\"===t._name&&(n*=2)),\"array\"===t.tickmode&&(n*=100),pi.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))}t.tick0||(t.tick0=\"date\"===t.type?\"2000-01-01\":0),ki(t)},pi.calcTicks=function(t){pi.prepTicks(t);var e=ne.simpleMap(t.range,t.r2l);if(\"array\"===t.tickmode)return function(t){var e,r,n=t.tickvals,i=t.ticktext,a=new Array(n.length),o=ne.simpleMap(t.range,t.r2l),s=1.0001*o[0]-1e-4*o[1],l=1.0001*o[1]-1e-4*o[0],u=Math.min(s,l),c=Math.max(s,l),h=0;Array.isArray(i)||(i=[]);var f=\"category\"===t.type?t.d2l_noadd:t.d2l;\"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));for(r=0;r<n.length;r++)(e=f(n[r]))>u&&e<c&&(void 0===i[r]?a[h]=pi.tickText(t,e):a[h]=Ti(t,e,String(i[r])),h++);h<n.length&&a.splice(h,n.length-h);return a}(t);t._tmin=pi.tickFirst(t);var r=1.0001*e[0]-1e-4*e[1],n=1.0001*e[1]-1e-4*e[0],i=e[1]<e[0];if(t._tmin<r!==i)return[];var a=[];\"category\"===t.type&&(n=i?Math.max(-.5,n):Math.min(t._categories.length-.5,n));for(var o=null,s=Math.max(1e3,t._length||0),l=t._tmin;(i?l>=n:l<=n)&&!(a.length>s||l===o);l=pi.tickIncrement(l,t.dtick,i,t.calendar))o=l,a.push(l);\"angular\"===t._id&&360===Math.abs(e[1]-e[0])&&a.pop(),t._tmax=a[a.length-1],t._prevDateHead=\"\",t._inCalcTicks=!0;for(var u=new Array(a.length),c=0;c<a.length;c++)u[c]=pi.tickText(t,a[c]);return t._inCalcTicks=!1,u};var mi=[2,5,10],yi=[1,2,3,6,12],xi=[1,2,5,10,15,30],bi=[1,2,3,7,14],_i=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],wi=[-.301,0,.301,.699,1],Mi=[15,30,45,90,180];function Ai(t,e,r){return e*ne.roundUp(t/e,r)}function ki(t){var e=t.dtick;if(t._tickexponent=0,r(e)||\"string\"==typeof e||(e=1),\"category\"===t.type&&(t._tickround=null),\"date\"===t.type){var n=t.r2l(t.tick0),i=t.l2r(n).replace(/(^-|i)/g,\"\"),a=i.length;if(\"M\"===String(e).charAt(0))a>10||\"01-01\"!==i.substr(5)?t._tickround=\"d\":t._tickround=+e.substr(1)%12==0?\"y\":\"m\";else if(e>=ai&&a<=10||e>=15*ai)t._tickround=\"d\";else if(e>=si&&a<=16||e>=oi)t._tickround=\"M\";else if(e>=li&&a<=19||e>=si)t._tickround=\"S\";else{var o=t.l2r(n+e).replace(/^-/,\"\").length;t._tickround=Math.max(a,o)-20}}else if(r(e)||\"L\"===e.charAt(0)){var s=t.range.map(t.r2d||Number);r(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),u=Math.floor(Math.log(l)/Math.LN10+.01);Math.abs(u)>3&&(Ei(t.exponentformat)&&!Ci(u)?t._tickexponent=3*Math.round((u-1)/3):t._tickexponent=u)}else t._tickround=null}function Ti(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}}pi.autoTicks=function(t,e){var n;function i(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if(\"date\"===t.type){t.tick0=ne.dateTick0(t.calendar);var a=2*e;a>ni?(e/=ni,n=i(10),t.dtick=\"M\"+12*Ai(e,n,mi)):a>ii?(e/=ii,t.dtick=\"M\"+Ai(e,1,yi)):a>ai?(t.dtick=Ai(e,ai,bi),t.tick0=ne.dateTick0(t.calendar,!0)):a>oi?t.dtick=Ai(e,oi,yi):a>si?t.dtick=Ai(e,si,xi):a>li?t.dtick=Ai(e,li,xi):(n=i(10),t.dtick=Ai(e,n,mi))}else if(\"log\"===t.type){t.tick0=0;var o=ne.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(o[1]-o[0])<1){var s=1.5*Math.abs((o[1]-o[0])/e);e=Math.abs(Math.pow(10,o[1])-Math.pow(10,o[0]))/s,n=i(10),t.dtick=\"L\"+Ai(e,n,mi)}else t.dtick=e>.3?\"D2\":\"D1\"}else\"category\"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):\"angular\"===t._id?(t.tick0=0,n=1,t.dtick=Ai(e,n,Mi)):(t.tick0=0,n=i(10),t.dtick=Ai(e,n,mi));if(0===t.dtick&&(t.dtick=1),!r(t.dtick)&&\"string\"!=typeof t.dtick){var l=t.dtick;throw t.dtick=1,\"ax.dtick error: \"+String(l)}},pi.tickIncrement=function(t,n,i,a){var o=i?-1:1;if(r(n))return t+o*n;var s=n.charAt(0),l=o*Number(n.substr(1));if(\"M\"===s)return ne.incrementMonth(t,l,a);if(\"L\"===s)return Math.log(Math.pow(10,t)+l)/Math.LN10;if(\"D\"===s){var u=\"D2\"===n?wi:_i,c=t+.01*o,h=ne.roundUp(ne.mod(c,1),u,i);return Math.floor(c)+Math.log(e.round(Math.pow(10,h),1))/Math.LN10}throw\"unrecognized dtick \"+String(n)},pi.tickFirst=function(t){var n=t.r2l||Number,i=ne.simpleMap(t.range,n),a=i[1]<i[0],o=a?Math.floor:Math.ceil,s=1.0001*i[0]-1e-4*i[1],l=t.dtick,u=n(t.tick0);if(r(l)){var c=o((s-u)/l)*l+u;return\"category\"===t.type&&(c=ne.constrain(c,0,t._categories.length-1)),c}var h=l.charAt(0),f=Number(l.substr(1));if(\"M\"===h){for(var p,d,g,v=0,m=u;v<10;){if(((p=pi.tickIncrement(m,l,a,t.calendar))-s)*(m-s)<=0)return a?Math.min(m,p):Math.max(m,p);d=(s-(m+p)/2)/(p-m),g=h+(Math.abs(Math.round(d))||1)*f,m=pi.tickIncrement(m,g,d<0?!a:a,t.calendar),v++}return ne.error(\"tickFirst did not converge\",t),m}if(\"L\"===h)return Math.log(o((Math.pow(10,s)-u)/f)*f+u)/Math.LN10;if(\"D\"===h){var y=\"D2\"===l?wi:_i,x=ne.roundUp(ne.mod(s,1),y,a);return Math.floor(s)+Math.log(e.round(Math.pow(10,x),1))/Math.LN10}throw\"unrecognized dtick \"+String(l)},pi.tickText=function(t,e,n){var i,a,o=Ti(t,e),s=\"array\"===t.tickmode,l=n||s,u=\"category\"===t.type?t.d2l_noadd:t.d2l;if(s&&Array.isArray(t.ticktext)){var c=ne.simpleMap(t.range,t.r2l),h=Math.abs(c[1]-c[0])/1e4;for(a=0;a<t.ticktext.length&&!(Math.abs(e-u(t.tickvals[a]))<h);a++);if(a<t.ticktext.length)return o.text=String(t.ticktext[a]),o}function f(r){var i;return void 0===r||(n?\"none\"===r:(i={first:t._tmin,last:t._tmax}[r],\"all\"!==r&&e!==i))}return i=n?\"never\":\"none\"!==t.exponentformat&&f(t.showexponent)?\"hide\":\"\",\"date\"===t.type?function(t,e,n,i){var a=t._tickround,o=n&&t.hoverformat||pi.getTickFormat(t);i&&(a=r(a)?4:{y:\"m\",m:\"d\",d:\"M\",M:\"S\",S:4}[a]);var s,l=ne.formatDate(e.x,o,a,t._dateFormat,t.calendar,t._extraFormat),u=l.indexOf(\"\\n\");-1!==u&&(s=l.substr(u+1),l=l.substr(0,u));i&&(\"00:00:00\"===l||\"00:00\"===l?(l=s,s=\"\"):8===l.length&&(l=l.replace(/:00$/,\"\")));s&&(n?\"d\"===a?l+=\", \"+s:l=s+(l?\", \"+l:\"\"):t._inCalcTicks&&s===t._prevDateHead||(l+=\"<br>\"+s,t._prevDateHead=s));e.text=l}(t,o,n,l):\"log\"===t.type?function(t,e,n,i,a){var o=t.dtick,s=e.x,l=t.tickformat;\"never\"===a&&(a=\"\");!i||\"string\"==typeof o&&\"L\"===o.charAt(0)||(o=\"L3\");if(l||\"string\"==typeof o&&\"L\"===o.charAt(0))e.text=Li(Math.pow(10,s),t,a,i);else if(r(o)||\"D\"===o.charAt(0)&&ne.mod(s+.01,1)<.1){var u=Math.round(s);-1!==[\"e\",\"E\",\"power\"].indexOf(t.exponentformat)||Ei(t.exponentformat)&&Ci(u)?(e.text=0===u?1:1===u?\"10\":u>1?\"10<sup>\"+u+\"</sup>\":\"10<sup>\"+ui+-u+\"</sup>\",e.fontSize*=1.25):(e.text=Li(Math.pow(10,s),t,\"\",\"fakehover\"),\"D1\"===o&&\"y\"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if(\"D\"!==o.charAt(0))throw\"unrecognized dtick \"+String(o);e.text=String(Math.round(Math.pow(10,ne.mod(s,1)))),e.fontSize*=.75}if(\"D1\"===t.dtick){var c=String(e.text).charAt(0);\"0\"!==c&&\"1\"!==c||(\"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*(s<0?.5:.25)))}}(t,o,0,l,i):\"category\"===t.type?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=\"\");e.text=String(r)}(t,o):\"angular\"===t._id?function(t,e,r,n,i){if(\"radians\"!==t.thetaunit||r)e.text=Li(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text=\"0\";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){var r=1;for(;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=Li(ne.deg2rad(e.x),t,i,n);else{var s=e.x<0;1===o[1]?1===o[0]?e.text=\"\\u03c0\":e.text=o[0]+\"\\u03c0\":e.text=[\"<sup>\",o[0],\"</sup>\",\"\\u2044\",\"<sub>\",o[1],\"</sub>\",\"\\u03c0\"].join(\"\"),s&&(e.text=ui+e.text)}}}}(t,o,n,l,i):function(t,e,r,n,i){\"never\"===i?i=\"\":\"all\"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i=\"hide\");e.text=Li(e.x,t,i,n)}(t,o,0,l,i),t.tickprefix&&!f(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!f(t.showticksuffix)&&(o.text+=t.ticksuffix),o},pi.hoverLabelText=function(t,e,r){if(r!==ci&&r!==e)return pi.hoverLabelText(t,e)+\" - \"+pi.hoverLabelText(t,r);var n=\"log\"===t.type&&e<=0,i=pi.tickText(t,t.c2l(n?-e:e),\"hover\").text;return n?0===e?\"0\":ui+i:i};var Si=[\"f\",\"p\",\"n\",\"\\u03bc\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\"];function Ei(t){return\"SI\"===t||\"B\"===t}function Ci(t){return t>14||t<-15}function Li(t,e,n,i){var a=t<0,o=e._tickround,s=n||e.exponentformat||\"B\",l=e._tickexponent,u=pi.getTickFormat(e),c=e.separatethousands;if(i){var h={exponentformat:s,dtick:\"none\"===e.showexponent?e.dtick:r(t)&&Math.abs(t)||1,range:\"none\"===e.showexponent?e.range.map(e.r2d):[0,t||1]};ki(h),o=(Number(h._tickround)||0)+4,l=h._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,ui);var f,p=Math.pow(10,-o)/2;if(\"none\"===s&&(l=0),(t=Math.abs(t))<p)t=\"0\",a=!1;else{if(t+=p,l&&(t*=Math.pow(10,-l),o+=l),0===o)t=String(Math.floor(t));else if(o<0){t=(t=String(Math.round(t))).substr(0,t.length+o);for(var d=o;d<0;d++)t+=\"0\"}else{var g=(t=String(t)).indexOf(\".\")+1;g&&(t=t.substr(0,g+o).replace(/\\.?0+$/,\"\"))}t=ne.numSeparate(t,e._separators,c)}l&&\"hide\"!==s&&(Ei(s)&&Ci(l)&&(s=\"power\"),f=l<0?ui+-l:\"power\"!==s?\"+\"+l:String(l),\"e\"===s?t+=\"e\"+f:\"E\"===s?t+=\"E\"+f:\"power\"===s?t+=\"\\xd710<sup>\"+f+\"</sup>\":\"B\"===s&&9===l?t+=\"B\":Ei(s)&&(t+=Si[l/3+5]));return a?ui+t:t}function zi(t,e){for(var r=0;r<e.length;r++)-1===t.indexOf(e[r])&&t.push(e[r])}function Pi(t,e,r){var n,i,a=[],o=[],s=t.layout;for(n=0;n<e.length;n++)a.push(pi.getFromId(t,e[n]));for(n=0;n<r.length;n++)o.push(pi.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],p=o[0][h],d=!0,g=!1,v=!1;if(\"_\"!==h.charAt(0)&&\"function\"!=typeof f&&-1===u.indexOf(h)){for(i=1;i<a.length&&d;i++){var m=a[i][h];\"type\"===h&&-1!==c.indexOf(f)&&-1!==c.indexOf(m)&&f!==m?g=!0:m!==f&&(d=!1)}for(i=1;i<o.length&&d;i++){var y=o[i][h];\"type\"===h&&-1!==c.indexOf(p)&&-1!==c.indexOf(y)&&p!==y?v=!0:o[i][h]!==p&&(d=!1)}d&&(g&&(s[a[0]._name].type=\"linear\"),v&&(s[o[0]._name].type=\"linear\"),Ii(s,h,a,o,t._fullLayout._dfltTitle))}}for(n=0;n<t._fullLayout.annotations.length;n++){var x=t._fullLayout.annotations[n];-1!==e.indexOf(x.xref)&&-1!==r.indexOf(x.yref)&&ne.swapAttrs(s.annotations[n],[\"?\"])}}function Ii(t,e,r,n,i){var a,o=ne.nestedProperty,s=o(t[r[0]._name],e).get(),l=o(t[n[0]._name],e).get();for(\"title\"===e&&(s===i.x&&(s=i.y),l===i.y&&(l=i.x)),a=0;a<r.length;a++)o(t,r[a]._name+\".\"+e).set(l);for(a=0;a<n.length;a++)o(t,n[a]._name+\".\"+e).set(s)}pi.getTickFormat=function(t){var e,r,n,i,a,o,s;function l(t){return\"string\"!=typeof t?t:Number(t.replace(\"M\",\"\"))*ii}function u(t,e){var r=[\"L\",\"D\"];if(typeof t==typeof e){if(\"number\"==typeof t)return t-e;var n=r.indexOf(t.charAt(0)),i=r.indexOf(e.charAt(0));return n===i?Number(t.replace(/(L|D)/g,\"\"))-Number(e.replace(/(L|D)/g,\"\")):n-i}return\"number\"==typeof t?1:-1}function c(t,e){var r=null===e[0],n=null===e[1],i=u(t,e[0])>=0,a=u(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case\"date\":case\"linear\":for(e=0;e<t.tickformatstops.length;e++)if(n=t.dtick,i=t.tickformatstops[e].dtickrange,a=void 0,void 0,void 0,a=l||function(t){return t},o=i[0],s=i[1],(!o&&\"number\"!=typeof o||a(o)<=a(n))&&(!s&&\"number\"!=typeof s||a(s)>=a(n))){r=t.tickformatstops[e];break}break;case\"log\":for(e=0;e<t.tickformatstops.length;e++)if(c(t.dtick,t.tickformatstops[e].dtickrange)){r=t.tickformatstops[e];break}}return r?r.value:t.tickformat},pi.getSubplots=function(t,e){var r=t._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=e?pi.findSubplotsWithAxis(n,e):n;return i.sort(function(t,e){var r=t.substr(1).split(\"y\"),n=e.substr(1).split(\"y\");return r[0]===n[0]?+r[1]-+n[1]:+r[0]-+n[0]}),i},pi.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},pi.makeClipPaths=function(t){var r,n,i=t._fullLayout,a={_offset:0,_length:i.width,_id:\"\"},o={_offset:0,_length:i.height,_id:\"\"},s=pi.list(t,\"x\",!0),l=pi.list(t,\"y\",!0),u=[];for(r=0;r<s.length;r++)for(u.push({x:s[r],y:o}),n=0;n<l.length;n++)0===r&&u.push({x:a,y:l[n]}),u.push({x:s[r],y:l[n]});var c=i._clips.selectAll(\".axesclip\").data(u,function(t){return t.x._id+t.y._id});c.enter().append(\"clipPath\").classed(\"axesclip\",!0).attr(\"id\",function(t){return\"clip\"+i._uid+t.x._id+t.y._id}).append(\"rect\"),c.exit().remove(),c.each(function(t){e.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})})},pi.doTicks=function(t,n,i){var a,o=t._fullLayout,s=!1;if(\"object\"==typeof n)n=(a=n)._id,s=!0;else if(a=pi.getFromId(t,n),\"redraw\"===n&&o._paper.selectAll(\"g.subplot\").each(function(t){var e=o._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(),o._infolayer.select(\".g-\"+r._id+\"title\").remove(),o._infolayer.select(\".g-\"+n._id+\"title\").remove()}),!n||\"redraw\"===n)return ne.syncOrAsync(pi.list(t,\"\",!0).map(function(e){return function(){if(e._id){var r=pi.doTicks(t,e._id);return\"redraw\"===n&&(e._r=e.range.slice(),e._rl=ne.simpleMap(e._r,e.r2l)),r}}}));a.setScale();var l,u,c,h,f,p=n.charAt(0),d=pi.counterLetter(n),g=pi.calcTicks(a),v=function(t){return[t.text,t.x,a.mirror,t.font,t.fontSize,t.fontColor].join(\"_\")},m=n+\"tick\",y=n+\"grid\",x=n+\"zl\",b=(a.linewidth||1)/2,_=\"outside\"===a.ticks?a.ticklen:0,w=0,M=Sr.crispRound(t,a.gridwidth,1),A=Sr.crispRound(t,a.zerolinewidth,M),k=Sr.crispRound(t,a.tickwidth,1);if(a._counterangle&&\"outside\"===a.ticks){var T=a._counterangle*Math.PI/180;_=a.ticklen*Math.cos(T)+1,w=a.ticklen*Math.sin(T)}if(a.showticklabels&&(\"outside\"===a.ticks||a.showline)&&(_+=.2*a.tickfont.size),\"x\"===p)l=[\"bottom\",\"top\"],u=a._transfn||function(t){return\"translate(\"+(a._offset+a.l2p(t.x))+\",0)\"},c=function(t,e){if(a._counterangle){var r=a._counterangle*Math.PI/180;return\"M0,\"+t+\"l\"+Math.sin(r)*e+\",\"+Math.cos(r)*e}return\"M0,\"+t+\"v\"+e};else if(\"y\"===p)l=[\"left\",\"right\"],u=a._transfn||function(t){return\"translate(0,\"+(a._offset+a.l2p(t.x))+\")\"},c=function(t,e){if(a._counterangle){var r=a._counterangle*Math.PI/180;return\"M\"+t+\",0l\"+Math.cos(r)*e+\",\"+-Math.sin(r)*e}return\"M\"+t+\",0h\"+e};else{if(\"angular\"!==n)return void ne.warn(\"Unrecognized doTicks axis:\",n);l=[\"left\",\"right\"],u=a._transfn,c=function(t,e){return\"M\"+t+\",0h\"+e}}var S=a.side||l[0],E=[-1,1,S===l[1]?1:-1];if(\"inside\"!==a.ticks==(\"x\"===p)&&(E=E.map(function(t){return-t})),a.visible){a._tickFilter&&(g=g.filter(a._tickFilter));var C=g.filter(F);if(\"angular\"===a._id&&(C=g),s){if(B(a._axislayer,c(a._pos+b*E[2],E[2]*a.ticklen)),a._counteraxis)U({gridlayer:a._gridlayer,zerolinelayer:a._zerolinelayer},a._counteraxis);return N(a._axislayer,a._pos)}if(o._has(\"cartesian\")){var L={};(h=pi.getSubplots(t,a)).map(function(t){var e=o._plots[t],r=e[d+\"axis\"],n=r._mainAxis._id;L[n]||(L[n]=1,U(e,r,t))});var z=a._mainSubplot,I=o._plots[z],D=[];if(a.ticks){var O=E[2],R=c(a._mainLinePosition+b*O,O*a.ticklen);a._anchorAxis&&a.mirror&&!0!==a.mirror&&(R+=c(a._mainMirrorPosition-b*O,-O*a.ticklen)),B(I[p+\"axislayer\"],R),D=Object.keys(a._linepositions)}return D.map(function(t){var e=o._plots[t][p+\"axislayer\"],r=a._linepositions[t]||[];function n(t){var e=E[t];return c(r[t]+b*e,e*a.ticklen)}B(e,n(0)+n(1))}),N(I[p+\"axislayer\"],a._mainLinePosition)}}function F(t){var e=a.l2p(t.x);return e>1&&e<a._length-1}function B(t,e){var r=t.selectAll(\"path.\"+m).data(\"inside\"===a.ticks?C:g,v);e&&a.ticks?(r.enter().append(\"path\").classed(m,1).classed(\"ticks\",1).classed(\"crisp\",1).call(Oe.stroke,a.tickcolor).style(\"stroke-width\",k+\"px\").attr(\"d\",e),r.attr(\"transform\",u),r.exit().remove()):r.remove()}function N(i,s){var l,c,d,y,x,M=i.selectAll(\"g.\"+m).data(g,v);if(!r(s))return M.remove(),void j();if(!a.showticklabels)return M.remove(),j(),void C();\"x\"===p?(l=function(t){return t.dx+w*x},y=s+(_+b)*(x=\"bottom\"===S?1:-1),c=function(t){return t.dy+y+t.fontSize*(\"bottom\"===S?1:-.2)},d=function(t){return r(t)&&0!==t&&180!==t?t*x<0?\"end\":\"start\":\"middle\"}):\"y\"===p?(x=\"right\"===S?1:-1,c=function(t){return t.dy+t.fontSize*hi-w*x},l=function(t){return t.dx+s+(_+b+(90===Math.abs(a.tickangle)?t.fontSize/2:0))*x},d=function(t){return r(t)&&90===Math.abs(t)?\"middle\":\"right\"===S?\"start\":\"end\"}):\"angular\"===n&&(a._labelShift=w,a._labelStandoff=_,a._pad=b,l=a._labelx,c=a._labely,d=a._labelanchor);var A=0,k=0,T=[];function E(t,n){t.each(function(t){var i=d(n,t),a=e.select(this),o=a.select(\".text-math-group\"),s=u.call(a.node(),t)+(r(n)&&0!=+n?\" rotate(\"+n+\",\"+l(t)+\",\"+(c(t)-t.fontSize/2)+\")\":\"\"),h=function(t,e,r){var n=(t-1)*e;if(\"x\"===p){if(r<-60||60<r)return-.5*n;if(\"top\"===S)return-n}else{if((r*=\"left\"===S?1:-1)<-30)return-n;if(r<30)return-.5*n}return 0}(er.lineCount(a),fi*t.fontSize,r(n)?+n:0);if(h&&(s+=\" translate(0, \"+h+\")\"),o.empty())a.select(\"text\").attr({transform:s,\"text-anchor\":i});else{var f=Sr.bBox(o.node()).width*{end:-.5,start:.5}[i];o.attr(\"transform\",s+(f?\"translate(\"+f+\",0)\":\"\"))}})}function C(){if(a.showticklabels){var e=t.getBoundingClientRect(),r=i.node().getBoundingClientRect();a._boundingBox={width:r.width,height:r.height,left:r.left-e.left,right:r.right-e.left,top:r.top-e.top,bottom:r.bottom-e.top}}else{var n,s=o._size;\"x\"===p?(n=\"free\"===a.anchor?s.t+s.h*(1-a.position):s.t+s.h*(1-a._anchorAxis.domain[{bottom:0,top:1}[a.side]]),a._boundingBox={top:n,bottom:n,left:a._offset,right:a._offset+a._length,width:a._length,height:0}):(n=\"free\"===a.anchor?s.l+s.w*a.position:s.l+s.w*a._anchorAxis.domain[{left:0,right:1}[a.side]],a._boundingBox={left:n,right:n,bottom:a._offset+a._length,top:a._offset,height:a._length,width:0})}if(h){var l=a._counterSpan=[1/0,-1/0];for(f=0;f<h.length;f++){var u=o._plots[h[f]][\"x\"===p?\"yaxis\":\"xaxis\"];c(l,[u._offset,u._offset+u._length])}\"free\"===a.anchor&&c(l,\"x\"===p?[a._boundingBox.bottom,a._boundingBox.top]:[a._boundingBox.right,a._boundingBox.left])}function c(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.max(t[1],e[1])}}M.enter().append(\"g\").classed(m,1).append(\"text\").attr(\"text-anchor\",\"middle\").each(function(r){var n=e.select(this),i=t._promises.length;n.call(er.positionText,l(r),c(r)).call(Sr.font,r.font,r.fontSize,r.fontColor).text(r.text).call(er.convertToTspans,t),(i=t._promises[i])?T.push(t._promises.pop().then(function(){E(n,a.tickangle)})):E(n,a.tickangle)}),M.exit().remove(),M.each(function(t){A=Math.max(A,t.fontSize)}),\"angular\"===n&&M.each(function(t){e.select(this).select(\"text\").call(er.positionText,l(t),c(t))}),E(M,a._lastangle||a.tickangle);var L=ne.syncOrAsync([function(){return T.length&&Promise.all(T)},function(){if(E(M,a.tickangle),\"x\"===p&&!r(a.tickangle)&&(\"log\"!==a.type||\"D\"!==String(a.dtick).charAt(0))){var t=[];for(M.each(function(r){var n=e.select(this),i=n.select(\".text-math-group\"),o=a.l2p(r.x);i.empty()&&(i=n.select(\"text\"));var s=Sr.bBox(i.node());t.push({top:0,bottom:10,height:10,left:o-s.width/2,right:o+s.width/2+2,width:s.width+2})}),f=0;f<t.length-1;f++)if(ne.bBoxIntersect(t[f],t[f+1])){k=30;break}k&&(Math.abs((g[g.length-1].x-g[0].x)*a._m)/(g.length-1)<2.5*A&&(k=90),E(M,k)),a._lastangle=k}return j(),n+\" done\"},C,function(){if(a.automargin&&(\"x\"===p||\"y\"===p)){var e=a.side[0],r={x:0,y:0,r:0,l:0,t:0,b:0};\"x\"===p?(r.y=\"free\"===a.anchor?a.position:a._anchorAxis.domain[\"t\"===e?1:0],r[e]+=a._boundingBox.height):(r.x=\"free\"===a.anchor?a.position:a._anchorAxis.domain[\"r\"===e?1:0],r[e]+=a._boundingBox.width),a.title!==o._dfltTitle[p]&&(r[e]+=a.titlefont.size);var n=a._name+\".automargin\",i=o._pushmargin[n];(!i||i[e].size<r[e])&&_n.autoMargin(t,n,r)}}]);return L&&L.then&&t._promises.push(L),L}function j(){if(!i){var r=gn.getFromId(t,n);if(!(r.rangeslider&&r.rangeslider.visible&&r._boundingBox&&\"bottom\"===r.side)){var a,s,l,u,c=e.select(t).selectAll(\"g.\"+n+\"tick\"),h={selection:c,side:r.side},f=n.charAt(0),p=t._fullLayout._size,d=r.titlefont.size;if(c.size()){var g=Sr.getTranslate(c.node().parentNode);h.offsetLeft=g.x,h.offsetTop=g.y}var v=10+1.5*d+(r.linewidth?r.linewidth-1:0);\"x\"===f?(s=\"free\"===r.anchor?{_offset:p.t+(1-(r.position||0))*p.h,_length:0}:gn.getFromId(t,r.anchor),l=r._offset+r._length/2,u=\"top\"===r.side?-v-d*(r.showticklabels?1:0):s._length+v+d*(r.showticklabels?1.5:.5),u+=s._offset,h.side||(h.side=\"bottom\")):(s=\"free\"===r.anchor?{_offset:p.l+(r.position||0)*p.w,_length:0}:gn.getFromId(t,r.anchor),u=r._offset+r._length/2,l=\"right\"===r.side?s._length+v+d*(r.showticklabels?1:.5):-v-d*(r.showticklabels?.5:0),l+=s._offset,a={rotate:\"-90\",offset:0},h.side||(h.side=\"left\")),Dn.draw(t,n+\"title\",{propContainer:r,propName:r._name+\".title\",placeholder:o._dfltTitle[f],avoid:h,transform:a,attributes:{x:l,y:u,\"text-anchor\":\"middle\"}})}}}function V(t,e){return!0===t.visible&&t.xaxis+t.yaxis===e&&(!(!P.traceIs(t,\"bar\")||t.orientation!=={x:\"h\",y:\"v\"}[p])||t.fill&&t.fill.charAt(t.fill.length-1)===p)}function U(r,i,o){var s=r.gridlayer.selectAll(\".\"+n),l=r.zerolinelayer,c=r[\"hidegrid\"+p]?[]:C,h=a._gridpath||(\"x\"===p?\"M0,\"+i._offset+\"v\":\"M\"+i._offset+\",0h\")+i._length,f=s.selectAll(\"path.\"+y).data(!1===a.showgrid?[]:c,v);if(f.enter().append(\"path\").classed(y,1).classed(\"crisp\",1).attr(\"d\",h).each(function(t){a.zeroline&&(\"linear\"===a.type||\"-\"===a.type)&&Math.abs(t.x)<a.dtick/100&&e.select(this).remove()}),f.attr(\"transform\",u).call(Oe.stroke,a.gridcolor||\"#ddd\").style(\"stroke-width\",M+\"px\"),\"function\"==typeof h&&f.attr(\"d\",h),f.exit().remove(),l){for(var d=!1,g=0;g<t._fullData.length;g++)if(V(t._fullData[g],o)){d=!0;break}var m=ne.simpleMap(a.range,a.r2l),b=m[0]*m[1]<=0&&a.zeroline&&(\"linear\"===a.type||\"-\"===a.type)&&c.length&&(d||F({x:0})||!a.showline),_=l.selectAll(\"path.\"+x).data(b?[{x:0,id:n}]:[]);_.enter().append(\"path\").classed(x,1).classed(\"zl\",1).classed(\"crisp\",1).attr(\"d\",h).each(function(){l.selectAll(\"path\").sort(function(t,e){return gn.idSort(t.id,e.id)})}),_.attr(\"transform\",u).call(Oe.stroke,a.zerolinecolor||Oe.defaultLine).style(\"stroke-width\",A+\"px\"),_.exit().remove()}}},pi.swap=function(t,e){for(var r=function(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++)-1===i[n].x.indexOf(o)&&-1===i[n].y.indexOf(s)||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]],zi(u.x,l.x),zi(u.y,l.y);zi(u.x,[o]),zi(u.y,[s])}else i.push({x:[o],y:[s]})}}return i}(t,e),n=0;n<r.length;n++)Pi(t,r[n].x,r[n].y)};var Di={pointsAccessorFunction:function(t,e){for(var r,n,i=0;i<t.length&&(r=t[i])!==e;i++)r._indexToPoints&&!1!==r.enabled&&(n=r._indexToPoints);return n?function(t){return n[t]}:function(t){return[t]}}},Oi={},Ri=Di.pointsAccessorFunction,Fi=t.BADNUM;Oi.moduleType=\"transform\",Oi.name=\"aggregate\";var Bi=Oi.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},groups:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},aggregations:{_isLinkedToArray:\"aggregation\",target:{valType:\"string\",editType:\"calc\"},func:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"median\",\"mode\",\"rms\",\"stddev\",\"min\",\"max\",\"first\",\"last\"],dflt:\"first\",editType:\"calc\"},funcmode:{valType:\"enumerated\",values:[\"sample\",\"population\"],dflt:\"sample\",editType:\"calc\"},enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},Ni=Bi.aggregations;function ji(t,e,r,n){if(n.enabled){for(var i=n.target,a=ne.nestedProperty(e,i),o=a.get(),s=function(t,e){var r=t.func,n=e.d2c,i=e.c2d;switch(r){case\"count\":return Vi;case\"first\":return Ui;case\"last\":return qi;case\"sum\":return function(t,e){for(var r=0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==Fi&&(r+=o)}return i(r)};case\"avg\":return function(t,e){for(var r=0,a=0,o=0;o<e.length;o++){var s=n(t[e[o]]);s!==Fi&&(r+=s,a++)}return a?i(r/a):Fi};case\"min\":return function(t,e){for(var r=1/0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==Fi&&(r=Math.min(r,o))}return r===1/0?Fi:i(r)};case\"max\":return function(t,e){for(var r=-1/0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==Fi&&(r=Math.max(r,o))}return r===-1/0?Fi:i(r)};case\"median\":return function(t,e){for(var r=[],a=0;a<e.length;a++){var o=n(t[e[a]]);o!==Fi&&r.push(o)}if(!r.length)return Fi;r.sort();var s=(r.length-1)/2;return i((r[Math.floor(s)]+r[Math.ceil(s)])/2)};case\"mode\":return function(t,e){for(var r={},a=0,o=Fi,s=0;s<e.length;s++){var l=n(t[e[s]]);if(l!==Fi){var u=r[l]=(r[l]||0)+1;u>a&&(a=u,o=l)}}return a?i(o):Fi};case\"rms\":return function(t,e){for(var r=0,a=0,o=0;o<e.length;o++){var s=n(t[e[o]]);s!==Fi&&(r+=s*s,a++)}return a?i(Math.sqrt(r/a)):Fi};case\"stddev\":return function(e,r){var i,a=0,o=0,s=1,l=Fi;for(i=0;i<r.length&&l===Fi;i++)l=n(e[r[i]]);if(l===Fi)return Fi;for(;i<r.length;i++){var u=n(e[r[i]]);if(u!==Fi){var c=u-l;a+=c,o+=c*c,s++}}var h=\"sample\"===t.funcmode?s-1:s;return h?Math.sqrt((o-a*a/s)/h):0}}}(n,ri.getDataConversions(t,e,i,o)),l=new Array(r.length),u=0;u<r.length;u++)l[u]=s(o,r[u]);a.set(l)}}function Vi(t,e){return e.length}function Ui(t,e){return t[e[0]]}function qi(t,e){return t[e[e.length-1]]}Oi.supplyDefaults=function(t,e){var r,n={};function i(e,r){return ne.coerce(t,n,Bi,e,r)}if(!i(\"enabled\"))return n;var a=nn.findArrayAttributes(e),o={};for(r=0;r<a.length;r++)o[a[r]]=1;var s=i(\"groups\");if(!Array.isArray(s)){if(!o[s])return void(n.enabled=!1);o[s]=0}var l,u=t.aggregations||[],c=n.aggregations=new Array(u.length);function h(t,e){return ne.coerce(u[r],l,Ni,t,e)}for(r=0;r<u.length;r++){l={_index:r};var f=h(\"target\"),p=h(\"func\");h(\"enabled\")&&f&&(o[f]||\"count\"===p&&void 0===o[f])?(\"stddev\"===p&&h(\"funcmode\"),o[f]=0,c[r]=l):c[r]={enabled:!1,_index:r}}for(r=0;r<a.length;r++)o[a[r]]&&c.push({target:a[r],func:Ni.func.dflt,enabled:!0,_index:-1});return n},Oi.calcTransform=function(t,e,r){if(r.enabled){var n=r.groups,i=ne.getTargetArray(e,{target:n});if(i){var a,o,s,l,u={},c={},h=[],f=Ri(e.transforms,r);for(a=0;a<i.length;a++)void 0===(s=u[o=i[a]])?(u[o]=h.length,l=[a],h.push(l),c[u[o]]=f(a)):(h[s].push(a),c[u[o]]=(c[u[o]]||[]).concat(f(a)));r._indexToPoints=c;var p=r.aggregations;for(a=0;a<p.length;a++)ji(t,e,h,p[a]);\"string\"==typeof n&&ji(t,e,h,{target:n,func:\"first\",enabled:!0})}}};var Hi=Oi,Gi={xaxis:{valType:\"subplotid\",dflt:\"x\",editType:\"calc+clearAxisTypes\"},yaxis:{valType:\"subplotid\",dflt:\"y\",editType:\"calc+clearAxisTypes\"}},Wi=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\")}},Yi=s.mix,Xi=C.lightFraction,Zi=function(t,e,r,n){var i=(n=n||{}).dfltColor;function a(r,i){return ne.coerce2(t,e,n.attributes,r,i)}var o=a(\"linecolor\",i),s=a(\"linewidth\");r(\"showline\",n.showLine||!!o||!!s)||(delete e.linecolor,delete e.linewidth);var l=a(\"gridcolor\",Yi(i,n.bgColor,n.blend||Xi).toRgbString()),u=a(\"gridwidth\");if(r(\"showgrid\",n.showGrid||!!l||!!u)||(delete e.gridcolor,delete e.gridwidth),!n.noZeroLine){var c=a(\"zerolinecolor\",i),h=a(\"zerolinewidth\");r(\"zeroline\",n.showGrid||!!c||!!h)||(delete e.zerolinecolor,delete e.zerolinewidth)}};function Ji(t,r,n){var i,a,o,s,l,u=[],c=n.map(function(e){return e[t]}),h=e.bisector(r).left;for(i=0;i<c.length;i++)for(o=c[i],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 Ki=function(t,r,n,i){switch(r){case\"array\":return Array.isArray(n)?n.slice():[];case\"category ascending\":return Ji(t,e.ascending,i);case\"category descending\":return Ji(t,e.descending,i);case\"trace\":default:return[]}},Qi=function(t,e,r,n,i){var a=n.letter,o=n.font||{},s=r(\"visible\",!n.cheateronly),l=e.type;\"date\"===l&&P.getComponentMethod(\"calendars\",\"handleDefaults\")(t,e,\"calendar\",n.calendar);ei(e,i);var u=r(\"autorange\",!e.isValidRange(t.range));if(e._rangesliderAutorange=!1,u&&r(\"rangemode\"),r(\"range\"),e.cleanRange(),Wi(t,e,r),e._initialCategories=\"category\"===l?Ki(a,e.categoryorder,e.categoryarray,n.data):[],\"category\"===l||n.noHover||r(\"hoverformat\"),!s)return e;var c=r(\"color\"),h=c===t.color?c:o.color;return r(\"title\",i._dfltTitle[a]),ne.coerceFont(r,\"titlefont\",{family:o.family,size:Math.round(1.2*o.size),color:h}),Ge(t,e,r,l),Ue(t,e,r,l,n),qe(t,e,r,n),Zi(t,e,r,{dfltColor:c,bgColor:n.bgColor,showGrid:n.showGrid,attributes:Ce}),(e.showline||e.ticks)&&r(\"mirror\"),n.automargin&&r(\"automargin\"),e},$i=gn.id2name,ta=function(t,e,r,n,i){var a=i._axisConstraintGroups,o=e._id,s=o.charAt(0);if(!e.fixedrange&&(r(\"constrain\"),ne.coerce(t,e,{constraintoward:{valType:\"enumerated\",values:\"x\"===s?[\"left\",\"center\",\"right\"]:[\"bottom\",\"middle\",\"top\"],dflt:\"x\"===s?\"center\":\"middle\"}},\"constraintoward\"),t.scaleanchor)){var l=function(t,e,r,n){var i,a,o,s,l=n[$i(e)].type,u=[];for(a=0;a<r.length;a++)(o=r[a])!==e&&((s=n[$i(o)]).type!==l||s.fixedrange||u.push(o));for(i=0;i<t.length;i++)if(t[i][e]){var c=t[i],h=[];for(a=0;a<u.length;a++)o=u[a],c[o]||h.push(o);return{linkableAxes:h,thisGroup:c}}return{linkableAxes:u,thisGroup:null}}(a,o,n,i),u=ne.coerce(t,e,{scaleanchor:{valType:\"enumerated\",values:l.linkableAxes}},\"scaleanchor\");if(u){var c=r(\"scaleratio\");c||(c=e.scaleratio=1),function(t,e,r,n,i){var a,o,s,l,u;null===e?((e={})[r]=1,u=t.length,t.push(e)):u=t.indexOf(e);var c=Object.keys(e);for(a=0;a<t.length;a++)if(s=t[a],a!==u&&s[n]){var h=s[n];for(o=0;o<c.length;o++)l=c[o],s[l]=h*i*e[l];return void t.splice(u,1)}if(1!==i)for(o=0;o<c.length;o++)e[c[o]]*=i;e[n]=1}(a,l.thisGroup,o,u,c)}else-1!==n.indexOf(t.scaleanchor)&&ne.warn(\"ignored \"+e._name+'.scaleanchor: \"'+t.scaleanchor+'\" to avoid either an infinite loop and possibly inconsistent scaleratios, or because the targetaxis has fixed range.')}};var ea=function(t,e,n,i){var a,o,s,l,u=i.counterAxes||[],c=i.overlayableAxes||[],h=i.letter,f=i.grid;f&&(o=f._domains[h][f._axisMap[e._id]],a=f._anchors[e._id],o&&(s=f[h+\"side\"].split(\" \")[0],l=f.domain[h][\"right\"===s||\"top\"===s?1:0])),o=o||[0,1],a=a||(r(t.position)?\"free\":u[0]||\"free\"),s=s||(\"x\"===h?\"bottom\":\"left\"),l=l||0,\"free\"===ne.coerce(t,e,{anchor:{valType:\"enumerated\",values:[\"free\"].concat(u),dflt:a}},\"anchor\")&&n(\"position\",l),ne.coerce(t,e,{side:{valType:\"enumerated\",values:\"x\"===h?[\"bottom\",\"top\"]:[\"left\",\"right\"],dflt:s}},\"side\");var p=!1;if(c.length&&(p=ne.coerce(t,e,{overlaying:{valType:\"enumerated\",values:[!1].concat(c),dflt:!1}},\"overlaying\")),!p){var d=n(\"domain\",o);d[0]>d[1]-.01&&(e.domain=o),ne.noneOrAll(t.domain,e.domain,o)}return n(\"layer\"),e},ra=gn.name2id,na=function(t,e,r,n,i){i&&(e._name=i,e._id=ra(i)),\"-\"===r(\"type\")&&(!function(t,e){if(\"-\"!==t.type)return;var r=t._id,n=r.charAt(0);-1!==r.indexOf(\"scene\")&&(r=n);var i=function(t,e,r){for(var n=0;n<t.length;n++){var i=t[n];if((i[r+\"axis\"]||r)===e){if(aa(i,r))return i;if((i[r]||[]).length||i[r+\"0\"])return i}}}(e,r,n);if(!i)return;if(\"histogram\"===i.type&&n==={v:\"y\",h:\"x\"}[i.orientation||\"v\"])return void(t.type=\"linear\");var a=n+\"calendar\",o=i[a];if(aa(i,n)){for(var s,l=ia(i),u=[],c=0;c<e.length;c++)s=e[c],P.traceIs(s,\"box-violin\")&&(s[n+\"axis\"]||n)===r&&(void 0!==s[l]?u.push(s[l][0]):void 0!==s.name?u.push(s.name):u.push(\"text\"),s[a]!==o&&(o=void 0));t.type=Yn(u,o)}else t.type=Yn(i[n]||[i[n+\"0\"]],o)}(e,n),\"-\"===e.type?e.type=\"linear\":t.type=e.type)};function ia(t){return{v:\"x\",h:\"y\"}[t.orientation||\"v\"]}function aa(t,e){var r=ia(t),n=P.traceIs(t,\"box-violin\"),i=P.traceIs(t._fullInput||{},\"candlestick\");return n&&!i&&e===r&&void 0===t[r]&&void 0===t[r+\"0\"]}var oa=Te.attrRegex,sa={},la=Te.SUBPLOT_PATTERN;sa.getSubplotCalcData=function(t,e,r){var n=P.subplotsRegistry[e];if(!n)return[];for(var i=n.attr,a=[],o=0;o<t.length;o++){var s=t[o];s[0].trace[i]===r&&a.push(s)}return a},sa.getModuleCalcData=function(t,e){var r=[],n=\"string\"==typeof e?P.getModule(e):e;if(!n)return r;for(var i=0;i<t.length;i++){var a=t[i],o=a[0].trace;o._module===n&&!0===o.visible&&r.push(a)}return r},sa.getSubplotData=function(t,e,r){if(!P.subplotsRegistry[e])return[];var n,i,a,o=P.subplotsRegistry[e].attr,s=[];if(\"gl2d\"===e){var l=r.match(la);i=\"x\"+l[1],a=\"y\"+l[2]}for(var u=0;u<t.length;u++)n=t[u],\"gl2d\"===e&&P.traceIs(n,\"gl2d\")?n[o[0]]===i&&n[o[1]]===a&&s.push(n):n[o]===r&&s.push(n);return s};var ua={},ca=sa.getModuleCalcData;function ha(t,e,r,n,i){var a=t._fullLayout._modules;e.plot&&e.plot.selectAll(\"g:not(.scatterlayer)\").selectAll(\"g.trace\").remove();for(var o=0;o<a.length;o++){var s=a[o];if(\"cartesian\"===s.basePlotModule.name){var l=ca(r,s);s.plot&&s.plot(t,e,l,n,i)}}}function fa(t){var e=t.plotgroup,r=t.id,n=Te.layerValue2layerClass[t.xaxis.layer],i=Te.layerValue2layerClass[t.yaxis.layer];if(t.mainplot){var a=t.mainplotinfo,o=a.plotgroup,s=r+\"-x\",l=r+\"-y\";t.gridlayer=a.gridlayer,t.zerolinelayer=a.zerolinelayer,ga(a.overlinesBelow,\"path\",s),ga(a.overlinesBelow,\"path\",l),ga(a.overaxesBelow,\"g\",s),ga(a.overaxesBelow,\"g\",l),t.plot=ga(a.overplot,\"g\",r),ga(a.overlinesAbove,\"path\",s),ga(a.overlinesAbove,\"path\",l),ga(a.overaxesAbove,\"g\",s),ga(a.overaxesAbove,\"g\",l),t.xlines=o.select(\".overlines-\"+n).select(\".\"+s),t.ylines=o.select(\".overlines-\"+i).select(\".\"+l),t.xaxislayer=o.select(\".overaxes-\"+n).select(\".\"+s),t.yaxislayer=o.select(\".overaxes-\"+i).select(\".\"+l)}else{var u=ga(e,\"g\",\"layer-subplot\");t.shapelayer=ga(u,\"g\",\"shapelayer\"),t.imagelayer=ga(u,\"g\",\"imagelayer\"),t.gridlayer=ga(e,\"g\",\"gridlayer\"),t.zerolinelayer=ga(e,\"g\",\"zerolinelayer\"),ga(e,\"path\",\"xlines-below\"),ga(e,\"path\",\"ylines-below\"),t.overlinesBelow=ga(e,\"g\",\"overlines-below\"),ga(e,\"g\",\"xaxislayer-below\"),ga(e,\"g\",\"yaxislayer-below\"),t.overaxesBelow=ga(e,\"g\",\"overaxes-below\"),t.plot=ga(e,\"g\",\"plot\"),t.overplot=ga(e,\"g\",\"overplot\"),ga(e,\"path\",\"xlines-above\"),ga(e,\"path\",\"ylines-above\"),t.overlinesAbove=ga(e,\"g\",\"overlines-above\"),ga(e,\"g\",\"xaxislayer-above\"),ga(e,\"g\",\"yaxislayer-above\"),t.overaxesAbove=ga(e,\"g\",\"overaxes-above\"),t.xlines=e.select(\".xlines-\"+n),t.ylines=e.select(\".ylines-\"+i),t.xaxislayer=e.select(\".xaxislayer-\"+n),t.yaxislayer=e.select(\".yaxislayer-\"+i)}ga(t.gridlayer,\"g\",t.xaxis._id,t.xaxis._id),ga(t.gridlayer,\"g\",t.yaxis._id,t.yaxis._id),t.gridlayer.selectAll(\"g\").sort(gn.idSort);for(var c=0;c<Te.traceLayerClasses.length;c++)ga(t.plot,\"g\",Te.traceLayerClasses[c]);t.xlines.style(\"fill\",\"none\").classed(\"crisp\",!0),t.ylines.style(\"fill\",\"none\").classed(\"crisp\",!0)}function pa(t,r){if(t){var n={};t.each(function(t){e.select(this).remove(),da(t,r),n[t]=!0});for(var i=r._plots,a=Object.keys(i),o=0;o<a.length;o++)for(var s=i[a[o]].overlays||[],l=0;l<s.length;l++){var u=s[l];n[u.id]&&u.plot.selectAll(\".trace\").remove()}}}function da(t,e){e._draggers.selectAll(\"g.\"+t).remove(),e._defs.select(\"#clip\"+e._uid+t+\"plot\").remove()}function ga(t,e,r,n){var i=t.selectAll(\".\"+r).data([n||0]);return i.enter().append(e).classed(r,!0),i}ua.name=\"cartesian\",ua.attr=[\"xaxis\",\"yaxis\"],ua.idRoot=[\"x\",\"y\"],ua.idRegex=Te.idRegex,ua.attrRegex=Te.attrRegex,ua.attributes=Gi,ua.layoutAttributes=Ce,ua.supplyLayoutDefaults=function(t,e,r){var n,i={},a={},o={},s={};for(n=0;n<r.length;n++){var l=r[n];if(P.traceIs(l,\"cartesian\")||P.traceIs(l,\"gl2d\")){var u=gn.id2name(l.xaxis),c=gn.id2name(l.yaxis);P.traceIs(l,\"carpet\")&&(\"carpet\"!==l.type||l._cheater)||u&&(a[u]=1),\"carpet\"===l.type&&l._cheater&&u&&(i[u]=1),P.traceIs(l,\"2dMap\")&&(o[u]=!0,o[c]=!0),P.traceIs(l,\"oriented\")&&(s[\"h\"===l.orientation?c:u]=!0)}}var h=e._subplots,f=h.xaxis,p=h.yaxis,d=ne.simpleMap(f,gn.id2name),g=ne.simpleMap(p,gn.id2name),v=d.concat(g),m=Oe.background;f.length&&p.length&&(m=ne.coerce(t,e,z,\"plot_bgcolor\"));var y,x,b,_,w=Oe.combine(m,e.paper_bgcolor);function M(t,e){return ne.coerce(b,_,Ce,t,e)}function A(t,e){return ne.coerce2(b,_,Ce,t,e)}function k(t){return\"x\"===t?p:f}var T={x:k(\"x\"),y:k(\"y\")};function S(e,r){for(var n=\"x\"===e?d:g,i=[],a=0;a<n.length;a++){var o=n[a];o===r||(t[o]||{}).overlaying||i.push(gn.name2id(o))}return i}for(n=0;n<v.length;n++){y=v[n],ne.isPlainObject(t[y])||(t[y]={}),b=t[y],_=e[y]={},na(b,_,M,r,y);var E=S(x=y.charAt(0),y),C={letter:x,font:e.font,outerTicks:o[y],showGrid:!s[y],data:r,bgColor:w,calendar:e.calendar,automargin:!0,cheateronly:\"x\"===x&&i[y]&&!a[y]};Qi(b,_,M,C,e);var L=A(\"spikecolor\"),I=A(\"spikethickness\"),D=A(\"spikedash\"),O=A(\"spikemode\"),R=A(\"spikesnap\");M(\"showspikes\",!!(L||I||D||O||R))||(delete _.spikecolor,delete _.spikethickness,delete _.spikedash,delete _.spikemode,delete _.spikesnap);var F={letter:x,counterAxes:T[x],overlayableAxes:E,grid:e.grid};ea(b,_,M,F),_._input=b}var B=P.getComponentMethod(\"rangeslider\",\"handleDefaults\"),N=P.getComponentMethod(\"rangeselector\",\"handleDefaults\");for(n=0;n<d.length;n++)y=d[n],b=t[y],_=e[y],B(t,e,y),\"date\"===_.type&&N(b,_,e,g,_.calendar),M(\"fixedrange\");for(n=0;n<g.length;n++){y=g[n],b=t[y],_=e[y];var j=e[gn.id2name(_.anchor)];M(\"fixedrange\",j&&j.rangeslider&&j.rangeslider.visible)}e._axisConstraintGroups=[];var V=T.x.concat(T.y);for(n=0;n<v.length;n++)x=(y=v[n]).charAt(0),b=t[y],_=e[y],ta(b,_,M,V,e)},ua.transitionAxes=function(t,r,n,i){var a=t._fullLayout,o=[];var s,l,u,c,h=function(t){var e,r,n,i,s={};for(e in t)if((r=e.split(\".\"))[0].match(oa)){var l=e.charAt(0),u=r[0];if(n=a[u],i={},Array.isArray(t[e])?i.to=t[e].slice(0):Array.isArray(t[e].range)&&(i.to=t[e].range.slice(0)),!i.to)continue;i.axisName=u,i.length=n._length,o.push(l),s[l]=i}return s}(r),f=Object.keys(h),p=function(t,e,r){var n,i,a,o=t._plots,s=[];for(n in o){var l=o[n];if(-1===s.indexOf(l)){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]||-1===e.indexOf(u)&&-1===e.indexOf(c)||s.push(l)}}return s}(a,f,h);if(!p.length)return function(){function e(e,r,n){for(var i=0;i<e.length;i++)if(r(t,i),n)return}e(a.annotations||[],P.getComponentMethod(\"annotations\",\"drawOne\")),e(a.shapes||[],P.getComponentMethod(\"shapes\",\"drawOne\")),e(a.images||[],P.getComponentMethod(\"images\",\"draw\"),!0)}(),!1;function d(t){var e=t.xaxis,r=t.yaxis;a._defs.select(\"#\"+t.clipId+\"> rect\").call(Sr.setTranslate,0,0).call(Sr.setScale,1,1),t.plot.call(Sr.setTranslate,e._offset,r._offset).call(Sr.setScale,1,1);var n=t.plot.selectAll(\".scatterlayer .trace\");n.selectAll(\".point\").call(Sr.setPointGroupScale,1,1),n.selectAll(\".textpoint\").call(Sr.setTextPointsScale,1,1),n.call(Sr.hideOutsideRangePoints,t)}function g(e,r){var n,i,o,s=h[e.xaxis._id],l=h[e.yaxis._id],u=[];if(s){i=(n=t._fullLayout[s.axisName])._r,o=s.to,u[0]=(i[0]*(1-r)+r*o[0]-i[0])/(i[1]-i[0])*e.xaxis._length;var c=i[1]-i[0],f=o[1]-o[0];n.range[0]=i[0]*(1-r)+r*o[0],n.range[1]=i[1]*(1-r)+r*o[1],u[2]=e.xaxis._length*(1-r+r*f/c)}else u[0]=0,u[2]=e.xaxis._length;if(l){i=(n=t._fullLayout[l.axisName])._r,o=l.to,u[1]=(i[1]*(1-r)+r*o[1]-i[1])/(i[0]-i[1])*e.yaxis._length;var p=i[1]-i[0],d=o[1]-o[0];n.range[0]=i[0]*(1-r)+r*o[0],n.range[1]=i[1]*(1-r)+r*o[1],u[3]=e.yaxis._length*(1-r+r*d/p)}else u[1]=0,u[3]=e.yaxis._length;!function(e,r){var n,i=[];for(i=[e._id,r._id],n=0;n<i.length;n++)ri.doTicks(t,i[n],!0);function o(e,r,a){for(n=0;n<e.length;n++){var o=e[n];if(-1===i.indexOf(o.xref)&&-1===i.indexOf(o.yref)||r(t,n),a)return}}o(a.annotations||[],P.getComponentMethod(\"annotations\",\"drawOne\")),o(a.shapes||[],P.getComponentMethod(\"shapes\",\"drawOne\")),o(a.images||[],P.getComponentMethod(\"images\",\"draw\"),!0)}(e.xaxis,e.yaxis);var g=e.xaxis,v=e.yaxis,m=!!s,y=!!l,x=m?g._length/u[2]:1,b=y?v._length/u[3]:1,_=m?u[0]:0,w=y?u[1]:0,M=m?u[0]/u[2]*g._length:0,A=y?u[1]/u[3]*v._length:0,k=g._offset-M,T=v._offset-A;a._defs.select(\"#\"+e.clipId+\"> rect\").call(Sr.setTranslate,_,w).call(Sr.setScale,1/x,1/b),e.plot.call(Sr.setTranslate,k,T).call(Sr.setScale,x,b).selectAll(\".points\").selectAll(\".point\").call(Sr.setPointGroupScale,1/x,1/b),e.plot.selectAll(\".points\").selectAll(\".textpoint\").call(Sr.setTextPointsScale,1/x,1/b)}i&&(s=i());var v=e.ease(n.easing);return t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(c),c=null,function(){for(var e={},r=0;r<f.length;r++){var n=t._fullLayout[f[r]+\"axis\"];e[n._name+\".range[0]\"]=n.range[0],e[n._name+\".range[1]\"]=n.range[1],n.range=n._r.slice()}return P.call(\"relayout\",t,e).then(function(){for(var t=0;t<p.length;t++)d(p[t])})}()}),l=Date.now(),c=window.requestAnimationFrame(function e(){u=Date.now();for(var r=Math.min(1,(u-l)/n.duration),i=v(r),a=0;a<p.length;a++)g(p[a],i);u-l>n.duration?(function(){for(var e={},r=0;r<f.length;r++){var n=t._fullLayout[h[f[r]].axisName],i=h[f[r]].to;e[n._name+\".range[0]\"]=i[0],e[n._name+\".range[1]\"]=i[1],n.range=i.slice()}s&&s(),P.call(\"relayout\",t,e).then(function(){for(var t=0;t<p.length;t++)d(p[t])})}(),c=window.cancelAnimationFrame(e)):c=window.requestAnimationFrame(e)}),Promise.resolve()},ua.finalizeSubplots=function(t,e){var r,n,i,a=e._subplots,o=a.xaxis,s=a.yaxis,l=a.cartesian,u=l.concat(a.gl2d||[]),c={},h={};for(r=0;r<u.length;r++){var f=u[r].split(\"y\");c[f[0]]=1,h[\"y\"+f[1]]=1}for(r=0;r<o.length;r++)c[n=o[r]]||(i=(t[gn.id2name(n)]||{}).anchor,Te.idRegex.y.test(i)||(i=\"y\"),l.push(n+i),u.push(n+i),h[i]||(h[i]=1,ne.pushUnique(s,i)));for(r=0;r<s.length;r++)h[i=s[r]]||(n=(t[gn.id2name(i)]||{}).anchor,Te.idRegex.x.test(n)||(n=\"x\"),l.push(n+i),u.push(n+i),c[n]||(c[n]=1,ne.pushUnique(o,n)));if(!u.length){for(var p in n=\"\",i=\"\",t){if(Te.attrRegex.test(p))\"x\"===p.charAt(0)?(!n||+p.substr(5)<+n.substr(5))&&(n=p):(!i||+p.substr(5)<+i.substr(5))&&(i=p)}n=n?gn.name2id(n):\"x\",i=i?gn.name2id(i):\"y\",o.push(n),s.push(i),l.push(n+i)}},ua.plot=function(t,e,r,n){var i,a=t._fullLayout,o=a._subplots.cartesian,s=t.calcdata;if(!Array.isArray(e))for(e=[],i=0;i<s.length;i++)e.push(i);for(a._glcanvas&&a._glcanvas.size()&&a._glcanvas.each(function(t){t.regl&&t.regl.clear({color:!0})}),i=0;i<o.length;i++){for(var l,u=o[i],c=a._plots[u],h=[],f=0;f<s.length;f++){var p=s[f],d=p[0].trace;d.xaxis+d.yaxis===u&&((-1!==e.indexOf(d.index)||d.carpet)&&(l&&l[0].trace.xaxis+l[0].trace.yaxis===u&&-1!==[\"tonextx\",\"tonexty\",\"tonext\"].indexOf(d.fill)&&-1===h.indexOf(l)&&h.push(l),h.push(p)),l=p)}ha(t,c,h,r,n)}},ua.clean=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p=n._modules||[],d=e._modules||[];for(l=0;l<p.length;l++)\"scatter\"===(f=p[l].name)?i=!0:\"scattergl\"===f&&(o=!0);for(l=0;l<d.length;l++)\"scatter\"===(f=d[l].name)?a=!0:\"scattergl\"===f&&(s=!0);if(i&&!a){for(u=n._plots,c=Object.keys(u||{}),l=0;l<c.length;l++)(h=u[c[l]]).plot&&h.plot.select(\"g.scatterlayer\").selectAll(\"g.trace\").remove();n._infolayer.selectAll(\"g.rangeslider-container\").select(\"g.scatterlayer\").selectAll(\"g.trace\").remove()}if(o&&!s)for(u=n._plots,c=Object.keys(u||{}),l=0;l<c.length;l++)(h=u[c[l]])._scene&&h._scene.destroy();var g=n._subplots||{},v=e._subplots||{xaxis:[],yaxis:[]};if(g.xaxis&&g.yaxis){var m=g.xaxis.concat(g.yaxis),y=v.xaxis.concat(v.yaxis);for(l=0;l<m.length;l++)-1===y.indexOf(m[l])&&n._infolayer.selectAll(\".g-\"+m[l]+\"title\").remove()}var x=n._has&&n._has(\"cartesian\"),b=e._has&&e._has(\"cartesian\");if(x&&!b)pa(n._cartesianlayer.selectAll(\".subplot\"),n),n._defs.selectAll(\".axesclip\").remove(),delete n._axisConstraintGroups;else if(g.cartesian)for(l=0;l<g.cartesian.length;l++){var _=g.cartesian[l];if(-1===v.cartesian.indexOf(_)){var w=\".\"+_+\",.\"+_+\"-x,.\"+_+\"-y\";n._cartesianlayer.selectAll(w).remove(),da(_,n)}}},ua.drawFramework=function(t){var r=t._fullLayout,n=function(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=l._mainAxis,h=u._mainAxis,f=c._id+h._id;f!==o&&-1!==r.indexOf(f)?(s.mainplot=f,s.mainplotinfo=e._plots[f],i.push(o)):n.push(o)}return n=n.concat(i)}(t),i=r._cartesianlayer.selectAll(\".subplot\").data(n,ne.identity);i.enter().append(\"g\").attr(\"class\",function(t){return\"subplot \"+t}),i.order(),i.exit().call(pa,r),i.each(function(t){var n=r._plots[t];(n.plotgroup=e.select(this),n.overlays=[],fa(n),n.mainplot)&&r._plots[n.mainplot].overlays.push(n);n.draglayer=ga(r._draggers,\"g\",t)})},ua.rangePlot=function(t,e,r){fa(e),ha(t,e,r),_n.style(t)},ua.toSVG=function(t){var r=t._fullLayout._glimages,n=e.select(t).selectAll(\".svg-container\");n.filter(function(t,e){return e===n.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\").each(function(){var t=this.toDataURL(\"image/png\");r.append(\"svg:image\").attr({xmlns:$e.svg,\"xlink:href\":t,preserveAspectRatio:\"none\",x:0,y:0,width:this.width,height:this.height})})};var va=ne.mergeArray,ma=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;va(e.text,t,\"tx\"),va(e.hovertext,t,\"htx\");var n=e.marker;if(n){va(n.opacity,t,\"mo\"),va(n.color,t,\"mc\");var i=n.line;i&&(va(i.color,t,\"mlc\"),va(i.width,t,\"mlw\"))}},ya=m.extendFlat,xa=T({editType:\"calc\",arrayOk:!0}),ba=Zr.marker,_a=ya({line:ya({width:ya({},ba.line.width,{dflt:0}),editType:\"calc\"},De()),editType:\"calc\"},De(),{showscale:ba.showscale,colorbar:ze,opacity:{valType:\"number\",arrayOk:!0,dflt:1,min:0,max:1,editType:\"style\"}}),wa={x:Zr.x,x0:Zr.x0,dx:Zr.dx,y:Zr.y,y0:Zr.y0,dy:Zr.dy,text:Zr.text,hovertext:Zr.hovertext,textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"none\",arrayOk:!0,editType:\"calc\"},textfont:ya({},xa,{}),insidetextfont:ya({},xa,{}),outsidetextfont:ya({},xa,{}),constraintext:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"both\",\"none\"],dflt:\"both\",editType:\"calc\"},cliponaxis:ya({},Zr.cliponaxis,{}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},base:{valType:\"any\",dflt:null,arrayOk:!0,editType:\"calc\"},offset:{valType:\"number\",dflt:null,arrayOk:!0,editType:\"calc\"},width:{valType:\"number\",dflt:null,min:0,arrayOk:!0,editType:\"calc\"},marker:_a,selected:{marker:{opacity:Zr.selected.marker.opacity,color:Zr.selected.marker.color,editType:\"style\"},textfont:Zr.selected.textfont,editType:\"style\"},unselected:{marker:{opacity:Zr.unselected.marker.opacity,color:Zr.unselected.marker.color,editType:\"style\"},textfont:Zr.unselected.textfont,editType:\"style\"},r:Zr.r,t:Zr.t,_deprecated:{bardir:{valType:\"enumerated\",editType:\"calc\",values:[\"v\",\"h\"]}}},Ma=function(t,e){ne.isArrayOrTypedArray(e.selectedpoints)&&ne.tagSelected(t,e)},Aa=ne.isArrayOrTypedArray,ka=function(t,e,r,n,i){r(\"marker.color\",n),Xe(t,\"marker\")&&Ye(t,e,i,r,{prefix:\"marker.\",cLetter:\"c\"}),r(\"marker.line.color\",Oe.defaultLine),Xe(t,\"marker.line\")&&Ye(t,e,i,r,{prefix:\"marker.line.\",cLetter:\"c\"}),r(\"marker.line.width\"),r(\"marker.opacity\"),r(\"selected.marker.color\"),r(\"unselected.marker.color\")},Ta=function(t,e,r,n){var i,a=n(\"x\"),o=n(\"y\");if(P.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],r),a)o?i=Math.min(a.length,o.length):(i=a.length,n(\"y0\"),n(\"dy\"));else{if(!o)return 0;i=e.y.length,n(\"x0\"),n(\"dx\")}return e._length=i,i},Sa={};(function(t){\"use strict\";var e;e=\"function\"!=typeof t.matchMedia||!t.matchMedia(\"(hover: none)\").matches,Sa=e}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{});var Ea=function(){var t=!1;try{var e=Object.defineProperty({},\"passive\",{get:function(){t=!0}});window.addEventListener(\"test\",null,e),window.removeEventListener(\"test\",null,e)}catch(e){t=!1}return t}(),Ca={left:0,top:0},La=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var n=t.clientX||0,i=t.clientY||0,a=(o=e,o===window||o===document||o===document.body?Ca:o.getBoundingClientRect());var o;return r[0]=n-a.left,r[1]=i-a.top,r};var za=[[\"sw-resize\",\"s-resize\",\"se-resize\"],[\"w-resize\",\"move\",\"e-resize\"],[\"nw-resize\",\"n-resize\",\"ne-resize\"]],Pa={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:\"Arial, sans-serif\",HOVERMINTIME:50,HOVERID:\"-hover\"};function Ia(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}var Da=Ia;function Oa(t){return\"function\"==typeof t}function Ra(t){return\"object\"==typeof t&&null!==t}function Fa(t){return void 0===t}Ia.EventEmitter=Ia,Ia.prototype._events=void 0,Ia.prototype._maxListeners=void 0,Ia.defaultMaxListeners=10,Ia.prototype.setMaxListeners=function(t){if(\"number\"!=typeof t||t<0||isNaN(t))throw TypeError(\"n must be a positive number\");return this._maxListeners=t,this},Ia.prototype.emit=function(t){var e,r,n,i,a,o;if(this._events||(this._events={}),\"error\"===t&&(!this._events.error||Ra(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var s=new Error('Uncaught, unspecified \"error\" event. ('+e+\")\");throw s.context=e,s}if(Fa(r=this._events[t]))return!1;if(Oa(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:i=Array.prototype.slice.call(arguments,1),r.apply(this,i)}else if(Ra(r))for(i=Array.prototype.slice.call(arguments,1),n=(o=r.slice()).length,a=0;a<n;a++)o[a].apply(this,i);return!0},Ia.prototype.addListener=function(t,e){var r;if(!Oa(e))throw TypeError(\"listener must be a function\");return this._events||(this._events={}),this._events.newListener&&this.emit(\"newListener\",t,Oa(e.listener)?e.listener:e),this._events[t]?Ra(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,Ra(this._events[t])&&!this._events[t].warned&&(r=Fa(this._maxListeners)?Ia.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},Ia.prototype.on=Ia.prototype.addListener,Ia.prototype.once=function(t,e){if(!Oa(e))throw TypeError(\"listener must be a function\");var r=!1;function n(){this.removeListener(t,n),r||(r=!0,e.apply(this,arguments))}return n.listener=e,this.on(t,n),this},Ia.prototype.removeListener=function(t,e){var r,n,i,a;if(!Oa(e))throw TypeError(\"listener must be a function\");if(!this._events||!this._events[t])return this;if(i=(r=this._events[t]).length,n=-1,r===e||Oa(r.listener)&&r.listener===e)delete this._events[t],this._events.removeListener&&this.emit(\"removeListener\",t,e);else if(Ra(r)){for(a=i;a-- >0;)if(r[a]===e||r[a].listener&&r[a].listener===e){n=a;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},Ia.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(Oa(r=this._events[t]))this.removeListener(t,r);else if(r)for(;r.length;)this.removeListener(t,r[r.length-1]);return delete this._events[t],this},Ia.prototype.listeners=function(t){return this._events&&this._events[t]?Oa(this._events[t])?[this._events[t]]:this._events[t].slice():[]},Ia.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(Oa(e))return 1;if(e)return e.length}return 0},Ia.listenerCount=function(t,e){return t.listenerCount(e)};var Ba,Na=Da.EventEmitter,ja={init:function(t){if(t._ev instanceof Na)return t;var e=new Na,r=new Na;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}},Va=Ba={};Va.wrapped=function(t,e,r){(t=Bt(t))._fullLayout&&$t.clear(t._fullLayout._uid+Pa.HOVERID),Va.raw(t,e,r)},Va.raw=function(t,e){var r=t._fullLayout,n=t._hoverdata;e||(e={}),e.target&&!1===ja.triggerHandler(t,\"plotly_beforehover\",e)||(r._hoverlayer.selectAll(\"g\").remove(),r._hoverlayer.selectAll(\"line\").remove(),r._hoverlayer.selectAll(\"circle\").remove(),t._hoverdata=void 0,e.target&&n&&t.emit(\"plotly_unhover\",{event:e,points:n}))};var Ua={},qa=Ua={};function Ha(){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 Ga(t){return La(t.changedTouches?t.changedTouches[0]:t,document.body)}qa.align=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},qa.getCursor=function(t,e,r,n){return t=\"left\"===r?0:\"center\"===r?1:\"right\"===r?2:ne.constrain(Math.floor(3*t),0,2),e=\"bottom\"===n?0:\"middle\"===n?1:\"top\"===n?2:ne.constrain(Math.floor(3*e),0,2),za[e][t]},qa.unhover=Ba.wrapped,qa.unhoverRaw=Ba.raw,qa.init=function(t){var e,r,n,i,a,o,s,l,u=t.gd,c=1,h=f.DBLCLICKDELAY,p=t.element;u._mouseDownTime||(u._mouseDownTime=0),p.style.pointerEvents=\"all\",p.onmousedown=g,Ea?(p._ontouchstart&&p.removeEventListener(\"touchstart\",p._ontouchstart),p._ontouchstart=g,p.addEventListener(\"touchstart\",g,{passive:!1})):p.ontouchstart=g;var d=t.clampFn||function(t,e,r){return Math.abs(t)<r&&(t=0),Math.abs(e)<r&&(e=0),[t,e]};function g(f){f.preventDefault(),u._dragged=!1,u._dragging=!0;var d=Ga(f);e=d[0],r=d[1],s=f.target,o=f,l=2===f.buttons||f.ctrlKey,(n=(new Date).getTime())-u._mouseDownTime<h?c+=1:(c=1,u._mouseDownTime=n),t.prepFn&&t.prepFn(f,e,r),Sa&&!l?(a=Ha()).style.cursor=window.getComputedStyle(p).cursor:Sa||(a=document,i=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(p).cursor),document.addEventListener(\"mousemove\",v),document.addEventListener(\"mouseup\",m),document.addEventListener(\"touchmove\",v),document.addEventListener(\"touchend\",m)}function v(n){n.preventDefault();var i=Ga(n),a=t.minDrag||Te.MINDRAG,o=d(i[0]-e,i[1]-r,a),s=o[0],c=o[1];(s||c)&&(u._dragged=!0,qa.unhover(u)),u._dragged&&t.moveFn&&!l&&t.moveFn(s,c)}function m(e){if(document.removeEventListener(\"mousemove\",v),document.removeEventListener(\"mouseup\",m),document.removeEventListener(\"touchmove\",v),document.removeEventListener(\"touchend\",m),e.preventDefault(),Sa?ne.removeElement(a):i&&(a.documentElement.style.cursor=i,i=null),u._dragging){if(u._dragging=!1,(new Date).getTime()-u._mouseDownTime>h&&(c=Math.max(c-1,1)),u._dragged)t.doneFn&&t.doneFn(e);else if(t.clickFn&&t.clickFn(c,o),!l){var r;try{r=new MouseEvent(\"click\",e)}catch(t){var n=Ga(e);(r=document.createEvent(\"MouseEvents\")).initMouseEvent(\"click\",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}s.dispatchEvent(r)}!function(t){t._dragging=!1,t._replotPending&&P.call(\"plot\",t)}(u),u._dragged=!1}else u._dragged=!1}},qa.coverSlip=Ha;function Wa(t,e,r,n){n=n||ne.identity,Array.isArray(t)&&(e[0][r]=n(t))}var Ya={getSubplot:function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},flat:function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=e;return r},p2c:function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=t[n].p2c(e);return r},getDistanceFunction:function(t,e,r,n){return\"closest\"===t?n||Ya.quadrature(e,r):\"x\"===t?e:r},getClosest:function(t,e,r){if(!1!==r.index)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},inbox:function(t,e,r){return t*e<0||0===t?r:1/0},quadrature:function(t,e){return function(r){var n=t(r),i=e(r);return Math.sqrt(n*n+i*i)}},makeEventData:function(t,e,r){var n=\"index\"in t?t.index:t.pointNumber,i={data:e._input,fullData:e,curveNumber:e.index,pointNumber:n};if(e._indexToPoints){var a=e._indexToPoints[n];1===a.length?i.pointIndex=a[0]:i.pointIndices=a}else i.pointIndex=n;return e._module.eventData?i=e._module.eventData(i,t,e,r,n):(\"xVal\"in t?i.x=t.xVal:\"x\"in t&&(i.x=t.x),\"yVal\"in t?i.y=t.yVal:\"y\"in t&&(i.y=t.y),t.xa&&(i.xaxis=t.xa),t.ya&&(i.yaxis=t.ya),void 0!==t.zLabelVal&&(i.z=t.zLabelVal)),Ya.appendArrayPointValue(i,e,n),i},appendArrayPointValue:function(t,e,r){var n=e._arrayAttrs;if(n)for(var i=0;i<n.length;i++){var a=n[i],o=Za(a);if(void 0===t[o]){var s=Ja(ne.nestedProperty(e,a).get(),r);void 0!==s&&(t[o]=s)}}},appendArrayMultiPointValues:function(t,e,r){var n=e._arrayAttrs;if(n)for(var i=0;i<n.length;i++){var a=n[i],o=Za(a);if(void 0===t[o]){for(var s=ne.nestedProperty(e,a).get(),l=new Array(r.length),u=0;u<r.length;u++)l[u]=Ja(s,r[u]);t[o]=l}}}},Xa={ids:\"id\",locations:\"location\",labels:\"label\",values:\"value\",\"marker.colors\":\"color\"};function Za(t){return Xa[t]||t}function Ja(t,e){return Array.isArray(e)?Array.isArray(t)&&Array.isArray(t[e[0]])?t[e[0]][e[1]]:void 0:t[e]}var Ka=function(t,e){(t.attr(\"class\")||\"\").split(\" \").forEach(function(e){0===e.indexOf(\"cursor-\")&&t.classed(e,!1)}),e&&t.classed(\"cursor-\"+e,!0)},Qa=\"data-savedcursor\",$a=function(t,e){var r=t.attr(Qa);if(e){if(!r){for(var n=(t.attr(\"class\")||\"\").split(\" \"),i=0;i<n.length;i++){var a=n[i];0===a.indexOf(\"cursor-\")&&t.attr(Qa,a.substr(7)).classed(a,!1)}t.attr(Qa)||t.attr(Qa,\"!!\")}Ka(t,e)}else r&&(t.attr(Qa,null),\"!!\"===r?Ka(t):Ka(t,r))},to={},eo=Pa.YANGLE,ro=Math.PI*eo/180,no=1/Math.sin(ro),io=Math.cos(ro),ao=Math.sin(ro),oo=Pa.HOVERARROWSIZE,so=Pa.HOVERTEXTPAD;function lo(t,r,n){var i=r.hovermode,a=r.rotateLabels,o=r.bgColor,s=r.container,l=r.outerContainer,u=r.commonLabelOpts||{},c=r.fontFamily||Pa.HOVERFONT,h=r.fontSize||Pa.HOVERFONTSIZE,f=t[0],p=f.xa,d=f.ya,g=\"y\"===i?\"yLabel\":\"xLabel\",v=f[g],m=(String(v)||\"\").split(\" \")[0],y=l.node().getBoundingClientRect(),x=y.top,b=y.width,_=y.height,w=void 0!==v&&f.distance<=r.hoverdistance&&(\"x\"===i||\"y\"===i);if(w){var M,A,k=!0;for(M=0;M<t.length;M++){k&&void 0===t[M].zLabel&&(k=!1),A=t[M].hoverinfo||t[M].trace.hoverinfo;var T=Array.isArray(A)?A:A.split(\"+\");if(-1===T.indexOf(\"all\")&&-1===T.indexOf(i)){w=!1;break}}k&&(w=!1)}var S=s.selectAll(\"g.axistext\").data(w?[0]:[]);S.enter().append(\"g\").classed(\"axistext\",!0),S.exit().remove(),S.each(function(){var r=e.select(this),a=r.selectAll(\"path\").data([0]),o=r.selectAll(\"text\").data([0]);a.enter().append(\"path\").style({\"stroke-width\":\"1px\"}),a.style({fill:u.bgcolor||Oe.defaultLine,stroke:u.bordercolor||Oe.background}),o.enter().append(\"text\").attr(\"data-notex\",1),o.text(v).call(Sr.font,u.font.family||c,u.font.size||h,u.font.color||Oe.background).call(er.positionText,0,0).call(er.convertToTspans,n),r.attr(\"transform\",\"\");var s=o.node().getBoundingClientRect();if(\"x\"===i){o.attr(\"text-anchor\",\"middle\").call(er.positionText,0,\"top\"===p.side?x-s.bottom-oo-so:x-s.top+oo+so);var l=\"top\"===p.side?\"-\":\"\";a.attr(\"d\",\"M0,0L\"+oo+\",\"+l+oo+\"H\"+(so+s.width/2)+\"v\"+l+(2*so+s.height)+\"H-\"+(so+s.width/2)+\"V\"+l+oo+\"H-\"+oo+\"Z\"),r.attr(\"transform\",\"translate(\"+(p._offset+(f.x0+f.x1)/2)+\",\"+(d._offset+(\"top\"===p.side?0:d._length))+\")\")}else{o.attr(\"text-anchor\",\"right\"===d.side?\"start\":\"end\").call(er.positionText,(\"right\"===d.side?1:-1)*(so+oo),x-s.top-s.height/2);var y=\"right\"===d.side?\"\":\"-\";a.attr(\"d\",\"M0,0L\"+y+oo+\",\"+oo+\"V\"+(so+s.height/2)+\"h\"+y+(2*so+s.width)+\"V-\"+(so+s.height/2)+\"H\"+y+oo+\"V-\"+oo+\"Z\"),r.attr(\"transform\",\"translate(\"+(p._offset+(\"right\"===d.side?p._length:0))+\",\"+(d._offset+(f.y0+f.y1)/2)+\")\")}t=t.filter(function(t){return void 0!==t.zLabelVal||(t[g]||\"\").split(\" \")[0]===m})});var E=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 E.enter().append(\"g\").classed(\"hovertext\",!0).each(function(){var t=e.select(this);t.append(\"rect\").call(Oe.fill,Oe.addOpacity(o,.8)),t.append(\"text\").classed(\"name\",!0),t.append(\"path\").style(\"stroke-width\",\"1px\"),t.append(\"text\").classed(\"nums\",!0).call(Sr.font,c,h)}),E.exit().remove(),E.each(function(t){var r=e.select(this).attr(\"transform\",\"\"),s=\"\",l=\"\",u=Oe.opacity(t.color)?t.color:Oe.defaultLine,f=Oe.combine(u,o),p=t.borderColor||Oe.contrast(f);if(void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name){s=er.plainText(t.name||\"\");var d=Math.round(t.nameLength);d>-1&&s.length>d&&(s=d>3?s.substr(0,d-3)+\"...\":s.substr(0,d))}void 0!==t.extraText&&(l+=t.extraText),void 0!==t.zLabel?(void 0!==t.xLabel&&(l+=\"x: \"+t.xLabel+\"<br>\"),void 0!==t.yLabel&&(l+=\"y: \"+t.yLabel+\"<br>\"),l+=(l?\"z: \":\"\")+t.zLabel):w&&t[i+\"Label\"]===v?l=t[(\"x\"===i?\"y\":\"x\")+\"Label\"]||\"\":void 0===t.xLabel?void 0!==t.yLabel&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:\"(\"+t.xLabel+\", \"+t.yLabel+\")\",t.text&&!Array.isArray(t.text)&&(l+=(l?\"<br>\":\"\")+t.text),\"\"===l&&(\"\"===s&&r.remove(),l=s);var g=r.select(\"text.nums\").call(Sr.font,t.fontFamily||c,t.fontSize||h,t.fontColor||p).text(l).attr(\"data-notex\",1).call(er.positionText,0,0).call(er.convertToTspans,n),m=r.select(\"text.name\"),y=0;s&&s!==l?(m.call(Sr.font,t.fontFamily||c,t.fontSize||h,f).text(s).attr(\"data-notex\",1).call(er.positionText,0,0).call(er.convertToTspans,n),y=m.node().getBoundingClientRect().width+2*so):(m.remove(),r.select(\"rect\").remove()),r.select(\"path\").style({fill:f,stroke:p});var M,A,k=g.node().getBoundingClientRect(),T=t.xa._offset+(t.x0+t.x1)/2,S=t.ya._offset+(t.y0+t.y1)/2,E=Math.abs(t.x1-t.x0),C=Math.abs(t.y1-t.y0),L=k.width+oo+so+y;t.ty0=x-k.top,t.bx=k.width+2*so,t.by=k.height+2*so,t.anchor=\"start\",t.txwidth=k.width,t.tx2width=y,t.offset=0,a?(t.pos=T,M=S+C/2+L<=_,A=S-C/2-L>=0,\"top\"!==t.idealAlign&&M||!A?M?(S+=C/2,t.anchor=\"start\"):t.anchor=\"middle\":(S-=C/2,t.anchor=\"end\")):(t.pos=S,M=T+E/2+L<=b,A=T-E/2-L>=0,\"left\"!==t.idealAlign&&M||!A?M?(T+=E/2,t.anchor=\"start\"):t.anchor=\"middle\":(T-=E/2,t.anchor=\"end\")),g.attr(\"text-anchor\",t.anchor),y&&m.attr(\"text-anchor\",t.anchor),r.attr(\"transform\",\"translate(\"+T+\",\"+S+\")\"+(a?\"rotate(\"+eo+\")\":\"\"))}),E}function uo(t,r){t.each(function(t){var n=e.select(this);if(t.del)n.remove();else{var i=\"end\"===t.anchor?-1:1,a=n.select(\"text.nums\"),o={start:1,end:-1,middle:0}[t.anchor],s=o*(oo+so),l=s+o*(t.txwidth+so),u=0,c=t.offset;\"middle\"===t.anchor&&(s-=t.tx2width/2,l+=t.txwidth/2+so),r&&(c*=-ao,u=t.offset*io),n.select(\"path\").attr(\"d\",\"middle\"===t.anchor?\"M-\"+(t.bx/2+t.tx2width/2)+\",\"+(c-t.by/2)+\"h\"+t.bx+\"v\"+t.by+\"h-\"+t.bx+\"Z\":\"M0,0L\"+(i*oo+u)+\",\"+(oo+c)+\"v\"+(t.by/2-oo)+\"h\"+i*t.bx+\"v-\"+t.by+\"H\"+(i*oo+u)+\"V\"+(c-oo)+\"Z\"),a.call(er.positionText,s+u,c+t.ty0-t.by/2+so),t.tx2width&&(n.select(\"text.name\").call(er.positionText,l+o*so+u,c+t.ty0-t.by/2+so),n.select(\"rect\").call(Sr.setRect,l+(o-1)*t.tx2width/2+u,c-t.by/2-1,t.tx2width,t.by+2))}})}function co(t,e){var r=t.index,n=t.trace||{},i=t.cd[0],a=t.cd[r]||{},o=Array.isArray(r)?function(t,e){return ne.castOption(i,r,t)||ne.extractOption({},n,\"\",e)}:function(t,e){return ne.extractOption(a,n,t,e)};function s(e,r,n){var i=o(r,n);i&&(t[e]=i)}if(s(\"hoverinfo\",\"hi\",\"hoverinfo\"),s(\"color\",\"hbg\",\"hoverlabel.bgcolor\"),s(\"borderColor\",\"hbc\",\"hoverlabel.bordercolor\"),s(\"fontFamily\",\"htf\",\"hoverlabel.font.family\"),s(\"fontSize\",\"hts\",\"hoverlabel.font.size\"),s(\"fontColor\",\"htc\",\"hoverlabel.font.color\"),s(\"nameLength\",\"hnl\",\"hoverlabel.namelength\"),t.posref=\"y\"===e?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=ne.constrain(t.x0,0,t.xa._length),t.x1=ne.constrain(t.x1,0,t.xa._length),t.y0=ne.constrain(t.y0,0,t.ya._length),t.y1=ne.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel=\"xLabel\"in t?t.xLabel:ri.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel=\"yLabel\"in t?t.yLabel:ri.hoverLabelText(t.ya,t.yLabelVal),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||\"log\"===t.xa.type&&t.xerr<=0)){var l=ri.tickText(t.xa,t.xa.c2l(t.xerr),\"hover\").text;void 0!==t.xerrneg?t.xLabel+=\" +\"+l+\" / -\"+ri.tickText(t.xa,t.xa.c2l(t.xerrneg),\"hover\").text:t.xLabel+=\" \\xb1 \"+l,\"x\"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||\"log\"===t.ya.type&&t.yerr<=0)){var u=ri.tickText(t.ya,t.ya.c2l(t.yerr),\"hover\").text;void 0!==t.yerrneg?t.yLabel+=\" +\"+u+\" / -\"+ri.tickText(t.ya,t.ya.c2l(t.yerrneg),\"hover\").text:t.yLabel+=\" \\xb1 \"+u,\"y\"===e&&(t.distance+=1)}var c=t.hoverinfo||t.trace.hoverinfo;return\"all\"!==c&&(-1===(c=Array.isArray(c)?c:c.split(\"+\")).indexOf(\"x\")&&(t.xLabel=void 0),-1===c.indexOf(\"y\")&&(t.yLabel=void 0),-1===c.indexOf(\"z\")&&(t.zLabel=void 0),-1===c.indexOf(\"text\")&&(t.text=void 0),-1===c.indexOf(\"name\")&&(t.name=void 0)),t}function ho(t,e){var r,n,i=e.container,a=e.fullLayout,o=e.event,l=!!t.hLinePoint,u=!!t.vLinePoint;if(i.selectAll(\".spikeline\").remove(),u||l){var c=Oe.combine(a.plot_bgcolor,a.paper_bgcolor);if(l){var h,f,p=t.hLinePoint;r=p&&p.xa,\"cursor\"===(n=p&&p.ya).spikesnap?(h=o.pointerX,f=o.pointerY):(h=r._offset+p.x,f=n._offset+p.y);var d,g,v=s.readability(p.color,c)<1.5?Oe.contrast(c):p.color,m=n.spikemode,y=n.spikethickness,x=n.spikecolor||v,b=n._boundingBox,_=(b.left+b.right)/2<h?b.right:b.left;-1===m.indexOf(\"toaxis\")&&-1===m.indexOf(\"across\")||(-1!==m.indexOf(\"toaxis\")&&(d=_,g=h),-1!==m.indexOf(\"across\")&&(d=n._counterSpan[0],g=n._counterSpan[1]),i.insert(\"line\",\":first-child\").attr({x1:d,x2:g,y1:f,y2:f,\"stroke-width\":y,stroke:x,\"stroke-dasharray\":Sr.dashStyle(n.spikedash,y)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),i.insert(\"line\",\":first-child\").attr({x1:d,x2:g,y1:f,y2:f,\"stroke-width\":y+2,stroke:c}).classed(\"spikeline\",!0).classed(\"crisp\",!0)),-1!==m.indexOf(\"marker\")&&i.insert(\"circle\",\":first-child\").attr({cx:_+(\"right\"!==n.side?y:-y),cy:f,r:y,fill:x}).classed(\"spikeline\",!0)}if(u){var w,M,A=t.vLinePoint;r=A&&A.xa,n=A&&A.ya,\"cursor\"===r.spikesnap?(w=o.pointerX,M=o.pointerY):(w=r._offset+A.x,M=n._offset+A.y);var k,T,S=s.readability(A.color,c)<1.5?Oe.contrast(c):A.color,E=r.spikemode,C=r.spikethickness,L=r.spikecolor||S,z=r._boundingBox,P=(z.top+z.bottom)/2<M?z.bottom:z.top;-1===E.indexOf(\"toaxis\")&&-1===E.indexOf(\"across\")||(-1!==E.indexOf(\"toaxis\")&&(k=P,T=M),-1!==E.indexOf(\"across\")&&(k=r._counterSpan[0],T=r._counterSpan[1]),i.insert(\"line\",\":first-child\").attr({x1:w,x2:w,y1:k,y2:T,\"stroke-width\":C,stroke:L,\"stroke-dasharray\":Sr.dashStyle(r.spikedash,C)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),i.insert(\"line\",\":first-child\").attr({x1:w,x2:w,y1:k,y2:T,\"stroke-width\":C+2,stroke:c}).classed(\"spikeline\",!0).classed(\"crisp\",!0)),-1!==E.indexOf(\"marker\")&&i.insert(\"circle\",\":first-child\").attr({cx:w,cy:P-(\"top\"!==r.side?C:-C),r:C,fill:L}).classed(\"spikeline\",!0)}}}function fo(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}to.hover=function(t,n,i,a){t=ne.getGraphDiv(t),ne.throttle(t._fullLayout._uid+Pa.HOVERID,Pa.HOVERMINTIME,function(){!function(t,n,i,a){i||(i=\"xy\");var o=Array.isArray(i)?i:[i],s=t._fullLayout,l=s._plots||[],u=l[i],c=s._has(\"cartesian\");if(u){var h=u.overlays.map(function(t){return t.id});o=o.concat(h)}for(var f=o.length,p=new Array(f),d=new Array(f),g=!1,v=0;v<f;v++){var m=o[v],y=l[m];if(y)g=!0,p[v]=ri.getFromId(t,y.xaxis._id),d[v]=ri.getFromId(t,y.yaxis._id);else{var x=s[m]._subplot;p[v]=x.xaxis,d[v]=x.yaxis}}var b=n.hovermode||s.hovermode;b&&!g&&(b=\"closest\");if(-1===[\"x\",\"y\",\"closest\"].indexOf(b)||!t.calcdata||t.querySelector(\".zoombox\")||t._dragging)return Ua.unhoverRaw(t,n);var _,w,M,A,k,T,S,E,C,L,z,I,D,O=-1===s.hoverdistance?1/0:s.hoverdistance,R=-1===s.spikedistance?1/0:s.spikedistance,F=[],B=[],N={hLinePoint:null,vLinePoint:null};if(Array.isArray(n))for(b=\"array\",M=0;M<n.length;M++)\"skip\"!==(k=t.calcdata[n[M].curveNumber||0])[0].trace.hoverinfo&&B.push(k);else{for(A=0;A<t.calcdata.length;A++)k=t.calcdata[A],\"skip\"!==(T=k[0].trace).hoverinfo&&-1!==o.indexOf(Ya.getSubplot(T))&&B.push(k);var j,V,U=!n.target;if(U)j=\"xpx\"in n?n.xpx:p[0]._length/2,n.pointerX=j+p[0]._offset,V=\"ypx\"in n?n.ypx:d[0]._length/2,n.pointerY=V+d[0]._offset;else{if(!1===ja.triggerHandler(t,\"plotly_beforehover\",n))return;var q=n.target.getBoundingClientRect();if(j=n.clientX-q.left,V=n.clientY-q.top,j<0||j>q.width||V<0||V>q.height)return Ua.unhoverRaw(t,n);n.pointerX=n.offsetX,n.pointerY=n.offsetY}if(_=\"xval\"in n?Ya.flat(o,n.xval):Ya.p2c(p,j),w=\"yval\"in n?Ya.flat(o,n.yval):Ya.p2c(d,V),!r(_[0])||!r(w[0]))return ne.warn(\"Fx.hover failed\",n,t),Ua.unhoverRaw(t,n)}var H=1/0;for(A=0;A<B.length;A++)if((k=B[A])&&k[0]&&k[0].trace&&!0===k[0].trace.visible&&(T=k[0].trace,-1===[\"carpet\",\"contourcarpet\"].indexOf(T._module.name))){if(S=Ya.getSubplot(T),E=o.indexOf(S),C=b,I={cd:k,trace:T,xa:p[E],ya:d[E],maxHoverDistance:O,maxSpikeDistance:R,index:!1,distance:Math.min(H,O),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:Oe.defaultLine,name:T.name,x0:void 0,x1:void 0,y0:void 0,y1:void 0,xLabelVal:void 0,yLabelVal:void 0,zLabelVal:void 0,text:void 0},s[S]&&(I.subplot=s[S]._subplot),D=F.length,\"array\"===C){var G=n[A];\"pointNumber\"in G?(I.index=G.pointNumber,C=\"closest\"):(C=\"\",\"xval\"in G&&(L=G.xval,C=\"x\"),\"yval\"in G&&(z=G.yval,C=C?\"closest\":\"y\"))}else L=_[E],z=w[E];if(0!==O)if(T._module&&T._module.hoverPoints){var W=T._module.hoverPoints(I,L,z,C,s._hoverlayer);if(W)for(var Y,X=0;X<W.length;X++)Y=W[X],r(Y.x0)&&r(Y.y0)&&F.push(co(Y,b))}else ne.log(\"Unrecognized trace type in hover:\",T);if(\"closest\"===b&&F.length>D&&(F.splice(0,D),H=F[0].distance),c&&0!==R&&0===F.length){I.distance=R,I.index=!1;var Z=T._module.hoverPoints(I,L,z,\"closest\",s._hoverlayer);if(Z&&(Z=Z.filter(function(t){return t.spikeDistance<=R})),Z&&Z.length){var J,K=Z.filter(function(t){return t.xa.showspikes});if(K.length){var Q=K[0];r(Q.x0)&&r(Q.y0)&&(J=rt(Q),(!N.vLinePoint||N.vLinePoint.spikeDistance>J.spikeDistance)&&(N.vLinePoint=J))}var $=Z.filter(function(t){return t.ya.showspikes});if($.length){var tt=$[0];r(tt.x0)&&r(tt.y0)&&(J=rt(tt),(!N.hLinePoint||N.hLinePoint.spikeDistance>J.spikeDistance)&&(N.hLinePoint=J))}}}}function et(t,e){for(var r,n=null,i=1/0,a=0;a<t.length;a++)(r=t[a].spikeDistance)<i&&r<=e&&(n=t[a],i=r);return n}function rt(t){return t?{xa:t.xa,ya:t.ya,x:void 0!==t.xSpike?t.xSpike:(t.x0+t.x1)/2,y:void 0!==t.ySpike?t.ySpike:(t.y0+t.y1)/2,distance:t.distance,spikeDistance:t.spikeDistance,curveNumber:t.trace.index,color:t.color,pointNumber:t.index}:null}var nt={fullLayout:s,container:s._hoverlayer,outerContainer:s._paperdiv,event:n},it=t._spikepoints,at={vLinePoint:N.vLinePoint,hLinePoint:N.hLinePoint};if(t._spikepoints=at,c&&0!==R&&0!==F.length){var ot=F.filter(function(t){return t.ya.showspikes}),st=et(ot,R);N.hLinePoint=rt(st);var lt=F.filter(function(t){return t.xa.showspikes}),ut=et(lt,R);N.vLinePoint=rt(ut)}if(0===F.length){var ct=Ua.unhoverRaw(t,n);return!c||null===N.hLinePoint&&null===N.vLinePoint||fo(it)&&ho(N,nt),ct}c&&fo(it)&&ho(N,nt);F.sort(function(t,e){return t.distance-e.distance});var ht=t._hoverdata,ft=[];for(M=0;M<F.length;M++){var pt=F[M];ft.push(Ya.makeEventData(pt,pt.trace,pt.cd))}t._hoverdata=ft;var dt=\"y\"===b&&B.length>1,gt=Oe.combine(s.plot_bgcolor||Oe.background,s.paper_bgcolor),vt={hovermode:b,rotateLabels:dt,bgColor:gt,container:s._hoverlayer,outerContainer:s._paperdiv,commonLabelOpts:s.hoverlabel,hoverdistance:s.hoverdistance},mt=lo(F,vt,t);if(function(t,e,r){var n,i,a,o,s,l,u,c=0,h=t.map(function(t,n){var i=t[e];return[{i:n,dp:0,pos:t.pos,posref:t.posref,size:t.by*(\"x\"===i._id.charAt(0)?no:1)/2,pmin:0,pmax:\"x\"===i._id.charAt(0)?r.width:r.height}]}).sort(function(t,e){return t[0].posref-e[0].posref});function f(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]).pos+l.dp+l.size>e.pmax&&u++;for(o=t.length-1;o>=0&&!(u<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,u--);for(o=0;o<t.length&&!(u<=0);o++)if((l=t[o]).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]).pos+l.dp+l.size>e.pmax&&(l.del=!0,u--)}}}for(;!n&&c<=t.length;){for(c++,n=!0,o=0;o<h.length-1;){var p=h[o],d=h[o+1],g=p[p.length-1],v=d[0];if((i=g.pos+g.dp+g.size-v.pos-v.dp+v.size)>.01&&g.pmin===v.pmin&&g.pmax===v.pmax){for(s=d.length-1;s>=0;s--)d[s].dp+=i;for(p.push.apply(p,d),h.splice(o+1,1),u=0,s=p.length-1;s>=0;s--)u+=p[s].dp;for(a=u/p.length,s=p.length-1;s>=0;s--)p[s].dp-=a;n=!1}else o++}h.forEach(f)}for(o=h.length-1;o>=0;o--){var m=h[o];for(s=m.length-1;s>=0;s--){var y=m[s],x=t[y.i];x.offset=y.dp,x.del=y.del}}}(F,dt?\"xa\":\"ya\",s),uo(mt,dt),n.target&&n.target.tagName){var yt=P.getComponentMethod(\"annotations\",\"hasClickToShow\")(t,ft);$a(e.select(n.target),yt?\"pointer\":\"\")}if(!n.target||a||!function(t,e,r){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}(t,0,ht))return;ht&&t.emit(\"plotly_unhover\",{event:n,points:ht});t.emit(\"plotly_hover\",{event:n,points:t._hoverdata,xaxes:p,yaxes:d,xvals:_,yvals:w})}(t,n,i,a)})},to.loneHover=function(t,r){var n={color:t.color||Oe.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,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,trace:{index:0,hoverinfo:\"\"},xa:{_offset:0},ya:{_offset:0},index:0},i=e.select(r.container),a=r.outerContainer?e.select(r.outerContainer):i,o={hovermode:\"closest\",rotateLabels:!1,bgColor:r.bgColor||Oe.background,container:i,outerContainer:a},s=lo([n],o,r.gd);return uo(s,o.rotateLabels),s.node()};var po=to.hover,go=function(t,e,r,n){r(\"hoverlabel.bgcolor\",(n=n||{}).bgcolor),r(\"hoverlabel.bordercolor\",n.bordercolor),r(\"hoverlabel.namelength\",n.namelength),ne.coerceFont(r,\"hoverlabel.font\",n.font)},vo=T({editType:\"none\"});vo.family.dflt=Pa.HOVERFONT,vo.size.dflt=Pa.HOVERFONTSIZE;var mo={dragmode:{valType:\"enumerated\",values:[\"zoom\",\"pan\",\"select\",\"lasso\",\"orbit\",\"turntable\"],dflt:\"zoom\",editType:\"modebar\"},hovermode:{valType:\"enumerated\",values:[\"x\",\"y\",\"closest\",!1],editType:\"modebar\"},hoverdistance:{valType:\"integer\",min:-1,dflt:20,editType:\"none\"},spikedistance:{valType:\"integer\",min:-1,dflt:20,editType:\"none\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"none\"},bordercolor:{valType:\"color\",editType:\"none\"},font:vo,namelength:{valType:\"integer\",min:-1,dflt:15,editType:\"none\"},editType:\"none\"}};var yo={moduleType:\"component\",name:\"fx\",constants:Pa,schema:{layout:mo},attributes:S,layoutAttributes:mo,supplyLayoutGlobalDefaults:function(t,e){go(0,0,function(r,n){return ne.coerce(t,e,mo,r,n)})},supplyDefaults:function(t,e,r,n){go(0,0,function(r,n){return ne.coerce(t,e,S,r,n)},n.hoverlabel)},supplyLayoutDefaults:function(t,e,r){function n(r,n){return ne.coerce(t,e,mo,r,n)}var i;n(\"dragmode\"),e._has(\"cartesian\")?(e._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}(r),i=e._isHoriz?\"y\":\"x\"):i=\"closest\",n(\"hovermode\",i)&&(n(\"hoverdistance\"),n(\"spikedistance\"));var a=e._has(\"mapbox\"),o=e._has(\"geo\"),s=e._basePlotModules.length;\"zoom\"===e.dragmode&&((a||o)&&1===s||a&&o&&2===s)&&(e.dragmode=\"pan\")},calc:function(t){var e=t.calcdata,r=t._fullLayout;function n(t){return function(e){return ne.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var i=0;i<e.length;i++){var a=e[i],o=a[0].trace;if(!P.traceIs(o,\"pie\")){var s=P.traceIs(o,\"2dMap\")?Wa:ne.fillArray;s(o.hoverinfo,a,\"hi\",n(o)),o.hoverlabel&&(s(o.hoverlabel.bgcolor,a,\"hbg\"),s(o.hoverlabel.bordercolor,a,\"hbc\"),s(o.hoverlabel.font.size,a,\"hts\"),s(o.hoverlabel.font.color,a,\"htc\"),s(o.hoverlabel.font.family,a,\"htf\"),s(o.hoverlabel.namelength,a,\"hnl\"))}}},getDistanceFunction:Ya.getDistanceFunction,getClosest:Ya.getClosest,inbox:Ya.inbox,quadrature:Ya.quadrature,appendArrayPointValue:Ya.appendArrayPointValue,castHoverOption:function(t,e,r){return ne.castOption(t,e,\"hoverlabel.\"+r)},castHoverinfo:function(t,e,r){return ne.castOption(t,r,\"hoverinfo\",function(r){return ne.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)})},hover:to.hover,unhover:Ua.unhover,loneHover:to.loneHover,loneUnhover:function(t){var r=ne.isD3Selection(t)?t:e.select(t);r.selectAll(\"g.hovertext\").remove(),r.selectAll(\".spikeline\").remove()},click:function(t,e,r){var n=P.getComponentMethod(\"annotations\",\"onClick\")(t,t._hoverdata);function i(){t.emit(\"plotly_click\",{points:t._hoverdata,event:e})}void 0!==r&&po(t,e,r,!0),t._hoverdata&&e&&e.target&&(n&&n.then?n.then(i):i(),e.stopImmediatePropagation&&e.stopImmediatePropagation())}};var xo=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=ne.extractOption(t,e,\"htx\",\"hovertext\");if(bo(i))return n(i);var a=ne.extractOption(t,e,\"tx\",\"text\");return bo(a)?n(a):void 0};function bo(t){return t||0===t}var _o=function(t,e,r,n){var i,a,o,s,l,u,c,h=t.cd,f=h[0].trace,p=h[0].t,d=\"closest\"===n,g=t.maxHoverDistance,v=t.maxSpikeDistance;function m(t){return t[o]-t.w/2}function y(t){return t[o]+t.w/2}var x=d?m:function(t){return Math.min(m(t),t.p-p.bardelta/2)},b=d?y:function(t){return Math.max(y(t),t.p+p.bardelta/2)};function _(t,e){return yo.inbox(t-i,e-i,g+Math.min(1,Math.abs(e-t)/c)-1)}function w(t){return _(x(t),b(t))}function M(t){return yo.inbox(t.b-a,t[s]-a,g+(t[s]-a)/(t[s]-t.b)-1)}\"h\"===f.orientation?(i=r,a=e,o=\"y\",s=\"x\",l=M,u=w):(i=e,a=r,o=\"x\",s=\"y\",u=M,l=w);var A=t[o+\"a\"],k=t[s+\"a\"];c=Math.abs(A.r2c(A.range[1])-A.r2c(A.range[0]));var T=yo.getDistanceFunction(n,l,u,function(t){return(l(t)+u(t))/2});if(yo.getClosest(h,T,t),!1!==t.index){d||(x=function(t){return Math.min(m(t),t.p-p.bargroupwidth/2)},b=function(t){return Math.max(y(t),t.p+p.bargroupwidth/2)});var S=h[t.index],E=S.mcc||f.marker.color,C=S.mlcc||f.marker.line.color,L=S.mlw||f.marker.line.width;Oe.opacity(E)?t.color=E:Oe.opacity(C)&&L&&(t.color=C);var z=f.base?S.b+S.s:S.s;t[s+\"0\"]=t[s+\"1\"]=k.c2p(S[s],!0),t[s+\"LabelVal\"]=z;var I=p.extents[p.extents.round(S.p)];return t[o+\"0\"]=A.c2p(d?x(S):I[0],!0),t[o+\"1\"]=A.c2p(d?b(S):I[1],!0),t[o+\"LabelVal\"]=S.p,t.spikeDistance=(M(S)+function(t){return _(m(t),y(t))}(S))/2+v-g,t[o+\"Spike\"]=A.c2p(S.p,!0),xo(S,f,t),P.getComponentMethod(\"errorbars\",\"hoverInfo\")(S,f,t),[t]}},wo={barmode:{valType:\"enumerated\",values:[\"stack\",\"group\",\"overlay\",\"relative\"],dflt:\"group\",editType:\"calc\"},barnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},bargap:{valType:\"number\",min:0,max:1,editType:\"calc\"},bargroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}},Mo=function(t,e,r){function n(r,n){return ne.coerce(t,e,wo,r,n)}for(var i=!1,a=!1,o=!1,s={},l=0;l<r.length;l++){var u=r[l];if(P.traceIs(u,\"bar\")){if(i=!0,\"overlay\"!==t.barmode&&\"stack\"!==t.barmode){var c=u.xaxis+u.yaxis;s[c]&&(o=!0),s[c]=!0}if(u.visible&&\"histogram\"===u.type)\"category\"!==ri.getFromId({_fullLayout:e},u[\"v\"===u.orientation?\"xaxis\":\"yaxis\"]).type&&(a=!0)}}i&&(\"overlay\"!==n(\"barmode\")&&n(\"barnorm\"),n(\"bargap\",a&&!o?0:.2),n(\"bargroupgap\"))},Ao=wa.text,ko=wa.textposition,To=wa.textfont,So=wa.insidetextfont,Eo=wa.outsidetextfont,Co=3,Lo=function(t,n,i){var a=n.xaxis,o=n.yaxis,s=t._fullLayout,l=n.plot.select(\".barlayer\").selectAll(\"g.trace.bars\").data(i);l.enter().append(\"g\").attr(\"class\",\"trace bars\"),l.each(function(t){t[0].node3=e.select(this)}),l.append(\"g\").attr(\"class\",\"points\").each(function(i){var l=e.select(this),u=i[0].t,c=i[0].trace,h=u.poffset,f=Array.isArray(h);l.selectAll(\"g.point\").data(ne.identity).enter().append(\"g\").classed(\"point\",!0).each(function(l,u){var p,d,g,v,m=l.p+(f?h[u]:h),y=m+l.w,x=l.b,b=x+l.s;if(\"h\"===c.orientation?(g=o.c2p(m,!0),v=o.c2p(y,!0),p=a.c2p(x,!0),d=a.c2p(b,!0),l.ct=[d,(g+v)/2]):(p=a.c2p(m,!0),d=a.c2p(y,!0),g=o.c2p(x,!0),v=o.c2p(b,!0),l.ct=[(p+d)/2,v]),r(p)&&r(d)&&r(g)&&r(v)&&p!==d&&g!==v){var _=(l.mlw+1||c.marker.line.width+1||(l.trace?l.trace.marker.line.width:0)+1)-1,w=e.round(_/2%1,2);if(!t._context.staticPlot){var M=Oe.opacity(l.mc||c.marker.color)<1||_>.01?k:function(t,e){return Math.abs(t-e)>=2?k(t):t>e?Math.ceil(t):Math.floor(t)};d=M(d,p=M(p,d)),v=M(v,g=M(g,v))}var A=e.select(this);A.append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").attr(\"d\",\"M\"+p+\",\"+g+\"V\"+v+\"H\"+d+\"V\"+g+\"Z\").call(Sr.setClipUrl,n.layerClipId),function(t,e,r,n,i,a,o,s){var l;function u(e,r,n){var i=e.append(\"text\").text(r).attr({class:\"bartext bartext-\"+l,transform:\"\",\"text-anchor\":\"middle\",\"data-notex\":1}).call(Sr.font,n).call(er.convertToTspans,t);return i}var c=r[0].trace,h=c.orientation,f=function(t,e){var r=Io(t.text,e);return Do(Ao,r)}(c,n);if(!f)return;if(\"none\"===(l=function(t,e){var r=Io(t.textposition,e);return function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt}(ko,r)}(c,n)))return;var p,d,g,v,m,y,x=function(t,e,r){return Po(To,t.textfont,e,r)}(c,n,t._fullLayout.font),b=function(t,e,r){return Po(So,t.insidetextfont,e,r)}(c,n,x),_=function(t,e,r){return Po(Eo,t.outsidetextfont,e,r)}(c,n,x),w=t._fullLayout.barmode,M=\"stack\"===w||\"relative\"===w,A=r[n],k=!M||A._outmost,T=Math.abs(a-i)-2*Co,S=Math.abs(s-o)-2*Co;\"outside\"===l&&(k||(l=\"inside\"));if(\"auto\"===l)if(k){l=\"inside\",p=u(e,f,b),d=Sr.bBox(p.node()),g=d.width,v=d.height;var E=g>0&&v>0,C=g<=T&&v<=S,L=g<=S&&v<=T,z=\"h\"===h?T>=g*(S/v):S>=v*(T/g);E&&(C||L||z)?l=\"inside\":(l=\"outside\",p.remove(),p=null)}else l=\"inside\";if(!p&&(p=u(e,f,\"outside\"===l?_:b),d=Sr.bBox(p.node()),g=d.width,v=d.height,g<=0||v<=0))return void p.remove();\"outside\"===l?(y=\"both\"===c.constraintext||\"outside\"===c.constraintext,m=function(t,e,r,n,i,a,o){var s,l=\"h\"===a?Math.abs(n-r):Math.abs(e-t);l>2*Co&&(s=Co);var u=1;o&&(u=\"h\"===a?Math.min(1,l/i.height):Math.min(1,l/i.width));var c,h,f,p,d=(i.left+i.right)/2,g=(i.top+i.bottom)/2;c=u*i.width,h=u*i.height,\"h\"===a?e<t?(f=e-s-c/2,p=(r+n)/2):(f=e+s+c/2,p=(r+n)/2):n>r?(f=(t+e)/2,p=n+s+h/2):(f=(t+e)/2,p=n-s-h/2);return zo(d,g,f,p,u,!1)}(i,a,o,s,d,h,y)):(y=\"both\"===c.constraintext||\"inside\"===c.constraintext,m=function(t,e,r,n,i,a,o){var s,l,u,c,h,f,p,d=i.width,g=i.height,v=(i.left+i.right)/2,m=(i.top+i.bottom)/2,y=Math.abs(e-t),x=Math.abs(n-r);y>2*Co&&x>2*Co?(y-=2*(h=Co),x-=2*h):h=0;d<=y&&g<=x?(f=!1,p=1):d<=x&&g<=y?(f=!0,p=1):d<g==y<x?(f=!1,p=o?Math.min(y/d,x/g):1):(f=!0,p=o?Math.min(x/d,y/g):1);f&&(f=90);f?(s=p*g,l=p*d):(s=p*d,l=p*g);\"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);return zo(v,m,u,c,p,f)}(i,a,o,s,d,h,y));p.attr(\"transform\",m)}(t,A,i,u,p,d,g,v),n.layerClipId&&Sr.hideOutsideRangePoint(i[u],A.select(\"text\"),a,o,c.xcalendar,c.ycalendar)}else e.select(this).remove();function k(t){return 0===s.bargap&&0===s.bargroupgap?e.round(Math.round(t)-w,2):t}})}),P.getComponentMethod(\"errorbars\",\"plot\")(l,n),l.each(function(t){var r=!1===t[0].trace.cliponaxis;Sr.setClipUrl(e.select(this),r?null:n.layerClipId)})};function zo(t,e,r,n,i,a){var o;return i<1?o=\"scale(\"+i+\") \":(i=1,o=\"\"),\"translate(\"+(r-i*t)+\" \"+(n-i*e)+\")\"+o+(a?\"rotate(\"+a+\" \"+t+\" \"+e+\") \":\"\")}function Po(t,e,n,i){var a=Io((e=e||{}).family,n),o=Io(e.size,n),l=Io(e.color,n);return{family:Do(t.family,a,i.family),size:function(t,e,n){if(r(e)){e=+e;var i=t.min,a=t.max,o=void 0!==i&&e<i||void 0!==a&&e>a;if(!o)return e}return void 0!==n?n:t.dflt}(t.size,o,i.size),color:function(t,e,r){return s(e).isValid()?e:void 0!==r?r:t.dflt}(t.color,l,i.color)}}function Io(t,e){var r;return Array.isArray(t)?e<t.length&&(r=t[e]):r=t,r}function Do(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}var Oo=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[];if(!1===e)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var s=n[r];e.contains(s.ct)?(o.push({pointNumber:r,x:i.c2d(s.x),y:a.c2d(s.y)}),s.selected=1):s.selected=0}return o},Ro=Bo,Fo=t.BADNUM;function Bo(t,e,r){this.traces=t,this.separateNegativeValues=e,this.dontMergeOverlappingData=r;for(var n=1/0,i=[],a=0;a<t.length;a++){for(var o=t[a],s=0;s<o.length;s++){var l=o[s];l.p!==Fo&&i.push(l.p)}o[0]&&o[0].width1&&(n=Math.min(o[0].width1,n))}this.positions=i;var u=ne.distinctVals(i);this.distinctPositions=u.vals,1===u.vals.length&&n!==1/0?this.minDiff=n:this.minDiff=Math.min(u.minDiff,n),this.binWidth=this.minDiff,this.bins={}}Bo.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},Bo.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},Bo.prototype.getLabel=function(t,e){return(e<0&&this.separateNegativeValues?\"v\":\"^\")+(this.dontMergeOverlappingData?t:Math.round(t/this.binWidth))};var No=ne.isArrayOrTypedArray,jo=t.BADNUM,Vo=function(t,e){var r,n=e.xaxis,i=e.yaxis,a=t._fullData,o=t.calcdata,s=[],l=[];for(r=0;r<a.length;r++){var u=a[r];!0===u.visible&&P.traceIs(u,\"bar\")&&u.xaxis===n._id&&u.yaxis===i._id&&(\"h\"===u.orientation?s.push(o[r]):l.push(o[r]))}Uo(t,n,i,l),Uo(t,i,n,s)};function Uo(t,e,n,i){if(i.length){var a,o,s,l,u=t._fullLayout.barmode,c=\"group\"===u;if(\"overlay\"===u)qo(t,e,n,i);else if(c){for(a=[],o=[],s=0;s<i.length;s++)void 0===(l=i[s])[0].trace.offset?o.push(l):a.push(l);o.length&&function(t,e,r,n){var i=t._fullLayout.barnorm,a=new Ro(n,!1,!i);(function(t,e,r){var n,i,a,o,s=t._fullLayout,l=s.bargap,u=s.bargroupgap,c=r.positions,h=r.distinctPositions,f=r.minDiff,p=r.traces,d=c.length!==h.length,g=p.length,v=f*(1-l),m=d?v/g:v,y=m*(1-u);for(n=0;n<g;n++){i=p[n],a=i[0];var x=d?((2*n+1-g)*m-y)/2:-y/2;(o=a.t).barwidth=y,o.poffset=x,o.bargroupwidth=v,o.bardelta=f}r.binWidth=p[0][0].t.barwidth/100,Go(r),Wo(t,e,r),Yo(t,e,r,d)})(t,e,a),i?(Jo(t,r,a),Ko(t,r,a)):Zo(t,r,a)}(t,e,n,o),a.length&&qo(t,e,n,a)}else{for(a=[],o=[],s=0;s<i.length;s++)void 0===(l=i[s])[0].trace.base?o.push(l):a.push(l);o.length&&function(t,e,n,i){var a=t._fullLayout.barmode,o=\"stack\"===a,s=\"relative\"===a,l=t._fullLayout.barnorm,u=new Ro(i,s,!(l||o||s));Ho(t,e,u),function(t,e,n){var i,a,o,s,l=t._fullLayout.barnorm,u=Qo(e),c=n.traces,h=[null,null];for(i=0;i<c.length;i++)for(a=c[i],o=0;o<a.length;o++)if((s=a[o]).s!==jo){var f=n.put(s.p,s.b+s.s),p=f+s.b+s.s;s.b=f,s[u]=p,l||(r(e.c2l(p))&&Xo(h,p),s.hasB&&r(e.c2l(f))&&Xo(h,f))}l||ri.expand(e,h,{tozero:!0,padded:!0})}(t,n,u);for(var c=0;c<i.length;c++)for(var h=i[c],f=0;f<h.length;f++){var p=h[f];if(p.s!==jo){var d=p.b+p.s===u.get(p.p,p.s);d&&(p._outmost=!0)}}l&&Ko(t,n,u)}(t,e,n,o),a.length&&qo(t,e,n,a)}!function(t,e){var n,i,a,o=e._id.charAt(0),s={},l=1/0,u=-1/0;for(n=0;n<t.length;n++)for(a=t[n],i=0;i<a.length;i++){var c=a[i].p;r(c)&&(l=Math.min(l,c),u=Math.max(u,c))}var h=1e4/(u-l),f=s.round=function(t){return String(Math.round(h*(t-l)))};for(n=0;n<t.length;n++)for((a=t[n])[0].t.extents=s,i=0;i<a.length;i++){var p=a[i],d=p[o]-p.w/2;if(r(d)){var g=p[o]+p.w/2,v=f(p.p);s[v]?s[v]=[Math.min(d,s[v][0]),Math.max(g,s[v][1])]:s[v]=[d,g]}}}(i,e)}}function qo(t,e,r,n){for(var i=t._fullLayout.barnorm,a=!i,o=0;o<n.length;o++){var s=n[o],l=new Ro([s],!1,a);Ho(t,e,l),i?(Jo(t,r,l),Ko(t,r,l)):Zo(t,r,l)}}function Ho(t,e,r){var n,i,a=t._fullLayout,o=a.bargap,s=a.bargroupgap,l=r.minDiff,u=r.traces,c=l*(1-o),h=c*(1-s),f=-h/2;for(n=0;n<u.length;n++)(i=u[n][0].t).barwidth=h,i.poffset=f,i.bargroupwidth=c,i.bardelta=l;r.binWidth=u[0][0].t.barwidth/100,Go(r),Wo(t,e,r),Yo(t,e,r)}function Go(t){var e,n,i,a,o,s,l=t.traces;for(e=0;e<l.length;e++){a=(i=(n=l[e])[0]).trace,s=i.t;var u,c=a.offset,h=s.poffset;if(No(c)){for(u=c.slice(0,n.length),o=0;o<u.length;o++)r(u[o])||(u[o]=h);for(o=u.length;o<n.length;o++)u.push(h);s.poffset=u}else void 0!==c&&(s.poffset=c);var f=a.width,p=s.barwidth;if(No(f)){var d=f.slice(0,n.length);for(o=0;o<d.length;o++)r(d[o])||(d[o]=p);for(o=d.length;o<n.length;o++)d.push(p);if(s.barwidth=d,void 0===c){for(u=[],o=0;o<n.length;o++)u.push(h+(p-d[o])/2);s.poffset=u}}else void 0!==f&&(s.barwidth=f,void 0===c&&(s.poffset=h+(p-f)/2))}}function Wo(t,e,r){for(var n=r.traces,i=Qo(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 p=o[f],d=p.w=h?c[f]:c;p[i]=p.p+(u?l[f]:l)+d/2}}function Yo(t,e,r,n){var i=r.traces,a=r.distinctPositions,o=a[0],s=r.minDiff,l=s/2;ri.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],p=f[0],d=p.trace;if(void 0!==d.width||void 0!==d.offset)for(var g=p.t,v=g.poffset,m=g.barwidth,y=Array.isArray(v),x=Array.isArray(m),b=0;b<f.length;b++){var _=f[b],w=y?v[b]:v,M=x?m[b]:m,A=_.p+w,k=A+M;u=Math.min(u,A),c=Math.max(c,k)}}ri.expand(e,[u,c],{padded:!1})}function Xo(t,e){r(t[0])?t[0]=Math.min(t[0],e):t[0]=e,r(t[1])?t[1]=Math.max(t[1],e):t[1]=e}function Zo(t,e,n){for(var i=n.traces,a=Qo(e),o=[null,null],s=0;s<i.length;s++)for(var l=i[s],u=0;u<l.length;u++){var c=l[u],h=c.b,f=h+c.s;c[a]=f,r(e.c2l(f))&&Xo(o,f),c.hasB&&r(e.c2l(h))&&Xo(o,h)}ri.expand(e,o,{tozero:!0,padded:!0})}function Jo(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];s.s!==jo&&r.put(s.p,s.b+s.s)}}function Ko(t,e,n){var i=n.traces,a=Qo(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;function f(t){r(e.c2l(t))&&(t<l-s||t>u+s||!r(l))&&(h=!0,Xo(c,t))}for(var p=0;p<i.length;p++)for(var d=i[p],g=0;g<d.length;g++){var v=d[g];if(v.s!==jo){var m=Math.abs(o/n.get(v.p,v.s));v.b*=m,v.s*=m;var y=v.b,x=y+v.s;v[a]=x,f(x),v.hasB&&f(y)}}ri.expand(e,c,{tozero:!0,padded:h})}function Qo(t){return t._id.charAt(0)}var $o=function(t,r){var n=r?r[0].node3:e.select(t).selectAll(\"g.trace.bars\"),i=n.size(),a=t._fullLayout;n.style(\"opacity\",function(t){return t[0].trace.opacity}).each(function(t){(\"stack\"===a.barmode&&i>1||0===a.bargap&&0===a.bargroupgap&&!t[0].trace.marker.line.width)&&e.select(this).attr(\"shape-rendering\",\"crispEdges\")}),n.selectAll(\"g.points\").each(function(r){var n=e.select(this),i=n.selectAll(\"path\"),a=n.selectAll(\"text\"),o=r[0].trace;Sr.pointStyle(i,o,t),Sr.selectedPointStyle(i,o),a.each(function(t){var r,n=e.select(this);function i(e){var n=r[e];return Array.isArray(n)?n[t.i]:n}n.classed(\"bartext-inside\")?r=o.insidetextfont:n.classed(\"bartext-outside\")&&(r=o.outsidetextfont),r||(r=o.textfont),Sr.font(n,i(\"family\"),i(\"size\"),i(\"color\"))}),Sr.selectedTextStyle(a,o)}),P.getComponentMethod(\"errorbars\",\"style\")(n)},ts=m.extendFlat,es=Qe.LINE_SPACING,rs={colorbar:\"colorbar\",cbbg:\"cbbg\",cbfill:\"cbfill\",cbfills:\"cbfills\",cbline:\"cbline\",cblines:\"cblines\",cbaxis:\"cbaxis\",cbtitleunshift:\"cbtitleunshift\",cbtitle:\"cbtitle\",cboutline:\"cboutline\",crisp:\"crisp\",jsPlaceholder:\"js-placeholder\"},ns=function(t,r){var n={};function i(){var o=t._fullLayout,l=o._size;if(\"function\"==typeof n.fillcolor||\"function\"==typeof n.line.color){var u,c,h=e.extent((\"function\"==typeof n.fillcolor?n.fillcolor:n.line.color).domain()),f=[],p=[],d=\"function\"==typeof n.line.color?n.line.color:function(){return n.line.color},g=\"function\"==typeof n.fillcolor?n.fillcolor:function(){return n.fillcolor},v=n.levels.end+n.levels.size/100,m=n.levels.size,y=1.001*h[0]-.001*h[1],x=1.001*h[1]-.001*h[0];for(c=0;c<1e5&&(u=n.levels.start+c*m,!(m>0?u>=v:u<=v));c++)u>y&&u<x&&f.push(u);if(\"function\"==typeof n.fillcolor)if(n.filllevels)for(v=n.filllevels.end+n.filllevels.size/100,m=n.filllevels.size,c=0;c<1e5&&(u=n.filllevels.start+c*m,!(m>0?u>=v:u<=v));c++)u>h[0]&&u<h[1]&&p.push(u);else(p=f.map(function(t){return t-n.levels.size/2})).push(p[p.length-1]+n.levels.size);else n.fillcolor&&\"string\"==typeof n.fillcolor&&(p=[0]);n.levels.size<0&&(f.reverse(),p.reverse());var b,_=o.height-o.margin.t-o.margin.b,w=o.width-o.margin.l-o.margin.r,M=Math.round(n.thickness*(\"fraction\"===n.thicknessmode?w:1)),A=M/l.w,k=Math.round(n.len*(\"fraction\"===n.lenmode?_:1)),T=k/l.h,S=n.xpad/l.w,E=(n.borderwidth+n.outlinewidth)/2,C=n.ypad/l.h,L=Math.round(n.x*l.w+n.xpad),z=n.x-A*({middle:.5,right:1}[n.xanchor]||0),I=n.y+T*(({top:-.5,bottom:.5}[n.yanchor]||0)-.5),D=Math.round(l.h*(1-I)),O=D-k,R={type:\"linear\",range:h,tickmode:n.tickmode,nticks:n.nticks,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,tickfont:n.tickfont,tickangle:n.tickangle,tickformat:n.tickformat,exponentformat:n.exponentformat,separatethousands:n.separatethousands,showexponent:n.showexponent,showtickprefix:n.showtickprefix,tickprefix:n.tickprefix,showticksuffix:n.showticksuffix,ticksuffix:n.ticksuffix,title:n.title,titlefont:n.titlefont,showline:!0,anchor:\"free\",position:1},F={type:\"linear\",_id:\"y\"+r},B={letter:\"y\",font:o.font,noHover:!0,calendar:o.calendar};if(Qi(R,F,$,B,o),ea(R,F,$,B),F.position=n.x+S+A,i.axis=F,-1!==[\"top\",\"bottom\"].indexOf(n.titleside)&&(F.titleside=n.titleside,F.titlex=n.x+S,F.titley=I+(\"top\"===n.titleside?T-C:C)),n.line.color&&\"auto\"===n.tickmode){F.tickmode=\"linear\",F.tick0=n.levels.start;var N=n.levels.size,j=ne.constrain((D-O)/50,4,15)+1,V=(h[1]-h[0])/((n.nticks||j)*N);if(V>1){var U=Math.pow(10,Math.floor(Math.log(V)/Math.LN10));N*=U*ne.roundUp(V/U,[2,5,10]),(Math.abs(n.levels.start)/n.levels.size+1e-6)%1<2e-6&&(F.tick0=0)}F.dtick=N}F.domain=[I+C,I+T-C],F.setScale();var q=o._infolayer.selectAll(\"g.\"+r).data([0]);q.enter().append(\"g\").classed(r,!0).classed(rs.colorbar,!0).each(function(){var t=e.select(this);t.append(\"rect\").classed(rs.cbbg,!0),t.append(\"g\").classed(rs.cbfills,!0),t.append(\"g\").classed(rs.cblines,!0),t.append(\"g\").classed(rs.cbaxis,!0).classed(rs.crisp,!0),t.append(\"g\").classed(rs.cbtitleunshift,!0).append(\"g\").classed(rs.cbtitle,!0),t.append(\"rect\").classed(rs.cboutline,!0),t.select(\".cbtitle\").datum(0)}),q.attr(\"transform\",\"translate(\"+Math.round(l.l)+\",\"+Math.round(l.t)+\")\");var H=q.select(\".cbtitleunshift\").attr(\"transform\",\"translate(-\"+Math.round(l.l)+\",-\"+Math.round(l.t)+\")\");F._axislayer=q.select(\".cbaxis\");var G=0;if(-1!==[\"top\",\"bottom\"].indexOf(n.titleside)){var W,Y=l.l+(n.x+S)*l.w,X=F.titlefont.size;W=\"top\"===n.titleside?(1-(I+T-C))*l.h+l.t+3+.75*X:(1-(I+C))*l.h+l.t-3-.25*X,tt(F._id+\"title\",{attributes:{x:Y,y:W,\"text-anchor\":\"start\"}})}var Z,J,K,Q=ne.syncOrAsync([_n.previousPromises,function(){if(-1!==[\"top\",\"bottom\"].indexOf(n.titleside)){var r=q.select(\".cbtitle\"),i=r.select(\"text\"),a=[-n.outlinewidth/2,n.outlinewidth/2],u=r.select(\".h\"+F._id+\"title-math-group\").node(),c=15.6;if(i.node()&&(c=parseInt(i.node().style.fontSize,10)*es),u?(G=Sr.bBox(u).height)>c&&(a[1]-=(G-c)/2):i.node()&&!i.classed(rs.jsPlaceholder)&&(G=Sr.bBox(i.node()).height),G){if(G+=5,\"top\"===n.titleside)F.domain[1]-=G/l.h,a[1]*=-1;else{F.domain[0]+=G/l.h;var v=er.lineCount(i);a[1]+=(1-v)*c}r.attr(\"transform\",\"translate(\"+a+\")\"),F.setScale()}}q.selectAll(\".cbfills,.cblines\").attr(\"transform\",\"translate(0,\"+Math.round(l.h*(1-F.domain[1]))+\")\"),F._axislayer.attr(\"transform\",\"translate(0,\"+Math.round(-l.t)+\")\");var m=q.select(\".cbfills\").selectAll(\"rect.cbfill\").data(p);m.enter().append(\"rect\").classed(rs.cbfill,!0).style(\"stroke\",\"none\"),m.exit().remove(),m.each(function(t,r){var n=[0===r?h[0]:(p[r]+p[r-1])/2,r===p.length-1?h[1]:(p[r]+p[r+1])/2].map(F.c2p).map(Math.round);r!==p.length-1&&(n[1]+=n[1]>n[0]?1:-1);var i=g(t).replace(\"e-\",\"\"),a=s(i).toHexString();e.select(this).attr({x:L,width:Math.max(M,2),y:e.min(n),height:Math.max(e.max(n)-e.min(n),2),fill:a})});var y=q.select(\".cblines\").selectAll(\"path.cbline\").data(n.line.color&&n.line.width?f:[]);return y.enter().append(\"path\").classed(rs.cbline,!0),y.exit().remove(),y.each(function(t){e.select(this).attr(\"d\",\"M\"+L+\",\"+(Math.round(F.c2p(t))+n.line.width/2%1)+\"h\"+M).call(Sr.lineGroupStyle,n.line.width,d(t),n.line.dash)}),F._axislayer.selectAll(\"g.\"+F._id+\"tick,path\").remove(),F._pos=L+M+(n.outlinewidth||0)/2-(\"outside\"===n.ticks?1:0),F.side=\"right\",ne.syncOrAsync([function(){return ri.doTicks(t,F,!0)},function(){if(-1===[\"top\",\"bottom\"].indexOf(n.titleside)){var r=F.titlefont.size,i=F._offset+F._length/2,a=l.l+(F.position||0)*l.w+(\"right\"===F.side?10+r*(F.showticklabels?1:.5):-10-r*(F.showticklabels?.5:0));tt(\"h\"+F._id+\"title\",{avoid:{selection:e.select(t).selectAll(\"g.\"+F._id+\"tick\"),side:n.titleside,offsetLeft:l.l,offsetTop:0,maxShift:o.width},attributes:{x:a,y:i,\"text-anchor\":\"middle\"},transform:{rotate:\"-90\",offset:0}})}}])},_n.previousPromises,function(){var e=M+n.outlinewidth/2+Sr.bBox(F._axislayer.node()).width;if((b=H.select(\"text\")).node()&&!b.classed(rs.jsPlaceholder)){var i,a=H.select(\".h\"+F._id+\"title-math-group\").node();i=a&&-1!==[\"top\",\"bottom\"].indexOf(n.titleside)?Sr.bBox(a).width:Sr.bBox(H.node()).right-L-l.l,e=Math.max(e,i)}var o=2*n.xpad+e+n.borderwidth+n.outlinewidth/2,s=D-O;q.select(\".cbbg\").attr({x:L-n.xpad-(n.borderwidth+n.outlinewidth)/2,y:O-E,width:Math.max(o,2),height:Math.max(s+2*E,2)}).call(Oe.fill,n.bgcolor).call(Oe.stroke,n.bordercolor).style({\"stroke-width\":n.borderwidth}),q.selectAll(\".cboutline\").attr({x:L,y:O+n.ypad+(\"top\"===n.titleside?G:0),width:Math.max(M,2),height:Math.max(s-2*n.ypad-G,2)}).call(Oe.stroke,n.outlinecolor).style({fill:\"None\",\"stroke-width\":n.outlinewidth});var u=({center:.5,right:1}[n.xanchor]||0)*o;q.attr(\"transform\",\"translate(\"+(l.l-u)+\",\"+l.t+\")\"),_n.autoMargin(t,r,{x:n.x,y:n.y,l:o*({right:1,center:.5}[n.xanchor]||0),r:o*({left:1,center:.5}[n.xanchor]||0),t:s*({bottom:1,middle:.5}[n.yanchor]||0),b:s*({top:1,middle:.5}[n.yanchor]||0)})}],t);if(Q&&Q.then&&(t._promises||[]).push(Q),t._context.edits.colorbarPosition)Ua.init({element:q.node(),gd:t,prepFn:function(){Z=q.attr(\"transform\"),Ka(q)},moveFn:function(t,e){q.attr(\"transform\",Z+\" translate(\"+t+\",\"+e+\")\"),J=Ua.align(z+t/l.w,A,0,1,n.xanchor),K=Ua.align(I-e/l.h,T,0,1,n.yanchor);var r=Ua.getCursor(J,K,n.xanchor,n.yanchor);Ka(q,r)},doneFn:function(){Ka(q),void 0!==J&&void 0!==K&&P.call(\"restyle\",t,{\"colorbar.x\":J,\"colorbar.y\":K},a().index)}});return Q}function $(t,e){return ne.coerce(R,F,Ce,t,e)}function tt(e,r){var n,i=a();n=P.traceIs(i,\"markerColorscale\")?\"marker.colorbar.title\":\"colorbar.title\";var s={propContainer:F,propName:n,traceIndex:i.index,placeholder:o._dfltTitle.colorbar,containerGroup:q.select(\".cbtitle\")},l=\"h\"===e.charAt(0)?e.substr(1):\"h\"+e;q.selectAll(\".\"+l+\",.\"+l+\"-math-group\").remove(),Dn.draw(t,e,ts(s,r||{}))}o._infolayer.selectAll(\"g.\"+r).remove()}function a(){var e,n,i=r.substr(2);for(e=0;e<t._fullData.length;e++)if((n=t._fullData[e]).uid===i)return n}return Object.keys(ze).forEach(function(t){n[t]=null}),n.fillcolor=null,n.line={color:null,width:null,dash:null},n.levels={start:null,end:null,size:null},n.filllevels=null,Object.keys(n).forEach(function(t){i[t]=function(e){return arguments.length?(n[t]=ne.isPlainObject(n[t])?ne.extendFlat(n[t],e):e,i):n[t]}}),i.options=function(t){return Object.keys(t).forEach(function(e){\"function\"==typeof i[e]&&i[e](t[e])}),i},i._opts=n,i},is=function(t,e){var n=e[0].trace,i=n.marker,a=\"cb\"+n.uid;if(t._fullLayout._infolayer.selectAll(\".\"+a).remove(),void 0!==i&&i.showscale){var o=i.color,s=i.cmin,l=i.cmax;r(s)||(s=ne.aggNums(Math.min,null,o)),r(l)||(l=ne.aggNums(Math.max,null,o));var u=e[0].t.cb=ns(t,a),c=Je.makeColorScaleFunc(Je.extractScale(i.colorscale,s,l),{noNumericCheck:!0});u.fillcolor(c).filllevels({start:s,end:l,size:(l-s)/254}).options(i.colorbar)()}else _n.autoMargin(t,a)},as={};as.attributes=wa,as.layoutAttributes=wo,as.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,wa,r,n)}var a=ne.coerceFont;if(Ta(t,e,n,i)){i(\"orientation\",e.x&&!e.y?\"h\":\"v\"),i(\"base\"),i(\"offset\"),i(\"width\"),i(\"text\"),i(\"hovertext\");var o=i(\"textposition\"),s=Array.isArray(o)||\"auto\"===o,l=s||\"inside\"===o,u=s||\"outside\"===o;if(l||u){var c=a(i,\"textfont\",n.font);l&&a(i,\"insidetextfont\",c),u&&a(i,\"outsidetextfont\",c),i(\"constraintext\"),i(\"selected.textfont.color\"),i(\"unselected.textfont.color\"),i(\"cliponaxis\")}ka(t,e,i,r,n);var h=P.getComponentMethod(\"errorbars\",\"supplyDefaults\");h(t,e,Oe.defaultLine,{axis:\"y\"}),h(t,e,Oe.defaultLine,{axis:\"x\",inherit:\"y\"}),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},as.supplyLayoutDefaults=Mo,as.calc=function(t,e){var n,i,a,o,s,l=ri.getFromId(t,e.xaxis||\"x\"),u=ri.getFromId(t,e.yaxis||\"y\");\"h\"===(e.orientation||(e.x&&!e.y?\"h\":\"v\"))?(n=l,a=l.makeCalcdata(e,\"x\"),i=u.makeCalcdata(e,\"y\"),s=e.xcalendar):(n=u,a=u.makeCalcdata(e,\"y\"),i=l.makeCalcdata(e,\"x\"),s=e.ycalendar);var c=Math.min(i.length,a.length),h=new Array(c);for(o=0;o<c;o++)h[o]={p:i[o],s:a[o]},e.ids&&(h[o].id=String(e.ids[o]));var f,p=e.base;if(Aa(p)){for(o=0;o<Math.min(p.length,h.length);o++)f=n.d2c(p[o],0,s),r(f)?(h[o].b=+f,h[o].hasB=1):h[o].b=0;for(;o<h.length;o++)h[o].b=0}else{f=n.d2c(p,0,s);var d=r(f);for(f=d?f:0,o=0;o<h.length;o++)h[o].b=f,d&&(h[o].hasB=1)}return Xe(e,\"marker\")&&Ve(e,e.marker.color,\"marker\",\"c\"),Xe(e,\"marker.line\")&&Ve(e,e.marker.line.color,\"marker.line\",\"c\"),ma(h,e),Ma(h,e),h},as.setPositions=Vo,as.colorbar=is,as.arraysToCalcdata=ma,as.plot=Lo,as.style=$o,as.hoverPoints=_o,as.selectPoints=Oo,as.moduleType=\"trace\",as.name=\"bar\",as.basePlotModule=ua,as.categories=[\"cartesian\",\"bar\",\"oriented\",\"markerColorscale\",\"errorBarsOK\",\"showLegend\"],as.meta={};var os=as,ss=m.extendFlat,ls=Zr.marker,us=ls.line,cs={y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},name:{valType:\"string\",editType:\"calc+clearAxisTypes\"},text:ss({},Zr.text,{}),whiskerwidth:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"calcIfAutorange\"},notched:{valType:\"boolean\",editType:\"calcIfAutorange\"},notchwidth:{valType:\"number\",min:0,max:.5,dflt:.25,editType:\"calcIfAutorange\"},boxpoints:{valType:\"enumerated\",values:[\"all\",\"outliers\",\"suspectedoutliers\",!1],dflt:\"outliers\",editType:\"calcIfAutorange\"},boxmean:{valType:\"enumerated\",values:[!0,\"sd\",!1],dflt:!1,editType:\"calcIfAutorange\"},jitter:{valType:\"number\",min:0,max:1,editType:\"calcIfAutorange\"},pointpos:{valType:\"number\",min:-2,max:2,editType:\"calcIfAutorange\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},marker:{outliercolor:{valType:\"color\",dflt:\"rgba(0, 0, 0, 0)\",editType:\"style\"},symbol:ss({},ls.symbol,{arrayOk:!1,editType:\"plot\"}),opacity:ss({},ls.opacity,{arrayOk:!1,dflt:1,editType:\"style\"}),size:ss({},ls.size,{arrayOk:!1,editType:\"calcIfAutorange\"}),color:ss({},ls.color,{arrayOk:!1,editType:\"style\"}),line:{color:ss({},us.color,{arrayOk:!1,dflt:C.defaultLine,editType:\"style\"}),width:ss({},us.width,{arrayOk:!1,dflt:0,editType:\"style\"}),outliercolor:{valType:\"color\",editType:\"style\"},outlierwidth:{valType:\"number\",min:0,dflt:1,editType:\"style\"},editType:\"style\"},editType:\"plot\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:Zr.fillcolor,selected:{marker:Zr.selected.marker,editType:\"style\"},unselected:{marker:Zr.unselected.marker,editType:\"style\"},hoveron:{valType:\"flaglist\",flags:[\"boxes\",\"points\"],dflt:\"boxes+points\",editType:\"style\"}},hs=ne._,fs=function(t,e){var n,i,a,o,s,l=t._fullLayout,u=ri.getFromId(t,e.xaxis||\"x\"),c=ri.getFromId(t,e.yaxis||\"y\"),h=[],f=\"violin\"===e.type?\"_numViolins\":\"_numBoxes\";\"h\"===e.orientation?(i=u,a=\"x\",o=c,s=\"y\"):(i=c,a=\"y\",o=u,s=\"x\");var p=i.makeCalcdata(e,a),d=function(t,e,n,i,a){if(e in t)return n.makeCalcdata(t,e);var o;o=e+\"0\"in t?t[e+\"0\"]:\"name\"in t&&(\"category\"===n.type||r(t.name)&&-1!==[\"linear\",\"log\"].indexOf(n.type)||ne.isDateTime(t.name)&&\"date\"===n.type)?t.name:a;var s=n.d2c(o,0,t[e+\"calendar\"]);return i.map(function(){return s})}(e,s,o,p,l[f]),g=ne.distinctVals(d),v=g.vals,m=g.minDiff/2,y=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i<r;i++)n[i]=t[i]-e;return n[r]=t[r-1]+e,n}(v,m),x=p.length,b=v.length,_=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=[];return e}(b);for(n=0;n<x;n++){var w=p[n];if(r(w)){var M=ne.findBin(d[n],y);if(M>=0&&M<b){var A={v:w,i:n};ps(A,e,n),_[M].push(A)}}}for(n=0;n<b;n++)if(_[n].length>0){var k=_[n].sort(ds),T=k.map(gs),S=T.length,E={pos:v[n],pts:k};E.min=T[0],E.max=T[S-1],E.mean=ne.mean(T,S),E.sd=ne.stdev(T,S,E.mean),E.q1=ne.interp(T,.25),E.med=ne.interp(T,.5),E.q3=ne.interp(T,.75),E.lf=Math.min(E.q1,T[Math.min(ne.findBin(2.5*E.q1-1.5*E.q3,T,!0)+1,S-1)]),E.uf=Math.max(E.q3,T[Math.max(ne.findBin(2.5*E.q3-1.5*E.q1,T),0)]),E.lo=4*E.q1-3*E.q3,E.uo=4*E.q3-3*E.q1;var C=1.57*(E.q3-E.q1)/Math.sqrt(S);E.ln=E.med-C,E.un=E.med+C,h.push(E)}return function(t,e){if(ne.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r<t.length;r++){for(var n=t[r].pts||[],i={},a=0;a<n.length;a++)i[n[a].i]=a;ne.tagSelected(n,e,i)}}(h,e),ri.expand(i,p,{padded:!0}),h.length>0?(h[0].t={num:l[f],dPos:m,posLetter:s,valLetter:a,labels:{med:hs(t,\"median:\"),min:hs(t,\"min:\"),q1:hs(t,\"q1:\"),q3:hs(t,\"q3:\"),max:hs(t,\"max:\"),mean:\"sd\"===e.boxmean?hs(t,\"mean \\xb1 \\u03c3:\"):hs(t,\"mean:\"),lf:hs(t,\"lower fence:\"),uf:hs(t,\"upper fence:\")}},e._fullInput&&\"candlestick\"===e._fullInput.type&&delete h[0].t.labels,l[f]++,h):[{t:{empty:!0}}]};function ps(t,e,r){var n={text:\"tx\"};for(var i in n)Array.isArray(e[i])&&(t[n[i]]=e[i][r])}function ds(t,e){return t.v-e.v}function gs(t){return t.v}function vs(t,e,r,n){var i,a=r(\"y\"),o=r(\"x\");if(a&&a.length)i=\"v\",o||r(\"x0\");else{if(!o||!o.length)return void(e.visible=!1);i=\"h\",r(\"y0\")}P.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],n),r(\"orientation\",i)}function ms(t,e,r,n){var i=n.prefix,a=ne.coerce2(t,e,cs,\"marker.outliercolor\"),o=r(\"marker.line.outliercolor\"),s=r(i+\"points\",a||o?\"suspectedoutliers\":void 0);s?(r(\"jitter\",\"all\"===s?.3:0),r(\"pointpos\",\"all\"===s?-1.5:0),r(\"marker.symbol\"),r(\"marker.opacity\"),r(\"marker.size\"),r(\"marker.color\",e.line.color),r(\"marker.line.color\"),r(\"marker.line.width\"),\"suspectedoutliers\"===s&&(r(\"marker.line.outliercolor\",e.marker.color),r(\"marker.line.outlierwidth\")),r(\"selected.marker.color\"),r(\"unselected.marker.color\"),r(\"selected.marker.size\"),r(\"unselected.marker.size\"),r(\"text\")):delete e.marker,r(\"hoveron\"),ne.coerceSelectionMarkerOpacity(e,r)}var ys={supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,cs,r,n)}vs(t,e,i,n),!1!==e.visible&&(i(\"line.color\",(t.marker||{}).color||r),i(\"line.width\"),i(\"fillcolor\",Oe.addOpacity(e.line.color,.5)),i(\"whiskerwidth\"),i(\"boxmean\"),i(\"notched\",void 0!==t.notchwidth)&&i(\"notchwidth\"),ms(t,e,i,{prefix:\"box\"}))},handleSampleDefaults:vs,handlePointsDefaults:ms};function xs(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d,g,v=t.cd,m=t.xa,y=t.ya,x=v[0].trace,b=v[0].t,_=\"violin\"===x.type,w=[],M=b.bdPos,A=function(t){return t.pos+b.bPos-u};_&&\"both\"!==x.side?(\"positive\"===x.side&&(f=function(t){var e=A(t);return yo.inbox(e,e+M,p)}),\"negative\"===x.side&&(f=function(t){var e=A(t);return yo.inbox(e-M,e,p)})):f=function(t){var e=A(t);return yo.inbox(e-M,e+M,p)},g=_?function(t){return yo.inbox(t.span[0]-l,t.span[1]-l,p)}:function(t){return yo.inbox(t.min-l,t.max-l,p)},\"h\"===x.orientation?(l=e,u=r,c=g,h=f,i=\"y\",o=y,a=\"x\",s=m):(l=r,u=e,c=f,h=g,i=\"x\",o=m,a=\"y\",s=y);var k=Math.min(1,M/Math.abs(o.r2c(o.range[1])-o.r2c(o.range[0])));function T(t){return(c(t)+h(t))/2}p=t.maxHoverDistance-k,d=t.maxSpikeDistance-k;var S=yo.getDistanceFunction(n,c,h,T);if(yo.getClosest(v,S,t),!1===t.index)return[];var E=v[t.index],C=x.line.color,L=(x.marker||{}).color;Oe.opacity(C)&&x.line.width?t.color=C:Oe.opacity(L)&&x.boxpoints?t.color=L:t.color=x.fillcolor,t[i+\"0\"]=o.c2p(E.pos+b.bPos-b.bdPos,!0),t[i+\"1\"]=o.c2p(E.pos+b.bPos+b.bdPos,!0),ri.tickText(o,o.c2l(E.pos),\"hover\").text,t[i+\"LabelVal\"]=E.pos;var z=i+\"Spike\";t.spikeDistance=T(E)*d/p,t[z]=o.c2p(E.pos,!0);var P={},I=[\"med\",\"min\",\"q1\",\"q3\",\"max\"];(x.boxmean||(x.meanline||{}).visible)&&I.push(\"mean\"),(x.boxpoints||x.points)&&I.push(\"lf\",\"uf\");for(var D=0;D<I.length;D++){var O=I[D];if(O in E&&!(E[O]in P)){P[E[O]]=!0;var R=E[O],F=s.c2p(R,!0),B=ne.extendFlat({},t);B[a+\"0\"]=B[a+\"1\"]=F,B[a+\"LabelVal\"]=R,B[a+\"Label\"]=(b.labels?b.labels[O]+\" \":\"\")+ri.hoverLabelText(s,R),\"mean\"===O&&\"sd\"in E&&\"sd\"===x.boxmean&&(B[a+\"err\"]=E.sd),t.name=\"\",t.spikeDistance=void 0,t[z]=void 0,w.push(B)}}return w}function bs(t,e,r){for(var n,i,a,o=t.cd,s=t.xa,l=t.ya,u=o[0].trace,c=s.c2p(e),h=l.c2p(r),f=yo.quadrature(function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(s.c2p(t.x)-c)-e,1-3/e)},function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(l.c2p(t.y)-h)-e,1-3/e)}),p=!1,d=0;d<o.length;d++){i=o[d];for(var g=0;g<(i.pts||[]).length;g++){var v=f(a=i.pts[g]);v<=t.distance&&(t.distance=v,p=[d,g])}}if(!p)return!1;a=(i=o[p[0]]).pts[p[1]];var m=s.c2p(a.x,!0),y=l.c2p(a.y,!0),x=a.mrc||1;n=ne.extendFlat({},t,{index:a.i,color:(u.marker||{}).color,name:u.name,x0:m-x,x1:m+x,xLabelVal:a.x,y0:y-x,y1:y+x,yLabelVal:a.y,spikeDistance:t.distance});var b=\"h\"===u.orientation?\"y\":\"x\",_=\"h\"===u.orientation?l:s;return n[b+\"Spike\"]=_.c2p(i.pos,!0),xo(a,u,n),n}var _s={hoverPoints:function(t,e,r,n){var i,a=t.cd[0].trace.hoveron,o=[];return-1!==a.indexOf(\"boxes\")&&(o=o.concat(xs(t,e,r,n))),-1!==a.indexOf(\"points\")&&(i=bs(t,e,r)),\"closest\"===n?i?[i]:o:i?(o.push(i),o):o},hoverOnBoxes:xs,hoverOnPoints:bs},ws={boxmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},boxgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"},boxgroupgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"}};function Ms(t,e,r,n,i){for(var a,o=0;o<r.length;o++)if(r[o].type===i){a=!0;break}a&&(n(i+\"mode\"),n(i+\"gap\"),n(i+\"groupgap\"))}var As={supplyLayoutDefaults:function(t,e,r){Ms(0,0,r,function(r,n){return ne.coerce(t,e,ws,r,n)},\"box\")},_supply:Ms},ks=5,Ts=.01;function Ss(t,r,n,i){var a,o,s=r.pos,l=r.val,u=i.bPos,c=i.wdPos||0,h=i.bPosPxOffset||0,f=n.whiskerwidth||0,p=n.notched||!1,d=p?1-2*n.notchwidth:1;Array.isArray(i.bdPos)?(a=i.bdPos[0],o=i.bdPos[1]):(a=i.bdPos,o=i.bdPos),t.selectAll(\"path.box\").data(ne.identity).enter().append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").attr(\"class\",\"box\").each(function(t){var r=t.pos,i=s.c2p(r+u,!0)+h,g=s.c2p(r+u-a,!0)+h,v=s.c2p(r+u+o,!0)+h,m=s.c2p(r+u-c,!0)+h,y=s.c2p(r+u+c,!0)+h,x=s.c2p(r+u-a*d,!0)+h,b=s.c2p(r+u+o*d,!0)+h,_=l.c2p(t.q1,!0),w=l.c2p(t.q3,!0),M=ne.constrain(l.c2p(t.med,!0),Math.min(_,w)+1,Math.max(_,w)-1),A=l.c2p(!1===n.boxpoints?t.min:t.lf,!0),k=l.c2p(!1===n.boxpoints?t.max:t.uf,!0),T=l.c2p(t.ln,!0),S=l.c2p(t.un,!0);\"h\"===n.orientation?e.select(this).attr(\"d\",\"M\"+M+\",\"+x+\"V\"+b+\"M\"+_+\",\"+g+\"V\"+v+(p?\"H\"+T+\"L\"+M+\",\"+b+\"L\"+S+\",\"+v:\"\")+\"H\"+w+\"V\"+g+(p?\"H\"+S+\"L\"+M+\",\"+x+\"L\"+T+\",\"+g:\"\")+\"ZM\"+_+\",\"+i+\"H\"+A+\"M\"+w+\",\"+i+\"H\"+k+(0===f?\"\":\"M\"+A+\",\"+m+\"V\"+y+\"M\"+k+\",\"+m+\"V\"+y)):e.select(this).attr(\"d\",\"M\"+x+\",\"+M+\"H\"+b+\"M\"+g+\",\"+_+\"H\"+v+(p?\"V\"+T+\"L\"+b+\",\"+M+\"L\"+v+\",\"+S:\"\")+\"V\"+w+\"H\"+g+(p?\"V\"+S+\"L\"+x+\",\"+M+\"L\"+g+\",\"+T:\"\")+\"ZM\"+i+\",\"+_+\"V\"+A+\"M\"+i+\",\"+w+\"V\"+k+(0===f?\"\":\"M\"+m+\",\"+A+\"H\"+y+\"M\"+m+\",\"+k+\"H\"+y))})}function Es(t,e,r,n){var i=e.x,a=e.y,o=n.bdPos,s=n.bPos,l=r.boxpoints||r.points;ne.seedPseudoRandom(),t.selectAll(\"g.points\").data(function(t){return t.forEach(function(t){t.t=n,t.trace=r}),t}).enter().append(\"g\").attr(\"class\",\"points\").selectAll(\"path\").data(function(t){var e,n,i=\"all\"===l?t.pts:t.pts.filter(function(e){return e.v<t.lf||e.v>t.uf}),a=Math.max((t.max-t.min)/10,t.q3-t.q1),u=1e-9*a,c=a*Ts,h=[],f=0;if(r.jitter){if(0===a)for(f=1,h=new Array(i.length),e=0;e<i.length;e++)h[e]=1;else for(e=0;e<i.length;e++){var p=Math.max(0,e-ks),d=i[p].v,g=Math.min(i.length-1,e+ks),v=i[g].v;\"all\"!==l&&(i[e].v<t.lf?v=Math.min(v,t.lf):d=Math.max(d,t.uf));var m=Math.sqrt(c*(g-p)/(v-d+u))||0;m=ne.constrain(Math.abs(m),0,1),h.push(m),f=Math.max(m,f)}n=2*r.jitter/f}for(e=0;e<i.length;e++){var y=i[e],x=y.v,b=r.jitter?n*h[e]*(ne.pseudoRandom()-.5):0,_=t.pos+s+o*(r.pointpos+b);\"h\"===r.orientation?(y.y=_,y.x=x):(y.x=_,y.y=x),\"suspectedoutliers\"===l&&x<t.uo&&x>t.lo&&(y.so=!0)}return i}).enter().append(\"path\").classed(\"point\",!0).call(Sr.translatePoints,i,a)}function Cs(t,r,n,i){var a,o,s=r.pos,l=r.val,u=i.bPos,c=i.bPosPxOffset||0;Array.isArray(i.bdPos)?(a=i.bdPos[0],o=i.bdPos[1]):(a=i.bdPos,o=i.bdPos),t.selectAll(\"path.mean\").data(ne.identity).enter().append(\"path\").attr(\"class\",\"mean\").style({fill:\"none\",\"vector-effect\":\"non-scaling-stroke\"}).each(function(t){var r=s.c2p(t.pos+u,!0)+c,i=s.c2p(t.pos+u-a,!0)+c,h=s.c2p(t.pos+u+o,!0)+c,f=l.c2p(t.mean,!0),p=l.c2p(t.mean-t.sd,!0),d=l.c2p(t.mean+t.sd,!0);\"h\"===n.orientation?e.select(this).attr(\"d\",\"M\"+f+\",\"+i+\"V\"+h+(\"sd\"===n.boxmean?\"m0,0L\"+p+\",\"+r+\"L\"+f+\",\"+i+\"L\"+d+\",\"+r+\"Z\":\"\")):e.select(this).attr(\"d\",\"M\"+i+\",\"+f+\"H\"+h+(\"sd\"===n.boxmean?\"m0,0L\"+r+\",\"+p+\"L\"+i+\",\"+f+\"L\"+r+\",\"+d+\"Z\":\"\"))})}var Ls={plot:function(t,r,n){var i=t._fullLayout,a=r.xaxis,o=r.yaxis;r.plot.select(\".boxlayer\").selectAll(\"g.trace.boxes\").data(n).enter().append(\"g\").attr(\"class\",\"trace boxes\").each(function(t){var r,n,s=t[0],l=s.t,u=s.trace,c=s.node3=e.select(this),h=i._numBoxes,f=\"group\"===i.boxmode&&h>1,p=l.dPos*(1-i.boxgap)*(1-i.boxgroupgap)/(f?h:1),d=f?2*l.dPos*((l.num+.5)/h-.5)*(1-i.boxgap):0,g=p*u.whiskerwidth;!0!==u.visible||l.empty?e.select(this).remove():(\"h\"===u.orientation?(r=o,n=a):(r=a,n=o),l.bPos=d,l.bdPos=p,l.wdPos=g,Ss(c,{pos:r,val:n},u,l),u.boxpoints&&Es(c,{x:a,y:o},u,l),u.boxmean&&Cs(c,{pos:r,val:n},u,l))})},plotBoxAndWhiskers:Ss,plotPoints:Es,plotBoxMean:Cs},zs=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++)i[r].pts[n].selected=0;else for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++){var l=i[r].pts[n],u=a.c2p(l.x),c=o.c2p(l.y);e.contains([u,c])?(s.push({pointNumber:l.i,x:a.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s},Ps=[\"v\",\"h\"];function Is(t,e,r,n,i){var a,o,s,l=e.calcdata,u=e._fullLayout,c=[],h=\"violin\"===t?\"_numViolins\":\"_numBoxes\";for(a=0;a<r.length;a++)for(s=l[r[a]],o=0;o<s.length;o++)c.push(s[o].pos);if(c.length){var f=ne.distinctVals(c),p=f.minDiff/2;for(c.length===f.vals.length&&(u[h]=1),ri.minDtick(n,f.minDiff,f.vals[0],!0),a=0;a<r.length;a++)(s=l[r[a]])[0].t.dPos=p;var d=(1-u[t+\"gap\"])*(1-u[t+\"groupgap\"])*p/u[h];ri.expand(n,f.vals,{vpadminus:p+i[0]*d,vpadplus:p+i[1]*d})}}var Ds=function(t,e){for(var r=t.calcdata,n=e.xaxis,i=e.yaxis,a=0;a<Ps.length;a++){for(var o=Ps[a],s=\"h\"===o?i:n,l=[],u=0,c=0,h=0;h<r.length;h++){var f=r[h],p=f[0].t,d=f[0].trace;!0!==d.visible||\"box\"!==d.type||p.empty||d.orientation!==o||d.xaxis!==n._id||d.yaxis!==i._id||(l.push(h),!1!==d.boxpoints&&(u=Math.max(u,d.jitter-d.pointpos-1),c=Math.max(c,d.jitter+d.pointpos-1)))}Is(\"box\",t,l,s,[u,c])}},Os=Is,Rs={};Rs.attributes=cs,Rs.layoutAttributes=ws,Rs.supplyDefaults=ys.supplyDefaults,Rs.supplyLayoutDefaults=As.supplyLayoutDefaults,Rs.calc=fs,Rs.setPositions=Ds,Rs.plot=Ls.plot,Rs.style=function(t,r){var n=r?r[0].node3:e.select(t).selectAll(\"g.trace.boxes\");n.style(\"opacity\",function(t){return t[0].trace.opacity}),n.each(function(r){var n=e.select(this),i=r[0].trace,a=i.line.width;n.selectAll(\"path.box\").style(\"stroke-width\",a+\"px\").call(Oe.stroke,i.line.color).call(Oe.fill,i.fillcolor),n.selectAll(\"path.mean\").style({\"stroke-width\":a,\"stroke-dasharray\":2*a+\"px,\"+a+\"px\"}).call(Oe.stroke,i.line.color);var o=n.selectAll(\"path.point\");Sr.pointStyle(o,i,t),Sr.selectedPointStyle(o,i)})},Rs.hoverPoints=_s.hoverPoints,Rs.selectPoints=zs,Rs.moduleType=\"trace\",Rs.name=\"box\",Rs.basePlotModule=ua,Rs.categories=[\"cartesian\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\"],Rs.meta={};var Fs=Rs,Bs=Fs,Ns=Object.getOwnPropertySymbols,js=Object.prototype.hasOwnProperty,Vs=Object.prototype.propertyIsEnumerable;var Us=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,n,i=function(t){if(null===t||void 0===t)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}(t),a=1;a<arguments.length;a++){for(var o in r=Object(arguments[a]))js.call(r,o)&&(i[o]=r[o]);if(Ns){n=Ns(r);for(var s=0;s<n.length;s++)Vs.call(r,n[s])&&(i[n[s]]=r[n[s]])}}return i},qs={};function Hs(){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 Gs(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(Zs.local.invalidDate||Zs.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name)}function Ws(t,e){return\"000000\".substring(0,e-(t=\"\"+t).length)+t}function Ys(){this.shortYearCutoff=\"+10\"}function Xs(t){this.local=this.regionalOptions[t]||this.regionalOptions[\"\"]}Us(Hs.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()).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]}}}),Us(Gs.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(Zs.local.invalidDate||Zs.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(Zs.local.differentCalendars||Zs.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?\"-\":\"\")+Ws(Math.abs(this.year()),4)+\"-\"+Ws(this.month(),2)+\"-\"+Ws(this.day(),2)}}),Us(Ys.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,Zs.local.invalidDate||Zs.regionalOptions[\"\"].invalidDate),r=t.day(),e=t.month(),t=t.year()),new Gs(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,Zs.local.invalidYear||Zs.regionalOptions[\"\"].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,Zs.local.invalidYear||Zs.regionalOptions[\"\"].invalidYear);return(e.year()<0?\"-\":\"\")+Ws(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,Zs.local.invalidYear||Zs.regionalOptions[\"\"].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,Zs.local.invalidMonth||Zs.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,Zs.local.invalidMonth||Zs.regionalOptions[\"\"].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,Zs.local.invalidYear||Zs.regionalOptions[\"\"].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,Zs.local.invalidDate||Zs.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,Zs.local.invalidDate||Zs.regionalOptions[\"\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,Zs.local.invalidDate||Zs.regionalOptions[\"\"].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,Zs.local.invalidDate||Zs.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,Zs.local.invalidDate||Zs.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,Zs.local.invalidDate||Zs.regionalOptions[\"\"].invalidDate);return Zs.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(t){return this.fromJD(Zs.instance().fromJSDate(t).toJD())},_validate:function(t,e,r,n){if(t.year){if(0===this._validateLevel&&this.name!==t.calendar().name)throw(Zs.local.differentCalendars||Zs.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this.local.name).replace(/\\{1\\}/,t.calendar().local.name);return t}try{if(this._validateLevel++,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}}}),Xs.prototype=new Ys,Us(Xs.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,Zs.local.invalidYear||Zs.regionalOptions[\"\"].invalidYear);return(t=e.year()+(e.year()<0?1:0))%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,Zs.local.invalidMonth||Zs.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,Zs.local.invalidDate||Zs.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),n=(r=e+1+r-Math.floor(r/4))+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,Zs.local.invalidDate||Zs.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 Zs=qs=new Hs;Zs.cdate=Gs,Zs.baseCalendar=Ys,Zs.calendars.gregorian=Xs;var Js=qs.instance();function Ks(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}Ks.prototype=new qs.baseCalendar,Us(Ks.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($s);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(tl);return e?e[0]:\"\"}var r=this._validateYear(t),n=t.month(),i=[\"\\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\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i=\"\\u95f0\"+i),i},monthNamesShort:function(t){if(\"string\"==typeof t){var e=t.match(el);return e?e[0]:\"\"}var r=this._validateYear(t),n=t.month(),i=[\"\\u4e00\",\"\\u4e8c\",\"\\u4e09\",\"\\u56db\",\"\\u4e94\",\"\\u516d\",\"\\u4e03\",\"\\u516b\",\"\\u4e5d\",\"\\u5341\",\"\\u5341\\u4e00\",\"\\u5341\\u4e8c\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i=\"\\u95f0\"+i),i},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 qs.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return n?!r&&e<=n?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw qs.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return r?e<r?e+1:e:e+1},intercalaryMonth:function(t){return t=this._validateYear(t),rl[t-rl[0]]>>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).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,qs.local.invalidyear),a=nl[i-nl[0]],o=a>>9&4095,s=a>>5&15,l=31&a;(n=Js.newDate(o,s,l)).add(4-(n.dayOfWeek()||7),\"d\");var u=this.toJD(t,e,r)-n.toJD();return 1+Math.floor(u/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=rl[t-rl[0]];if(e>(r>>13?12:11))throw qs.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,a,r,qs.local.invalidDate);t=this._validateYear(n.year()),e=n.month(),r=n.day();var i=this.isIntercalaryMonth(t,e),a=this.toChineseMonth(t,e),o=function(t,e,r,n,i){var a,o,s;if(\"object\"==typeof t)o=t,a=e||{};else{var l=\"number\"==typeof t&&t>=1888&&t<=2111;if(!l)throw new Error(\"Lunar year outside range 1888-2111\");var u=\"number\"==typeof e&&e>=1&&e<=12;if(!u)throw new Error(\"Lunar month outside range 1 - 12\");var c,h=\"number\"==typeof r&&r>=1&&r<=30;if(!h)throw new Error(\"Lunar day outside range 1 - 30\");\"object\"==typeof n?(c=!1,a=n):(c=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:c}}s=o.day-1;var f,p=rl[o.year-rl[0]],d=p>>13;f=d?o.month>d?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var g=0;g<f;g++){var v=p&1<<12-g?30:29;s+=v}var m=nl[o.year-nl[0]],y=new Date(m>>9&4095,(m>>5&15)-1,(31&m)+s);return a.year=y.getFullYear(),a.month=1+y.getMonth(),a.day=y.getDate(),a}(t,a,r,i);return Js.toJD(o.year,o.month,o.day)},fromJD:function(t){var e=Js.fromJD(t),r=function(t,e,r,n){var i,a;if(\"object\"==typeof t)i=t,a=e||{};else{var o=\"number\"==typeof t&&t>=1888&&t<=2111;if(!o)throw new Error(\"Solar year outside range 1888-2111\");var s=\"number\"==typeof e&&e>=1&&e<=12;if(!s)throw new Error(\"Solar month outside range 1 - 12\");var l=\"number\"==typeof r&&r>=1&&r<=31;if(!l)throw new Error(\"Solar day outside range 1 - 31\");i={year:t,month:e,day:r},a=n||{}}var u=nl[i.year-nl[0]],c=i.year<<9|i.month<<5|i.day;a.year=c>=u?i.year:i.year-1,u=nl[a.year-nl[0]];var h,f=new Date(u>>9&4095,(u>>5&15)-1,31&u),p=new Date(i.year,i.month-1,i.day);h=Math.round((p-f)/864e5);var d,g=rl[a.year-rl[0]];for(d=0;d<13;d++){var v=g&1<<12-d?30:29;if(h<v)break;h-=v}var m=g>>13;!m||d<m?(a.isIntercalary=!1,a.month=1+d):d===m?(a.isIntercalary=!0,a.month=d):(a.isIntercalary=!1,a.month=d);return a.day=1+h,a}(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(Qs),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 n=t.year(),i=t.month(),a=this.isIntercalaryMonth(n,i),o=this.toChineseMonth(n,i),s=Object.getPrototypeOf(Ks.prototype).add.call(this,t,e,r);if(\"y\"===r){var l=s.year(),u=s.month(),c=this.isIntercalaryMonth(l,o),h=a&&c?this.toMonthIndex(l,o,!0):this.toMonthIndex(l,o,!1);h!==u&&s.month(h)}return s}});var Qs=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)[-/](\\d?\\d)([iI]?)[-/](\\d?\\d)/m,$s=/^\\d?\\d[iI]?/m,tl=/^\\u95f0?\\u5341?[\\u4e00\\u4e8c\\u4e09\\u56db\\u4e94\\u516d\\u4e03\\u516b\\u4e5d]?\\u6708/m,el=/^\\u95f0?\\u5341?[\\u4e00\\u4e8c\\u4e09\\u56db\\u4e94\\u516d\\u4e03\\u516b\\u4e5d]?/m;qs.calendars.chinese=Ks;var rl=[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],nl=[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];function il(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}il.prototype=new qs.baseCalendar,Us(il.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,qs.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,qs.local.invalidYear||qs.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,qs.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,qs.local.invalidDate);return(t=n.year())<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)}}),qs.calendars.coptic=il;function al(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}al.prototype=new qs.baseCalendar,Us(al.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,qs.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,qs.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,qs.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,qs.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,qs.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,qs.local.invalidDate);return{century:ol[Math.floor((n.year()-1)/100)+1]||\"\"}},toJD:function(t,e,r){var n=this._validate(t,e,r,qs.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 ol={20:\"Fruitbat\",21:\"Anchovy\"};qs.calendars.discworld=al;function sl(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}sl.prototype=new qs.baseCalendar,Us(sl.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,qs.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,qs.local.invalidYear||qs.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,qs.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,qs.local.invalidDate);return(t=n.year())<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)}}),qs.calendars.ethiopian=sl;function ll(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function ul(t,e){return t-e*Math.floor(t/e)}ll.prototype=new qs.baseCalendar,Us(ll.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,qs.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return ul(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,qs.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,qs.local.invalidYear).year(),this.toJD(-1===t?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,qs.local.invalidMonth),12===e&&this.leapYear(t)?30:8===e&&5===ul(this.daysInYear(t),10)?30:9===e&&3===ul(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,qs.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,qs.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var i=t<=0?t+1:t,a=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(e<7){for(var o=7;o<=this.monthsInYear(t);o++)a+=this.daysInMonth(t,o);for(o=1;o<e;o++)a+=this.daysInMonth(t,o)}else for(o=7;o<e;o++)a+=this.daysInMonth(t,o);return a},_delay1:function(t){var e=Math.floor((235*t-234)/19),r=12084+13753*e,n=29*e+Math.floor(r/25920);return ul(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(-1===e?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)}}),qs.calendars.hebrew=ll;function cl(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}cl.prototype=new qs.baseCalendar,Us(cl.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,qs.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,qs.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,qs.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)}}),qs.calendars.islamic=cl;function hl(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}hl.prototype=new qs.baseCalendar,Us(hl.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\"],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,qs.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%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,qs.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,qs.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)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),qs.calendars.julian=hl;function fl(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function pl(t,e){return t-e*Math.floor(t/e)}function dl(t,e){return pl(t-1,e)+1}fl.prototype=new qs.baseCalendar,Us(fl.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,qs.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,qs.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(\".\")).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,qs.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,qs.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,qs.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,qs.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,qs.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,qs.local.invalidDate),!0},extraInfo:function(t,e,r){var n=this._validate(t,e,r,qs.local.invalidDate).toJD(),i=this._toHaab(n),a=this._toTzolkin(n);return{haabMonthName:this.local.haabMonths[i[0]-1],haabMonth:i[0],haabDay:i[1],tzolkinDayName:this.local.tzolkinMonths[a[0]-1],tzolkinDay:a[0],tzolkinTrecena:a[1]}},_toHaab:function(t){var e=pl((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,pl(e,20)]},_toTzolkin:function(t){return[dl((t-=this.jdEpoch)+20,20),dl(t+4,13)]},toJD:function(t,e,r){var n=this._validate(t,e,r,qs.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)}}),qs.calendars.mayan=fl;function vl(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}vl.prototype=new qs.baseCalendar;var ml=qs.instance(\"gregorian\");Us(vl.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,qs.local.invalidYear||qs.regionalOptions[\"\"].invalidYear);return ml.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,qs.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,qs.local.invalidMonth);(t=n.year())<0&&t++;for(var i=n.day(),a=1;a<n.month();a++)i+=this.daysPerMonth[a-1];return i+ml.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)}}),qs.calendars.nanakshahi=vl;function yl(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}yl.prototype=new qs.baseCalendar,Us(yl.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,qs.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,qs.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,qs.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var i=qs.instance(),a=0,o=e,s=t;this._createMissingCalendarData(t);var l=t-(o>9||9===o&&r>=this.NEPALI_CALENDAR_DATA[s][0]?56:57);for(9!==e&&(a=r,o--);9!==o;)o<=0&&(o=12,s--),a+=this.NEPALI_CALENDAR_DATA[s][o],o--;return 9===e?(a+=r-this.NEPALI_CALENDAR_DATA[s][0])<0&&(a+=i.daysInYear(l)):a+=this.NEPALI_CALENDAR_DATA[s][9]-this.NEPALI_CALENDAR_DATA[s][0],i.newDate(l,1,1).add(a,\"d\").toJD()},fromJD:function(t){var e=qs.instance().fromJD(t),r=e.year(),n=e.dayOfYear(),i=r+56;this._createMissingCalendarData(i);for(var a=9,o=this.NEPALI_CALENDAR_DATA[i][0],s=this.NEPALI_CALENDAR_DATA[i][a]-o+1;n>s;)++a>12&&(a=1,i++),s+=this.NEPALI_CALENDAR_DATA[i][a];var l=this.NEPALI_CALENDAR_DATA[i][a]-(s-n);return this.newDate(i,a,l)},_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],2000:[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]}}),qs.calendars.nepali=yl;function xl(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function bl(t,e){return t-e*Math.floor(t/e)}xl.prototype=new qs.baseCalendar,Us(xl.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,qs.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,qs.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,qs.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var i=t-(t>=0?474:473),a=474+bl(i,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*a-110)/2816)+365*(a-1)+1029983*Math.floor(i/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=bl(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),o=bl(n,366);i=Math.floor((2134*a+2816*o+2815)/1028522)+a+1}var s=i+2820*r+474;s=s<=0?s-1:s;var l=t-this.toJD(s,1,1)+1,u=l<=186?Math.ceil(l/31):Math.ceil((l-6)/30),c=t-this.toJD(s,u,1)+1;return this.newDate(s,u,c)}}),qs.calendars.persian=xl,qs.calendars.jalali=xl;var _l=qs.instance();function wl(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}wl.prototype=new qs.baseCalendar,Us(wl.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,qs.local.invalidYear);t=this._t2gYear(e.year());return _l.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,qs.local.invalidYear);t=this._t2gYear(n.year());return _l.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,qs.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,qs.local.invalidDate);t=this._t2gYear(n.year());return _l.toJD(t,n.month(),n.day())},fromJD:function(t){var e=_l.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)}}),qs.calendars.taiwan=wl;var Ml=qs.instance();function Al(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}Al.prototype=new qs.baseCalendar,Us(Al.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,qs.local.invalidYear);t=this._t2gYear(e.year());return Ml.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,qs.local.invalidYear);t=this._t2gYear(n.year());return Ml.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,qs.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,qs.local.invalidDate);t=this._t2gYear(n.year());return Ml.toJD(t,n.month(),n.day())},fromJD:function(t){var e=Ml.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)}}),qs.calendars.thai=Al;function kl(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}kl.prototype=new qs.baseCalendar,Us(kl.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,qs.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,qs.local.invalidMonth).toJD()-24e5+.5,n=0,i=0;i<Tl.length;i++){if(Tl[i]>r)return Tl[n]-Tl[n-1];n++}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,qs.local.invalidDate),i=12*(n.year()-1)+n.month()-15292;return n.day()+Tl[i-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;n<Tl.length&&!(Tl[n]>e);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),o=a+1,s=i-12*a,l=e-Tl[r-1]+1;return this.newDate(o,s,l)},isValid:function(t,e,r){var n=qs.baseCalendar.prototype.isValid.apply(this,arguments);return n&&(n=(t=null!=t.year?t.year:t)>=1276&&t<=1500),n},_validate:function(t,e,r,n){var i=qs.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw n.replace(/\\{0\\}/,this.local.name);return i}}),qs.calendars.ummalqura=kl;var Tl=[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];Us(qs.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\"}),qs.local=qs.regionalOptions[\"\"],Us(qs.cdate.prototype,{formatDate:function(t,e){return\"string\"!=typeof t&&(e=t,t=\"\"),this._calendar.formatDate(t||\"\",this,e)}}),Us(qs.baseCalendar.prototype,{UNIX_EPOCH:qs.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:qs.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 qs.local.invalidFormat||qs.regionalOptions[\"\"].invalidFormat;t=t||this.local.dateFormat;for(var n,i,a,o,s=(r=r||{}).dayNamesShort||this.local.dayNamesShort,l=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,h=r.monthNames||this.local.monthNames,f=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;_+n<t.length&&t.charAt(_+n)===e;)n++;return _+=n-1,Math.floor(n/(r||1))>1}),p=function(t,e,r,n){var i=\"\"+e;if(f(t,n))for(;i.length<r;)i=\"0\"+i;return i},d=this,g=function(t){return\"function\"==typeof u?u.call(d,t,f(\"m\")):y(p(\"m\",t.month(),2))},v=function(t,e){return e?\"function\"==typeof h?h.call(d,t):h[t.month()-d.minMonth]:\"function\"==typeof c?c.call(d,t):c[t.month()-d.minMonth]},m=this.local.digits,y=function(t){return r.localNumbers&&m?m(t):t},x=\"\",b=!1,_=0;_<t.length;_++)if(b)\"'\"!==t.charAt(_)||f(\"'\")?x+=t.charAt(_):b=!1;else switch(t.charAt(_)){case\"d\":x+=y(p(\"d\",e.day(),2));break;case\"D\":x+=(n=\"D\",i=e.dayOfWeek(),a=s,o=l,f(n)?o[i]:a[i]);break;case\"o\":x+=p(\"o\",e.dayOfYear(),3);break;case\"w\":x+=p(\"w\",e.weekOfYear(),2);break;case\"m\":x+=g(e);break;case\"M\":x+=v(e,f(\"M\"));break;case\"y\":x+=f(\"y\",2)?e.year():(e.year()%100<10?\"0\":\"\")+e.year()%100;break;case\"Y\":f(\"Y\",2),x+=e.formatYear();break;case\"J\":x+=e.toJD();break;case\"@\":x+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case\"!\":x+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case\"'\":f(\"'\")?x+=\"'\":b=!0;break;default:x+=t.charAt(_)}return x},parseDate:function(t,e,r){if(null==e)throw qs.local.invalidArguments||qs.regionalOptions[\"\"].invalidArguments;if(\"\"===(e=\"object\"==typeof e?e.toString():e+\"\"))return null;t=t||this.local.dateFormat;var n=(r=r||{}).shortYearCutoff||this.shortYearCutoff;n=\"string\"!=typeof n?n:this.today().year()%100+parseInt(n,10);for(var i=r.dayNamesShort||this.local.dayNamesShort,a=r.dayNames||this.local.dayNames,o=r.parseMonth||this.local.parseMonth,s=r.monthNumbers||this.local.monthNumbers,l=r.monthNamesShort||this.local.monthNamesShort,u=r.monthNames||this.local.monthNames,c=-1,h=-1,f=-1,p=-1,d=-1,g=!1,v=!1,m=function(e,r){for(var n=1;k+n<t.length&&t.charAt(k+n)===e;)n++;return k+=n-1,Math.floor(n/(r||1))>1},y=function(t,r){var n=m(t,r),i=[2,3,n?4:2,n?4:2,10,11,20][\"oyYJ@!\".indexOf(t)+1],a=new RegExp(\"^-?\\\\d{1,\"+i+\"}\"),o=e.substring(A).match(a);if(!o)throw(qs.local.missingNumberAt||qs.regionalOptions[\"\"].missingNumberAt).replace(/\\{0\\}/,A);return A+=o[0].length,parseInt(o[0],10)},x=this,b=function(){if(\"function\"==typeof s){m(\"m\");var t=s.call(x,e.substring(A));return A+=t.length,t}return y(\"m\")},_=function(t,r,n,i){for(var a=m(t,i)?n:r,o=0;o<a.length;o++)if(e.substr(A,a[o].length).toLowerCase()===a[o].toLowerCase())return A+=a[o].length,o+x.minMonth;throw(qs.local.unknownNameAt||qs.regionalOptions[\"\"].unknownNameAt).replace(/\\{0\\}/,A)},w=function(){if(\"function\"==typeof u){var t=m(\"M\")?u.call(x,e.substring(A)):l.call(x,e.substring(A));return A+=t.length,t}return _(\"M\",l,u)},M=function(){if(e.charAt(A)!==t.charAt(k))throw(qs.local.unexpectedLiteralAt||qs.regionalOptions[\"\"].unexpectedLiteralAt).replace(/\\{0\\}/,A);A++},A=0,k=0;k<t.length;k++)if(v)\"'\"!==t.charAt(k)||m(\"'\")?M():v=!1;else switch(t.charAt(k)){case\"d\":p=y(\"d\");break;case\"D\":_(\"D\",i,a);break;case\"o\":d=y(\"o\");break;case\"w\":y(\"w\");break;case\"m\":f=b();break;case\"M\":f=w();break;case\"y\":var T=k;g=!m(\"y\",2),k=T,h=y(\"y\",2);break;case\"Y\":h=y(\"Y\",2);break;case\"J\":c=y(\"J\")+.5,\".\"===e.charAt(A)&&(A++,y(\"J\"));break;case\"@\":c=y(\"@\")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case\"!\":c=y(\"!\")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case\"*\":A=e.length;break;case\"'\":m(\"'\")?M():v=!0;break;default:M()}if(A<e.length)throw qs.local.unexpectedText||qs.regionalOptions[\"\"].unexpectedText;if(-1===h?h=this.today().year():h<100&&g&&(h+=-1===n?1900:this.today().year()-this.today().year()%100-(h<=n?0:100)),\"string\"==typeof f&&(f=o.call(this,h,f)),d>-1){f=1,p=d;for(var S=this.daysInMonth(h,f);p>S;S=this.daysInMonth(h,f))f++,p-=S}return c>-1?this.fromJD(c):this.newDate(h,f,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){}for(var e=((t=t.toLowerCase()).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)}});var Sl=qs,El=t.EPOCHJD,Cl=t.ONEDAY,Ll={valType:\"enumerated\",values:Object.keys(Sl.calendars),editType:\"calc\",dflt:\"gregorian\"},zl=function(t,e,r,n){var i={};return i[r]=Ll,ne.coerce(t,e,i,r,n)},Pl=\"##\",Il={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:Pl,w:Pl,c:{0:\"D M d %X yyyy\",\"-\":\"D M d %X yyyy\"},x:{0:\"mm/dd/yyyy\",\"-\":\"mm/dd/yyyy\"}};var Dl={};function Ol(t){var e=Dl[t];return e||(e=Dl[t]=Sl.instance(t))}function Rl(t){return ne.extendFlat({},Ll,{description:t})}function Fl(t){return\"Sets the calendar system to use with `\"+t+\"` date data.\"}var Bl={xcalendar:Rl(Fl(\"x\"))},Nl=ne.extendFlat({},Bl,{ycalendar:Rl(Fl(\"y\"))}),jl=ne.extendFlat({},Nl,{zcalendar:Rl(Fl(\"z\"))}),Vl=Rl([\"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(\" \")),Ul={moduleType:\"component\",name:\"calendars\",schema:{traces:{scatter:Nl,bar:Nl,box:Nl,heatmap:Nl,contour:Nl,histogram:Nl,histogram2d:Nl,histogram2dcontour:Nl,scatter3d:jl,surface:jl,mesh3d:jl,scattergl:Nl,ohlc:Bl,candlestick:Bl},layout:{calendar:Rl([\"Sets the default calendar system to use for interpreting and\",\"displaying dates throughout the plot.\"].join(\" \"))},subplots:{xaxis:{calendar:Vl},yaxis:{calendar:Vl},scene:{xaxis:{calendar:Vl},yaxis:{calendar:Vl},zaxis:{calendar:Vl}},polar:{radialaxis:{calendar:Vl}}},transforms:{filter:{valuecalendar:Rl([\"Sets the calendar system to use for `value`, if it is a date.\"].join(\" \")),targetcalendar:Rl([\"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:Ll,handleDefaults:zl,handleTraceDefaults:function(t,e,r,n){for(var i=0;i<r.length;i++)zl(t,e,r[i]+\"calendar\",n.calendar)},CANONICAL_SUNDAY:{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\"},CANONICAL_TICK:{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\"},DFLTRANGE:{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\"]},getCal:Ol,worldCalFmt:function(t,e,r){for(var n,i,a,o,s,l=Math.floor((e+.05)/Cl)+El,u=Ol(r).fromJD(l),c=0;-1!==(c=t.indexOf(\"%\",c));)\"0\"===(n=t.charAt(c+1))||\"-\"===n||\"_\"===n?(a=3,i=t.charAt(c+2),\"_\"===n&&(n=\"-\")):(i=n,n=\"0\",a=2),(o=Il[i])?(s=o===Pl?Pl:u.formatDate(o[n]),t=t.substr(0,c)+s+t.substr(c+a),c+=s.length):c+=a;return t}},ql=ne.extendFlat,Hl=Ae.dash,Gl=Zr.line;function Wl(t){return{name:{valType:\"string\",editType:\"style\"},showlegend:{valType:\"boolean\",dflt:!0,editType:\"style\"},line:{color:ql({},Gl.color,{dflt:t}),width:Gl.width,dash:Hl,editType:\"style\"},editType:\"style\"}}var Yl={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},open:{valType:\"data_array\",dflt:[],editType:\"calc\"},high:{valType:\"data_array\",dflt:[],editType:\"calc\"},low:{valType:\"data_array\",dflt:[],editType:\"calc\"},close:{valType:\"data_array\",dflt:[],editType:\"calc\"},line:{width:ql({},Gl.width,{}),dash:ql({},Hl,{}),editType:\"style\"},increasing:Wl(\"#3D9970\"),decreasing:Wl(\"#FF4136\"),text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},tickwidth:{valType:\"number\",min:0,max:.5,dflt:.3,editType:\"calcIfAutorange\"}},Xl=ne.extendFlat;function Zl(t){return{name:Yl.increasing.name,showlegend:Yl.increasing.showlegend,line:{color:Xl({},cs.line.color,{dflt:t}),width:cs.line.width,editType:\"style\"},fillcolor:cs.fillcolor,editType:\"style\"}}var Jl={x:Yl.x,open:Yl.open,high:Yl.high,low:Yl.low,close:Yl.close,line:{width:Xl({},cs.line.width,{}),editType:\"style\"},increasing:Zl(Yl.increasing.line.color.dflt),decreasing:Zl(Yl.decreasing.line.color.dflt),text:Yl.text,whiskerwidth:Xl({},cs.whiskerwidth,{dflt:0})},Kl=function(t,e,r,n){r(n+\".showlegend\"),!1===t.showlegend&&(e[n].showlegend=!1),r(n+\".name\",e.name+\" - \"+n)},Ql={};Ql.pushDummyTransformOpts=function(t,e){var r={type:e.type,_ephemeral:!0};Array.isArray(t.transforms)?t.transforms.push(r):t.transforms=[r]},Ql.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}},Ql.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)},Ql.makeTransform=function(t,e,r){var n=ne.extendFlat([],t.transforms);return n[e.transformIndex]={type:t.type,direction:r,open:t.open,high:t.high,low:t.low,close:t.close},n},Ql.getFilterFn=function(t){return new function(t){var e=!0,n=null;function i(t,r){return t===r?r>n?e=!0:r<n&&(e=!1):e=t<r,n=r,e}return\"increasing\"===t?function(t,e){return r(t)&&r(e)&&i(+t,+e)}:function(t,e){return r(t)&&r(e)&&!i(+t,+e)}}(t)},Ql.addRangeSlider=function(t,e){for(var r=!1,n=0;n<t.length;n++)if(!0===t[n].visible){r=!0;break}r&&(e.xaxis||(e.xaxis={}),e.xaxis.rangeslider||(e.xaxis.rangeslider={}))};var $l=function(t,e,r,n){var i,a=r(\"x\"),o=r(\"open\"),s=r(\"high\"),l=r(\"low\"),u=r(\"close\");return P.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\"],n),i=Math.min(o.length,s.length,l.length,u.length),a&&(i=Math.min(i,a.length))<a.length&&(e.x=a.slice(0,i)),i<o.length&&(e.open=o.slice(0,i)),i<s.length&&(e.high=s.slice(0,i)),i<l.length&&(e.low=l.slice(0,i)),i<u.length&&(e.close=u.slice(0,i)),i};function tu(t,e,r,n){Kl(t,e,r,n),r(n+\".line.color\"),r(n+\".line.width\",e.line.width),r(n+\".fillcolor\")}var eu={};function ru(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:Ql.makeTransform(t,e,r)},i=t[r];return i&&ne.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),whiskerwidth:t.whiskerwidth,text:t.text,name:i.name,showlegend:i.showlegend,line:i.line,fillcolor:i.fillcolor}),n}eu.moduleType=\"transform\",eu.name=\"candlestick\",eu.attributes={},eu.supplyDefaults=function(t,e,r,n){return Ql.clearEphemeralTransformOpts(n),Ql.copyOHLC(t,e),t},eu.transform=function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n];\"candlestick\"===i.type?r.push(ru(i,e,\"increasing\"),ru(i,e,\"decreasing\")):r.push(i)}return Ql.addRangeSlider(r,e.layout),r},eu.calcTransform=function(t,e,n){for(var i,a,o,s,l=n.direction,u=Ql.getFilterFn(l),c=e.open,h=e.high,f=e.low,p=e.close,d=c.length,g=[],v=[],m=e._fullInput.x?function(t){var r=e.x[t];g.push(r,r,r,r,r,r)}:function(t){g.push(t,t,t,t,t,t)},y=0;y<d;y++)u(c[y],p[y])&&r(h[y])&&r(f[y])&&(m(y),i=c[y],a=h[y],o=f[y],s=p[y],v.push(o,i,s,s,s,a));e.x=g,e.y=v};var nu={moduleType:\"trace\",name:\"candlestick\",basePlotModule:ua,categories:[\"cartesian\",\"showLegend\",\"candlestick\"],meta:{},attributes:Jl,supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Jl,r,n)}Ql.pushDummyTransformOpts(t,e),0!==$l(t,e,i,n)?(i(\"line.width\"),tu(t,e,i,\"increasing\"),tu(t,e,i,\"decreasing\"),i(\"text\"),i(\"whiskerwidth\")):e.visible=!1}};P.register(Fs),P.register(eu);var iu=nu,au=ye.overrideAll,ou={color:{valType:\"color\",editType:\"calc\"},smoothing:{valType:\"number\",dflt:1,min:0,max:1.3,editType:\"calc\"},title:{valType:\"string\",editType:\"calc\"},titlefont:T({editType:\"calc\"}),titleoffset:{valType:\"number\",dflt:10,editType:\"calc\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"date\",\"category\"],dflt:\"-\",editType:\"calc\"},autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0,editType:\"calc\"},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"calc\"},range:{valType:\"info_array\",editType:\"calc\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}]},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cheatertype:{valType:\"enumerated\",values:[\"index\",\"value\"],dflt:\"value\",editType:\"calc\"},tickmode:{valType:\"enumerated\",values:[\"linear\",\"array\"],dflt:\"array\",editType:\"calc\"},nticks:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},tickvals:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},showticklabels:{valType:\"enumerated\",values:[\"start\",\"end\",\"both\",\"none\"],dflt:\"start\",editType:\"calc\"},tickfont:T({editType:\"calc\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"calc\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"calc\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"calc\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"calc\"},tickformatstops:au(Ce.tickformatstops,\"calc\",\"from-root\"),categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},labelpadding:{valType:\"integer\",dflt:10,editType:\"calc\"},labelprefix:{valType:\"string\",editType:\"calc\"},labelsuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showline:{valType:\"boolean\",dflt:!1,editType:\"calc\"},linecolor:{valType:\"color\",dflt:C.defaultLine,editType:\"calc\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},gridcolor:{valType:\"color\",editType:\"calc\"},gridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},showgrid:{valType:\"boolean\",dflt:!0,editType:\"calc\"},minorgridcount:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},minorgridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},minorgridcolor:{valType:\"color\",dflt:C.lightLine,editType:\"calc\"},startline:{valType:\"boolean\",editType:\"calc\"},startlinecolor:{valType:\"color\",editType:\"calc\"},startlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endline:{valType:\"boolean\",editType:\"calc\"},endlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endlinecolor:{valType:\"color\",editType:\"calc\"},tick0:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},dtick:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},arraytick0:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},arraydtick:{valType:\"integer\",min:1,dflt:1,editType:\"calc\"},editType:\"calc\"},su=T({editType:\"calc\"});su.family.dflt='\"Open Sans\", verdana, arial, sans-serif',su.size.dflt=12,su.color.dflt=C.defaultLine;var lu={carpet:{valType:\"string\",editType:\"calc\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},a:{valType:\"data_array\",editType:\"calc\"},a0:{valType:\"number\",dflt:0,editType:\"calc\"},da:{valType:\"number\",dflt:1,editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},b0:{valType:\"number\",dflt:0,editType:\"calc\"},db:{valType:\"number\",dflt:1,editType:\"calc\"},cheaterslope:{valType:\"number\",dflt:1,editType:\"calc\"},aaxis:ou,baxis:ou,font:su,color:{valType:\"color\",dflt:C.defaultLine,editType:\"plot\"}},uu=ne.isArrayOrTypedArray,cu=function(t){return function t(e,r){if(!uu(e)||r>=10)return null;var n=1/0;var i=-1/0;var a=e.length;for(var o=0;o<a;o++){var s=e[o];if(uu(s)){var l=t(s,r+1);l&&(n=Math.min(l[0],n),i=Math.max(l[1],i))}else n=Math.min(s,n),i=Math.max(s,i)}return[n,i]}(t,0)};var hu=m.extendFlat,fu=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d,g,v,m,y=t[r],x=t[r+\"axis\"],b=x._gridlines=[],_=x._minorgridlines=[],w=x._boundarylines=[],M=t[n],A=t[n+\"axis\"];\"array\"===x.tickmode&&(x.tickvals=y.slice());var k=t.xctrl,T=t.yctrl,S=k[0].length,E=k.length,C=t.a.length,L=t.b.length;ri.prepTicks(x),\"array\"===x.tickmode&&delete x.tickvals;var z=x.smoothing?3:1;function P(e){var i,a,o,s,l,u,c,f,p,d,g,v,m=[],y=[],b={};if(\"b\"===r)for(a=t.b2j(e),o=Math.floor(Math.max(0,Math.min(L-2,a))),s=a-o,b.length=L,b.crossLength=C,b.xy=function(e){return t.evalxy([],e,a)},b.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i<C;i++)u=Math.min(C-2,i),c=i-u,f=t.evalxy([],i,a),A.smoothing&&i>0&&(p=t.dxydi([],i-1,o,0,s),m.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),m.push(f[0]-d[0]/3),y.push(f[1]-d[1]/3)),m.push(f[0]),y.push(f[1]),l=f;else for(i=t.a2i(e),u=Math.floor(Math.max(0,Math.min(C-2,i))),c=i-u,b.length=C,b.crossLength=L,b.xy=function(e){return t.evalxy([],i,e)},b.dxy=function(e,r){return t.dxydj([],u,e,c,r)},a=0;a<L;a++)o=Math.min(L-2,a),s=a-o,f=t.evalxy([],i,a),A.smoothing&&a>0&&(g=t.dxydj([],u,a-1,c,0),m.push(l[0]+g[0]/3),y.push(l[1]+g[1]/3),v=t.dxydj([],u,a-1,c,1),m.push(f[0]-v[0]/3),y.push(f[1]-v[1]/3)),m.push(f[0]),y.push(f[1]),l=f;return b.axisLetter=r,b.axis=x,b.crossAxis=A,b.value=e,b.constvar=n,b.index=h,b.x=m,b.y=y,b.smoothing=A.smoothing,b}function I(e){var i,a,o,s,l,u=[],c=[],h={};if(h.length=y.length,h.crossLength=M.length,\"b\"===r)for(o=Math.max(0,Math.min(L-2,e)),l=Math.min(1,Math.max(0,e-o)),h.xy=function(r){return t.evalxy([],r,e)},h.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;i<S;i++)u[i]=k[e*z][i],c[i]=T[e*z][i];else for(a=Math.max(0,Math.min(C-2,e)),s=Math.min(1,Math.max(0,e-a)),h.xy=function(r){return t.evalxy([],e,r)},h.dxy=function(e,r){return t.dxydj([],a,e,s,r)},i=0;i<E;i++)u[i]=k[i][e*z],c[i]=T[i][e*z];return h.axisLetter=r,h.axis=x,h.crossAxis=A,h.value=y[e],h.constvar=n,h.index=e,h.x=u,h.y=c,h.smoothing=A.smoothing,h}if(\"array\"===x.tickmode){for(s=5e-15,u=(l=[Math.floor((y.length-1-x.arraytick0)/x.arraydtick*(1+s)),Math.ceil(-x.arraytick0/x.arraydtick/(1+s))].sort(function(t,e){return t-e}))[0]-1,c=l[1]+1,h=u;h<c;h++)(a=x.arraytick0+x.arraydtick*h)<0||a>y.length-1||b.push(hu(I(a),{color:x.gridcolor,width:x.gridwidth}));for(h=u;h<c;h++)if(o=x.arraytick0+x.arraydtick*h,d=Math.min(o+x.arraydtick,y.length-1),!(o<0||o>y.length-1||d<0||d>y.length-1))for(g=y[o],v=y[d],i=0;i<x.minorgridcount;i++)(m=d-o)<=0||(p=g+(v-g)*(i+1)/(x.minorgridcount+1)*(x.arraydtick/m))<y[0]||p>y[y.length-1]||_.push(hu(P(p),{color:x.minorgridcolor,width:x.minorgridwidth}));x.startline&&w.push(hu(I(0),{color:x.startlinecolor,width:x.startlinewidth})),x.endline&&w.push(hu(I(y.length-1),{color:x.endlinecolor,width:x.endlinewidth}))}else{for(s=5e-15,u=(l=[Math.floor((y[y.length-1]-x.tick0)/x.dtick*(1+s)),Math.ceil((y[0]-x.tick0)/x.dtick/(1+s))].sort(function(t,e){return t-e}))[0],c=l[1],h=u;h<=c;h++)f=x.tick0+x.dtick*h,b.push(hu(P(f),{color:x.gridcolor,width:x.gridwidth}));for(h=u-1;h<c+1;h++)for(f=x.tick0+x.dtick*h,i=0;i<x.minorgridcount;i++)(p=f+x.dtick*(i+1)/(x.minorgridcount+1))<y[0]||p>y[y.length-1]||_.push(hu(P(p),{color:x.minorgridcolor,width:x.minorgridwidth}));x.startline&&w.push(hu(P(y[0]),{color:x.startlinecolor,width:x.startlinewidth})),x.endline&&w.push(hu(P(y[y.length-1]),{color:x.endlinecolor,width:x.endlinewidth}))}},pu=m.extendFlat,du=function(t,e){var r,n,i,a=e._labels=[],o=e._gridlines;for(r=0;r<o.length;r++)i=o[r],-1!==[\"start\",\"both\"].indexOf(e.showticklabels)&&(n=ri.tickText(e,i.value),pu(n,{prefix:void 0,suffix:void 0,endAnchor:!0,xy:i.xy(0),dxy:i.dxy(0,0),axis:i.axis,length:i.crossAxis.length,font:i.axis.tickfont,isFirst:0===r,isLast:r===o.length-1}),a.push(n)),-1!==[\"end\",\"both\"].indexOf(e.showticklabels)&&(n=ri.tickText(e,i.value),pu(n,{endAnchor:!1,xy:i.xy(i.crossLength-1),dxy:i.dxy(i.crossLength-2,1),axis:i.axis,length:i.crossAxis.length,font:i.axis.tickfont,isFirst:0===r,isLast:r===o.length-1}),a.push(n))},gu=ne.isArrayOrTypedArray,vu=ne.isArrayOrTypedArray,mu=function(t,e,r){var n,i;for(Array.isArray(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],n=0;n<e.length;n++)for(vu(t[n])?t[n].length>e.length&&(t[n]=t[n].slice(0,e.length)):t[n]=[],i=0;i<e[0].length;i++)t[n][i]=r(e[n][i]);return t},yu=function(t,e,r){var n,i,a,o=[],s=[],l=t[0].length,u=t.length;function c(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e<l-1&&void 0!==(n=t[r][e+1])&&(a++,i+=n),r>0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r<u-1&&void 0!==(n=t[r+1][e])&&(a++,i+=n),i/Math.max(1,a)}var h,f,p,d,g,v,m,y,x,b,_,w=0;for(n=0;n<l;n++)for(i=0;i<u;i++)void 0===t[i][n]&&(o.push(n),s.push(i),t[i][n]=c(n,i)),w=Math.max(w,Math.abs(t[i][n]));if(!o.length)return t;var M=0,A=0,k=o.length;do{for(M=0,a=0;a<k;a++){n=o[a],i=s[a];var T,S,E,C,L,z,P=0,I=0;0===n?(E=e[L=Math.min(l-1,2)],C=e[1],T=t[i][L],I+=(S=t[i][1])+(S-T)*(e[0]-C)/(C-E),P++):n===l-1&&(E=e[L=Math.max(0,l-3)],C=e[l-2],T=t[i][L],I+=(S=t[i][l-2])+(S-T)*(e[l-1]-C)/(C-E),P++),(0===n||n===l-1)&&i>0&&i<u-1&&(h=r[i+1]-r[i],I+=((f=r[i]-r[i-1])*t[i+1][n]+h*t[i-1][n])/(f+h),P++),0===i?(E=r[z=Math.min(u-1,2)],C=r[1],T=t[z][n],I+=(S=t[1][n])+(S-T)*(r[0]-C)/(C-E),P++):i===u-1&&(E=r[z=Math.max(0,u-3)],C=r[u-2],T=t[z][n],I+=(S=t[u-2][n])+(S-T)*(r[u-1]-C)/(C-E),P++),(0===i||i===u-1)&&n>0&&n<l-1&&(h=e[n+1]-e[n],I+=((f=e[n]-e[n-1])*t[i][n+1]+h*t[i][n-1])/(f+h),P++),P?I/=P:(p=e[n+1]-e[n],d=e[n]-e[n-1],y=(g=r[i+1]-r[i])*(v=r[i]-r[i-1])*(g+v),I=((m=p*d*(p+d))*(v*t[i+1][n]+g*t[i-1][n])+y*(d*t[i][n+1]+p*t[i][n-1]))/(y*(d+p)+m*(v+g))),M+=(b=(x=I-t[i][n])/w)*b,_=P?0:.85,t[i][n]+=x*(1+_)}M=Math.sqrt(M)}while(A++<100&&M>1e-5);return ne.log(\"Smoother converged to\",M,\"after\",A,\"iterations\"),t},xu=function(t,e){var n,i,a,o,s,l;function u(t){if(r(t))return+t}if(e){for(n=0,s=0;s<t.length;s++)n=Math.max(n,t[s].length);if(0===n)return!1;a=function(t){return t.length},o=function(t,e,r){return t[r][e]}}else n=t.length,a=function(t,e){return t[e].length},o=function(t,e,r){return t[e][r]};var c=new Array(n);for(s=0;s<n;s++)for(i=a(t,s),c[s]=new Array(i),l=0;l<i;l++)c[s][l]=u(o(t,s,l));return c},bu=Oe.addOpacity,_u=function(t,e,r){var n=r.letter,i=r.font||{},a=lu[n+\"axis\"];function o(r,n){return ne.coerce(t,e,a,r,n)}function s(r,n){return ne.coerce2(t,e,a,r,n)}r.name&&(e._name=r.name,e._id=r.name);var l=o(\"type\");(\"-\"===l&&(r.data&&function(t,e){if(\"-\"!==t.type)return;var r=t._id.charAt(0),n=t[r+\"calendar\"];t.type=Yn(e,n)}(e,r.data),\"-\"===e.type?e.type=\"linear\":l=t.type=e.type),o(\"smoothing\"),o(\"cheatertype\"),o(\"showticklabels\"),o(\"labelprefix\",n+\" = \"),o(\"labelsuffix\"),o(\"showtickprefix\"),o(\"showticksuffix\"),o(\"separatethousands\"),o(\"tickformat\"),o(\"exponentformat\"),o(\"showexponent\"),o(\"categoryorder\"),o(\"tickmode\"),o(\"tickvals\"),o(\"ticktext\"),o(\"tick0\"),o(\"dtick\"),\"array\"===e.tickmode&&(o(\"arraytick0\"),o(\"arraydtick\")),o(\"labelpadding\"),e._hovertitle=n,\"date\"===l)&&P.getComponentMethod(\"calendars\",\"handleDefaults\")(t,e,\"calendar\",r.calendar);ei(e,r.fullLayout);var u=o(\"color\",r.dfltColor),c=u===t.color?u:i.color;o(\"title\"),ne.coerceFont(o,\"titlefont\",{family:i.family,size:Math.round(1.2*i.size),color:c}),o(\"titleoffset\"),o(\"tickangle\"),o(\"autorange\",!e.isValidRange(t.range))&&o(\"rangemode\"),o(\"range\"),e.cleanRange(),o(\"fixedrange\"),Ge(t,e,o,l),Ue(t,e,o,l,r),Wi(t,e,o);var h=s(\"gridcolor\",bu(u,.3)),f=s(\"gridwidth\"),p=o(\"showgrid\");p||(delete e.gridcolor,delete e.gridwidth);var d=s(\"startlinecolor\",u),g=s(\"startlinewidth\",f);o(\"startline\",e.showgrid||!!d||!!g)||(delete e.startlinecolor,delete e.startlinewidth);var v=s(\"endlinecolor\",u),m=s(\"endlinewidth\",f);return o(\"endline\",e.showgrid||!!v||!!m)||(delete e.endlinecolor,delete e.endlinewidth),p?(o(\"minorgridcount\"),o(\"minorgridwidth\",f),o(\"minorgridcolor\",bu(h,.06)),e.minorgridcount||(delete e.minorgridwidth,delete e.minorgridcolor)):(delete e.gridcolor,delete e.gridWidth),e._initialCategories=\"category\"===l?Ki(n,e.categoryorder,e.categoryarray,r.data):[],\"none\"===e.showticklabels&&(delete e.tickfont,delete e.tickangle,delete e.showexponent,delete e.exponentformat,delete e.tickformat,delete e.showticksuffix,delete e.showtickprefix),e.showticksuffix||delete e.ticksuffix,e.showtickprefix||delete e.tickprefix,o(\"tickmode\"),(!e.title||e.title&&0===e.title.length)&&(delete e.titlefont,delete e.titleoffset),e};var wu=function(t,e,r,n,i){n(\"a\")||(n(\"da\"),n(\"a0\")),n(\"b\")||(n(\"db\"),n(\"b0\")),function(t,e,r,n){[\"aaxis\",\"baxis\"].forEach(function(i){var a=i.charAt(0),o=t[i]||{},s={},l={tickfont:\"x\",id:a+\"axis\",letter:a,font:e.font,name:i,data:t[a],calendar:e.calendar,dfltColor:n,bgColor:r.paper_bgcolor,fullLayout:r};_u(o,s,l),s._categories=s._categories||[],e[i]=s,t[i]||\"-\"===o.type||(t[i]={type:o.type})})}(t,e,r,i)};var Mu=function(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),u=Math.pow(o*o+s*s,.25),c=(u*u*i-l*l*o)*n,h=(u*u*a-l*l*s)*n,f=u*(l+u)*3,p=l*(l+u)*3;return[[e[0]+(f&&c/f),e[1]+(f&&h/f)],[e[0]-(p&&c/p),e[1]-(p&&h/p)]]},Au=ne.ensureArray;function ku(t,e,r){var n=-.5*r[0]+1.5*e[0],i=-.5*r[1]+1.5*e[1];return[(2*n+t[0])/3,(2*i+t[1])/3]}var Tu=1e-6,Su=Wt.findBin,Eu=function(t){var e=t.a,r=t.b,n=t.a.length,i=t.b.length,a=t.aaxis,o=t.baxis,s=e[0],l=e[n-1],u=r[0],c=r[i-1],h=e[e.length-1]-e[0],f=r[r.length-1]-r[0],p=h*Tu,d=f*Tu;s-=p,l+=p,u-=d,c+=d,t.isVisible=function(t,e){return t>s&&t<l&&e>u&&e<c},t.isOccluded=function(t,e){return t<s||t>l||e<u||e>c},a.c2p=function(t){return t},o.c2p=function(t){return t},t.setScale=function(){var e,r,s,l=t._x,u=t._y,c=function(t,e,r,n,i,a){var o,s,l,u,c,h,f,p,d,g,v=r[0].length,m=r.length,y=i?3*v-2:v,x=a?3*m-2:m;for(t=Au(t,x),e=Au(e,x),l=0;l<x;l++)t[l]=Au(t[l],y),e[l]=Au(e[l],y);for(s=0,u=0;s<m;s++,u+=a?3:1)for(c=t[u],h=e[u],f=r[s],p=n[s],o=0,l=0;o<v;o++,l+=i?3:1)c[l]=f[o],h[l]=p[o];if(i)for(s=0,u=0;s<m;s++,u+=a?3:1){for(o=1,l=3;o<v-1;o++,l+=3)d=Mu([r[s][o-1],n[s][o-1]],[r[s][o],n[s][o]],[r[s][o+1],n[s][o+1]],i),t[u][l-1]=d[0][0],e[u][l-1]=d[0][1],t[u][l+1]=d[1][0],e[u][l+1]=d[1][1];g=ku([t[u][0],e[u][0]],[t[u][2],e[u][2]],[t[u][3],e[u][3]]),t[u][1]=g[0],e[u][1]=g[1],g=ku([t[u][y-1],e[u][y-1]],[t[u][y-3],e[u][y-3]],[t[u][y-4],e[u][y-4]]),t[u][y-2]=g[0],e[u][y-2]=g[1]}if(a)for(l=0;l<y;l++){for(u=3;u<x-3;u+=3)d=Mu([t[u-3][l],e[u-3][l]],[t[u][l],e[u][l]],[t[u+3][l],e[u+3][l]],a),t[u-1][l]=d[0][0],e[u-1][l]=d[0][1],t[u+1][l]=d[1][0],e[u+1][l]=d[1][1];g=ku([t[0][l],e[0][l]],[t[2][l],e[2][l]],[t[3][l],e[3][l]]),t[1][l]=g[0],e[1][l]=g[1],g=ku([t[x-1][l],e[x-1][l]],[t[x-3][l],e[x-3][l]],[t[x-4][l],e[x-4][l]]),t[x-2][l]=g[0],e[x-2][l]=g[1]}if(i&&a)for(u=1;u<x;u+=(u+1)%3==0?2:1){for(l=3;l<y-3;l+=3)d=Mu([t[u][l-3],e[u][l-3]],[t[u][l],e[u][l]],[t[u][l+3],e[u][l+3]],i),t[u][l-1]=.5*(t[u][l-1]+d[0][0]),e[u][l-1]=.5*(e[u][l-1]+d[0][1]),t[u][l+1]=.5*(t[u][l+1]+d[1][0]),e[u][l+1]=.5*(e[u][l+1]+d[1][1]);g=ku([t[u][0],e[u][0]],[t[u][2],e[u][2]],[t[u][3],e[u][3]]),t[u][1]=.5*(t[u][1]+g[0]),e[u][1]=.5*(e[u][1]+g[1]),g=ku([t[u][y-1],e[u][y-1]],[t[u][y-3],e[u][y-3]],[t[u][y-4],e[u][y-4]]),t[u][y-2]=.5*(t[u][y-2]+g[0]),e[u][y-2]=.5*(e[u][y-2]+g[1])}return[t,e]}(t.xctrl,t.yctrl,l,u,a.smoothing,o.smoothing);t.xctrl=c[0],t.yctrl=c[1],t.evalxy=function(t,e,r,n,i){var a=e-2,o=r-2;return n&&i?function(e,r,n){var i,s,l,u,c,h;e||(e=[]);var f=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-f)),g=Math.max(0,Math.min(1,n-p));f*=3,p*=3;var v=d*d,m=v*d,y=1-d,x=y*y,b=x*y,_=g*g,w=_*g,M=1-g,A=M*M,k=A*M;for(h=0;h<t.length;h++)i=b*(c=t[h])[p][f]+3*(x*d*c[p][f+1]+y*v*c[p][f+2])+m*c[p][f+3],s=b*c[p+1][f]+3*(x*d*c[p+1][f+1]+y*v*c[p+1][f+2])+m*c[p+1][f+3],l=b*c[p+2][f]+3*(x*d*c[p+2][f+1]+y*v*c[p+2][f+2])+m*c[p+2][f+3],u=b*c[p+3][f]+3*(x*d*c[p+3][f+1]+y*v*c[p+3][f+2])+m*c[p+3][f+3],e[h]=k*i+3*(A*g*s+M*_*l)+w*u;return e}:n?function(e,r,n){e||(e=[]);var i,s,l,u,c,h,f=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-f)),g=Math.max(0,Math.min(1,n-p));f*=3;var v=d*d,m=v*d,y=1-d,x=y*y,b=x*y,_=1-g;for(c=0;c<t.length;c++)i=_*(h=t[c])[p][f]+g*h[p+1][f],s=_*h[p][f+1]+g*h[p+1][f+1],l=_*h[p][f+2]+g*h[p+1][f+1],u=_*h[p][f+3]+g*h[p+1][f+1],e[c]=b*i+3*(x*d*s+y*v*l)+m*u;return e}:i?function(e,r,n){e||(e=[]);var i,s,l,u,c,h,f=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-f)),g=Math.max(0,Math.min(1,n-p));p*=3;var v=g*g,m=v*g,y=1-g,x=y*y,b=x*y,_=1-d;for(c=0;c<t.length;c++)i=_*(h=t[c])[p][f]+d*h[p][f+1],s=_*h[p+1][f]+d*h[p+1][f+1],l=_*h[p+2][f]+d*h[p+2][f+1],u=_*h[p+3][f]+d*h[p+3][f+1],e[c]=b*i+3*(x*g*s+y*v*l)+m*u;return e}:function(e,r,n){e||(e=[]);var i,s,l,u,c=Math.max(0,Math.min(Math.floor(r),a)),h=Math.max(0,Math.min(Math.floor(n),o)),f=Math.max(0,Math.min(1,r-c)),p=Math.max(0,Math.min(1,n-h)),d=1-p,g=1-f;for(l=0;l<t.length;l++)i=g*(u=t[l])[h][c]+f*u[h][c+1],s=g*u[h+1][c]+f*u[h+1][c+1],e[l]=d*i+p*s;return e}}([t.xctrl,t.yctrl],n,i,a.smoothing,o.smoothing),t.dxydi=(e=[t.xctrl,t.yctrl],r=a.smoothing,s=o.smoothing,r&&s?function(t,r,n,i,a){var o,s,l,u,c,h;t||(t=[]),r*=3,n*=3;var f=i*i,p=1-i,d=p*p,g=p*i*2,v=-3*d,m=3*(d-g),y=3*(g-f),x=3*f,b=a*a,_=b*a,w=1-a,M=w*w,A=M*w;for(h=0;h<e.length;h++)o=v*(c=e[h])[n][r]+m*c[n][r+1]+y*c[n][r+2]+x*c[n][r+3],s=v*c[n+1][r]+m*c[n+1][r+1]+y*c[n+1][r+2]+x*c[n+1][r+3],l=v*c[n+2][r]+m*c[n+2][r+1]+y*c[n+2][r+2]+x*c[n+2][r+3],u=v*c[n+3][r]+m*c[n+3][r+1]+y*c[n+3][r+2]+x*c[n+3][r+3],t[h]=A*o+3*(M*a*s+w*b*l)+_*u;return t}:r?function(t,r,n,i,a){var o,s,l,u;t||(t=[]),r*=3;var c=i*i,h=1-i,f=h*h,p=h*i*2,d=-3*f,g=3*(f-p),v=3*(p-c),m=3*c,y=1-a;for(l=0;l<e.length;l++)o=d*(u=e[l])[n][r]+g*u[n][r+1]+v*u[n][r+2]+m*u[n][r+3],s=d*u[n+1][r]+g*u[n+1][r+1]+v*u[n+1][r+2]+m*u[n+1][r+3],t[l]=y*o+a*s;return t}:s?function(t,r,n,i,a){var o,s,l,u,c,h;t||(t=[]),n*=3;var f=a*a,p=f*a,d=1-a,g=d*d,v=g*d;for(c=0;c<e.length;c++)o=(h=e[c])[n][r+1]-h[n][r],s=h[n+1][r+1]-h[n+1][r],l=h[n+2][r+1]-h[n+2][r],u=h[n+3][r+1]-h[n+3][r],t[c]=v*o+3*(g*a*s+d*f*l)+p*u;return t}:function(t,r,n,i,a){var o,s,l,u;t||(t=[]);var c=1-a;for(l=0;l<e.length;l++)o=(u=e[l])[n][r+1]-u[n][r],s=u[n+1][r+1]-u[n+1][r],t[l]=c*o+a*s;return t}),t.dxydj=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,u,c,h;e||(e=[]),r*=3,n*=3;var f=i*i,p=f*i,d=1-i,g=d*d,v=g*d,m=a*a,y=1-a,x=y*y,b=y*a*2,_=-3*x,w=3*(x-b),M=3*(b-m),A=3*m;for(h=0;h<t.length;h++)o=_*(c=t[h])[n][r]+w*c[n+1][r]+M*c[n+2][r]+A*c[n+3][r],s=_*c[n][r+1]+w*c[n+1][r+1]+M*c[n+2][r+1]+A*c[n+3][r+1],l=_*c[n][r+2]+w*c[n+1][r+2]+M*c[n+2][r+2]+A*c[n+3][r+2],u=_*c[n][r+3]+w*c[n+1][r+3]+M*c[n+2][r+3]+A*c[n+3][r+3],e[h]=v*o+3*(g*i*s+d*f*l)+p*u;return e}:e?function(e,r,n,i,a){var o,s,l,u,c,h;e||(e=[]),r*=3;var f=a*a,p=f*a,d=1-a,g=d*d,v=g*d;for(c=0;c<t.length;c++)o=(h=t[c])[n+1][r]-h[n][r],s=h[n+1][r+1]-h[n][r+1],l=h[n+1][r+2]-h[n][r+2],u=h[n+1][r+3]-h[n][r+3],e[c]=v*o+3*(g*a*s+d*f*l)+p*u;return e}:r?function(e,r,n,i,a){var o,s,l,u;e||(e=[]),n*=3;var c=1-i,h=a*a,f=1-a,p=f*f,d=f*a*2,g=-3*p,v=3*(p-d),m=3*(d-h),y=3*h;for(l=0;l<t.length;l++)o=g*(u=t[l])[n][r]+v*u[n+1][r]+m*u[n+2][r]+y*u[n+3][r],s=g*u[n][r+1]+v*u[n+1][r+1]+m*u[n+2][r+1]+y*u[n+3][r+1],e[l]=c*o+i*s;return e}:function(e,r,n,i,a){var o,s,l,u;e||(e=[]);var c=1-i;for(l=0;l<t.length;l++)o=(u=t[l])[n+1][r]-u[n][r],s=u[n+1][r+1]-u[n][r+1],e[l]=c*o+i*s;return e}}([t.xctrl,t.yctrl],a.smoothing,o.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),n-2),i=t[0]-r;return(1-i)*e[r]+i*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),n-2),i=t[1]-e;return(1-i)*r[e]+i*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(Su(t,e),n-2)),i=e[r],a=e[r+1];return Math.max(0,Math.min(n-1,r+(t-i)/(a-i)))},t.b2j=function(t){var e=Math.max(0,Math.min(Su(t,r),i-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(i-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(a,o,s){if(!s&&(a<e[0]||a>e[n-1]|o<r[0]||o>r[i-1]))return[!1,!1];var l=t.a2i(a),u=t.b2j(o),c=t.evalxy([],l,u);if(s){var h,f,p,d,g=0,v=0,m=[];a<e[0]?(h=0,f=0,g=(a-e[0])/(e[1]-e[0])):a>e[n-1]?(h=n-2,f=1,g=(a-e[n-1])/(e[n-1]-e[n-2])):f=l-(h=Math.max(0,Math.min(n-2,Math.floor(l)))),o<r[0]?(p=0,d=0,v=(o-r[0])/(r[1]-r[0])):o>r[i-1]?(p=i-2,d=1,v=(o-r[i-1])/(r[i-1]-r[i-2])):d=u-(p=Math.max(0,Math.min(i-2,Math.floor(u)))),g&&(t.dxydi(m,h,p,f,d),c[0]+=m[0]*g,c[1]+=m[1]*g),v&&(t.dxydj(m,h,p,f,d),c[0]+=m[0]*v,c[1]+=m[1]*v)}return c},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=h*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=f*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}},Cu=ne.isArrayOrTypedArray,Lu=function(t){return Cu(t[0])},zu=t.BADNUM,Pu=function(t,e,r,n,i,a){n=n||\"x\",i=i||\"y\",a=a||[\"z\"];var o,s,l,u=t[n].slice(),c=t[i].slice(),h=t.text,f=Math.min(u.length,c.length),p=void 0!==h&&!Array.isArray(h[0]),d=t[n+\"calendar\"],g=t[i+\"calendar\"];for(o=0;o<a.length;o++)(l=t[a[o]])&&(f=Math.min(f,l.length));for(f<u.length&&(u=u.slice(0,f)),f<c.length&&(c=c.slice(0,f)),o=0;o<f;o++)u[o]=e.d2c(u[o],0,d),c[o]=r.d2c(c[o],0,g);var v,m,y,x=ne.distinctVals(u),b=x.vals,_=ne.distinctVals(c),w=_.vals,M=[];for(o=0;o<a.length;o++)M[o]=ne.init2dArray(w.length,b.length);for(p&&(y=ne.init2dArray(w.length,b.length)),o=0;o<f;o++)if(u[o]!==zu&&c[o]!==zu){for(v=ne.findBin(u[o]+x.minDiff/2,b),m=ne.findBin(c[o]+_.minDiff/2,w),s=0;s<a.length;s++)l=t[a[s]],M[s][m][v]=l[o];p&&(y[m][v]=h[o])}for(t[\"_input_\"+n]=t[n],t[\"_input_\"+i]=t[i],t[n]=b,t[i]=w,s=0;s<a.length;s++)t[\"_input_\"+a[s]]=t[a[s]],t[a[s]]=M[s];p&&(t.text=y)},Iu=function(t,e,r){if(0===t.length)return\"\";var n,i=[],a=r?3:1;for(n=0;n<t.length;n+=a)i.push(t[n]+\",\"+e[n]),r&&n<t.length-a&&(i.push(\"C\"),i.push([t[n+1]+\",\"+e[n+1],t[n+2]+\",\"+e[n+2]+\" \"].join(\" \")));return i.join(r?\"\":\"L\")},Du=ne.isArrayOrTypedArray,Ou=function(t,e,r){var n;for(Du(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],n=0;n<e.length;n++)t[n]=r(e[n]);return t},Ru=function(t,e,r,n,i,a){var o=i[0]*t.dpdx(e),s=i[1]*t.dpdy(r),l=1,u=1;if(a){var c=Math.sqrt(i[0]*i[0]+i[1]*i[1]),h=Math.sqrt(a[0]*a[0]+a[1]*a[1]),f=(i[0]*a[0]+i[1]*a[1])/c/h;u=Math.max(0,f)}var p=180*Math.atan2(s,o)/Math.PI;return p<-90?(p+=180,l=-l):p>90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:u}};function Fu(t,e,r){var n=t.selectAll(e+\".\"+r).data([0]);return n.enter().append(e).classed(r,!0),n}function Bu(t,e,r){var n=r[0],i=r[0].trace,a=e.xaxis,o=e.yaxis,s=i.aaxis,l=i.baxis,u=t._fullLayout,c=e.plot.selectAll(\".carpetlayer\"),h=u._clips,f=Fu(c,\"g\",\"carpet\"+i.uid).classed(\"trace\",!0),p=Fu(f,\"g\",\"minorlayer\"),d=Fu(f,\"g\",\"majorlayer\"),g=Fu(f,\"g\",\"boundarylayer\"),v=Fu(f,\"g\",\"labellayer\");f.style(\"opacity\",i.opacity),Nu(a,o,d,s,\"a\",s._gridlines),Nu(a,o,d,l,\"b\",l._gridlines),Nu(a,o,p,s,\"a\",s._minorgridlines),Nu(a,o,p,l,\"b\",l._minorgridlines),Nu(a,o,g,s,\"a-boundary\",s._boundarylines),Nu(a,o,g,l,\"b-boundary\",l._boundarylines),function(t,e,r,n,i,a,o,s){var l,u,c,h;l=.5*(r.a[0]+r.a[r.a.length-1]),u=r.b[0],c=r.ab2xy(l,u,!0),h=r.dxyda_rough(l,u),void 0===o.angle&&ne.extendFlat(o,Ru(r,i,a,c,r.dxydb_rough(l,u)));qu(t,e,r,n,c,h,r.aaxis,i,a,o,\"a-title\"),l=r.a[0],u=.5*(r.b[0]+r.b[r.b.length-1]),c=r.ab2xy(l,u,!0),h=r.dxydb_rough(l,u),void 0===s.angle&&ne.extendFlat(s,Ru(r,i,a,c,r.dxyda_rough(l,u)));qu(t,e,r,n,c,h,r.baxis,i,a,s,\"b-title\")}(t,v,i,n,a,o,ju(t,a,o,i,n,v,s._labels,\"a-label\"),ju(t,a,o,i,n,v,l._labels,\"b-label\")),function(t,e,r,n,i){var a,o,s,l,u=r.select(\"#\"+t._clipPathId);u.size()||(u=r.append(\"clipPath\").classed(\"carpetclip\",!0));var c=Fu(u,\"path\",\"carpetboundary\"),h=e.clipsegments,f=[];for(l=0;l<h.length;l++)a=h[l],o=Ou([],a.x,n.c2p),s=Ou([],a.y,i.c2p),f.push(Iu(o,s,a.bicubic));var p=\"M\"+f.join(\"L\")+\"Z\";u.attr(\"id\",t._clipPathId),c.attr(\"d\",p)}(i,n,h,a,o)}function Nu(t,r,n,i,a,o){var s=\"const-\"+a+\"-lines\",l=n.selectAll(\".\"+s).data(o);l.enter().append(\"path\").classed(s,!0).style(\"vector-effect\",\"non-scaling-stroke\"),l.each(function(n){var i=n,a=i.x,o=i.y,s=Ou([],a,t.c2p),l=Ou([],o,r.c2p),u=\"M\"+Iu(s,l,i.smoothing);e.select(this).attr(\"d\",u).style(\"stroke-width\",i.width).style(\"stroke\",i.color).style(\"fill\",\"none\")}),l.exit().remove()}function ju(t,r,n,i,a,o,s,l){var u=o.selectAll(\"text.\"+l).data(s);u.enter().append(\"text\").classed(l,!0);var c=0,h={};return u.each(function(a,o){var s;if(\"auto\"===a.axis.tickangle)s=Ru(i,r,n,a.xy,a.dxy);else{var l=(a.axis.tickangle+180)*Math.PI/180;s=Ru(i,r,n,a.xy,[Math.cos(l),Math.sin(l)])}o||(h={angle:s.angle,flip:s.flip});var u=(a.endAnchor?-1:1)*s.flip,f=e.select(this).attr({\"text-anchor\":u>0?\"start\":\"end\",\"data-notex\":1}).call(Sr.font,a.font).text(a.text).call(er.convertToTspans,t),p=Sr.bBox(this);f.attr(\"transform\",\"translate(\"+s.p[0]+\",\"+s.p[1]+\") rotate(\"+s.angle+\")translate(\"+a.axis.labelpadding*u+\",\"+.3*p.height+\")\"),c=Math.max(c,p.width+a.axis.labelpadding)}),u.exit().remove(),h.maxExtent=c,h}var Vu=Qe.LINE_SPACING,Uu=(1-Qe.MID_SHIFT)/Vu+1;function qu(t,r,n,i,a,o,s,l,u,c,h){var f=[];s.title&&f.push(s.title);var p=r.selectAll(\"text.\"+h).data(f),d=c.maxExtent;p.enter().append(\"text\").classed(h,!0),p.each(function(){var r=Ru(n,l,u,a,o);-1===[\"start\",\"both\"].indexOf(s.showticklabels)&&(d=0);var i=s.titlefont.size;d+=i+s.titleoffset;var h=(c.angle+(c.flip<0?180:0)-r.angle+450)%360,f=h>90&&h<270,p=e.select(this);p.text(s.title||\"\").call(er.convertToTspans,t),f&&(d=(-er.lineCount(p)+Uu)*Vu*i-d),p.attr(\"transform\",\"translate(\"+r.p[0]+\",\"+r.p[1]+\") rotate(\"+r.angle+\") translate(0,\"+d+\")\").classed(\"user-select-none\",!0).attr(\"text-anchor\",\"middle\").call(Sr.font,s.titlefont)}),p.exit().remove()}var Hu={};Hu.attributes=lu,Hu.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,lu,r,n)}e._clipPathId=\"clip\"+e.uid+\"carpet\";var a=i(\"color\",C.defaultLine);if(ne.coerceFont(i,\"font\"),i(\"carpet\"),wu(t,e,n,i,a),e.a&&e.b){e.a.length<3&&(e.aaxis.smoothing=0),e.b.length<3&&(e.baxis.smoothing=0);var o=function(t,e,r){var n=[],i=r(\"x\");i&&!Lu(i)&&n.push(\"x\"),e._cheater=!i;var a=r(\"y\");if(a&&!Lu(a)&&n.push(\"y\"),i||a)return n.length&&Pu(e,e.aaxis,e.baxis,\"a\",\"b\",n),!0}(0,e,i);Eu(e),e._cheater&&i(\"cheaterslope\"),o||(e.visible=!1)}else e.visible=!1},Hu.plot=function(t,e,r){for(var n=0;n<r.length;n++)Bu(t,e,r[n])},Hu.calc=function(t,e){var r,n=ri.getFromId(t,e.xaxis||\"x\"),i=ri.getFromId(t,e.yaxis||\"y\"),a=e.aaxis,o=e.baxis,s=e._a=e.a,l=e._b=e.b,u={},c=e.y;r=e._cheater?function(t,e,r){var n,i,a,o,s,l,u=[],c=gu(t)?t.length:t,h=gu(e)?e.length:e,f=gu(t)?t:null,p=gu(e)?e:null;f&&(a=(f.length-1)/(f[f.length-1]-f[0])/(c-1)),p&&(o=(p.length-1)/(p[p.length-1]-p[0])/(h-1));var d=1/0,g=-1/0;for(i=0;i<h;i++)for(u[i]=[],s=p?(p[i]-p[0])*o:i/(h-1),n=0;n<c;n++)l=(f?(f[n]-f[0])*a:n/(c-1))-s*r,d=Math.min(l,d),g=Math.max(l,g),u[i][n]=l;var v=1/(g-d),m=-d*v;for(i=0;i<h;i++)for(n=0;n<c;n++)u[i][n]=v*u[i][n]+m;return u}(\"index\"===a.cheatertype?s.length:s,\"index\"===o.cheatertype?l.length:l,e.cheaterslope):e.x;e._x=r=xu(r),e._y=c=xu(c),yu(r,s,l),yu(c,s,l),e.setScale(),u.xp=e.xp=mu(e.xp,r,n.c2p),u.yp=e.yp=mu(e.yp,c,i.c2p);var h=cu(r),f=cu(c),p=.5*(h[1]-h[0]),d=.5*(h[1]+h[0]),g=.5*(f[1]-f[0]),v=.5*(f[1]+f[0]);return h=[d-1.3*p,d+1.3*p],f=[v-1.3*g,v+1.3*g],ri.expand(n,h,{padded:!0}),ri.expand(i,f,{padded:!0}),fu(e,0,\"a\",\"b\"),fu(e,0,\"b\",\"a\"),du(0,a),du(0,o),u.clipsegments=function(t,e,r,n){var i,a,o,s=[],l=!!r.smoothing,u=!!n.smoothing,c=t[0].length-1,h=t.length-1;for(i=0,a=[],o=[];i<=c;i++)a[i]=t[0][i],o[i]=e[0][i];for(s.push({x:a,y:o,bicubic:l}),i=0,a=[],o=[];i<=h;i++)a[i]=t[i][c],o[i]=e[i][c];for(s.push({x:a,y:o,bicubic:u}),i=c,a=[],o=[];i>=0;i--)a[c-i]=t[h][i],o[c-i]=e[h][i];for(s.push({x:a,y:o,bicubic:l}),i=h,a=[],o=[];i>=0;i--)a[h-i]=t[i][0],o[h-i]=e[i][0];return s.push({x:a,y:o,bicubic:u}),s}(e.xctrl,e.yctrl,a,o),u.x=r,u.y=c,u.a=s,u.b=l,[u]},Hu.animatable=!0,Hu.moduleType=\"trace\",Hu.name=\"carpet\",Hu.basePlotModule=ua,Hu.categories=[\"cartesian\",\"carpet\",\"carpetAxis\",\"notLegendIsolatable\"],Hu.meta={};var Gu=Hu,Wu={exports:{}};!function(t,e){\"object\"==typeof Wu.exports?e(Wu.exports):e(t.topojson=t.topojson||{})}(this,function(t){\"use strict\";var e=function(t){return t},r=function(t){if(null==(r=t.transform))return e;var r,n,i,a=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){return e||(n=i=0),t[0]=(n+=t[0])*a+s,t[1]=(i+=t[1])*o+l,t}},n=function(t){var e=t.bbox;function n(t){l[0]=t[0],l[1]=t[1],s(l),l[0]<u&&(u=l[0]),l[0]>h&&(h=l[0]),l[1]<c&&(c=l[1]),l[1]>f&&(f=l[1])}function i(t){switch(t.type){case\"GeometryCollection\":t.geometries.forEach(i);break;case\"Point\":n(t.coordinates);break;case\"MultiPoint\":t.coordinates.forEach(n)}}if(!e){var a,o,s=r(t),l=new Array(2),u=1/0,c=u,h=-u,f=-u;for(o in t.arcs.forEach(function(t){for(var e=-1,r=t.length;++e<r;)a=t[e],l[0]=a[0],l[1]=a[1],s(l,e),l[0]<u&&(u=l[0]),l[0]>h&&(h=l[0]),l[1]<c&&(c=l[1]),l[1]>f&&(f=l[1])}),t.objects)i(t.objects[o]);e=t.bbox=[u,c,h,f]}return e},i=function(t,e){for(var r,n=t.length,i=n-e;i<--n;)r=t[i],t[i++]=t[n],t[n]=r};function a(t,e){var r=e.id,n=e.bbox,i=null==e.properties?{}:e.properties,a=o(t,e);return null==r&&null==n?{type:\"Feature\",properties:i,geometry:a}:null==n?{type:\"Feature\",id:r,properties:i,geometry:a}:{type:\"Feature\",id:r,bbox:n,properties:i,geometry:a}}function o(t,e){var n=r(t),a=t.arcs;function o(t,e){e.length&&e.pop();for(var r=a[t<0?~t:t],o=0,s=r.length;o<s;++o)e.push(n(r[o].slice(),o));t<0&&i(e,s)}function s(t){return n(t.slice())}function l(t){for(var e=[],r=0,n=t.length;r<n;++r)o(t[r],e);return e.length<2&&e.push(e[0].slice()),e}function u(t){for(var e=l(t);e.length<4;)e.push(e[0].slice());return e}function c(t){return t.map(u)}return function t(e){var r,n=e.type;switch(n){case\"GeometryCollection\":return{type:n,geometries:e.geometries.map(t)};case\"Point\":r=s(e.coordinates);break;case\"MultiPoint\":r=e.coordinates.map(s);break;case\"LineString\":r=l(e.arcs);break;case\"MultiLineString\":r=e.arcs.map(l);break;case\"Polygon\":r=c(e.arcs);break;case\"MultiPolygon\":r=e.arcs.map(c);break;default:return null}return{type:n,coordinates:r}}(e)}var s=function(t,e){var r={},n={},i={},a=[],o=-1;function s(t,e){for(var n in t){var i=t[n];delete e[i.start],delete i.start,delete i.end,i.forEach(function(t){r[t<0?~t:t]=1}),a.push(i)}}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[++o],e[o]=r,e[n]=i)}),e.forEach(function(e){var r,a,o=function(e){var r,n=t.arcs[e<0?~e:e],i=n[0];t.transform?(r=[0,0],n.forEach(function(t){r[0]+=t[0],r[1]+=t[1]})):r=n[n.length-1];return e<0?[r,i]:[i,r]}(e),s=o[0],l=o[1];if(r=i[s])if(delete i[r.end],r.push(e),r.end=l,a=n[l]){delete n[a.start];var u=a===r?r:r.concat(a);n[u.start=r.start]=i[u.end=a.end]=u}else n[r.start]=i[r.end]=r;else if(r=n[l])if(delete n[r.start],r.unshift(e),r.start=s,a=i[s]){delete i[a.end];var c=a===r?r:a.concat(r);n[c.start=a.start]=i[c.end=r.end]=c}else n[r.start]=i[r.end]=r;else n[(r=[e]).start=s]=i[r.end=l]=r}),s(i,n),s(n,i),e.forEach(function(t){r[t<0?~t:t]||a.push([t])}),a};function l(t,e,r){var n,i,a;if(arguments.length>1)n=function(t,e,r){var n,i=[],a=[];function o(t){var e=t<0?~t:t;(a[e]||(a[e]=[])).push({i:t,g:n})}function s(t){t.forEach(o)}function l(t){t.forEach(s)}return function t(e){switch(n=e,e.type){case\"GeometryCollection\":e.geometries.forEach(t);break;case\"LineString\":s(e.arcs);break;case\"MultiLineString\":case\"Polygon\":l(e.arcs);break;case\"MultiPolygon\":e.arcs.forEach(l)}}(e),a.forEach(null==r?function(t){i.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&i.push(t[0].i)}),i}(0,e,r);else for(i=0,n=new Array(a=t.arcs.length);i<a;++i)n[i]=i;return{type:\"MultiLineString\",arcs:s(t,n)}}function u(t,e){var r={},n=[],i=[];function a(t){t.forEach(function(e){e.forEach(function(e){(r[e=e<0?~e:e]||(r[e]=[])).push(t)})}),n.push(t)}function l(e){return function(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)}(o(t,{type:\"Polygon\",arcs:[e]}).coordinates[0])}return e.forEach(function t(e){switch(e.type){case\"GeometryCollection\":e.geometries.forEach(t);break;case\"Polygon\":a(e.arcs);break;case\"MultiPolygon\":e.arcs.forEach(a)}}),n.forEach(function(t){if(!t._){var e=[],n=[t];for(t._=1,i.push(e);t=n.pop();)e.push(t),t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].forEach(function(t){t._||(t._=1,n.push(t))})})})}}),n.forEach(function(t){delete t._}),{type:\"MultiPolygon\",arcs:i.map(function(e){var n,i=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].length<2&&i.push(t)})})}),(n=(i=s(t,i)).length)>1)for(var a,o,u=1,c=l(i[0]);u<n;++u)(a=l(i[u]))>c&&(o=i[0],i[0]=i[u],i[u]=o,c=a);return i})}}var c=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};t.bbox=n,t.feature=function(t,e){return\"GeometryCollection\"===e.type?{type:\"FeatureCollection\",features:e.geometries.map(function(e){return a(t,e)})}:a(t,e)},t.mesh=function(t){return o(t,l.apply(this,arguments))},t.meshArcs=l,t.merge=function(t){return o(t,u.apply(this,arguments))},t.mergeArcs=u,t.neighbors=function(t){var e={},r=t.map(function(){return[]});function n(t,r){t.forEach(function(t){t<0&&(t=~t);var n=e[t];n?n.push(r):e[t]=[r]})}function i(t,e){t.forEach(function(t){n(t,e)})}var a={LineString:n,MultiLineString:i,Polygon:i,MultiPolygon:function(t,e){t.forEach(function(t){i(t,e)})}};for(var o in t.forEach(function t(e,r){\"GeometryCollection\"===e.type?e.geometries.forEach(function(e){t(e,r)}):e.type in a&&a[e.type](e.arcs,r)}),e)for(var s=e[o],l=s.length,u=0;u<l;++u)for(var h=u+1;h<l;++h){var f,p=s[u],d=s[h];(f=r[p])[o=c(f,d)]!==d&&f.splice(o,0,d),(f=r[d])[o=c(f,p)]!==p&&f.splice(o,0,p)}return r},t.quantize=function(t,e){if(!((e=Math.floor(e))>=2))throw new Error(\"n must be \\u22652\");if(t.transform)throw new Error(\"already quantized\");var r,i=n(t),a=i[0],o=(i[2]-a)/(e-1)||1,s=i[1],l=(i[3]-s)/(e-1)||1;function u(t){t[0]=Math.round((t[0]-a)/o),t[1]=Math.round((t[1]-s)/l)}function c(t){switch(t.type){case\"GeometryCollection\":t.geometries.forEach(c);break;case\"Point\":u(t.coordinates);break;case\"MultiPoint\":t.coordinates.forEach(u)}}for(r in t.arcs.forEach(function(t){for(var e,r,n,i=1,u=1,c=t.length,h=t[0],f=h[0]=Math.round((h[0]-a)/o),p=h[1]=Math.round((h[1]-s)/l);i<c;++i)h=t[i],r=Math.round((h[0]-a)/o),n=Math.round((h[1]-s)/l),r===f&&n===p||((e=t[u++])[0]=r-f,f=r,e[1]=n-p,p=n);u<2&&((e=t[u++])[0]=0,e[1]=0),t.length=u}),t.objects)c(t.objects[r]);return t.transform={scale:[o,l],translate:[a,s]},t},t.transform=r,t.untransform=function(t){if(null==(r=t.transform))return e;var r,n,i,a=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){e||(n=i=0);var r=Math.round((t[0]-s)/a),u=Math.round((t[1]-l)/o);return t[0]=r-n,n=r,t[1]=u-i,i=u,t}},Object.defineProperty(t,\"__esModule\",{value:!0})}),Wu=Wu.exports;var Yu={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\"},axesNames:[\"lonaxis\",\"lataxis\"],lonaxisSpan:{orthographic:180,\"azimuthal equal area\":360,\"azimuthal equidistant\":360,\"conic conformal\":180,gnomonic:160,stereographic:180,\"transverse mercator\":180,\"*\":360},lataxisSpan:{\"conic conformal\":150,stereographic:179.5,\"*\":180},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,85],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]}},clipPad:.001,precision:.1,landColor:\"#F0DC82\",waterColor:\"#3399FF\",locationmodeToLayer:{\"ISO-3\":\"countries\",\"USA-states\":\"subunits\",\"country names\":\"countries\"},sphereSVG:{type:\"Sphere\"},fillLayers:{ocean:1,land:1,lakes:1},lineLayers:{subunits:1,countries:1,coastlines:1,rivers:1,frame:1},layers:[\"bg\",\"ocean\",\"land\",\"lakes\",\"subunits\",\"countries\",\"coastlines\",\"rivers\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"frontplot\"],layersForChoropleth:[\"bg\",\"ocean\",\"land\",\"subunits\",\"countries\",\"coastlines\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"rivers\",\"lakes\",\"frontplot\"],layerNameToAdjective:{ocean:\"ocean\",land:\"land\",lakes:\"lake\",subunits:\"subunit\",countries:\"country\",coastlines:\"coastline\",rivers:\"river\",frame:\"frame\"}},Xu={},Zu=Xu={},Ju=Yu.locationmodeToLayer,Ku=Wu.feature;Zu.getTopojsonName=function(t){return[t.scope.replace(/ /g,\"-\"),\"_\",t.resolution.toString(),\"m\"].join(\"\")},Zu.getTopojsonPath=function(t,e){return t+e+\".json\"},Zu.getTopojsonFeatures=function(t,e){var r=Ju[t.locationmode],n=e.objects[r];return Ku(e,n).features};var Qu=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n(\"check\",{seg1:t,seg2:e})},segmentChop:function(t,e){return n(\"div_seg\",{seg:t,pt:e}),n(\"chop\",{seg:t,pt:e})},statusRemove:function(t){return n(\"pop_seg\",{seg:t})},segmentUpdate:function(t){return n(\"seg_update\",{seg:t})},segmentNew:function(t,e){return n(\"new_seg\",{seg:t,primary:e})},segmentRemove:function(t){return n(\"rem_seg\",{seg:t})},tempStatus:function(t,e,r){return n(\"temp_status\",{seg:t,above:e,below:r})},rewind:function(t){return n(\"rewind\",{seg:t})},status:function(t,e,r){return n(\"status\",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n(\"vert\",{x:e}))},log:function(t){return\"string\"!=typeof t&&(t=JSON.stringify(t,!1,\"  \")),n(\"log\",{txt:t})},reset:function(){return n(\"reset\")},selected:function(t){return n(\"selected\",{segs:t})},chainStart:function(t){return n(\"chain_start\",{seg:t})},chainRemoveHead:function(t,e){return n(\"chain_rem_head\",{index:t,pt:e})},chainRemoveTail:function(t,e){return n(\"chain_rem_tail\",{index:t,pt:e})},chainNew:function(t,e){return n(\"chain_new\",{pt1:t,pt2:e})},chainMatch:function(t){return n(\"chain_match\",{index:t})},chainClose:function(t){return n(\"chain_close\",{index:t})},chainAddHead:function(t,e){return n(\"chain_add_head\",{index:t,pt:e})},chainAddTail:function(t,e){return n(\"chain_add_tail\",{index:t,pt:e})},chainConnect:function(t,e){return n(\"chain_con\",{index1:t,index2:e})},chainReverse:function(t){return n(\"chain_rev\",{index:t})},chainJoin:function(t,e){return n(\"chain_join\",{index1:t,index2:e})},done:function(){return n(\"done\")}}};var $u={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i<e.length;i++)n=t.selectDifference(t.combine(n,r(e[i])));return n}if(\"Polygon\"===e.type)return t.polygon(r(e.coordinates));if(\"MultiPolygon\"===e.type){for(var n=t.segments({inverted:!1,regions:[]}),i=0;i<e.coordinates.length;i++)n=t.selectUnion(t.combine(n,r(e.coordinates[i])));return t.polygon(n)}throw new Error(\"PolyBool: Cannot convert GeoJSON object to PolyBool polygon\")},fromPolygon:function(t,e,r){function n(t,r){return e.pointInsideRegion([.5*(t[0][0]+t[1][0]),.5*(t[0][1]+t[1][1])],r)}function i(t){return{region:t,children:[]}}r=t.polygon(t.segments(r));var a=i(null);function o(t,e){for(var r=0;r<t.children.length;r++){if(n(e,(s=t.children[r]).region))return void o(s,e)}var a=i(e);for(r=0;r<t.children.length;r++){var s;n((s=t.children[r]).region,e)&&(a.children.push(s),t.children.splice(r,1),r--)}t.children.push(a)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(a,l)}function u(t,e){for(var r=0,n=t[t.length-1][0],i=t[t.length-1][1],a=[],o=0;o<t.length;o++){var s=t[o][0],l=t[o][1];a.push([s,l]),r+=l*n-s*i,n=s,i=l}return r<0!==e&&a.reverse(),a.push([a[0][0],a[0][1]]),a}var c=[];function h(t){var e=[u(t.region,!1)];c.push(e);for(var r=0;r<t.children.length;r++)e.push(f(t.children[r]))}function f(t){for(var e=0;e<t.children.length;e++)h(t.children[e]);return u(t.region,!0)}for(s=0;s<a.children.length;s++)h(a.children[s]);return c.length<=0?{type:\"Polygon\",coordinates:[]}:1==c.length?{type:\"Polygon\",coordinates:c[0]}:{type:\"MultiPolygon\",coordinates:c}}},tc={create:function(){var t={root:{root:!0,next:null},exists:function(e){return null!==e&&e!==t.root},isEmpty:function(){return null===t.root.next},getHead:function(){return t.root.next},insertBefore:function(e,r){for(var n=t.root,i=t.root.next;null!==i;){if(r(i))return e.prev=i.prev,e.next=i,i.prev.next=e,void(i.prev=e);n=i,i=i.next}n.next=e,e.prev=n,e.next=null},findTransition:function(e){for(var r=t.root,n=t.root.next;null!==n&&!e(n);)r=n,n=n.next;return{before:r===t.root?null:r,after:n,insert:function(t){return t.prev=r,t.next=n,r.next=t,null!==n&&(n.prev=t),t}}}};return t},node:function(t){return t.prev=null,t.next=null,t.remove=function(){t.prev.next=t.next,t.next&&(t.next.prev=t.prev),t.prev=null,t.next=null},t}};var ec=function(t,e,r){function n(t,e,n){return{id:r?r.segmentId():-1,start:t,end:e,myFill:{above:n.myFill.above,below:n.myFill.below},otherFill:null}}var i=tc.create();function a(t,r){i.insertBefore(t,function(n){return function(t,r,n,i,a,o){var s=e.pointsCompare(r,a);return 0!==s?s:e.pointsSame(n,o)?0:t!==i?t?1:-1:e.pointAboveOrOnLine(n,i?a:o,i?o:a)?1:-1}(t.isStart,t.pt,r,n.isStart,n.pt,n.other.pt)<0})}function o(t,e){var r=function(t,e){var r=tc.node({isStart:!0,pt:t.start,seg:t,primary:e,other:null,status:null});return a(r,t.end),r}(t,e);return function(t,e,r){var n=tc.node({isStart:!1,pt:e.end,seg:e,primary:r,other:t,status:null});t.other=n,a(n,t.pt)}(r,t,e),r}function s(t,e){var i=n(e,t.seg.end,t.seg);return function(t,e){r&&r.segmentChop(t.seg,e),t.other.remove(),t.seg.end=e,t.other.pt=e,a(t.other,t.pt)}(t,e),o(i,t.primary)}function l(n,a){var o=tc.create();function l(t){return o.findTransition(function(r){var n,i,a,o,s,l;return n=t,i=r.ev,a=n.seg.start,o=n.seg.end,s=i.seg.start,l=i.seg.end,(e.pointsCollinear(a,s,l)?e.pointsCollinear(o,s,l)?1:e.pointAboveOrOnLine(o,s,l)?1:-1:e.pointAboveOrOnLine(a,s,l)?1:-1)>0})}function u(t,n){var i=t.seg,a=n.seg,o=i.start,l=i.end,u=a.start,c=a.end;r&&r.checkIntersection(i,a);var h=e.linesIntersect(o,l,u,c);if(!1===h){if(!e.pointsCollinear(o,l,u))return!1;if(e.pointsSame(o,c)||e.pointsSame(l,u))return!1;var f=e.pointsSame(o,u),p=e.pointsSame(l,c);if(f&&p)return n;var d=!f&&e.pointBetween(o,u,c),g=!p&&e.pointBetween(l,u,c);if(f)return g?s(n,l):s(t,c),n;d&&(p||(g?s(n,l):s(t,c)),s(n,o))}else 0===h.alongA&&(-1===h.alongB?s(t,u):0===h.alongB?s(t,h.pt):1===h.alongB&&s(t,c)),0===h.alongB&&(-1===h.alongA?s(n,o):0===h.alongA?s(n,h.pt):1===h.alongA&&s(n,l));return!1}for(var c=[];!i.isEmpty();){var h=i.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var f=l(h),p=f.before?f.before.ev:null,d=f.after?f.after.ev:null;function g(){if(p){var t=u(h,p);if(t)return t}return!!d&&u(h,d)}r&&r.tempStatus(h.seg,!!p&&p.seg,!!d&&d.seg);var v,m,y=g();if(y)t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(y.seg.myFill.above=!y.seg.myFill.above):y.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(y.seg),h.other.remove(),h.remove();if(i.getHead()!==h){r&&r.rewind(h.seg);continue}t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=d?d.seg.myFill.above:n,h.seg.myFill.above=m?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(v=d?h.primary===d.primary?d.seg.otherFill.above:d.seg.myFill.above:h.primary?a:n,h.seg.otherFill={above:v,below:v}),r&&r.status(h.seg,!!p&&p.seg,!!d&&d.seg),h.other.status=f.insert(tc.node({ev:h}))}else{var x=h.status;if(null===x)throw new Error(\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\");if(o.exists(x.prev)&&o.exists(x.next)&&u(x.prev.ev,x.next.ev),r&&r.statusRemove(x.ev.seg),x.remove(),!h.primary){var b=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=b}c.push(h.seg)}i.getHead().remove()}return r&&r.done(),c}return t?{addRegion:function(t){for(var n,i,a,s=t[t.length-1],l=0;l<t.length;l++){n=s,s=t[l];var u=e.pointsCompare(n,s);0!==u&&o((i=u<0?n:s,a=u<0?s:n,{id:r?r.segmentId():-1,start:i,end:a,myFill:{above:null,below:null},otherFill:null}),!0)}},calculate:function(t){return l(t,!1)}}:{calculate:function(t,e,r,i){return t.forEach(function(t){o(n(t.start,t.end,t),!0)}),r.forEach(function(t){o(n(t.start,t.end,t),!1)}),l(e,i)}}};var rc=function(t,e,r){var n=[],i=[];return t.forEach(function(t){var a=t.start,o=t.end;if(e.pointsSame(a,o))console.warn(\"PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large\");else{r&&r.chainStart(t);for(var s={index:0,matches_head:!1,matches_pt1:!1},l={index:0,matches_head:!1,matches_pt1:!1},u=s,c=0;c<n.length;c++){var h=(v=n[c])[0],f=(v[1],v[v.length-1]);if(v[v.length-2],e.pointsSame(h,a)){if(A(c,!0,!0))break}else if(e.pointsSame(h,o)){if(A(c,!0,!1))break}else if(e.pointsSame(f,a)){if(A(c,!1,!0))break}else if(e.pointsSame(f,o)&&A(c,!1,!1))break}if(u===s)return n.push([a,o]),void(r&&r.chainNew(a,o));if(u===l){r&&r.chainMatch(s.index);var p=s.index,d=s.matches_pt1?o:a,g=s.matches_head,v=n[p],m=g?v[0]:v[v.length-1],y=g?v[1]:v[v.length-2],x=g?v[v.length-1]:v[0],b=g?v[v.length-2]:v[1];return e.pointsCollinear(y,m,d)&&(g?(r&&r.chainRemoveHead(s.index,d),v.shift()):(r&&r.chainRemoveTail(s.index,d),v.pop()),m=y),e.pointsSame(x,d)?(n.splice(p,1),e.pointsCollinear(b,x,m)&&(g?(r&&r.chainRemoveTail(s.index,m),v.pop()):(r&&r.chainRemoveHead(s.index,m),v.shift())),r&&r.chainClose(s.index),void i.push(v)):void(g?(r&&r.chainAddHead(s.index,d),v.unshift(d)):(r&&r.chainAddTail(s.index,d),v.push(d)))}var _=s.index,w=l.index;r&&r.chainConnect(_,w);var M=n[_].length<n[w].length;s.matches_head?l.matches_head?M?(k(_),T(_,w)):(k(w),T(w,_)):T(w,_):l.matches_head?T(_,w):M?(k(_),T(w,_)):(k(w),T(_,w))}function A(t,e,r){return u.index=t,u.matches_head=e,u.matches_pt1=r,u===s?(u=l,!1):(u=null,!0)}function k(t){r&&r.chainReverse(t),n[t].reverse()}function T(t,i){var a=n[t],o=n[i],s=a[a.length-1],l=a[a.length-2],u=o[0],c=o[1];e.pointsCollinear(l,s,u)&&(r&&r.chainRemoveTail(t,s),a.pop(),s=l),e.pointsCollinear(s,u,c)&&(r&&r.chainRemoveHead(i,u),o.shift()),r&&r.chainJoin(t,i),n[t]=a.concat(o),n.splice(i,1)}}),i};function nc(t,e,r){var n=[];return t.forEach(function(t){var i=(t.myFill.above?8:0)+(t.myFill.below?4:0)+(t.otherFill&&t.otherFill.above?2:0)+(t.otherFill&&t.otherFill.below?1:0);0!==e[i]&&n.push({id:r?r.segmentId():-1,start:t.start,end:t.end,myFill:{above:1===e[i],below:2===e[i]},otherFill:null})}),r&&r.selected(n),n}var ic,ac={union:function(t,e){return nc(t,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],e)},intersect:function(t,e){return nc(t,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],e)},difference:function(t,e){return nc(t,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],e)},differenceRev:function(t,e){return nc(t,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],e)},xor:function(t,e){return nc(t,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],e)}},oc=!1,sc=function(t){\"number\"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return\"number\"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l<t||l-(a*a+s*s)>-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])<t},pointsSameY:function(e,r){return Math.abs(e[1]-r[1])<t},pointsSame:function(t,r){return e.pointsSameX(t,r)&&e.pointsSameY(t,r)},pointsCompare:function(t,r){return e.pointsSameX(t,r)?e.pointsSameY(t,r)?0:t[1]<r[1]?-1:1:t[0]<r[0]?-1:1},pointsCollinear:function(e,r,n){var i=e[0]-r[0],a=e[1]-r[1],o=r[0]-n[0],s=r[1]-n[1];return Math.abs(i*s-o*a)<t},linesIntersect:function(e,r,n,i){var a=r[0]-e[0],o=r[1]-e[1],s=i[0]-n[0],l=i[1]-n[1],u=a*l-o*s;if(Math.abs(u)<t)return!1;var c=e[0]-n[0],h=e[1]-n[1],f=(s*h-l*c)/u,p=(a*h-o*c)/u,d={alongA:0,alongB:0,pt:[e[0]+f*a,e[1]+f*o]};return d.alongA=f<=-t?-2:f<t?-1:f-1<=-t?0:f-1<t?1:2,d.alongB=p<=-t?-2:p<t?-1:p-1<=-t?0:p-1<t?1:2,d},pointInsideRegion:function(e,r){for(var n=e[0],i=e[1],a=r[r.length-1][0],o=r[r.length-1][1],s=!1,l=0;l<r.length;l++){var u=r[l][0],c=r[l][1];c-i>t!=o-i>t&&(a-u)*(i-c)/(o-c)+u-n>t&&(s=!s),a=u,o=c}return s}};return e}();function lc(t,e,r){var n=ic.segments(t),i=ic.segments(e),a=r(ic.combine(n,i));return ic.polygon(a)}ic={buildLog:function(t){return!0===t?oc=Qu():!1===t&&(oc=!1),!1!==oc&&oc.list},epsilon:function(t){return sc.epsilon(t)},segments:function(t){var e=ec(!0,sc,oc);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:ec(!1,sc,oc).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:ac.union(t.combined,oc),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:ac.intersect(t.combined,oc),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:ac.difference(t.combined,oc),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:ac.differenceRev(t.combined,oc),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:ac.xor(t.combined,oc),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:rc(t.segments,sc,oc),inverted:t.inverted}},polygonFromGeoJSON:function(t){return $u.toPolygon(ic,t)},polygonToGeoJSON:function(t){return $u.fromPolygon(ic,sc,t)},union:function(t,e){return lc(t,e,ic.selectUnion)},intersect:function(t,e){return lc(t,e,ic.selectIntersect)},difference:function(t,e){return lc(t,e,ic.selectDifference)},differenceRev:function(t,e){return lc(t,e,ic.selectDifferenceRev)},xor:function(t,e){return lc(t,e,ic.selectXor)}},\"object\"==typeof window&&(window.PolyBool=ic);var uc=ic,cc={},hc=Vt.dot,fc=t.BADNUM,pc=cc={};pc.tester=function(t){if(Array.isArray(t[0][0]))return pc.multitester(t);var e,r=t.slice(),n=r[0][0],i=n,a=r[0][1],o=a;for(r.push(r[0]),e=1;e<r.length;e++)n=Math.min(n,r[e][0]),i=Math.max(i,r[e][0]),a=Math.min(a,r[e][1]),o=Math.max(o,r[e][1]);var s,l=!1;5===r.length&&(r[0][0]===r[1][0]?r[2][0]===r[3][0]&&r[0][1]===r[3][1]&&r[1][1]===r[2][1]&&(l=!0,s=function(t){return t[0]===r[0][0]}):r[0][1]===r[1][1]&&r[2][1]===r[3][1]&&r[0][0]===r[3][0]&&r[1][0]===r[2][0]&&(l=!0,s=function(t){return t[1]===r[0][1]}));var u=!0,c=r[0];for(e=1;e<r.length;e++)if(c[0]!==r[e][0]||c[1]!==r[e][1]){u=!1;break}return{xmin:n,xmax:i,ymin:a,ymax:o,pts:r,contains:l?function(t,e){var r=t[0],l=t[1];return!(r===fc||r<n||r>i||l===fc||l<a||l>o||e&&s(t))}:function(t,e){var s=t[0],l=t[1];if(s===fc||s<n||s>i||l===fc||l<a||l>o)return!1;var u,c,h,f,p,d=r.length,g=r[0][0],v=r[0][1],m=0;for(u=1;u<d;u++)if(c=g,h=v,g=r[u][0],v=r[u][1],!(s<(f=Math.min(c,g))||s>Math.max(c,g)||l>Math.max(h,v)))if(l<Math.min(h,v))s!==f&&m++;else{if(l===(p=g===c?l:h+(s-c)*(v-h)/(g-c)))return 1!==u||!e;l<=p&&s!==f&&m++}return m%2==1},isRect:l,degenerate:u}},pc.multitester=function(t){for(var e=[],r=t[0][0][0],n=r,i=t[0][0][1],a=i,o=0;o<t.length;o++){var s=pc.tester(t[o]);s.subtract=t[o].subtract,e.push(s),r=Math.min(r,s.xmin),n=Math.max(n,s.xmax),i=Math.min(i,s.ymin),a=Math.max(a,s.ymax)}return{xmin:r,xmax:n,ymin:i,ymax:a,pts:[],contains:function(t,r){for(var n=!1,i=0;i<e.length;i++)e[i].contains(t,r)&&(n=!1===e[i].subtract);return n},isRect:!1,degenerate:!1}};var dc=pc.isSegmentBent=function(t,e,r,n){var i,a,o,s=t[e],l=[t[r][0]-s[0],t[r][1]-s[1]],u=hc(l,l),c=Math.sqrt(u),h=[-l[1]/c,l[0]/c];for(i=e+1;i<r;i++)if(a=[t[i][0]-s[0],t[i][1]-s[1]],(o=hc(a,l))<0||o>u||Math.abs(hc(a,h))>n)return!0;return!1};pc.filter=function(t,e){var r=[t[0]],n=0,i=0;function a(a){t.push(a);var o=r.length,s=n;r.splice(i+1);for(var l=s+1;l<t.length;l++)(l===t.length-1||dc(t,s,l+1,e))&&(r.push(t[l]),r.length<o-2&&(n=l,i=r.length-1),s=l)}t.length>1&&a(t.pop());return{addPt:a,raw:t,filtered:r}};var gc=Ya.makeEventData,vc=cc.filter,mc=cc.tester,yc=cc.multitester,xc=Te.MINSELECT;function bc(t){return t._id}var _c=function(t,e,r,n,i){var a,o,s,l,u=n.gd,c=u._fullLayout,h=c._zoomlayer,f=n.element.getBoundingClientRect(),p=n.plotinfo,d=p.xaxis._offset,g=p.yaxis._offset,v=e-f.left,m=r-f.top,y=v,x=m,b=\"M\"+v+\",\"+m,_=n.xaxes[0]._length,w=n.yaxes[0]._length,M=n.xaxes.map(bc),A=n.yaxes.map(bc),k=n.xaxes.concat(n.yaxes),T=t.altKey;(t.shiftKey||t.altKey)&&p.selection&&p.selection.polygons&&!n.polygons?(n.polygons=p.selection.polygons,n.mergedPolygons=p.selection.mergedPolygons):(!t.shiftKey&&!t.altKey||(t.shiftKey||t.altKey)&&!p.selection)&&(p.selection={},p.selection.polygons=n.polygons=[],p.selection.mergedPolygons=n.mergedPolygons=[]),\"lasso\"===i&&(a=vc([[v,m]],Te.BENDPX));var S=h.selectAll(\"path.select-outline-\"+p.id).data([1,2]);S.enter().append(\"path\").attr(\"class\",function(t){return\"select-outline select-outline-\"+t+\" select-outline-\"+p.id}).attr(\"transform\",\"translate(\"+d+\", \"+g+\")\").attr(\"d\",b+\"Z\");var E,C,L,z,P,I,D=h.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:Oe.background,stroke:Oe.defaultLine,\"stroke-width\":1}).attr(\"transform\",\"translate(\"+d+\", \"+g+\")\").attr(\"d\",\"M0,0Z\"),O=[],R=c._uid+Te.SELECTID,F=[];for(E=0;E<u.calcdata.length;E++)if(!0===(L=(C=u.calcdata[E])[0].trace).visible&&L._module&&L._module.selectPoints)if(n.subplot)L.subplot!==n.subplot&&L.geo!==n.subplot||O.push({selectPoints:L._module.selectPoints,style:L._module.style,cd:C,xaxis:n.xaxes[0],yaxis:n.yaxes[0]});else{if(-1===M.indexOf(L.xaxis))continue;if(-1===A.indexOf(L.yaxis))continue;O.push({selectPoints:L._module.selectPoints,style:L._module.style,cd:C,xaxis:ri.getFromId(u,L.xaxis),yaxis:ri.getFromId(u,L.yaxis)})}function B(t){var e=\"y\"===t._id.charAt(0)?1:0;return function(r){return t.p2d(r[e])}}function N(t,e){return t-e}I=p.fillRangeItems?p.fillRangeItems:\"select\"===i?function(t,e){var r=t.range={};for(E=0;E<k.length;E++){var n=k[E],i=n._id.charAt(0);r[n._id]=[n.p2d(e[i+\"min\"]),n.p2d(e[i+\"max\"])].sort(N)}}:function(t,e,r){var n=t.lassoPoints={};for(E=0;E<k.length;E++){var i=k[E];n[i._id]=r.filtered.map(B(i))}},n.moveFn=function(t,e){y=Math.max(0,Math.min(_,t+v)),x=Math.max(0,Math.min(w,e+m));var r=Math.abs(y-v),c=Math.abs(x-m);\"select\"===i?c<Math.min(.6*r,xc)?((l=[[v,0],[v,w],[y,w],[y,0]]).xmin=Math.min(v,y),l.xmax=Math.max(v,y),l.ymin=Math.min(0,w),l.ymax=Math.max(0,w),D.attr(\"d\",\"M\"+l.xmin+\",\"+(m-xc)+\"h-4v\"+2*xc+\"h4ZM\"+(l.xmax-1)+\",\"+(m-xc)+\"h4v\"+2*xc+\"h-4Z\")):r<Math.min(.6*c,xc)?((l=[[0,m],[0,x],[_,x],[_,m]]).xmin=Math.min(0,_),l.xmax=Math.max(0,_),l.ymin=Math.min(m,x),l.ymax=Math.max(m,x),D.attr(\"d\",\"M\"+(v-xc)+\",\"+l.ymin+\"v-4h\"+2*xc+\"v4ZM\"+(v-xc)+\",\"+(l.ymax-1)+\"v4h\"+2*xc+\"v-4Z\")):((l=[[v,m],[v,x],[y,x],[y,m]]).xmin=Math.min(v,y),l.xmax=Math.max(v,y),l.ymin=Math.min(m,x),l.ymax=Math.max(m,x),D.attr(\"d\",\"M0,0Z\")):\"lasso\"===i&&(a.addPt([y,x]),l=a.filtered),n.polygons&&n.polygons.length?(s=function(t,e,r){if(r)return uc.difference({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions;return uc.union({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions}(n.mergedPolygons,l,T),l.subtract=T,o=yc(n.polygons.concat([l]))):(s=[l],o=mc(l));var h=[];for(E=0;E<s.length;E++){var f=s[E];h.push(f.join(\"L\")+\"L\"+f[0])}S.attr(\"d\",\"M\"+h.join(\"M\")+\"Z\"),$t.throttle(R,Te.SELECTDELAY,function(){F=[];var t,e,r=[];for(E=0;E<O.length;E++)if(e=(z=O[E]).selectPoints(z,o),r.push(e),t=Mc(e,z),F.length)for(var i=0;i<t.length;i++)F.push(t[i]);else F=t;wc(u,O,P={points:F}),I(P,l,a),n.gd.emit(\"plotly_selecting\",P)})},n.clickFn=function(t,e){D.remove(),$t.done(R).then(function(){if($t.clear(R),2===t){for(S.remove(),E=0;E<O.length;E++)(z=O[E]).selectPoints(z,!1);wc(u,O),u.emit(\"plotly_deselect\",null)}else u.emit(\"plotly_selected\",void 0);yo.click(u,e)})},n.doneFn=function(){D.remove(),$t.done(R).then(function(){$t.clear(R),n.gd.emit(\"plotly_selected\",P),l&&n.polygons&&(l.subtract=T,n.polygons.push(l),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,s))})}};function wc(t,e,r){var n,i,a;if(r){var o=r.points||[];for(n=0;n<e.length;n++)(a=e[n].cd[0].trace).selectedpoints=[],a._input.selectedpoints=[];for(n=0;n<o.length;n++){var s=o[n],l=s.data,u=s.fullData;s.pointIndices?([].push.apply(l.selectedpoints,s.pointIndices),[].push.apply(u.selectedpoints,s.pointIndices)):(l.selectedpoints.push(s.pointIndex),u.selectedpoints.push(s.pointIndex))}}else for(n=0;n<e.length;n++)delete(a=e[n].cd[0].trace).selectedpoints,delete a._input.selectedpoints,e[n].cd[0].t&&e[n].cd[0].t.scene&&e[n].cd[0].t.scene.clearSelect();for(n=0;n<e.length;n++)(i=e[n]).style&&i.style(t,i.cd)}function Mc(t,e){if(Array.isArray(t))for(var r=e.cd,n=e.cd[0].trace,i=0;i<t.length;i++)t[i]=gc(t[i],n,r);return t}var Ac=function(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(!u.hasOwnProperty(e.type))return null;var i=u[e.type];return t.geo.stream(e,n(i)),i.result()}t.geo.project=function(t,e){var i=e.stream;if(!i)throw new Error(\"not yet supported\");return(t&&n.hasOwnProperty(t.type)?n[t.type]:r)(t,i)};var n={Feature:e,FeatureCollection:function(t,r){return{type:\"FeatureCollection\",features:t.features.map(function(t){return e(t,r)})}}},i=[],a=[],o={point:function(t,e){i.push([t,e])},result:function(){var t=i.length?i.length<2?{type:\"Point\",coordinates:i[0]}:{type:\"MultiPoint\",coordinates:i}:null;return i=[],t}},s={lineStart:c,point:function(t,e){i.push([t,e])},lineEnd:function(){i.length&&(a.push(i),i=[])},result:function(){var t=a.length?a.length<2?{type:\"LineString\",coordinates:a[0]}:{type:\"MultiLineString\",coordinates:a}:null;return a=[],t}},l={polygonStart:c,lineStart:c,point:function(t,e){i.push([t,e])},lineEnd:function(){var t=i.length;if(t){do{i.push(i[0].slice())}while(++t<4);a.push(i),i=[]}},polygonEnd:c,result:function(){if(!a.length)return null;var t=[],e=[];return a.forEach(function(r){!function(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}(r)?e.push(r):t.push([r])}),e.forEach(function(e){var r=e[0];t.some(function(t){if(function(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],p=h[1];c>n^p>n&&r<(f-u)*(n-c)/(p-c)+u&&(i=!i)}return i}(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}},u={Point:o,MultiPoint:o,LineString:s,MultiLineString:s,Polygon:l,MultiPolygon:l,Sphere:l};function c(){}var h=1e-6,f=h*h,p=Math.PI,d=p/2,g=(Math.sqrt(p),p/180),v=180/p;function m(t){return t>1?d:t<-1?-d:Math.asin(t)}function y(t){return t>1?0:t<-1?p:Math.acos(t)}var x=t.geo.projection,b=t.geo.projectionMutator;function _(t,e){var r=(2+d)*Math.sin(e);e/=2;for(var n=0,i=1/0;n<10&&Math.abs(i)>h;n++){var a=Math.cos(e);e-=i=(e+Math.sin(e)*(a+2)-r)/(2*a*(1+a))}return[2/Math.sqrt(p*(4+p))*t*(1+Math.cos(e)),2*Math.sqrt(p/(4+p))*Math.sin(e)]}t.geo.interrupt=function(e){var r,n=[[[[-p,0],[0,d],[p,0]]],[[[-p,0],[0,-d],[p,0]]]];function i(t,r){for(var i=r<0?-1:1,a=n[+(r<0)],o=0,s=a.length-1;o<s&&t>a[o][2][0];++o);var l=e(t-a[o][1][0],r);return l[0]+=e(a[o][1][0],i*r>i*a[o][0][1]?a[o][0][1]:r)[0],l}e.invert&&(i.invert=function(t,a){for(var o=r[+(a<0)],s=n[+(a<0)],u=0,c=o.length;u<c;++u){var h=o[u];if(h[0][0]<=t&&t<h[1][0]&&h[0][1]<=a&&a<h[1][1]){var f=e.invert(t-e(s[u][1][0],0)[0],a);return f[0]+=s[u][1][0],l(i(f[0],f[1]),[t,a])?f:null}}});var a=t.geo.projection(i),o=a.stream;function s(t,e){for(var r,n,i,a=-1,o=t.length,s=t[0],l=[];++a<o;){n=((r=t[a])[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 l(t,e){return Math.abs(t[0]-e[0])<h&&Math.abs(t[1]-e[1])<h}return a.stream=function(e){var r=a.rotate(),i=o(e),l=(a.rotate([0,0]),o(e));return a.rotate(r),i.sphere=function(){t.geo.stream(function(){for(var e=1e-6,r=[],i=0,a=n[0].length;i<a;++i){var o=n[0][i],l=180*o[0][0]/p,u=180*o[0][1]/p,c=180*o[1][1]/p,h=180*o[2][0]/p,f=180*o[2][1]/p;r.push(s([[l+e,u+e],[l+e,c-e],[h-e,c-e],[h-e,f+e]],30))}for(var i=n[1].length-1;i>=0;--i){var o=n[1][i],l=180*o[0][0]/p,u=180*o[0][1]/p,c=180*o[1][1]/p,h=180*o[2][0]/p,f=180*o[2][1]/p;r.push(s([[h-e,f-e],[h-e,c+e],[l+e,c+e],[l+e,u-e]],30))}return{type:\"Polygon\",coordinates:[t.merge(r)]}}(),l)},i},a.lobes=function(t){return arguments.length?(n=t.map(function(t){return t.map(function(t){return[[t[0][0]*p/180,t[0][1]*p/180],[t[1][0]*p/180,t[1][1]*p/180],[t[2][0]*p/180,t[2][1]*p/180]]})}),r=n.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]]})}),a):n.map(function(t){return t.map(function(t){return[[180*t[0][0]/p,180*t[0][1]/p],[180*t[1][0]/p,180*t[1][1]/p],[180*t[2][0]/p,180*t[2][1]/p]]})})},a},_.invert=function(t,e){var r=.5*e*Math.sqrt((4+p)/p),n=m(r),i=Math.cos(n);return[t/(2/Math.sqrt(p*(4+p))*(1+i)),m((n+r*(i+2))/(2+d))]},(t.geo.eckert4=function(){return x(_)}).raw=_;var w=t.geo.azimuthalEqualArea.raw;function M(t,e){if(arguments.length<2&&(e=t),1===e)return w;if(e===1/0)return A;function r(r,n){var i=w(r/e,n);return i[0]*=t,i}return r.invert=function(r,n){var i=w.invert(r/t,n);return i[0]*=e,i},r}function A(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function k(t,e){return[3*t/(2*p)*Math.sqrt(p*p/3-e*e),e]}function T(t,e){return[t,1.25*Math.log(Math.tan(p/4+.4*e))]}function S(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)>h&&--i>0);return e/2}}A.invert=function(t,e){var r=2*m(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=function(){var t=2,e=b(M),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=M,k.invert=function(t,e){return[2/3*p*t/Math.sqrt(p*p/3-e*e),e]},(t.geo.kavrayskiy7=function(){return x(k)}).raw=k,T.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*p]},(t.geo.miller=function(){return x(T)}).raw=T,S(p);var E=function(t,e,r){var n=S(r);function i(r,i){return[t*r*Math.cos(i=n(i)),e*Math.sin(i)]}return i.invert=function(n,i){var a=m(i/e);return[n/(t*Math.cos(a)),m((2*a+Math.sin(2*a))/r)]},i}(Math.SQRT2/d,Math.SQRT2,p);function C(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)))]}(t.geo.mollweide=function(){return x(E)}).raw=E,C.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)>h&&--i>0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return x(C)}).raw=C;var L=[[.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]];function z(t,e){var r,n=Math.min(18,36*Math.abs(e)/p),i=Math.floor(n),a=n-i,o=(r=L[i])[0],s=r[1],l=(r=L[++i])[0],u=r[1],c=(r=L[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 P(t,e){return[t*Math.cos(e),e]}function I(t,e){var r,n=Math.cos(e),i=(r=y(n*Math.cos(t/=2)))?r/Math.sin(r):1;return[2*n*Math.sin(t)*i,Math.sin(e)*i]}function D(t,e){var r=I(t,e);return[(r[0]+t/d)/2,(r[1]+e)/2]}L.forEach(function(t){t[1]*=1.0144}),z.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=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],u=l-o,c=l-2*s+o,h=2*(Math.abs(r)-s)/u,p=c/u,m=h*(1-p*h*(1-2*p*h));if(m>=0||1===a){n=(e>=0?5:-5)*(m+i);var y,x=50;do{m=(i=Math.min(18,Math.abs(n)/5))-(a=Math.floor(i)),o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],n-=(y=(e>=0?d:-d)*(s+m*(l-o)/2+m*m*(l-2*s+o)/2)-e)*v}while(Math.abs(y)>f&&--x>0);break}}while(--a>=0);var b=L[a][0],_=L[a+1][0],w=L[Math.min(19,a+2)][0];return[t/(_+m*(w-b)/2+m*m*(w-2*_+b)/2),n*g]},(t.geo.robinson=function(){return x(z)}).raw=z,P.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return x(P)}).raw=P,I.invert=function(t,e){if(!(t*t+4*e*e>p*p+h)){var r=t,n=e,i=25;do{var a,o=Math.sin(r),s=Math.sin(r/2),l=Math.cos(r/2),u=Math.sin(n),c=Math.cos(n),f=Math.sin(2*n),d=u*u,g=c*c,v=s*s,m=1-g*l*l,x=m?y(c*l)*Math.sqrt(a=1/m):a=0,b=2*x*c*s-t,_=x*u-e,w=a*(g*v+x*c*l*d),M=a*(.5*o*f-2*x*u*s),A=.25*a*(f*s-x*u*g*o),k=a*(d*l+x*v*c),T=M*A-k*w;if(!T)break;var S=(_*M-b*k)/T,E=(b*A-_*w)/T;r-=S,n-=E}while((Math.abs(S)>h||Math.abs(E)>h)&&--i>0);return[r,n]}},(t.geo.aitoff=function(){return x(I)}).raw=I,D.invert=function(t,e){var r=t,n=e,i=25;do{var a,o=Math.cos(n),s=Math.sin(n),l=Math.sin(2*n),u=s*s,c=o*o,f=Math.sin(r),p=Math.cos(r/2),g=Math.sin(r/2),v=g*g,m=1-c*p*p,x=m?y(o*p)*Math.sqrt(a=1/m):a=0,b=.5*(2*x*o*g+r/d)-t,_=.5*(x*s+n)-e,w=.5*a*(c*v+x*o*p*u)+.5/d,M=a*(f*l/4-x*s*g),A=.125*a*(l*g-x*s*c*f),k=.5*a*(u*p+x*v*o)+.5,T=M*A-k*w,S=(_*M-b*k)/T,E=(b*A-_*w)/T;r-=S,n-=E}while((Math.abs(S)>h||Math.abs(E)>h)&&--i>0);return[r,n]},(t.geo.winkel3=function(){return x(D)}).raw=D},kc=Math.PI/180,Tc=180/Math.PI,Sc={cursor:\"pointer\"},Ec={cursor:\"auto\"};var Cc=function(t,e){var r=t.projection;return(e._isScoped?Pc:e._isClipped?Dc:Ic)(t,r)};function Lc(t,r){return e.behavior.zoom().translate(r.translate()).scale(r.scale())}function zc(t,e,r){var n=t.id,i=t.graphDiv,a=i.layout[n],o=i._fullLayout[n],s={};function l(t,e){var r=ne.nestedProperty(o,t);r.get()!==e&&(r.set(e),ne.nestedProperty(a,t).set(e),s[n+\".\"+t]=e)}r(l),l(\"projection.scale\",e.scale()/t.fitScale),i.emit(\"plotly_relayout\",s)}function Pc(t,r){var n=Lc(0,r);function i(e){var n=r.invert(t.midPt);e(\"center.lon\",n[0]),e(\"center.lat\",n[1])}return n.on(\"zoomstart\",function(){e.select(this).style(Sc)}).on(\"zoom\",function(){r.scale(e.event.scale).translate(e.event.translate),t.render()}).on(\"zoomend\",function(){e.select(this).style(Ec),zc(t,r,i)}),n}function Ic(t,r){var n,i,a,o,s,l,u,c,h=Lc(0,r),f=2;function p(t){return r.invert(t)}function d(e){var n=r.rotate(),i=r.invert(t.midPt);e(\"projection.rotation.lon\",-n[0]),e(\"center.lon\",i[0]),e(\"center.lat\",i[1])}return h.on(\"zoomstart\",function(){e.select(this).style(Sc),n=e.mouse(this),i=r.rotate(),a=r.translate(),o=i,s=p(n)}).on(\"zoom\",function(){if(l=e.mouse(this),g=r(p(d=n)),Math.abs(g[0]-d[0])>f||Math.abs(g[1]-d[1])>f)return h.scale(r.scale()),void h.translate(r.translate());var d,g;r.scale(e.event.scale),r.translate([a[0],e.event.translate[1]]),s?p(l)&&(c=p(l),u=[o[0]+(c[0]-s[0]),i[1],i[2]],r.rotate(u),o=u):s=p(n=l),t.render()}).on(\"zoomend\",function(){e.select(this).style(Ec),zc(t,r,d)}),h}function Dc(t,r){var n,i={r:r.rotate(),k:r.scale()},a=Lc(0,r),o=function(t){var r=0,n=arguments.length,i=[];for(;++r<n;)i.push(arguments[r]);var a=e.dispatch.apply(null,i);return a.of=function(r,n){return function(i){var o;try{o=i.sourceEvent=e.event,i.target=t,e.event=i,a[i.type].apply(r,n)}finally{e.event=o}}},a}(a,\"zoomstart\",\"zoom\",\"zoomend\"),s=0,l=a.on;function u(t){var e=r.rotate();t(\"projection.rotation.lon\",-e[0]),t(\"projection.rotation.lat\",-e[1])}return a.on(\"zoomstart\",function(){e.select(this).style(Sc);var t,u,c,h,f,p,d,g,v,m,y,x=e.mouse(this),b=r.rotate(),_=b,w=r.translate(),M=(u=.5*(t=b)[0]*kc,c=.5*t[1]*kc,h=.5*t[2]*kc,f=Math.sin(u),p=Math.cos(u),d=Math.sin(c),g=Math.cos(c),v=Math.sin(h),m=Math.cos(h),[p*g*m+f*d*v,f*g*m-p*d*v,p*d*m+f*g*v,p*g*v-f*d*m]);n=Oc(r,x),l.call(a,\"zoom\",function(){var t,a,s,l,u,c,h,f,p,d,g=e.mouse(this);if(r.scale(i.k=e.event.scale),n){if(Oc(r,g)){r.rotate(b).translate(w);var v=Oc(r,g),m=function(t,e){if(!t||!e)return;var r=function(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]]}(t,e),n=Math.sqrt(Nc(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,Nc(t,e)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}(n,v),y=function(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*Tc,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*Tc,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*Tc]}((a=m,s=(t=M)[0],l=t[1],u=t[2],c=t[3],h=a[0],f=a[1],p=a[2],d=a[3],[s*h-l*f-u*p-c*d,s*f+l*h+u*d-c*p,s*p-l*d+u*h+c*f,s*d+l*p-u*f+c*h])),A=i.r=function(t,e,r){var n=Bc(e,2,t[0]);n=Bc(n=Bc(n,1,t[1]),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)*Tc,p=Math.sqrt(o*o+s*s);Math.abs(c)>p?(a=(c>0?90:-90)-f,i=0):(a=Math.asin(c/p)*Tc-f,i=Math.sqrt(p*p-c*c));var d=180-a-2*f,g=(Math.atan2(h,u)-Math.atan2(l,i))*Tc,v=(Math.atan2(h,u)-Math.atan2(l,-i))*Tc,m=Rc(r[0],r[1],a,g),y=Rc(r[0],r[1],d,v);return m<=y?[a,g,r[2]]:[d,v,r[2]]}(y,n,_);isFinite(A[0])&&isFinite(A[1])&&isFinite(A[2])||(A=_),r.rotate(A),_=A}}else n=Oc(r,x=g);o.of(this,arguments)({type:\"zoom\"})}),y=o.of(this,arguments),s++||y({type:\"zoomstart\"})}).on(\"zoomend\",function(){var n;e.select(this).style(Ec),l.call(a,\"zoom\",null),n=o.of(this,arguments),--s||n({type:\"zoomend\"}),zc(t,r,u)}).on(\"zoom.redraw\",function(){t.render()}),e.rebind(a,o,\"on\")}function Oc(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*kc,r=t[1]*kc,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function Rc(t,e,r,n){var i=Fc(r-t),a=Fc(n-e);return Math.sqrt(i*i+a*a)}function Fc(t){return(t%360+540)%360-180}function Bc(t,e,r){var n=r*kc,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 Nc(t,e){for(var r=0,n=0,i=t.length;n<i;++n)r+=t[n]*e[n];return r}var jc=Wu.feature;function Vc(t){this.id=t.id,this.graphDiv=t.graphDiv,this.container=t.container,this.topojsonURL=t.topojsonURL,this.isStatic=t.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}Ac(e);var Uc=Vc.prototype;Uc.plot=function(t,e,r){var n=this,i=e[this.id],a=Xu.getTopojsonName(i);null===n.topojson||a!==n.topojsonName?(n.topojsonName=a,void 0===PlotlyGeoAssets.topojson[n.topojsonName]?r.push(n.fetchTopojson().then(function(r){PlotlyGeoAssets.topojson[n.topojsonName]=r,n.topojson=r,n.update(t,e)})):(n.topojson=PlotlyGeoAssets.topojson[n.topojsonName],n.update(t,e))):n.update(t,e)},Uc.fetchTopojson=function(){var t=Xu.getTopojsonPath(this.topojsonURL,this.topojsonName);return new Promise(function(r,n){e.json(t,function(e,i){if(e)return 404===e.status?n(new Error([\"plotly.js could not find topojson file at\",t,\".\",\"Make sure the *topojsonURL* plot config option\",\"is set properly.\"].join(\" \"))):n(new Error([\"unexpected error while fetching topojson file at\",t].join(\" \")));r(i)})})},Uc.update=function(t,e){var r=e[this.id];if(!this.updateProjection(e,r)){this.hasChoropleth=!1;for(var n=0;n<t.length;n++)if(\"choropleth\"===t[n][0].trace.type){this.hasChoropleth=!0;break}this.viewInitial||this.saveViewInitial(r),this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),_n.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var i=this.layers.frontplot.select(\".scatterlayer\");this.dataPoints.point=i.selectAll(\".point\"),this.dataPoints.text=i.selectAll(\"text\"),this.dataPaths.line=i.selectAll(\".js-line\");var a=this.layers.backplot.select(\".choroplethlayer\");this.dataPaths.choropleth=a.selectAll(\"path\"),this.render()}},Uc.updateProjection=function(t,r){var n=t._size,i=r.domain,a=r.projection,o=a.rotation||{},s=r.center||{},l=this.projection=function(t){for(var r=t.projection.type,n=e.geo[Yu.projNames[r]](),i=t._isClipped?Yu.lonaxisSpan[r]/2:null,a=[\"center\",\"rotate\",\"parallels\",\"clipExtent\"],o=function(t){return t?n:[]},s=0;s<a.length;s++){var l=a[s];\"function\"!=typeof n[l]&&(n[l]=o)}n.isLonLatOverEdges=function(t){if(null===n(t))return!0;if(i){var r=n.rotate();return e.geo.distance(t,[-r[0],-r[1]])>i*Math.PI/180}return!1},n.getPath=function(){return e.geo.path().projection(n)},n.getBounds=function(t){return n.getPath().bounds(t)},n.fitExtent=function(t,e){var r=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=n.clipExtent&&n.clipExtent();n.scale(150).translate([0,0]),a&&n.clipExtent(null);var o=n.getBounds(e),s=Math.min(r/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),l=+t[0][0]+(r-s*(o[1][0]+o[0][0]))/2,u=+t[0][1]+(i-s*(o[1][1]+o[0][1]))/2;return a&&n.clipExtent(a),n.scale(150*s).translate([l,u])},n.precision(Yu.precision),i&&n.clipAngle(i-Yu.clipPad);return n}(r);l.center([s.lon-o.lon,s.lat-o.lat]).rotate([-o.lon,-o.lat,o.roll]).parallels(a.parallels);var u=[[n.l+n.w*i.x[0],n.t+n.h*(1-i.y[1])],[n.l+n.w*i.x[1],n.t+n.h*(1-i.y[0])]],c=r.lonaxis,h=r.lataxis,f=function(t,e){var r=Yu.clipPad,n=t[0]+r,i=t[1]-r,a=e[0]+r,o=e[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:\"Polygon\",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}(c.range,h.range);l.fitExtent(u,f);var p=this.bounds=l.getBounds(f),d=this.fitScale=l.scale(),g=l.translate();if(!isFinite(p[0][0])||!isFinite(p[0][1])||!isFinite(p[1][0])||!isFinite(p[1][1])||isNaN(g[0])||isNaN(g[0])){for(var v=this.graphDiv,m=[\"projection.rotation\",\"center\",\"lonaxis.range\",\"lataxis.range\"],y=\"Invalid geo settings, relayout'ing to default view.\",x={},b=0;b<m.length;b++)x[this.id+\".\"+m[b]]=null;return this.viewInitial=null,ne.warn(y),v._promises.push(P.call(\"relayout\",v,x)),y}var _=this.midPt=[(p[0][0]+p[1][0])/2,(p[0][1]+p[1][1])/2];if(l.scale(a.scale*d).translate([g[0]+(_[0]-g[0]),g[1]+(_[1]-g[1])]).clipExtent(p),r._isAlbersUsa){var w=l([s.lon,s.lat]),M=l.translate();l.translate([M[0]-(w[0]-M[0]),M[1]-(w[1]-M[1])])}},Uc.updateBaseLayers=function(t,r){var n=this,i=n.topojson,a=n.layers,o=n.basePaths;function s(t){return\"lonaxis\"===t||\"lataxis\"===t}function l(t){return Boolean(Yu.lineLayers[t])}function u(t){return Boolean(Yu.fillLayers[t])}var c=(this.hasChoropleth?Yu.layersForChoropleth:Yu.layers).filter(function(t){return l(t)||u(t)?r[\"show\"+t]:!s(t)||r[t].showgrid}),h=n.framework.selectAll(\".layer\").data(c,String);h.exit().each(function(t){delete a[t],delete o[t],e.select(this).remove()}),h.enter().append(\"g\").attr(\"class\",function(t){return\"layer \"+t}).each(function(t){var r=a[t]=e.select(this);\"bg\"===t?n.bgRect=r.append(\"rect\").style(\"pointer-events\",\"all\"):s(t)?o[t]=r.append(\"path\").style(\"fill\",\"none\"):\"backplot\"===t?r.append(\"g\").classed(\"choroplethlayer\",!0):\"frontplot\"===t?r.append(\"g\").classed(\"scatterlayer\",!0):l(t)?o[t]=r.append(\"path\").style(\"fill\",\"none\").style(\"stroke-miterlimit\",2):u(t)&&(o[t]=r.append(\"path\").style(\"stroke\",\"none\"))}),h.order(),h.each(function(t){var n=o[t],a=Yu.layerNameToAdjective[t];\"frame\"===t?n.datum(Yu.sphereSVG):l(t)||u(t)?n.datum(jc(i,i.objects[t])):s(t)&&n.datum(function(t,r){var n=r[t].dtick,i=Yu.scopeDefaults[r.scope],a=i.lonaxisRange,o=i.lataxisRange,s=\"lonaxis\"===t?[n]:[0,n];return e.geo.graticule().extent([[a[0],o[0]],[a[1],o[1]]]).step(s)}(t,r)).call(Oe.stroke,r[t].gridcolor).call(Sr.dashLine,\"\",r[t].gridwidth),l(t)?n.call(Oe.stroke,r[a+\"color\"]).call(Sr.dashLine,\"\",r[a+\"width\"]):u(t)&&n.call(Oe.fill,r[a+\"color\"])})},Uc.updateDims=function(t,e){var r=this.bounds,n=(e.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,o=r[1][0]-i+n,s=r[1][1]-a+n;Sr.setRect(this.clipRect,i,a,o,s),this.bgRect.call(Sr.setRect,i,a,o,s).call(Oe.fill,e.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=s},Uc.updateFx=function(t,r){var n=this,i=n.graphDiv,a=n.bgRect,o=t.dragmode;if(!n.isStatic){if(\"pan\"===o)a.node().onmousedown=null,a.call(Cc(n,r)),a.on(\"dblclick.zoom\",function(){var t=n.viewInitial,e={};for(var r in t)e[n.id+\".\"+r]=t[r];P.call(\"relayout\",i,e),i.emit(\"plotly_doubleclick\",null)});else if(\"select\"===o||\"lasso\"===o){var s;a.on(\".zoom\",null),\"select\"===o?s=function(t,e){(t.range={})[n.id]=[u([e.xmin,e.ymin]),u([e.xmax,e.ymax])]}:\"lasso\"===o&&(s=function(t,e,r){(t.lassoPoints={})[n.id]=r.filtered.map(u)});var l={element:n.bgRect.node(),gd:i,plotinfo:{xaxis:n.xaxis,yaxis:n.yaxis,fillRangeItems:s},xaxes:[n.xaxis],yaxes:[n.yaxis],subplot:n.id,clickFn:function(e){2===e&&t._zoomlayer.selectAll(\".select-outline\").remove()},prepFn:function(t,e,r){_c(t,e,r,l,o)}};Ua.init(l)}a.on(\"mousemove\",function(){var t=n.projection.invert(e.mouse(this));if(!t||isNaN(t[0])||isNaN(t[1]))return Ua.unhover(i,e.event);n.xaxis.p2c=function(){return t[0]},n.yaxis.p2c=function(){return t[1]},yo.hover(i,e.event,n.id)}),a.on(\"mouseout\",function(){Ua.unhover(i,e.event)}),a.on(\"click\",function(){yo.click(i,e.event)})}function u(t){return n.projection.invert([t[0]+n.xaxis._offset,t[1]+n.yaxis._offset])}},Uc.makeFramework=function(){var t=this,r=t.graphDiv._fullLayout,n=\"clip\"+r._uid+t.id;t.clipDef=r._clips.append(\"clipPath\").attr(\"id\",n),t.clipRect=t.clipDef.append(\"rect\"),t.framework=e.select(t.container).append(\"g\").attr(\"class\",\"geo \"+t.id).call(Sr.setClipUrl,n),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:\"x\",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:\"y\",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},ri.setConvert(t.mockAxis,r)},Uc.saveViewInitial=function(t){var e=t.center||{},r=t.projection,n=r.rotation||{};t._isScoped?this.viewInitial={\"center.lon\":e.lon,\"center.lat\":e.lat,\"projection.scale\":r.scale}:t._isClipped?this.viewInitial={\"projection.scale\":r.scale,\"projection.rotation.lon\":n.lon,\"projection.rotation.lat\":n.lat}:this.viewInitial={\"center.lon\":e.lon,\"center.lat\":e.lat,\"projection.scale\":r.scale,\"projection.rotation.lon\":n.lon}},Uc.render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?\"translate(\"+r[0]+\",\"+r[1]+\")\":null}function i(t){return e.isLonLatOverEdges(t.lonlat)?\"none\":null}for(t in this.basePaths)this.basePaths[t].attr(\"d\",r);for(t in this.dataPaths)this.dataPaths[t].attr(\"d\",function(t){return r(t.geojson)});for(t in this.dataPoints)this.dataPoints[t].attr(\"display\",i).attr(\"transform\",n)};var qc={},Hc=m.extendFlat;qc.attributes=function(t,e){t=t||{},e=e||{};var r={valType:\"info_array\",editType:t.editType,items:[{valType:\"number\",min:0,max:1,editType:t.editType},{valType:\"number\",min:0,max:1,editType:t.editType}],dflt:[0,1]},n=(t.name&&t.name,t.trace,e.description&&e.description,{x:Hc({},r,{}),y:Hc({},r,{}),editType:t.editType});return t.noGridCell||(n.row={valType:\"integer\",min:0,dflt:0,editType:t.editType},n.column={valType:\"integer\",min:0,dflt:0,editType:t.editType}),n},qc.defaults=function(t,e,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=e.grid;if(o){var s=r(\"domain.column\");void 0!==s&&(s<o.columns?i=o._domains.x[s]:delete t.domain.column);var l=r(\"domain.row\");void 0!==l&&(l<o.rows?a=o._domains.y[l]:delete t.domain.row)}r(\"domain.x\",i),r(\"domain.y\",a)};var Gc=qc.attributes,Wc=ye.overrideAll,Yc={range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},showgrid:{valType:\"boolean\",dflt:!1},tick0:{valType:\"number\"},dtick:{valType:\"number\"},gridcolor:{valType:\"color\",dflt:C.lightLine},gridwidth:{valType:\"number\",min:0,dflt:1}},Xc=Wc({domain:Gc({name:\"geo\"},{}),resolution:{valType:\"enumerated\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\"enumerated\",values:Object.keys(Yu.scopeDefaults),dflt:\"world\"},projection:{type:{valType:\"enumerated\",values:Object.keys(Yu.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,dflt:1}},center:{lon:{valType:\"number\"},lat:{valType:\"number\"}},showcoastlines:{valType:\"boolean\"},coastlinecolor:{valType:\"color\",dflt:C.defaultLine},coastlinewidth:{valType:\"number\",min:0,dflt:1},showland:{valType:\"boolean\",dflt:!1},landcolor:{valType:\"color\",dflt:Yu.landColor},showocean:{valType:\"boolean\",dflt:!1},oceancolor:{valType:\"color\",dflt:Yu.waterColor},showlakes:{valType:\"boolean\",dflt:!1},lakecolor:{valType:\"color\",dflt:Yu.waterColor},showrivers:{valType:\"boolean\",dflt:!1},rivercolor:{valType:\"color\",dflt:Yu.waterColor},riverwidth:{valType:\"number\",min:0,dflt:1},showcountries:{valType:\"boolean\"},countrycolor:{valType:\"color\",dflt:C.defaultLine},countrywidth:{valType:\"number\",min:0,dflt:1},showsubunits:{valType:\"boolean\"},subunitcolor:{valType:\"color\",dflt:C.defaultLine},subunitwidth:{valType:\"number\",min:0,dflt:1},showframe:{valType:\"boolean\"},framecolor:{valType:\"color\",dflt:C.defaultLine},framewidth:{valType:\"number\",min:0,dflt:1},bgcolor:{valType:\"color\",dflt:C.background},lonaxis:Yc,lataxis:Yc},\"plot\",\"from-root\"),Zc=qc.defaults,Jc=function(t,e,r,n){var i,a,o=n.type,s=n.attributes,l=n.handleDefaults,u=n.partition||\"x\",c=e._subplots[o],h=c.length;function f(t,e){return ne.coerce(i,a,s,t,e)}for(var p=0;p<h;p++){var d=c[p];i=t[d]?t[d]:t[d]={},e[d]=a={};var g={};g[u]=[p/h,(p+1)/h],Zc(a,e,f,g),n.id=d,l(i,a,f,n)}},Kc=Yu.axesNames;function Qc(t,e,r){var n=r(\"resolution\"),i=r(\"scope\"),a=Yu.scopeDefaults[i],o=r(\"projection.type\",a.projType),s=e._isAlbersUsa=\"albers usa\"===o;s&&(i=e.scope=\"usa\");var l=e._isScoped=\"world\"!==i,u=e._isConic=-1!==o.indexOf(\"conic\");e._isClipped=!!Yu.lonaxisSpan[o];for(var c=0;c<Kc.length;c++){var h,f=Kc[c],p=[30,10][c];if(l)h=a[f+\"Range\"];else{var d=Yu[f+\"Span\"],g=(d[o]||d[\"*\"])/2,v=r(\"projection.rotation.\"+f.substr(0,3),a.projRotate[c]);h=[v-g,v+g]}r(f+\".tick0\",r(f+\".range\",h)[0]),r(f+\".dtick\",p),r(f+\".showgrid\")&&(r(f+\".gridcolor\"),r(f+\".gridwidth\"))}var m=e.lonaxis.range,y=e.lataxis.range,x=m[0],b=m[1];x>0&&b<0&&(b+=360);var _,w,M,A=(x+b)/2;if(!s){var k=l?a.projRotate:[A,0,0];_=r(\"projection.rotation.lon\",k[0]),r(\"projection.rotation.lat\",k[1]),r(\"projection.rotation.roll\",k[2]),r(\"showcoastlines\",!l)&&(r(\"coastlinecolor\"),r(\"coastlinewidth\")),r(\"showocean\")&&r(\"oceancolor\")}(s?(w=-96.6,M=38.7):(w=l?A:_,M=(y[0]+y[1])/2),r(\"center.lon\",w),r(\"center.lat\",M),u)&&r(\"projection.parallels\",a.projParallels||[0,60]);r(\"projection.scale\"),r(\"showland\")&&r(\"landcolor\"),r(\"showlakes\")&&r(\"lakecolor\"),r(\"showrivers\")&&(r(\"rivercolor\"),r(\"riverwidth\")),r(\"showcountries\",l&&\"usa\"!==i)&&(r(\"countrycolor\"),r(\"countrywidth\")),(\"usa\"===i||\"north america\"===i&&50===n)&&(r(\"showsubunits\",!0),r(\"subunitcolor\"),r(\"subunitwidth\")),l||r(\"showframe\",!0)&&(r(\"framecolor\"),r(\"framewidth\")),r(\"bgcolor\")}var $c={},th=sa.getSubplotCalcData,eh=ne.counterRegex,rh=\"geo\";$c.name=rh,$c.attr=rh,$c.idRoot=rh,$c.idRegex=$c.attrRegex=eh(rh),$c.attributes={geo:{valType:\"subplotid\",dflt:\"geo\",editType:\"calc\"}},$c.layoutAttributes=Xc,$c.supplyLayoutDefaults=function(t,e,r){Jc(t,e,0,{type:\"geo\",attributes:Xc,handleDefaults:Qc,partition:\"y\"})},$c.plot=function(t){var e=t._fullLayout,r=t.calcdata,n=e._subplots.geo;void 0===window.PlotlyGeoAssets&&(window.PlotlyGeoAssets={topojson:{}});for(var i=0;i<n.length;i++){var a=n[i],o=th(r,rh,a),s=e[a]._subplot;s||(s=new Vc({id:a,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL,staticPlot:t._context.staticPlot}),e[a]._subplot=s),s.plot(o,e,t._promises)}},$c.clean=function(t,e,r,n){for(var i=n._subplots.geo||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.framework.remove(),s.clipDef.remove())}},$c.updateFx=function(t){for(var e=t._subplots.geo,r=0;r<e.length;r++){var n=t[e[r]];n._subplot.updateFx(t,n)}};var nh=Ae.dash,ih=m.extendFlat,ah=ye.overrideAll,oh=Zr.marker,sh=Zr.line,lh=oh.line,uh=ah({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:ih({},Zr.mode,{dflt:\"markers\"}),text:ih({},Zr.text,{}),hovertext:ih({},Zr.hovertext,{}),textfont:Zr.textfont,textposition:Zr.textposition,line:{color:sh.color,width:sh.width,dash:nh},connectgaps:Zr.connectgaps,marker:ih({symbol:oh.symbol,opacity:oh.opacity,size:oh.size,sizeref:oh.sizeref,sizemin:oh.sizemin,sizemode:oh.sizemode,showscale:oh.showscale,colorbar:oh.colorbar,line:ih({width:lh.width},De()),gradient:oh.gradient},De()),fill:{valType:\"enumerated\",values:[\"none\",\"toself\"],dflt:\"none\"},fillcolor:Zr.fillcolor,selected:Zr.selected,unselected:Zr.unselected,hoverinfo:ih({},E.hoverinfo,{flags:[\"lon\",\"lat\",\"location\",\"text\",\"name\"]})},\"calc\",\"nested\"),ch=m.extendFlat,hh=m.extendDeepAll,fh=uh.marker.line,ph=ch({locations:{valType:\"data_array\",editType:\"calc\"},locationmode:uh.locationmode,z:{valType:\"data_array\",editType:\"calc\"},text:ch({},uh.text,{}),marker:{line:{color:fh.color,width:ch({},fh.width,{dflt:1}),editType:\"calc\"},opacity:{valType:\"number\",arrayOk:!0,min:0,max:1,dflt:1,editType:\"style\"},editType:\"calc\"},selected:{marker:{opacity:uh.selected.marker.opacity,editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:uh.unselected.marker.opacity,editType:\"plot\"},editType:\"plot\"},hoverinfo:ch({},E.hoverinfo,{editType:\"calc\",flags:[\"location\",\"z\",\"text\",\"name\"]})},hh({},Pe,{zmax:{editType:\"calc\"},zmin:{editType:\"calc\"}}),{colorbar:ze}),dh=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;ne.mergeArray(e.text,t,\"tx\"),ne.mergeArray(e.hovertext,t,\"htx\"),ne.mergeArray(e.customdata,t,\"data\"),ne.mergeArray(e.textposition,t,\"tp\"),e.textfont&&(ne.mergeArray(e.textfont.size,t,\"ts\"),ne.mergeArray(e.textfont.color,t,\"tc\"),ne.mergeArray(e.textfont.family,t,\"tf\"));var n=e.marker;if(n){ne.mergeArray(n.size,t,\"ms\"),ne.mergeArray(n.opacity,t,\"mo\"),ne.mergeArray(n.symbol,t,\"mx\"),ne.mergeArray(n.color,t,\"mc\");var i=n.line;n.line&&(ne.mergeArray(i.color,t,\"mlc\"),ne.mergeArray(i.width,t,\"mlw\"));var a=n.gradient;a&&\"none\"!==a.type&&(ne.mergeArray(a.type,t,\"mgt\"),ne.mergeArray(a.color,t,\"mgc\"))}},gh=t.BADNUM;var vh={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\"},mh={},yh=Object.keys(vh),xh={\"ISO-3\":ne.identity,\"USA-states\":ne.identity,\"country names\":function(t){for(var e=0;e<yh.length;e++){var r=yh[e],n=new RegExp(vh[r]);if(n.test(t.trim().toLowerCase()))return r}return ne.log(\"Unrecognized country name: \"+t+\".\"),!1}};mh.locationToFeature=function(t,e,r){if(!e||\"string\"!=typeof e)return!1;var n=function(t,e){return(0,xh[t])(e)}(t,e);if(n){for(var i=0;i<r.length;i++){var a=r[i];if(a.id===n)return a}ne.log([\"Location with id\",n,\"does not have a matching topojson feature at this resolution.\"].join(\" \"))}return!1};var bh=function(t,r){r&&function(t,r){var n=r[0].trace,i=r[0].node3.selectAll(\".choroplethlocation\"),a=n.marker||{},o=a.line||{},s=Je.makeColorScaleFunc(Je.extractScale(n.colorscale,n.zmin,n.zmax));i.each(function(t){e.select(this).attr(\"fill\",s(t.z)).call(Oe.stroke,t.mlc||o.color).call(Sr.dashLine,\"\",t.mlw||o.width||0).style(\"opacity\",a.opacity)}),Sr.selectedPointStyle(i,n)}(0,r)};var _h=Xu.getTopojsonFeatures,wh=mh.locationToFeature;function Mh(t,e){for(var r=t[0].trace,n=t.length,i=_h(r,e),a=0;a<n;a++){var o=t[a],s=wh(r.locationmode,o.loc,i);s?(o.geojson=s,o.ct=s.properties.ct,o.index=a,o._polygons=Ah(s)):o.geojson=null}}function Ah(t){var e,r,n,i,a=t.geometry,o=a.coordinates,s=t.id,l=[];function u(t){for(var e=0;e<t.length-1;e++)if(t[e][0]>0&&t[e+1][0]<0)return e;return null}switch(e=\"RUS\"===s||\"FJI\"===s?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),i=0;i<t.length;i++)e[i]=[t[i][0]<0?t[i][0]+360:t[i][0],t[i][1]];l.push(cc.tester(e))}:\"ATA\"===s?function(t){var e=u(t);if(null===e)return l.push(cc.tester(t));var r=new Array(t.length+1),n=0;for(i=0;i<t.length;i++)i>e?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var a=cc.tester(r);a.pts.pop(),l.push(a)}:function(t){l.push(cc.tester(t))},a.type){case\"MultiPolygon\":for(r=0;r<o.length;r++)for(n=0;n<o[r].length;n++)e(o[r][n]);break;case\"Polygon\":for(r=0;r<o.length;r++)e(o[r])}return l}var kh=function(t,e){var n=e[0].trace,i=\"cb\"+n.uid,a=n.zmin,o=n.zmax;if(r(a)||(a=ne.aggNums(Math.min,null,n.z)),r(o)||(o=ne.aggNums(Math.max,null,n.z)),t._fullLayout._infolayer.selectAll(\".\"+i).remove(),n.showscale){var s=e[0].t.cb=ns(t,i),l=Je.makeColorScaleFunc(Je.extractScale(n.colorscale,a,o),{noNumericCheck:!0});s.fillcolor(l).filllevels({start:a,end:o,size:(o-a)/254}).options(n.colorbar)()}else _n.autoMargin(t,i)},Th={};Th.attributes=ph,Th.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,ph,r,n)}var a,o=i(\"locations\");if(o&&(a=o.length),o&&a){var s=i(\"z\");ne.isArrayOrTypedArray(s)?(s.length>a&&(e.z=s.slice(0,a)),i(\"locationmode\"),i(\"text\"),i(\"marker.line.color\"),i(\"marker.line.width\"),i(\"marker.opacity\"),Ye(t,e,n,i,{prefix:\"\",cLetter:\"z\"}),ne.coerceSelectionMarkerOpacity(e,i)):e.visible=!1}else e.visible=!1},Th.colorbar=kh,Th.calc=function(t,e){for(var n=e.locations.length,i=new Array(n),a=0;a<n;a++){var o=i[a]={},s=e.locations[a],l=e.z[a];o.loc=\"string\"==typeof s?s:null,o.z=r(l)?l:gh}return dh(i,e),Ve(e,e.z,\"\",\"z\"),Ma(i,e),i},Th.plot=function(t,r,n){for(var i=0;i<n.length;i++)Mh(n[i],r.topojson);var a=r.layers.backplot.select(\".choroplethlayer\").selectAll(\"g.trace.choropleth\").data(n,function(t){return t[0].trace.uid});a.enter().append(\"g\").attr(\"class\",\"trace choropleth\"),a.exit().remove(),a.each(function(t){var r=(t[0].node3=e.select(this)).selectAll(\"path.choroplethlocation\").data(ne.identity);r.enter().append(\"path\").classed(\"choroplethlocation\",!0),r.exit().remove(),bh(0,t)})},Th.style=bh,Th.hoverPoints=function(t,e,r){var n,i,a,o,s=t.cd,l=s[0].trace,u=t.subplot;for(i=0;i<s.length;i++)if(o=!1,(n=s[i])._polygons){for(a=0;a<n._polygons.length;a++)n._polygons[a].contains([e,r])&&(o=!o),n._polygons[a].contains([e+360,r])&&(o=!o);if(o)break}if(o&&n)return t.x0=t.x1=t.xa.c2p(n.ct),t.y0=t.y1=t.ya.c2p(n.ct),t.index=n.index,t.location=n.loc,t.z=n.z,function(t,e,r,n){var i,a=r.hi||e.hoverinfo,o=\"all\"===a?ph.hoverinfo.flags:a.split(\"+\"),s=-1!==o.indexOf(\"name\"),l=-1!==o.indexOf(\"location\"),u=-1!==o.indexOf(\"z\"),c=-1!==o.indexOf(\"text\"),h=[];!s&&l?t.nameOverride=r.loc:(s&&(t.nameOverride=e.name),l&&h.push(r.loc)),u&&h.push((i=r.z,ri.tickText(n,n.c2l(i),\"hover\").text)),c&&xo(r,e,h),t.extraText=h.join(\"<br>\")}(t,l,n,u.mockAxis),[t]},Th.eventData=function(t,e){return t.location=e.location,t.z=e.z,t},Th.selectPoints=function(t,e){var r,n,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)(i=(n=s[r]).ct)&&(a=l.c2p(i),o=u.c2p(i),e.contains([a,o])?(c.push({pointNumber:r,lon:i[0],lat:i[1]}),n.selected=1):n.selected=0);return c},Th.moduleType=\"trace\",Th.name=\"choropleth\",Th.basePlotModule=$c,Th.categories=[\"geo\",\"noOpacity\"],Th.meta={};var Sh=Th,Eh={COMPARISON_OPS:[\"=\",\"!=\",\"<\",\">=\",\">\",\"<=\"],COMPARISON_OPS2:[\"=\",\"<\",\">=\",\">\",\"<=\"],INTERVAL_OPS:[\"[]\",\"()\",\"[)\",\"(]\",\"][\",\")(\",\"](\",\")[\"],SET_OPS:[\"{}\",\"}{\"],CONSTRAINT_REDUCTION:{\"=\":\"=\",\"<\":\"<\",\"<=\":\"<\",\">\":\">\",\">=\":\">\",\"[]\":\"[]\",\"()\":\"[]\",\"[)\":\"[]\",\"(]\":\"[]\",\"][\":\"][\",\")(\":\"][\",\"](\":\"][\",\")[\":\"][\"}},Ch=m.extendFlat,Lh=Ch({},{z:{valType:\"data_array\",editType:\"calc\"},x:Ch({},Zr.x,{impliedEdits:{xtype:\"array\"}}),x0:Ch({},Zr.x0,{impliedEdits:{xtype:\"scaled\"}}),dx:Ch({},Zr.dx,{impliedEdits:{xtype:\"scaled\"}}),y:Ch({},Zr.y,{impliedEdits:{ytype:\"array\"}}),y0:Ch({},Zr.y0,{impliedEdits:{ytype:\"scaled\"}}),dy:Ch({},Zr.dy,{impliedEdits:{ytype:\"scaled\"}}),text:{valType:\"data_array\",editType:\"calc\"},transpose:{valType:\"boolean\",dflt:!1,editType:\"calc\"},xtype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},ytype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},zsmooth:{valType:\"enumerated\",values:[\"fast\",\"best\",!1],dflt:!1,editType:\"calc\"},connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},xgap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},ygap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},zhoverformat:{valType:\"string\",dflt:\"\",editType:\"none\"}},Pe,{autocolorscale:Ch({},Pe.autocolorscale,{dflt:!1})},{colorbar:ze}),zh=Ae.dash,Ph=m.extendFlat,Ih=Eh.COMPARISON_OPS2,Dh=Eh.INTERVAL_OPS,Oh=Zr.line,Rh=Ph({z:Lh.z,x:Lh.x,x0:Lh.x0,dx:Lh.dx,y:Lh.y,y0:Lh.y0,dy:Lh.dy,text:Lh.text,transpose:Lh.transpose,xtype:Lh.xtype,ytype:Lh.ytype,zhoverformat:Lh.zhoverformat,connectgaps:Lh.connectgaps,fillcolor:{valType:\"color\",editType:\"calc\"},autocontour:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"contours.start\":void 0,\"contours.end\":void 0,\"contours.size\":void 0}},ncontours:{valType:\"integer\",dflt:15,min:1,editType:\"calc\"},contours:{type:{valType:\"enumerated\",values:[\"levels\",\"constraint\"],dflt:\"levels\",editType:\"calc\"},start:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},end:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},coloring:{valType:\"enumerated\",values:[\"fill\",\"heatmap\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:{valType:\"boolean\",dflt:!0,editType:\"plot\"},showlabels:{valType:\"boolean\",dflt:!1,editType:\"plot\"},labelfont:T({editType:\"plot\",colorEditType:\"style\"}),labelformat:{valType:\"string\",dflt:\"\",editType:\"plot\"},operation:{valType:\"enumerated\",values:[].concat(Ih).concat(Dh),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:Ph({},Oh.color,{editType:\"style+colorbars\"}),width:Ph({},Oh.width,{editType:\"style+colorbars\"}),dash:zh,smoothing:Ph({},Oh.smoothing,{}),editType:\"plot\"}},Pe,{autocolorscale:Ph({},Pe.autocolorscale,{dflt:!1}),zmin:Ph({},Pe.zmin,{editType:\"calc\"}),zmax:Ph({},Pe.zmax,{editType:\"calc\"})},{colorbar:ze}),Fh=ne.extendFlat,Bh=function(t){var e=t.contours;if(t.autocontour){var r=Nh(t.zmin,t.zmax,t.ncontours);e.size=r.dtick,e.start=ri.tickFirst(r),r.range.reverse(),e.end=ri.tickFirst(r),e.start===t.zmin&&(e.start+=e.size),e.end===t.zmax&&(e.end-=e.size),e.start>e.end&&(e.start=e.end=(e.start+e.end)/2),t._input.contours||(t._input.contours={}),Fh(t._input.contours,{start:e.start,end:e.end,size:e.size}),t._input.autocontour=!0}else if(\"constraint\"!==e.type){var n,i=e.start,a=e.end,o=t._input.contours;if(i>a&&(e.start=o.start=a,a=e.end=o.end=i,i=e.start),!(e.size>0))n=i===a?1:Nh(i,a,t.ncontours).dtick,o.size=e.size=n}};function Nh(t,e,r){var n={type:\"linear\",range:[t,e]};return ri.autoTicks(n,(e-t)/(r||15)),n}var jh=function(t){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,t[r].length);return e},Vh=function(t){var e,r,n,i,a,o,s,l,u=[],c={},h=[],f=t[0],p=[],d=[0,0,0],g=jh(t);for(r=0;r<t.length;r++)for(e=p,p=f,f=t[r+1]||[],n=0;n<g;n++)void 0===p[n]&&((o=(void 0!==p[n-1]?1:0)+(void 0!==p[n+1]?1:0)+(void 0!==e[n]?1:0)+(void 0!==f[n]?1:0))?(0===r&&o++,0===n&&o++,r===t.length-1&&o++,n===p.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--)(o=((c[[(r=(i=h[a])[0])-1,n=i[1]]]||d)[2]+(c[[r+1,n]]||d)[2]+(c[[r,n-1]]||d)[2]+(c[[r,n+1]]||d)[2])/20)&&(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]})},Uh=ne.isArrayOrTypedArray,qh=function(t){return!Uh(t.z[0])},Hh=[[-1,0],[1,0],[0,-1],[0,1]];function Gh(t){return.5-.25*Math.min(1,.5*t)}var Wh=function(t,e,r){var n,i,a=1;if(Array.isArray(r))for(n=0;n<e.length;n++)t[(i=e[n])[0]][i[1]]=r[i[0]][i[1]];else Yh(t,e);for(n=0;n<e.length&&!(e[n][2]<4);n++);for(e=e.slice(n),n=0;n<100&&a>.01;n++)a=Yh(t,e,Gh(a));return a>.01&&ne.log(\"interp2d didn't converge quickly\",a),t};function Yh(t,e,r){var n,i,a,o,s,l,u,c,h,f,p,d,g,v=0;for(o=0;o<e.length;o++){for(i=(n=e[o])[0],a=n[1],p=t[i][a],f=0,h=0,s=0;s<4;s++)(u=t[i+(l=Hh[s])[0]])&&void 0!==(c=u[a+l[1]])&&(0===f?d=g=c:(d=Math.min(d,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===p?h<4&&(v=1):(t[i][a]=(1+r)*t[i][a]-r*p,g>d&&(v=Math.max(v,Math.abs(t[i][a]-p)/(g-d))))}return v}var Xh=ne.isArrayOrTypedArray,Zh=function(t,e,r,n,i,a){var o,s,l,u=[],c=P.traceIs(t,\"contour\"),h=P.traceIs(t,\"histogram\"),f=P.traceIs(t,\"gl2d\");if(Xh(e)&&e.length>1&&!h&&\"category\"!==a.type){var p=e.length;if(!(p<=i))return c?e.slice(0,i):e.slice(0,i+1);if(c||f)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<p;l++)u.push(.5*(e[l-1]+e[l]));u.push(1.5*e[p-1]-.5*e[p-2])}if(p<i){var d=u[u.length-1],g=d-u[u.length-2];for(l=p;l<i;l++)d+=g,u.push(d)}}else{s=n||1;var v=t[a._id.charAt(0)+\"calendar\"];for(o=h||\"category\"===a.type?a.r2c(r,0,v)||0:Xh(e)&&1===e.length?e[0]:void 0===r?0:a.d2c(r,0,v),l=c||f?0:-.5;l<i;l++)u.push(o+s*l)}return u},Jh=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},Kh={count:function(t,e,r){return r[t]++,1},sum:function(t,e,n,i){var a=i[e];return r(a)?(a=Number(a),n[t]+=a,a):0},avg:function(t,e,n,i,a){var o=i[e];return r(o)&&(o=Number(o),n[t]+=o,a[t]++),0},min:function(t,e,n,i){var a=i[e];if(r(a)){if(a=Number(a),!r(n[t]))return n[t]=a,a;if(n[t]>a){var o=a-n[t];return n[t]=a,o}}return 0},max:function(t,e,n,i){var a=i[e];if(r(a)){if(a=Number(a),!r(n[t]))return n[t]=a,a;if(n[t]<a){var o=a-n[t];return n[t]=a,o}}return 0}},Qh=t.ONEAVGYEAR,$h=t.ONEAVGMONTH,tf=t.ONEDAY,ef=t.ONEHOUR,rf=t.ONEMIN,nf=t.ONESEC,af=ri.tickIncrement,of=function(t,e,r,n,i){var a,o,s=-1.1*e,l=-.1*e,u=t-l,c=r[0],h=r[1],f=Math.min(sf(c+l,c+u,n,i),sf(h+l,h+u,n,i)),p=Math.min(sf(c+s,c+l,n,i),sf(h+s,h+l,n,i));if(f>p&&p<Math.abs(h-c)/4e3?(a=f,o=!1):(a=Math.min(f,p),o=!0),\"date\"===n.type&&a>tf){var d=a===Qh?1:6,g=a===Qh?\"M12\":\"M1\";return function(e,r){var a=n.c2d(e,Qh,i),s=a.indexOf(\"-\",d);s>0&&(a=a.substr(0,s));var l=n.d2c(a,0,i);if(l<e){var u=af(l,g,!1,i);(l+u)/2<e+t&&(l=u)}return r&&o?af(l,g,!0,i):l}}return function(e,r){var n=a*Math.round(e/a);return n+a/10<e&&n+.9*a<e+t&&(n+=a),r&&o&&(n-=a),n}};function sf(t,e,r,n){if(t*e<=0)return 1/0;for(var i=Math.abs(e-t),a=\"date\"===r.type,o=lf(i,a),s=0;s<10;s++){var l=lf(80*o,a);if(o===l)break;if(!uf(l,t,e,a,r,n))break;o=l}return o}function lf(t,e){return e&&t>nf?t>tf?t>1.1*Qh?Qh:t>1.1*$h?$h:tf:t>ef?ef:t>rf?rf:nf:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function uf(t,e,r,n,i,a){if(n&&t>tf){var o=cf(e,i,a),s=cf(r,i,a),l=t===Qh?0:1;return o[l]!==s[l]}return Math.floor(r/t)-Math.floor(e/t)>.1}function cf(t,e,r){var n=e.c2d(t,Qh,r).split(\"-\");return\"\"===n[0]&&(n.unshift(),n[0]=\"-\"+n[0]),n}var hf=ne.cleanDate,ff=t.ONEDAY,pf=t.BADNUM,df=function(t,e,n){var i=e.type,a=n+\"bins\",o=t[a];o||(o=t[a]={});var s=\"date\"===i?function(t){return t||0===t?hf(t,pf,o.calendar):null}:function(t){return r(t)?Number(t):null};o.start=s(o.start),o.end=s(o.end);var l=\"date\"===i?ff:1,u=o.size;if(r(u))o.size=u>0?Number(u):l;else if(\"string\"!=typeof u)o.size=l;else{var c=u.charAt(0),h=u.substr(1);((h=r(h)?Number(h):0)<=0||\"date\"!==i||\"M\"!==c||h!==Math.round(h))&&(o.size=l)}var f=\"autobin\"+n;\"boolean\"!=typeof t[f]&&(t[f]=t._fullInput[f]=t._input[f]=!((o.start||0===o.start)&&(o.end||0===o.end))),t[f]||(delete t[\"nbins\"+n],delete t._fullInput[\"nbins\"+n])},gf={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}};function vf(t,e,r,n,i,a,o){var s=e+\"bins\",l=\"autobin\"+e,u=t[s];df(t,n,e),!t[l]&&u&&null!==u.start&&null!==u.end||(u=ri.autoBin(r,n,t[\"nbins\"+e],\"2d\",o),\"histogram2dcontour\"===t.type&&(u.start=a(ri.tickIncrement(i(u.start),u.size,!0,o)),u.end=a(ri.tickIncrement(i(u.end),u.size,!1,o))),t._input[s]=t[s]=u,t._input[l]=t[l])}function mf(t,e,r,n){var i,a=new Array(t);if(n)for(i=0;i<t;i++)a[i]=1/(e[i+1]-e[i]);else{var o=1/r;for(i=0;i<t;i++)a[i]=o}return a}function yf(t,e){return{start:t(e.start),end:t(e.end),size:e.size}}function xf(t,e,r,n,i,a){var o,s=t.length-1,l=new Array(s);if(e)for(o=0;o<s;o++)l[o]=[e[o],e[o]];else{var u=of(r,n,t,i,a);for(o=0;o<s;o++)l[o]=[u(t[o]),u(t[o+1],!0)]}return l}var bf=function(t,e){var r,n,i,a,o,s,l,u,c,h=ri.getFromId(t,e.xaxis||\"x\"),f=ri.getFromId(t,e.yaxis||\"y\"),p=P.traceIs(e,\"contour\"),d=P.traceIs(e,\"histogram\"),g=P.traceIs(e,\"gl2d\"),v=p?\"best\":e.zsmooth;function m(t){v=e._input.zsmooth=e.zsmooth=!1,ne.warn('cannot use zsmooth: \"fast\": '+t)}if(h._minDtick=0,f._minDtick=0,d?(r=(c=function(t,e){var r,n,i,a,o=ri.getFromId(t,e.xaxis||\"x\"),s=e.x?o.makeCalcdata(e,\"x\"):[],l=ri.getFromId(t,e.yaxis||\"y\"),u=e.y?l.makeCalcdata(e,\"y\"):[],c=e.xcalendar,h=e.ycalendar,f=function(t){return o.r2c(t,0,c)},p=function(t){return l.r2c(t,0,h)},d=function(t){return o.c2r(t,0,c)},g=function(t){return l.c2r(t,0,h)},v=Math.min(s.length,u.length);s.length>v&&s.splice(v,s.length-v),u.length>v&&u.splice(v,u.length-v),vf(e,\"x\",s,o,f,d,c),vf(e,\"y\",u,l,p,g,h);var m=[],y=[],x=[],b=\"string\"==typeof e.xbins.size,_=\"string\"==typeof e.ybins.size,w=[],M=[],A=b?w:e.xbins,k=_?M:e.ybins,T=0,S=[],E=[],C=e.histnorm,L=e.histfunc,z=-1!==C.indexOf(\"density\"),P=\"max\"===L||\"min\"===L?null:0,I=Kh.count,D=gf[C],O=!1,R=[],F=[],B=\"z\"in e?e.z:\"marker\"in e&&Array.isArray(e.marker.color)?e.marker.color:\"\";B&&\"count\"!==L&&(O=\"avg\"===L,I=Kh[L]);var N=e.xbins,j=f(N.start),V=f(N.end)+(j-ri.tickIncrement(j,N.size,!1,c))/1e6;for(r=j;r<V;r=ri.tickIncrement(r,N.size,!1,c))y.push(P),w.push(r),O&&x.push(0);w.push(r);var U=y.length,q=f(e.xbins.start),H=(r-q)/U,G=d(q+H/2);for(j=p((N=e.ybins).start),V=p(N.end)+(j-ri.tickIncrement(j,N.size,!1,h))/1e6,r=j;r<V;r=ri.tickIncrement(r,N.size,!1,h)){m.push(y.slice()),M.push(r);var W=new Array(U);for(n=0;n<U;n++)W[n]=[];E.push(W),O&&S.push(x.slice())}M.push(r);var Y=m.length,X=p(e.ybins.start),Z=(r-X)/Y,J=g(X+Z/2);z&&(R=mf(y.length,A,H,b),F=mf(m.length,k,Z,_)),b||\"date\"!==o.type||(A=yf(f,A)),_||\"date\"!==l.type||(k=yf(p,k));var K=!0,Q=!0,$=new Array(U),tt=new Array(Y),et=1/0,rt=1/0,nt=1/0,it=1/0;for(r=0;r<v;r++){var at=s[r],ot=u[r];i=ne.findBin(at,A),a=ne.findBin(ot,k),i>=0&&i<U&&a>=0&&a<Y&&(T+=I(i,r,m[a],B,S[a]),E[a][i].push(r),K&&(void 0===$[i]?$[i]=at:$[i]!==at&&(K=!1)),Q&&(void 0===tt[i]?tt[i]=ot:tt[i]!==ot&&(Q=!1)),et=Math.min(et,at-w[i]),rt=Math.min(rt,w[i+1]-at),nt=Math.min(nt,ot-M[a]),it=Math.min(it,M[a+1]-ot))}if(O)for(a=0;a<Y;a++)T+=Jh(m[a],S[a]);if(D)for(a=0;a<Y;a++)D(m[a],T,R,F[a]);return{x:s,xRanges:xf(w,K&&$,et,rt,o,c),x0:G,dx:H,y:u,yRanges:xf(M,Q&&tt,nt,it,l,h),y0:J,dy:Z,z:m,pts:E}}(t,e)).x,n=c.x0,i=c.dx,a=c.y,o=c.y0,s=c.dy,l=c.z):(qh(e)?(Pu(e,h,f,\"x\",\"y\",[\"z\"]),r=e.x,a=e.y):(r=e.x?h.makeCalcdata(e,\"x\"):[],a=e.y?f.makeCalcdata(e,\"y\"):[]),n=e.x0||0,i=e.dx||1,o=e.y0||0,s=e.dy||1,l=xu(e.z,e.transpose),(p||e.connectgaps)&&(e._emptypoints=Vh(l),e._interpz=Wh(l,e._emptypoints,e._interpz))),\"fast\"===v)if(\"log\"===h.type||\"log\"===f.type)m(\"log axis found\");else if(!d){if(r.length){var y=(r[r.length-1]-r[0])/(r.length-1),x=Math.abs(y/100);for(u=0;u<r.length-1;u++)if(Math.abs(r[u+1]-r[u]-y)>x){m(\"x scale is not linear\");break}}if(a.length&&\"fast\"===v){var b=(a[a.length-1]-a[0])/(a.length-1),_=Math.abs(b/100);for(u=0;u<a.length-1;u++)if(Math.abs(a[u+1]-a[u]-b)>_){m(\"y scale is not linear\");break}}}var w=jh(l),M=\"scaled\"===e.xtype?\"\":r,A=Zh(e,M,n,i,w,h),k=\"scaled\"===e.ytype?\"\":a,T=Zh(e,k,o,s,l.length,f);g||(ri.expand(h,A),ri.expand(f,T));var S={x:A,y:T,z:l,text:e.text};if(M&&M.length===A.length-1&&(S.xCenter=M),k&&k.length===T.length-1&&(S.yCenter=k),d&&(S.xRanges=c.xRanges,S.yRanges=c.yRanges,S.pts=c.pts),p&&\"constraint\"===e.contours.type||Ve(e,l,\"\",\"z\"),p&&e.contours&&\"heatmap\"===e.contours.coloring){var E={type:\"contour\"===e.type?\"heatmap\":\"histogram2d\",xcalendar:e.xcalendar,ycalendar:e.ycalendar};S.xfill=Zh(E,M,n,i,w,h),S.yfill=Zh(E,k,o,s,l.length,f)}return[S]},_f=function(t,e){var r=bf(t,e);return Bh(e),r},wf=function(t){return t.end+t.size/1e6},Mf=function(t){var r=t.contours,n=r.start,i=wf(r),a=r.size||1,o=Math.floor((i-n)/a)+1,s=\"lines\"===r.coloring?0:1;isFinite(a)||(a=1,o=1);var l,u,c=t.colorscale,h=c.length,f=new Array(h),p=new Array(h);if(\"heatmap\"===r.coloring){for(t.zauto&&!1===t.autocontour&&(t.zmin=n-a/2,t.zmax=t.zmin+o*a),u=0;u<h;u++)l=c[u],f[u]=l[0]*(t.zmax-t.zmin)+t.zmin,p[u]=l[1];var d=e.extent([t.zmin,t.zmax,r.start,r.start+a*(o-1)]),g=d[t.zmin<t.zmax?0:1],v=d[t.zmin<t.zmax?1:0];g!==t.zmin&&(f.splice(0,0,g),p.splice(0,0,Range[0])),v!==t.zmax&&(f.push(v),p.push(p[p.length-1]))}else for(u=0;u<h;u++)l=c[u],f[u]=(l[0]*(o+s-1)-s/2)*a+n,p[u]=l[1];return Je.makeColorScaleFunc({domain:f,range:p},{noNumericCheck:!0})},Af=function(t,e){var r=e[0].trace,n=\"cb\"+r.uid;if(t._fullLayout._infolayer.selectAll(\".\"+n).remove(),r.showscale){var i=ns(t,n);e[0].t.cb=i;var a=r.contours,o=r.line,s=a.size||1,l=a.coloring,u=Mf(r);\"heatmap\"===l&&i.filllevels({start:r.zmin,end:r.zmax,size:(r.zmax-r.zmin)/254}),i.fillcolor(\"fill\"===l||\"heatmap\"===l?u:\"\").line({color:\"lines\"===l?u:o.color,width:!1!==a.showlines?o.width:0,dash:o.dash}).levels({start:a.start,end:wf(a),size:s}).options(r.colorbar)()}else _n.autoMargin(t,n)},kf=function(t,e,r,n){if(n||(n={}),t(\"contours.showlabels\")){var i=e.font;ne.coerceFont(t,\"contours.labelfont\",{family:i.family,size:i.size,color:r}),t(\"contours.labelformat\")}!1!==n.hasHover&&t(\"zhoverformat\")},Tf=Oe.addOpacity,Sf=Oe.opacity,Ef=Eh.CONSTRAINT_REDUCTION,Cf=Eh.COMPARISON_OPS2,Lf=function(t,e,n,i,a,o){var s,l,u,c=e.contours,h=n(\"contours.operation\");(c._operation=Ef[h],function(t,e){var n;-1===Cf.indexOf(e.operation)?(t(\"contours.value\",[0,1]),Array.isArray(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(n=parseFloat(e.value[0]),e.value=[n,n+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:r(e.value)&&(n=parseFloat(e.value),e.value=[n,n+1])):(t(\"contours.value\",0),r(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(n,c),\"=\"===h?s=c.showlines=!0:(s=n(\"contours.showlines\"),u=n(\"fillcolor\",Tf((t.line||{}).color||a,.5))),s)&&(l=n(\"line.color\",u&&Sf(u)?Tf(e.fillcolor,1):a),n(\"line.width\",2),n(\"line.dash\"));n(\"line.smoothing\"),kf(n,i,l,o)};var zf=function(t,e,r,n){var i=n(\"contours.start\"),a=n(\"contours.end\"),o=!1===i||!1===a,s=r(\"contours.size\");!(o?e.autocontour=!0:r(\"autocontour\",!1))&&s||r(\"ncontours\")},Pf=function(t,e,r,n,i){var a,o=r(\"contours.coloring\"),s=\"\";\"fill\"===o&&(a=r(\"contours.showlines\")),!1!==a&&(\"lines\"!==o&&(s=r(\"line.color\",\"#000\")),r(\"line.width\",.5),r(\"line.dash\")),\"none\"!==o&&Ye(t,e,n,r,{prefix:\"\",cLetter:\"z\"}),r(\"line.smoothing\"),kf(r,n,s,i)},If=ne.isArrayOrTypedArray,Df=function(t,e,n,i,a,o){var s,l,u=n(\"z\");if(a=a||\"x\",o=o||\"y\",void 0===u||!u.length)return 0;if(qh(t)){if(s=n(a),l=n(o),!s||!l)return 0}else{if(s=Of(a,n),l=Of(o,n),!function(t){for(var e,n=!0,i=!1,a=!1,o=0;o<t.length;o++){if(e=t[o],!If(e)){n=!1;break}e.length>0&&(i=!0);for(var s=0;s<e.length;s++)if(r(e[s])){a=!0;break}}return n&&i&&a}(u))return 0;n(\"transpose\")}return P.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[a,o],i),e.z.length};function Of(t,e){var r=e(t);return\"scaled\"===(r?e(t+\"type\",\"array\"):\"scaled\")&&(e(t+\"0\"),e(\"d\"+t)),r}var Rf=function(t,e,r,n,i,a){var o,s,l,u,c=t.cd[0],h=c.trace,f=t.xa,p=t.ya,d=c.x,g=c.y,v=c.z,m=c.xCenter,y=c.yCenter,x=c.zmask,b=[h.zmin,h.zmax],_=h.zhoverformat,w=d,M=g;if(!1!==t.index){try{l=Math.round(t.index[1]),u=Math.round(t.index[0])}catch(e){return void ne.error(\"Error hovering on heatmap, pointNumber must be [row,col], found:\",t.index)}if(l<0||l>=v[0].length||u<0||u>v.length)return}else{if(yo.inbox(e-d[0],e-d[d.length-1],0)>0||yo.inbox(r-g[0],r-g[g.length-1],0)>0)return;if(a){var A;for(w=[2*d[0]-d[1]],A=1;A<d.length;A++)w.push((d[A]+d[A-1])/2);for(w.push([2*d[d.length-1]-d[d.length-2]]),M=[2*g[0]-g[1]],A=1;A<g.length;A++)M.push((g[A]+g[A-1])/2);M.push([2*g[g.length-1]-g[g.length-2]])}l=Math.max(0,Math.min(w.length-2,ne.findBin(e,w))),u=Math.max(0,Math.min(M.length-2,ne.findBin(r,M)))}var k=f.c2p(d[l]),T=f.c2p(d[l+1]),S=p.c2p(g[u]),E=p.c2p(g[u+1]);a?(T=k,o=d[l],E=S,s=g[u]):(o=m?m[l]:(d[l]+d[l+1])/2,s=y?y[u]:(g[u]+g[u+1])/2,h.zsmooth&&(k=T=f.c2p(o),S=E=p.c2p(s)));var C,L,z=v[u][l];x&&!x[u][l]&&(z=void 0),Array.isArray(c.text)&&Array.isArray(c.text[u])&&(C=c.text[u][l]);var P={type:\"linear\",range:b,hoverformat:_,_separators:f._separators,_numFormat:f._numFormat};return L=ri.tickText(P,z,\"hover\").text,[ne.extendFlat(t,{index:[u,l],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:k,x1:T,y0:S,y1:E,xLabelVal:o,yLabelVal:s,zLabelVal:z,zLabel:L,text:C})]},Ff=function(t,e,r,n,i){var a=Rf(t,e,r,0,0,!0);return a&&a.forEach(function(t){var e=t.trace;\"constraint\"===e.contours.type&&(e.fillcolor&&Oe.opacity(e.fillcolor)?t.color=Oe.addOpacity(e.fillcolor,1):e.contours.showlines&&Oe.opacity(e.line.color)&&(t.color=Oe.addOpacity(e.line.color,1)))}),a},Bf=function(t,e,r,n){var i,a,o,s=t[0],l=s.x.length,u=s.y.length,c=s.z,h=n.contours,f=-1/0,p=1/0;for(i=0;i<u;i++)p=Math.min(p,c[i][0]),p=Math.min(p,c[i][l-1]),f=Math.max(f,c[i][0]),f=Math.max(f,c[i][l-1]);for(i=1;i<l-1;i++)p=Math.min(p,c[0][i]),p=Math.min(p,c[u-1][i]),f=Math.max(f,c[0][i]),f=Math.max(f,c[u-1][i]);switch(s.prefixBoundary=!1,e){case\">\":h.value>f&&(s.prefixBoundary=!0);break;case\"<\":h.value<p&&(s.prefixBoundary=!0);break;case\"[]\":a=Math.min.apply(null,h.value),((o=Math.max.apply(null,h.value))<p||a>f)&&(s.prefixBoundary=!0);break;case\"][\":a=Math.min.apply(null,h.value),o=Math.max.apply(null,h.value),a<p&&o>f&&(s.prefixBoundary=!0)}},Nf={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],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]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}},jf=function(t,e){var r,n,i,a=function(t){return t.reverse()},o=function(t){return t};switch(e){case\"=\":case\"<\":return t;case\">\":for(1!==t.length&&ne.warn(\"Contour data invalid for the specified inequality operation.\"),n=t[0],r=0;r<n.edgepaths.length;r++)n.edgepaths[r]=a(n.edgepaths[r]);for(r=0;r<n.paths.length;r++)n.paths[r]=a(n.paths[r]);return t;case\"][\":var s=a;a=o,o=s;case\"[]\":for(2!==t.length&&ne.warn(\"Contour data invalid for the specified inequality range operation.\"),n=Vf(t[0]),i=Vf(t[1]),r=0;r<n.edgepaths.length;r++)n.edgepaths[r]=a(n.edgepaths[r]);for(r=0;r<n.paths.length;r++)n.paths[r]=a(n.paths[r]);for(;i.edgepaths.length;)n.edgepaths.push(o(i.edgepaths.shift()));for(;i.paths.length;)n.paths.push(o(i.paths.shift()));return[n]}};function Vf(t){return ne.extendFlat({},t,{edgepaths:ne.extendDeep([],t.edgepaths),paths:ne.extendDeep([],t.paths)})}var Uf={\"[]\":Hf(\"[]\"),\"][\":Hf(\"][\"),\">\":Gf(\">\"),\"<\":Gf(\"<\"),\"=\":Gf(\"=\")};function qf(t,e){var n,i=Array.isArray(e);function a(t){return r(t)?+t:null}return-1!==Eh.COMPARISON_OPS2.indexOf(t)?n=a(i?e[0]:e):-1!==Eh.INTERVAL_OPS.indexOf(t)?n=i?[a(e[0]),a(e[1])]:[a(e),a(e)]:-1!==Eh.SET_OPS.indexOf(t)&&(n=i?e.map(a):[a(e)]),n}function Hf(t){return function(e){e=qf(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function Gf(t){return function(e){return{start:e=qf(t,e),end:1/0,size:1/0}}}var Wf=function(t,e,r){for(var n=\"constraint\"===t.type?Uf[t._operation](t.value):t,i=n.size,a=[],o=wf(n),s=r.trace.carpetTrace,l=s?{xaxis:s.aaxis,yaxis:s.baxis,x:r.a,y:r.b}:{xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y},u=n.start;u<o;u+=i)if(a.push(ne.extendFlat({level:u,crossings:{},starts:[],edgepaths:[],paths:[],z:r.z,smoothing:r.trace.line.smoothing},l)),a.length>1e3){ne.warn(\"Too many contours, clipping at 1000\",t);break}return a},Yf=function(t,e,r){var n,i,a,o;for(e=e||.01,r=r||.01,i=0;i<t.length;i++){for(a=t[i],o=0;o<a.starts.length;o++)Zf(a,a.starts[o],\"edge\",e,r);for(n=0;Object.keys(a.crossings).length&&n<1e4;)n++,Zf(a,Object.keys(a.crossings)[0].split(\",\").map(Number),void 0,e,r);1e4===n&&ne.log(\"Infinite loop in contour?\")}};function Xf(t,e,r,n){return Math.abs(t[0]-e[0])<r&&Math.abs(t[1]-e[1])<n}function Zf(t,e,r,n,i){var a,o=e.join(\",\"),s=o,l=t.crossings[s],u=function(t,e,r){var n=0,i=0;t>20&&e?208===t||1114===t?n=0===r[0]?1:-1:i=0===r[1]?1:-1:-1!==Nf.BOTTOMSTART.indexOf(t)?i=1:-1!==Nf.LEFTSTART.indexOf(t)?n=1:-1!==Nf.TOPSTART.indexOf(t)?i=-1:n=-1;return[n,i]}(l,r,e),c=[Jf(t,e,[-u[0],-u[1]])],h=u.join(\",\"),f=t.z.length,p=t.z[0].length;for(a=0;a<1e4;a++){if(l>20?(l=Nf.CHOOSESADDLE[l][(u[0]||u[1])<0?0:1],t.crossings[s]=Nf.SADDLEREMAINDER[l]):delete t.crossings[s],!(u=Nf.NEWDELTA[l])){ne.log(\"Found bad marching index:\",l,e,t.level);break}c.push(Jf(t,e,u)),e[0]+=u[0],e[1]+=u[1],Xf(c[c.length-1],c[c.length-2],n,i)&&c.pop(),s=e.join(\",\");var d=u[0]&&(e[0]<0||e[0]>p-2)||u[1]&&(e[1]<0||e[1]>f-2);if(s===o&&u.join(\",\")===h||r&&d)break;l=t.crossings[s]}1e4===a&&ne.log(\"Infinite loop in contour?\");var g,v,m,y,x,b,_,w,M,A,k,T,S,E,C,L=Xf(c[0],c[c.length-1],n,i),z=0,P=.2*t.smoothing,I=[],D=0;for(a=1;a<c.length;a++)T=c[a],S=c[a-1],void 0,void 0,E=T[2]-S[2],C=T[3]-S[3],z+=_=Math.sqrt(E*E+C*C),I.push(_);var O=z/I.length*P;function R(t){return c[t%c.length]}for(a=c.length-2;a>=D;a--)if((g=I[a])<O){for(m=0,v=a-1;v>=D&&g+I[v]<O;v--)g+=I[v];if(L&&a===c.length-2)for(m=0;m<v&&g+I[m]<O;m++)g+=I[m];x=a-v+m+1,b=Math.floor((a+v+m+2)/2),y=L||a!==c.length-2?L||-1!==v?x%2?R(b):[(R(b)[0]+R(b+1)[0])/2,(R(b)[1]+R(b+1)[1])/2]:c[0]:c[c.length-1],c.splice(v+1,a-v+1,y),a=v+1,m&&(D=m),L&&(a===c.length-2?c[m]=c[c.length-1]:0===a&&(c[c.length-1]=c[0]))}for(c.splice(0,D),a=0;a<c.length;a++)c[a].length=2;if(!(c.length<2))if(L)c.pop(),t.paths.push(c);else{r||ne.log(\"Unclosed interior contour?\",t.level,o,c.join(\"L\"));var F=!1;for(w=0;w<t.edgepaths.length;w++)if(A=t.edgepaths[w],!F&&Xf(A[0],c[c.length-1],n,i)){c.pop(),F=!0;var B=!1;for(M=0;M<t.edgepaths.length;M++)if(Xf((k=t.edgepaths[M])[k.length-1],c[0],n,i)){B=!0,c.shift(),t.edgepaths.splice(w,1),M===w?t.paths.push(c.concat(k)):(M>w&&M--,t.edgepaths[M]=k.concat(c,A));break}B||(t.edgepaths[w]=c.concat(A))}for(w=0;w<t.edgepaths.length&&!F;w++)Xf((A=t.edgepaths[w])[A.length-1],c[0],n,i)&&(c.shift(),t.edgepaths[w]=A.concat(c),F=!0);F||t.edgepaths.push(c)}}function Jf(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),n+l,i]}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),n,i+u]}var Kf=function(t){var e,r,n,i,a,o,s,l,u,c=t[0].z,h=c.length,f=c[0].length,p=2===h||2===f;for(r=0;r<h-1;r++)for(i=[],0===r&&(i=i.concat(Nf.BOTTOMSTART)),r===h-2&&(i=i.concat(Nf.TOPSTART)),e=0;e<f-1;e++)for(n=i.slice(),0===e&&(n=n.concat(Nf.LEFTSTART)),e===f-2&&(n=n.concat(Nf.RIGHTSTART)),a=e+\",\"+r,o=[[c[r][e],c[r][e+1]],[c[r+1][e],c[r+1][e+1]]],u=0;u<t.length;u++)(s=Qf((l=t[u]).level,o))&&(l.crossings[a]=s,-1!==n.indexOf(s)&&(l.starts.push([e,r]),p&&-1!==n.indexOf(s,n.indexOf(s)+1)&&l.starts.push([e,r])))};function Qf(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);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}var $f=function(t,e,r){for(var n=0;n<r.length;n++)tp(t,e,r[n])};function tp(t,e,r){var n=r[0],i=n.trace,a=i.uid,o=e.xaxis,l=e.yaxis,u=t._fullLayout,c=\"hm\"+a;if(u._paper.selectAll(\".contour\"+a).remove(),u._infolayer.selectAll(\"g.rangeslider-container\").selectAll(\".contour\"+a).remove(),!0!==i.visible)return u._paper.selectAll(\".\"+c).remove(),void u._infolayer.selectAll(\".cb\"+a).remove();var h,f,p,d,g,v,m=n.z,y=n.x,x=n.y,b=n.xCenter,_=n.yCenter,w=P.traceIs(i,\"contour\"),M=w?\"best\":i.zsmooth,A=m.length,k=jh(m),T=!1,S=!1;for(v=0;void 0===h&&v<y.length-1;)h=o.c2p(y[v]),v++;for(v=y.length-1;void 0===f&&v>0;)f=o.c2p(y[v]),v--;for(f<h&&(p=f,f=h,h=p,T=!0),v=0;void 0===d&&v<x.length-1;)d=l.c2p(x[v]),v++;for(v=x.length-1;void 0===g&&v>0;)g=l.c2p(x[v]),v--;if(g<d&&(p=d,d=g,g=p,S=!0),w&&(b=y,_=x,y=n.xfill,x=n.yfill),\"fast\"!==M){var E=\"best\"===M?0:.5;h=Math.max(-E*o._length,h),f=Math.min((1+E)*o._length,f),d=Math.max(-E*l._length,d),g=Math.min((1+E)*l._length,g)}var C=Math.round(f-h),L=Math.round(g-d),z=C<=0||L<=0,I=e.plot.select(\".imagelayer\").selectAll(\"g.hm.\"+c).data(z?[]:[0]);if(I.enter().append(\"g\").classed(\"hm\",!0).classed(c,!0),I.exit().remove(),!z){var D,O;\"fast\"===M?(D=k,O=A):(D=C,O=L);var R=document.createElement(\"canvas\");R.width=D,R.height=O;var F,B,N=R.getContext(\"2d\"),j=Je.makeColorScaleFunc(Je.extractScale(i.colorscale,i.zmin,i.zmax),{noNumericCheck:!0,returnArray:!0});\"fast\"===M?(F=T?function(t){return k-1-t}:ne.identity,B=S?function(t){return A-1-t}:ne.identity):(F=function(t){return ne.constrain(Math.round(o.c2p(y[t])-h),0,C)},B=function(t){return ne.constrain(Math.round(l.c2p(x[t])-d),0,L)});var V,U,q,H,G,W=B(0),Y=[W,W],X=T?0:1,Z=S?0:1,J=0,K=0,Q=0,$=0;if(M){var tt,et=0;try{tt=new Uint8Array(C*L*4)}catch(t){tt=new Array(C*L*4)}if(\"best\"===M){var rt,nt,it,at=b||y,ot=_||x,st=new Array(at.length),lt=new Array(ot.length),ut=new Array(C),ct=b?rp:ep,ht=_?rp:ep;for(v=0;v<at.length;v++)st[v]=Math.round(o.c2p(at[v])-h);for(v=0;v<ot.length;v++)lt[v]=Math.round(l.c2p(ot[v])-d);for(v=0;v<C;v++)ut[v]=ct(v,st);for(U=0;U<L;U++)for(nt=m[(rt=ht(U,lt)).bin0],it=m[rt.bin1],v=0;v<C;v++,et+=4)np(tt,et,G=wt(nt,it,ut[v],rt))}else for(U=0;U<A;U++)for(H=m[U],Y=B(U),v=0;v<C;v++)G=_t(H[v],1),np(tt,et=4*(Y*C+F(v)),G);var ft=N.createImageData(C,L);try{ft.data.set(tt)}catch(t){var pt=ft.data,dt=pt.length;for(U=0;U<dt;U++)pt[U]=tt[U]}N.putImageData(ft,0,0)}else{var gt=i.xgap,vt=i.ygap,mt=Math.floor(gt/2),yt=Math.floor(vt/2);for(U=0;U<A;U++)if(H=m[U],Y.reverse(),Y[Z]=B(U+1),Y[0]!==Y[1]&&void 0!==Y[0]&&void 0!==Y[1])for(V=[q=F(0),q],v=0;v<k;v++)V.reverse(),V[X]=F(v+1),V[0]!==V[1]&&void 0!==V[0]&&void 0!==V[1]&&(G=_t(H[v],(V[1]-V[0])*(Y[1]-Y[0])),N.fillStyle=\"rgba(\"+G.join(\",\")+\")\",N.fillRect(V[0]+mt,Y[0]+yt,V[1]-V[0]-gt,Y[1]-Y[0]-vt))}K=Math.round(K/J),Q=Math.round(Q/J),$=Math.round($/J);var xt=s(\"rgb(\"+K+\",\"+Q+\",\"+$+\")\");t._hmpixcount=(t._hmpixcount||0)+J,t._hmlumcount=(t._hmlumcount||0)+J*xt.getLuminance();var bt=I.selectAll(\"image\").data(r);bt.enter().append(\"svg:image\").attr({xmlns:$e.svg,preserveAspectRatio:\"none\"}),bt.attr({height:L,width:C,x:h,y:d,\"xlink:href\":R.toDataURL(\"image/png\")}),bt.exit().remove()}function _t(t,e){if(void 0!==t){var r=j(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),J+=e,K+=r[0]*e,Q+=r[1]*e,$+=r[2]*e,r}return[0,0,0,0]}function wt(t,e,r,n){var i=t[r.bin0];if(void 0===i)return _t(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,_t(i+r.frac*u+n.frac*(c+r.frac*a))}}function ep(t,e){var r=e.length-2,n=ne.constrain(ne.findBin(t,e),0,r),i=e[n],a=e[n+1],o=ne.constrain(n+(t-i)/(a-i)-.5,0,r),s=Math.round(o),l=Math.abs(o-s);return o&&o!==r&&l?{bin0:s,frac:l,bin1:Math.round(s+l/(o-s))}:{bin0:s,bin1:s,frac:0}}function rp(t,e){var r=e.length-1,n=ne.constrain(ne.findBin(t,e),0,r),i=e[n],a=(t-i)/(e[n+1]-i)||0;return a<=0?{bin0:n,bin1:n,frac:0}:a<.5?{bin0:n,bin1:n+1,frac:a}:{bin0:n+1,bin1:n,frac:1-a}}function np(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 ip={},ap=Nf.LABELOPTIMIZER;function op(t,r,n){var i=n[0].trace,a=n[0].x,o=n[0].y,s=i.contours,l=i.uid,u=r.xaxis,c=r.yaxis,h=t._fullLayout,f=\"contour\"+l,p=Wf(s,r,n[0]);if(!0!==i.visible)return h._paper.selectAll(\".\"+f+\",.hm\"+l).remove(),void h._infolayer.selectAll(\".cb\"+l).remove();\"heatmap\"===s.coloring?(i.zauto&&!1===i.autocontour&&(i._input.zmin=i.zmin=s.start-s.size/2,i._input.zmax=i.zmax=i.zmin+p.length*s.size),$f(t,r,[n])):(h._paper.selectAll(\".hm\"+l).remove(),h._infolayer.selectAll(\"g.rangeslider-container\").selectAll(\".hm\"+l).remove()),Kf(p),Yf(p);var d=u.c2p(a[0],!0),g=u.c2p(a[a.length-1],!0),v=c.c2p(o[0],!0),m=c.c2p(o[o.length-1],!0),y=[[d,m],[g,m],[g,v],[d,v]],x=p;\"constraint\"===s.type&&(x=jf(p,s._operation),Bf(x,s._operation,y,i));var b=ip.makeContourGroup(r,n,f);!function(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\")}(b,y,s),function(t,r,n,i){var a=t.selectAll(\"g.contourfill\").data([0]);a.enter().append(\"g\").classed(\"contourfill\",!0);var o=a.selectAll(\"path\").data(\"fill\"===i.coloring||\"constraint\"===i.type&&\"=\"!==i._operation?r:[]);o.enter().append(\"path\"),o.exit().remove(),o.each(function(t){var r=sp(t,n);r?e.select(this).attr(\"d\",r).style(\"stroke\",\"none\"):e.select(this).remove()})}(b,x,y,s),function(t,r,n,i,a,o){var s=t.selectAll(\"g.contourlines\").data([0]);s.enter().append(\"g\").classed(\"contourlines\",!0);var l=!1!==a.showlines,u=a.showlabels,c=l&&u,h=ip.createLines(s,l||u,r),f=ip.createLineClip(s,c,n._fullLayout._clips,i.trace.uid),p=t.selectAll(\"g.contourlabels\").data(u?[0]:[]);if(p.exit().remove(),p.enter().append(\"g\").classed(\"contourlabels\",!0),u){var d=[o],g=[];ne.clearLocationCache();var v=ip.labelFormatter(a,i.t.cb,n._fullLayout),m=Sr.tester.append(\"text\").attr(\"data-notex\",1).call(Sr.font,a.labelfont),y=r[0].xaxis._length,x=r[0].yaxis._length,b={left:Math.max(o[0][0],0),right:Math.min(o[2][0],y),top:Math.max(o[0][1],0),bottom:Math.min(o[2][1],x)};b.middle=(b.top+b.bottom)/2,b.center=(b.left+b.right)/2;var _=Math.sqrt(y*y+x*x),w=Nf.LABELDISTANCE*_/Math.max(1,r.length/Nf.LABELINCREASE);h.each(function(t){var r=ip.calcTextOpts(t.level,v,m,n);e.select(this).selectAll(\"path\").each(function(){var t=ne.getVisibleSegment(this,b,r.height/2);if(t&&!(t.len<(r.width+r.height)*Nf.LABELMIN))for(var e=Math.min(Math.ceil(t.len/w),Nf.LABELMAX),n=0;n<e;n++){var i=ip.findBestTextLocation(this,t,r,g,b);if(!i)break;ip.addLabelData(i,r,g,d)}})}),m.remove(),ip.drawLabels(p,g,n,f,c?d:null)}u&&!l&&h.remove()}(b,p,t,n[0],s,y),function(t,e,r,n,i){var a=\"clip\"+n.trace.uid,o=r.selectAll(\"#\"+a).data(n.trace.connectgaps?[]:[0]);if(o.enter().append(\"clipPath\").classed(\"contourclip\",!0).attr(\"id\",a),o.exit().remove(),!1===n.trace.connectgaps){var s={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:function(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}(n),smoothing:0};Kf([s]),Yf([s]);var l=sp(s,i),u=o.selectAll(\"path\").data([0]);u.enter().append(\"path\"),u.attr(\"d\",l)}else a=null;t.call(Sr.setClipUrl,a),e.plot.selectAll(\".hm\"+n.trace.uid).call(Sr.setClipUrl,a)}(b,r,h._clips,n[0],y)}function sp(t,e){var r,n,i,a,o,s,l,u=function(t,e){var r=t.prefixBoundary;if(void 0===r){var n=Math.min(t.z[0][0],t.z[0][1]);r=!t.edgepaths.length&&n>t.level}return r?\"M\"+e.join(\"L\")+\"Z\":\"\"}(t,e),c=0,h=t.edgepaths.map(function(t,e){return e}),f=!0;function p(t){return Math.abs(t[1]-e[2][1])<.01}function d(t){return Math.abs(t[0]-e[0][0])<.01}function g(t){return Math.abs(t[0]-e[2][0])<.01}for(;h.length;){for(s=Sr.smoothopen(t.edgepaths[c],t.smoothing),u+=f?s:s.replace(/^M/,\"L\"),h.splice(h.indexOf(c),1),r=t.edgepaths[c][t.edgepaths[c].length-1],a=-1,i=0;i<4;i++){if(!r){ne.log(\"Missing end?\",c,t);break}for(l=r,Math.abs(l[1]-e[0][1])<.01&&!g(r)?n=e[1]:d(r)?n=e[0]:p(r)?n=e[3]:g(r)&&(n=e[2]),o=0;o<t.edgepaths.length;o++){var v=t.edgepaths[o][0];Math.abs(r[0]-n[0])<.01?Math.abs(r[0]-v[0])<.01&&(v[1]-r[1])*(n[1]-v[1])>=0&&(n=v,a=o):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-v[1])<.01&&(v[0]-r[0])*(n[0]-v[0])>=0&&(n=v,a=o):ne.log(\"endpt to newendpt is not vert. or horz.\",r,n,v)}if(r=n,a>=0)break;u+=\"L\"+n}if(a===t.edgepaths.length){ne.log(\"unclosed perimeter path\");break}c=a,(f=-1===h.indexOf(c))&&(c=h[0],u+=\"Z\")}for(c=0;c<t.paths.length;c++)u+=Sr.smoothclosed(t.paths[c],t.smoothing);return u}function lp(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,u=Math.cos(l)*i,c=Math.sin(l)*i,h=(o>n.center?n.right-o:o-n.left)/(u+Math.abs(Math.sin(l)*a)),f=(s>n.middle?n.bottom-s:s-n.top)/(Math.abs(c)+Math.cos(l)*a);if(h<1||f<1)return 1/0;var p=ap.EDGECOST*(1/(h-1)+1/(f-1));p+=ap.ANGLECOST*l*l;for(var d=o-u,g=s-c,v=o+u,m=s+c,y=0;y<r.length;y++){var x=r[y],b=Math.cos(x.theta)*x.width/2,_=Math.sin(x.theta)*x.width/2,w=2*ne.segmentDistance(d,g,v,m,x.x-b,x.y-_,x.x+b,x.y+_)/(e.height+x.height),M=x.level===e.level,A=M?ap.SAMELEVELDISTANCE:1;if(w<=A)return 1/0;p+=ap.NEIGHBORCOST*(M?ap.SAMELEVELFACTOR:1)/(w-A)}return p}ip.plot=function(t,e,r){for(var n=0;n<r.length;n++)op(t,e,r[n])},ip.makeContourGroup=function(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},ip.createLines=function(t,e,r){var n=r[0].smoothing,i=t.selectAll(\"g.contourlevel\").data(e?r:[]);if(i.exit().remove(),i.enter().append(\"g\").classed(\"contourlevel\",!0),e){var a=i.selectAll(\"path.openline\").data(function(t){return t.pedgepaths||t.edgepaths});a.exit().remove(),a.enter().append(\"path\").classed(\"openline\",!0),a.attr(\"d\",function(t){return Sr.smoothopen(t,n)}).style(\"stroke-miterlimit\",1).style(\"vector-effect\",\"non-scaling-stroke\");var o=i.selectAll(\"path.closedline\").data(function(t){return t.ppaths||t.paths});o.exit().remove(),o.enter().append(\"path\").classed(\"closedline\",!0),o.attr(\"d\",function(t){return Sr.smoothclosed(t,n)}).style(\"stroke-miterlimit\",1).style(\"vector-effect\",\"non-scaling-stroke\")}return i},ip.createLineClip=function(t,e,r,n){var i=e?\"clipline\"+n:null,a=r.selectAll(\"#\"+i).data(e?[0]:[]);return a.exit().remove(),a.enter().append(\"clipPath\").classed(\"contourlineclip\",!0).attr(\"id\",i),Sr.setClipUrl(t,i),a},ip.labelFormatter=function(t,e,r){if(t.labelformat)return r._d3locale.numberFormat(t.labelformat);var n;if(e)n=e.axis;else{if(n={type:\"linear\",_id:\"ycontour\",showexponent:\"all\"},\"constraint\"===t.type){var i=t.value;Array.isArray(i)?n.range=[i[0],i[i.length-1]]:n.range=[i,i]}else n.range=[t.start,t.end],n.nticks=(t.end-t.start)/t.size;n.range[0]===n.range[1]&&(n.range[1]+=n.range[0]||1),n.nticks||(n.nticks=1e3),ei(n,r),ri.prepTicks(n),n._tmin=null,n._tmax=null}return function(t){return ri.tickText(n,t).text}},ip.calcTextOpts=function(t,e,r,n){var i=e(t);r.text(i).call(er.convertToTspans,n);var a=Sr.bBox(r.node(),!0);return{text:i,width:a.width,height:a.height,level:t,dy:(a.top+a.bottom)/2}},ip.findBestTextLocation=function(t,e,r,n,i){var a,o,s,l,u,c=r.width;e.isClosed?(o=e.len/ap.INITIALSEARCHPOINTS,a=e.min+o/2,s=e.max):(o=(e.len-c)/(ap.INITIALSEARCHPOINTS+1),a=e.min+o+c/2,s=e.max-(o+c)/2);for(var h=1/0,f=0;f<ap.ITERATIONS;f++){for(var p=a;p<s;p+=o){var d=ne.getTextLocation(t,e.total,p,c),g=lp(d,r,n,i);g<h&&(h=g,u=d,l=p)}if(h>2*ap.MAXCOST)break;f&&(o/=2),s=(a=l-o/2)+1.5*o}if(h<=ap.MAXCOST)return u},ip.addLabelData=function(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,u=Math.sin(l),c=Math.cos(l),h=i*c,f=a*u,p=i*u,d=-a*c,g=[[o-h-f,s-p-d],[o+h-f,s+p-d],[o+h+f,s+p+d],[o-h+f,s-p+d]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(g)},ip.drawLabels=function(t,r,n,i,a){var o=t.selectAll(\"text\").data(r,function(t){return t.text+\",\"+t.x+\",\"+t.y+\",\"+t.theta});if(o.exit().remove(),o.enter().append(\"text\").attr({\"data-notex\":1,\"text-anchor\":\"middle\"}).each(function(t){var r=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;e.select(this).text(t.text).attr({x:r,y:i,transform:\"rotate(\"+180*t.theta/Math.PI+\" \"+r+\" \"+i+\")\"}).call(er.convertToTspans,n)}),a){for(var s=\"\",l=0;l<a.length;l++)s+=\"M\"+a[l].join(\"L\")+\"Z\";var u=i.selectAll(\"path\").data([0]);u.enter().append(\"path\"),u.attr(\"d\",s)}};var up=function(t){e.select(t).selectAll(\".hm image\").style(\"opacity\",function(t){return t.trace.opacity})},cp=function(t){var r=e.select(t).selectAll(\"g.contour\");r.style(\"opacity\",function(t){return t.trace.opacity}),r.each(function(t){var r=e.select(this),n=t.trace,i=n.contours,a=n.line,o=i.size||1,s=i.start,l=\"constraint\"===i.type,u=!l&&\"lines\"===i.coloring,c=!l&&\"fill\"===i.coloring,h=u||c?Mf(n):null;r.selectAll(\"g.contourlevel\").each(function(t){e.select(this).selectAll(\"path\").call(Sr.lineGroupStyle,a.width,u?h(t.level):a.color,a.dash)});var f=i.labelfont;if(r.selectAll(\"g.contourlabels text\").each(function(t){Sr.font(e.select(this),{family:f.family,size:f.size,color:f.color||(u?h(t.level):a.color)})}),l)r.selectAll(\"g.contourfill path\").style(\"fill\",n.fillcolor);else if(c){var p;r.selectAll(\"g.contourfill path\").style(\"fill\",function(t){return void 0===p&&(p=t.level),h(t.level+.5*o)}),void 0===p&&(p=s),r.selectAll(\"g.contourbg path\").style(\"fill\",h(p-.5*o))}}),up(t)},hp={};hp.attributes=Rh,hp.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Rh,r,n)}if(Df(t,e,i,n)){i(\"text\");var a=\"constraint\"===i(\"contours.type\");i(\"connectgaps\",qh(e)),a||delete e.showlegend,a?Lf(t,e,i,n,r):(zf(0,e,i,function(r){return ne.coerce2(t,e,Rh,r)}),Pf(t,e,i,n))}else e.visible=!1},hp.calc=_f,hp.plot=ip.plot,hp.style=cp,hp.colorbar=Af,hp.hoverPoints=Ff,hp.moduleType=\"trace\",hp.name=\"contour\",hp.basePlotModule=ua,hp.categories=[\"cartesian\",\"2dMap\",\"contour\",\"showLegend\"],hp.meta={};var fp=hp,pp=Rh.contours,dp=m.extendFlat,gp=Zr.line,vp=dp({},{carpet:{valType:\"string\",editType:\"calc\"},z:Lh.z,a:Lh.x,a0:Lh.x0,da:Lh.dx,b:Lh.y,b0:Lh.y0,db:Lh.dy,text:Lh.text,transpose:Lh.transpose,atype:Lh.xtype,btype:Lh.ytype,fillcolor:Rh.fillcolor,autocontour:Rh.autocontour,ncontours:Rh.ncontours,contours:{type:pp.type,start:pp.start,end:pp.end,size:pp.size,coloring:{valType:\"enumerated\",values:[\"fill\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:pp.showlines,showlabels:pp.showlabels,labelfont:pp.labelfont,labelformat:pp.labelformat,operation:pp.operation,value:pp.value,editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:dp({},gp.color,{}),width:gp.width,dash:gp.dash,smoothing:dp({},gp.smoothing,{}),editType:\"plot\"}},Pe,{autocolorscale:dp({},Pe.autocolorscale,{dflt:!1})},{colorbar:ze}),mp=function(t,e){for(var r,n=t._fullData.length,i=0;i<n;i++){var a=t._fullData[i];if(a.index!==e.index&&(\"carpet\"===a.type&&(r||(r=a),a.carpet===e.carpet)))return a}return r},yp=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,vp,r,n)}if(i(\"carpet\"),t.a&&t.b){if(!Df(t,e,i,n,\"a\",\"b\"))return void(e.visible=!1);i(\"text\");var a=\"constraint\"===i(\"contours.type\");a||delete e.showlegend,a?Lf(t,e,i,n,r,{hasHover:!1}):(zf(0,e,i,function(r){return ne.coerce2(t,e,vp,r)}),Pf(t,e,i,n,{hasHover:!1}))}else e._defaultColor=r};var xp=ne.isArrayOrTypedArray,bp=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d,g,v,m=xp(r)?\"a\":\"b\",y=(\"a\"===m?t.aaxis:t.baxis).smoothing,x=\"a\"===m?t.a2i:t.b2j,b=\"a\"===m?r:n,_=\"a\"===m?n:r,w=\"a\"===m?e.a.length:e.b.length,M=\"a\"===m?e.b.length:e.a.length,A=Math.floor(\"a\"===m?t.b2j(_):t.a2i(_)),k=\"a\"===m?function(e){return t.evalxy([],e,A)}:function(e){return t.evalxy([],A,e)};y&&(o=Math.max(0,Math.min(M-2,A)),s=A-o,a=\"a\"===m?function(e,r){return t.dxydi([],e,o,r,s)}:function(e,r){return t.dxydj([],o,e,s,r)});var T=x(b[0]),S=x(b[1]),E=T<S?1:-1,C=1e-8*(S-T),L=E>0?Math.floor:Math.ceil,z=E>0?Math.ceil:Math.floor,P=E>0?Math.min:Math.max,I=E>0?Math.max:Math.min,D=L(T+C),O=z(S-C),R=[[c=k(T)]];for(i=D;i*E<O*E;i+=E)l=[],d=I(T,i),v=(g=P(S,i+E))-d,u=Math.max(0,Math.min(w-2,Math.floor(.5*(d+g)))),h=k(g),y&&(f=a(u,d-u),p=a(u,g-u),l.push([c[0]+f[0]/3*v,c[1]+f[1]/3*v]),l.push([h[0]-p[0]/3*v,h[1]-p[1]/3*v])),l.push(h),R.push(l),c=h;return R},_p=function(t,e,r,n,i,a,o,s){var l,u,c,h,f,p,d,g=\"\",v=e.edgepaths.map(function(t,e){return e}),m=!0,y=1e-4*Math.abs(r[0][0]-r[2][0]),x=1e-4*Math.abs(r[0][1]-r[2][1]);function b(t){return Math.abs(t[1]-r[0][1])<x}function _(t){return Math.abs(t[1]-r[2][1])<x}function w(t){return Math.abs(t[0]-r[0][0])<y}function M(t){return Math.abs(t[0]-r[2][0])<y}function A(t,e){var r,n,l,u,c=\"\";for(b(t)&&!M(t)||_(t)&&!w(t)?(u=i.aaxis,l=bp(i,a,[t[0],e[0]],.5*(t[1]+e[1]))):(u=i.baxis,l=bp(i,a,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r<l.length;r++)for(c+=u.smoothing?\"C\":\"L\",n=0;n<l[r].length;n++){var h=l[r][n];c+=[o.c2p(h[0]),s.c2p(h[1])]+\" \"}return c}for(l=0,u=null;v.length;){var k=e.edgepaths[l][0];for(u&&(g+=A(u,k)),d=Sr.smoothopen(e.edgepaths[l].map(n),e.smoothing),g+=m?d:d.replace(/^M/,\"L\"),v.splice(v.indexOf(l),1),u=e.edgepaths[l][e.edgepaths[l].length-1],f=-1,h=0;h<4;h++){if(!u){ne.log(\"Missing end?\",l,e);break}for(b(u)&&!M(u)?c=r[1]:w(u)?c=r[0]:_(u)?c=r[3]:M(u)&&(c=r[2]),p=0;p<e.edgepaths.length;p++){var T=e.edgepaths[p][0];Math.abs(u[0]-c[0])<y?Math.abs(u[0]-T[0])<y&&(T[1]-u[1])*(c[1]-T[1])>=0&&(c=T,f=p):Math.abs(u[1]-c[1])<x?Math.abs(u[1]-T[1])<x&&(T[0]-u[0])*(c[0]-T[0])>=0&&(c=T,f=p):ne.log(\"endpt to newendpt is not vert. or horz.\",u,c,T)}if(f>=0)break;g+=A(u,c),u=c}if(f===e.edgepaths.length){ne.log(\"unclosed perimeter path\");break}l=f,(m=-1===v.indexOf(l))&&(l=v[0],g+=A(u,c)+\"Z\",u=null)}for(l=0;l<e.paths.length;l++)g+=Sr.smoothclosed(e.paths[l].map(n),e.smoothing);return g},wp=function(t,e){var r,n,i,a,o,s,l,u,c;for(r=0;r<t.length;r++){for(o=(a=t[r]).pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(c=a.edgepaths[n],l=[],i=0;i<c.length;i++)l[i]=e(c[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(c=a.paths[n],u=[],i=0;i<c.length;i++)u[i]=e(c[i]);s.push(u)}}};function Mp(t,r,n){var i=n[0].trace,a=i.carpetTrace=mp(t,i),o=t.calcdata[a.index][0];if(a.visible&&\"legendonly\"!==a.visible){var s=n[0].a,l=n[0].b,u=i.contours,c=i.uid,h=r.xaxis,f=r.yaxis,p=t._fullLayout,d=\"contour\"+c,g=Wf(u,r,n[0]),v=\"constraint\"===u.type,m=u._operation,y=v?\"=\"===m?\"lines\":\"fill\":u.coloring;if(!0===i.visible){var x=[[s[0],l[l.length-1]],[s[s.length-1],l[l.length-1]],[s[s.length-1],l[0]],[s[0],l[0]]];Kf(g);var b=1e-8*(s[s.length-1]-s[0]),_=1e-8*(l[l.length-1]-l[0]);Yf(g,b,_);var w=g;\"constraint\"===u.type&&(w=jf(g,m),Bf(w,m,x,i)),wp(g,L);var M,A,k,T,S=ip.makeContourGroup(r,n,d),E=[];for(T=o.clipsegments.length-1;T>=0;T--)M=o.clipsegments[T],A=Ou([],M.x,h.c2p),k=Ou([],M.y,f.c2p),A.reverse(),k.reverse(),E.push(Iu(A,k,M.bicubic));var C=\"M\"+E.join(\"L\")+\"Z\";!function(t,e,r,n,i,a){var o,s,l,u,c=t.selectAll(\"g.contourbg\").data([0]);c.enter().append(\"g\").classed(\"contourbg\",!0);var h=c.selectAll(\"path\").data(\"fill\"!==a||i?[]:[0]);h.enter().append(\"path\"),h.exit().remove();var f=[];for(u=0;u<e.length;u++)o=e[u],s=Ou([],o.x,r.c2p),l=Ou([],o.y,n.c2p),f.push(Iu(s,l,o.bicubic));h.attr(\"d\",\"M\"+f.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}(S,o.clipsegments,h,f,v,y),function(t,r,n,i,a,o,s,l,u,c,h){var f=r.selectAll(\"g.contourfill\").data([0]);f.enter().append(\"g\").classed(\"contourfill\",!0);var p=f.selectAll(\"path\").data(\"fill\"===c?a:[]);p.enter().append(\"path\"),p.exit().remove(),p.each(function(r){var a=_p(t,r,o,s,l,u,n,i);r.prefixBoundary&&(a=h+a),a?e.select(this).attr(\"d\",a).style(\"stroke\",\"none\"):e.select(this).remove()})}(i,S,h,f,w,x,L,a,o,y,C),function(t,r,n,i,a,o,s){var l=t.selectAll(\"g.contourlines\").data([0]);l.enter().append(\"g\").classed(\"contourlines\",!0);var u=!1!==a.showlines,c=a.showlabels,h=u&&c,f=ip.createLines(l,u||c,r),p=ip.createLineClip(l,h,n._fullLayout._defs,i.trace.uid),d=t.selectAll(\"g.contourlabels\").data(c?[0]:[]);if(d.exit().remove(),d.enter().append(\"g\").classed(\"contourlabels\",!0),c){var g=o.xaxis,v=o.yaxis,m=g._length,y=v._length,x=[[[0,0],[m,0],[m,y],[0,y]]],b=[];ne.clearLocationCache();var _=ip.labelFormatter(a,i.t.cb,n._fullLayout),w=Sr.tester.append(\"text\").attr(\"data-notex\",1).call(Sr.font,a.labelfont),M={left:0,right:m,center:m/2,top:0,bottom:y,middle:y/2},A=Math.sqrt(m*m+y*y),k=Nf.LABELDISTANCE*A/Math.max(1,r.length/Nf.LABELINCREASE);f.each(function(t){var r=ip.calcTextOpts(t.level,_,w,n);e.select(this).selectAll(\"path\").each(function(e){var n=ne.getVisibleSegment(this,M,r.height/2);if(n&&(function(t,e,r,n,i,a){for(var o,s=0;s<r.pedgepaths.length;s++)e===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=i.a[0],u=i.a[i.a.length-1],c=i.b[0],h=i.b[i.b.length-1];function f(t,e){var r,n=0;return(Math.abs(t[0]-l)<.1||Math.abs(t[0]-u)<.1)&&(r=kp(i.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,a*Tp(e,r)/2)),(Math.abs(t[1]-c)<.1||Math.abs(t[1]-h)<.1)&&(r=kp(i.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,a*Tp(e,r)/2)),n}var p=Ap(t,0,1),d=Ap(t,n.total,n.total-1),g=f(o[0],p),v=n.total-f(o[o.length-1],d);n.min<g&&(n.min=g);n.max>v&&(n.max=v);n.len=n.max-n.min}(this,e,t,n,s,r.height),!(n.len<(r.width+r.height)*Nf.LABELMIN)))for(var i=Math.min(Math.ceil(n.len/k),Nf.LABELMAX),a=0;a<i;a++){var o=ip.findBestTextLocation(this,n,r,b,M);if(!o)break;ip.addLabelData(o,r,b,x)}})}),w.remove(),ip.drawLabels(d,b,n,p,h?x:null)}c&&!u&&f.remove()}(S,g,t,n[0],u,r,a),Sr.setClipUrl(S,a._clipPathId)}else p._infolayer.selectAll(\".cb\"+c).remove()}function L(t){var e=a.ab2xy(t[0],t[1],!0);return[h.c2p(e[0]),f.c2p(e[1])]}}function Ap(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function kp(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function Tp(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}var Sp={};Sp.attributes=vp,Sp.supplyDefaults=yp,Sp.colorbar=Af,Sp.calc=function(t,e){var r=e.carpetTrace=mp(t,e);if(r&&r.visible&&\"legendonly\"!==r.visible){if(!e.a||!e.b){var n=t.data[r.index],i=t.data[e.index];i.a||(i.a=n.a),i.b||(i.b=n.b),yp(i,e,e._defaultColor,t._fullLayout)}var a=function(t,e){var r,n,i,a,o,s,l,u=e.carpetTrace,c=u.aaxis,h=u.baxis;c._minDtick=0,h._minDtick=0,qh(e)&&Pu(e,c,h,\"a\",\"b\",[\"z\"]),r=e.a?c.makeCalcdata(e,\"a\"):[],a=e.b?h.makeCalcdata(e,\"b\"):[],n=e.a0||0,i=e.da||1,o=e.b0||0,s=e.db||1,l=xu(e.z,e.transpose),e._emptypoints=Vh(l),e._interpz=Wh(l,e._emptypoints,e._interpz);var f=jh(l),p=\"scaled\"===e.xtype?\"\":r,d=Zh(e,p,n,i,f,c),g=\"scaled\"===e.ytype?\"\":a,v=Zh(e,g,o,s,l.length,h),m={a:d,b:v,z:l};return\"levels\"===e.contours.type&&Ve(e,l,\"\",\"z\"),[m]}(0,e);return Bh(e),a}},Sp.plot=function(t,e,r){for(var n=0;n<r.length;n++)Mp(t,e,r[n])},Sp.style=cp,Sp.moduleType=\"trace\",Sp.name=\"contourcarpet\",Sp.basePlotModule=ua,Sp.categories=[\"cartesian\",\"carpet\",\"contour\",\"symbols\",\"showLegend\",\"hasLines\",\"carpetDependent\"],Sp.meta={};var Ep=Sp,Cp={\"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-default\":\"cursor:default;\",\"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;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;\",\"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 Lp in Cp){var zp=Lp.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\");ne.addStyleRule(zp,Cp[Lp])}var Pp,Ip,Dp,Op={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},spikeline:{width:1e3,path:\"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z\",ascent:850,descent:-150}},Rp=Pp={};function Fp(){throw new Error(\"setTimeout has not been defined\")}function Bp(){throw new Error(\"clearTimeout has not been defined\")}function Np(t){if(Ip===setTimeout)return setTimeout(t,0);if((Ip===Fp||!Ip)&&setTimeout)return Ip=setTimeout,setTimeout(t,0);try{return Ip(t,0)}catch(e){try{return Ip.call(null,t,0)}catch(e){return Ip.call(this,t,0)}}}!function(){try{Ip=\"function\"==typeof setTimeout?setTimeout:Fp}catch(t){Ip=Fp}try{Dp=\"function\"==typeof clearTimeout?clearTimeout:Bp}catch(t){Dp=Bp}}();var jp,Vp=[],Up=!1,qp=-1;function Hp(){Up&&jp&&(Up=!1,jp.length?Vp=jp.concat(Vp):qp=-1,Vp.length&&Gp())}function Gp(){if(!Up){var t=Np(Hp);Up=!0;for(var e=Vp.length;e;){for(jp=Vp,Vp=[];++qp<e;)jp&&jp[qp].run();qp=-1,e=Vp.length}jp=null,Up=!1,function(t){if(Dp===clearTimeout)return clearTimeout(t);if((Dp===Bp||!Dp)&&clearTimeout)return Dp=clearTimeout,clearTimeout(t);try{Dp(t)}catch(e){try{return Dp.call(null,t)}catch(e){return Dp.call(this,t)}}}(t)}}function Wp(t,e){this.fun=t,this.array=e}function Yp(){}Rp.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];Vp.push(new Wp(t,e)),1!==Vp.length||Up||Np(Gp)},Wp.prototype.run=function(){this.fun.apply(null,this.array)},Rp.title=\"browser\",Rp.browser=!0,Rp.env={},Rp.argv=[],Rp.version=\"\",Rp.versions={},Rp.on=Yp,Rp.addListener=Yp,Rp.once=Yp,Rp.off=Yp,Rp.removeListener=Yp,Rp.removeAllListeners=Yp,Rp.emit=Yp,Rp.prependListener=Yp,Rp.prependOnceListener=Yp,Rp.listeners=function(t){return[]},Rp.binding=function(t){throw new Error(\"process.binding is not supported\")},Rp.cwd=function(){return\"/\"},Rp.chdir=function(t){throw new Error(\"process.chdir is not supported\")},Rp.umask=function(){return 0};var Xp={exports:{}};(function(t,e){!function(t,e){\"object\"==typeof Xp.exports?Xp.exports=e():t.ES6Promise=e()}(this,function(){\"use strict\";function r(t){return\"function\"==typeof t}var n=Array.isArray?Array.isArray:function(t){return\"[object Array]\"===Object.prototype.toString.call(t)},i=0,a=void 0,o=void 0,s=function(t,e){d[i]=t,d[i+1]=e,2===(i+=2)&&(o?o(g):b())};var l=\"undefined\"!=typeof window?window:void 0,u=l||{},c=u.MutationObserver||u.WebKitMutationObserver,h=\"undefined\"==typeof self&&void 0!==t&&\"[object process]\"==={}.toString.call(t),f=\"undefined\"!=typeof Uint8ClampedArray&&\"undefined\"!=typeof importScripts&&\"undefined\"!=typeof MessageChannel;function p(){var t=setTimeout;return function(){return t(g,1)}}var d=new Array(1e3);function g(){for(var t=0;t<i;t+=2){(0,d[t])(d[t+1]),d[t]=void 0,d[t+1]=void 0}i=0}var v,m,y,x,b=void 0;function _(t,e){var r=arguments,n=this,i=new this.constructor(A);void 0===i[M]&&V(i);var a,o=n._state;return o?(a=r[o-1],s(function(){return N(o,i,a,n._result)})):O(n,i,t,e),i}function w(t){if(t&&\"object\"==typeof t&&t.constructor===this)return t;var e=new this(A);return z(e,t),e}h?b=function(){return t.nextTick(g)}:c?(m=0,y=new c(g),x=document.createTextNode(\"\"),y.observe(x,{characterData:!0}),b=function(){x.data=m=++m%2}):f?((v=new MessageChannel).port1.onmessage=g,b=function(){return v.port2.postMessage(0)}):b=void 0===l&&\"function\"==typeof require?function(){try{var t=require(\"vertx\");return a=t.runOnLoop||t.runOnContext,function(){a(g)}}catch(t){return p()}}():p();var M=Math.random().toString(36).substring(16);function A(){}var k=void 0,T=1,S=2,E=new F;function C(t){try{return t.then}catch(t){return E.error=t,E}}function L(t,e,n){e.constructor===t.constructor&&n===_&&e.constructor.resolve===w?function(t,e){e._state===T?I(t,e._result):e._state===S?D(t,e._result):O(e,void 0,function(e){return z(t,e)},function(e){return D(t,e)})}(t,e):n===E?D(t,E.error):void 0===n?I(t,e):r(n)?function(t,e,r){s(function(t){var n=!1,i=function(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}(r,e,function(r){n||(n=!0,e!==r?z(t,r):I(t,r))},function(e){n||(n=!0,D(t,e))},t._label);!n&&i&&(n=!0,D(t,i))},t)}(t,e,n):I(t,e)}function z(t,e){var r;t===e?D(t,new TypeError(\"You cannot resolve a promise with itself\")):\"function\"==typeof(r=e)||\"object\"==typeof r&&null!==r?L(t,e,C(e)):I(t,e)}function P(t){t._onerror&&t._onerror(t._result),R(t)}function I(t,e){t._state===k&&(t._result=e,t._state=T,0!==t._subscribers.length&&s(R,t))}function D(t,e){t._state===k&&(t._state=S,t._result=e,s(P,t))}function O(t,e,r,n){var i=t._subscribers,a=i.length;t._onerror=null,i[a]=e,i[a+T]=r,i[a+S]=n,0===a&&t._state&&s(R,t)}function R(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?N(r,n,i,a):i(a);t._subscribers.length=0}}function F(){this.error=null}var B=new F;function N(t,e,n,i){var a=r(n),o=void 0,s=void 0,l=void 0,u=void 0;if(a){if((o=function(t,e){try{return t(e)}catch(t){return B.error=t,B}}(n,i))===B?(u=!0,s=o.error,o=null):l=!0,e===o)return void D(e,new TypeError(\"A promises callback cannot return that same promise.\"))}else o=i,l=!0;e._state!==k||(a&&l?z(e,o):u?D(e,s):t===T?I(e,o):t===S&&D(e,o))}var j=0;function V(t){t[M]=j++,t._state=void 0,t._result=void 0,t._subscribers=[]}function U(t,e){this._instanceConstructor=t,this.promise=new t(A),this.promise[M]||V(this.promise),n(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?I(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&I(this.promise,this._result))):D(this.promise,new Error(\"Array Methods must be provided an Array\"))}function q(t){this[M]=j++,this._result=this._state=void 0,this._subscribers=[],A!==t&&(\"function\"!=typeof t&&function(){throw new TypeError(\"You must pass a resolver function as the first argument to the promise constructor\")}(),this instanceof q?function(t,e){try{e(function(e){z(t,e)},function(e){D(t,e)})}catch(e){D(t,e)}}(this,t):function(){throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\")}())}function H(){var t=void 0;if(void 0!==e)t=e;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 r=t.Promise;if(r){var n=null;try{n=Object.prototype.toString.call(r.resolve())}catch(t){}if(\"[object Promise]\"===n&&!r.cast)return}t.Promise=q}return U.prototype._enumerate=function(){for(var t=this.length,e=this._input,r=0;this._state===k&&r<t;r++)this._eachEntry(e[r],r)},U.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===w){var i=C(t);if(i===_&&t._state!==k)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(A);L(a,t,i),this._willSettleAt(a,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},U.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===k&&(this._remaining--,t===S?D(n,r):this._result[e]=r),0===this._remaining&&I(n,this._result)},U.prototype._willSettleAt=function(t,e){var r=this;O(t,void 0,function(t){return r._settledAt(T,e,t)},function(t){return r._settledAt(S,e,t)})},q.all=function(t){return new U(this,t).promise},q.race=function(t){var e=this;return n(t)?new e(function(r,n){for(var i=t.length,a=0;a<i;a++)e.resolve(t[a]).then(r,n)}):new e(function(t,e){return e(new TypeError(\"You must pass an array to race.\"))})},q.resolve=w,q.reject=function(t){var e=new this(A);return D(e,t),e},q._setScheduler=function(t){o=t},q._setAsap=function(t){s=t},q._asap=s,q.prototype={constructor:q,then:_,catch:function(t){return this.then(null,t)}},H(),q.polyfill=H,q.Promise=q,q})}).call(this,Pp,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{}),Xp=Xp.exports;var Zp=[{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,noRotate:!0},{path:\"M2,2V-2H-2V2Z\",backoff:0,noRotate:!0}],Jp={_isLinkedToArray:\"annotation\",visible:{valType:\"boolean\",dflt:!0,editType:\"calcIfAutorange+arraydraw\"},text:{valType:\"string\",editType:\"calcIfAutorange+arraydraw\"},textangle:{valType:\"angle\",dflt:0,editType:\"calcIfAutorange+arraydraw\"},font:T({editType:\"calcIfAutorange+arraydraw\",colorEditType:\"arraydraw\"}),width:{valType:\"number\",min:1,dflt:null,editType:\"calcIfAutorange+arraydraw\"},height:{valType:\"number\",min:1,dflt:null,editType:\"calcIfAutorange+arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"center\",editType:\"arraydraw\"},valign:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\",editType:\"arraydraw\"},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},borderpad:{valType:\"number\",min:0,dflt:1,editType:\"calcIfAutorange+arraydraw\"},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"calcIfAutorange+arraydraw\"},showarrow:{valType:\"boolean\",dflt:!0,editType:\"calcIfAutorange+arraydraw\"},arrowcolor:{valType:\"color\",editType:\"arraydraw\"},arrowhead:{valType:\"integer\",min:0,max:Zp.length,dflt:1,editType:\"arraydraw\"},startarrowhead:{valType:\"integer\",min:0,max:Zp.length,dflt:1,editType:\"arraydraw\"},arrowside:{valType:\"flaglist\",flags:[\"end\",\"start\"],extras:[\"none\"],dflt:\"end\",editType:\"arraydraw\"},arrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calcIfAutorange+arraydraw\"},startarrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calcIfAutorange+arraydraw\"},arrowwidth:{valType:\"number\",min:.1,editType:\"calcIfAutorange+arraydraw\"},standoff:{valType:\"number\",min:0,dflt:0,editType:\"calcIfAutorange+arraydraw\"},startstandoff:{valType:\"number\",min:0,dflt:0,editType:\"calcIfAutorange+arraydraw\"},ax:{valType:\"any\",editType:\"calcIfAutorange+arraydraw\"},ay:{valType:\"any\",editType:\"calcIfAutorange+arraydraw\"},axref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",Te.idRegex.x.toString()],editType:\"calc\"},ayref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",Te.idRegex.y.toString()],editType:\"calc\"},xref:{valType:\"enumerated\",values:[\"paper\",Te.idRegex.x.toString()],editType:\"calc\"},x:{valType:\"any\",editType:\"calcIfAutorange+arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\",editType:\"calcIfAutorange+arraydraw\"},xshift:{valType:\"number\",dflt:0,editType:\"calcIfAutorange+arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",Te.idRegex.y.toString()],editType:\"calc\"},y:{valType:\"any\",editType:\"calcIfAutorange+arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"auto\",editType:\"calcIfAutorange+arraydraw\"},yshift:{valType:\"number\",dflt:0,editType:\"calcIfAutorange+arraydraw\"},clicktoshow:{valType:\"enumerated\",values:[!1,\"onoff\",\"onout\"],dflt:!1,editType:\"arraydraw\"},xclick:{valType:\"any\",editType:\"arraydraw\"},yclick:{valType:\"any\",editType:\"arraydraw\"},hovertext:{valType:\"string\",editType:\"arraydraw\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",editType:\"arraydraw\"},font:T({editType:\"arraydraw\"}),editType:\"arraydraw\"},captureevents:{valType:\"boolean\",editType:\"arraydraw\"},editType:\"calc\",_deprecated:{ref:{valType:\"string\",editType:\"calc\"}}},Kp=function(t,r,n){var i,a,o,s,l=t.node(),u=Zp[n.arrowhead||0],c=Zp[n.startarrowhead||0],h=(n.arrowwidth||1)*(n.arrowsize||1),f=(n.arrowwidth||1)*(n.startarrowsize||1),p=r.indexOf(\"start\")>=0,d=r.indexOf(\"end\")>=0,g=u.backoff*h+n.standoff,v=c.backoff*f+n.startstandoff;if(\"line\"===l.nodeName){i={x:+t.attr(\"x1\"),y:+t.attr(\"y1\")},a={x:+t.attr(\"x2\"),y:+t.attr(\"y2\")};var m=i.x-a.x,y=i.y-a.y;if(s=(o=Math.atan2(y,m))+Math.PI,g&&v&&g+v>Math.sqrt(m*m+y*y))return void C();if(g){if(g*g>m*m+y*y)return void C();var x=g*Math.cos(o),b=g*Math.sin(o);a.x+=x,a.y+=b,t.attr({x2:a.x,y2:a.y})}if(v){if(v*v>m*m+y*y)return void C();var _=v*Math.cos(o),w=v*Math.sin(o);i.x-=_,i.y-=w,t.attr({x1:i.x,y1:i.y})}}else if(\"path\"===l.nodeName){var M=l.getTotalLength(),A=\"\";if(M<g+v)return void C();var k=l.getPointAtLength(0),T=l.getPointAtLength(.1);o=Math.atan2(k.y-T.y,k.x-T.x),i=l.getPointAtLength(Math.min(v,M)),A=\"0px,\"+v+\"px,\";var S=l.getPointAtLength(M),E=l.getPointAtLength(M-.1);s=Math.atan2(S.y-E.y,S.x-E.x),a=l.getPointAtLength(Math.max(0,M-g)),A+=M-(A?v+g:g)+\"px,\"+M+\"px\",t.style(\"stroke-dasharray\",A)}function C(){t.style(\"stroke-dasharray\",\"0px,100px\")}function L(r,i,a,o){r.path&&(r.noRotate&&(a=0),e.select(l.parentNode).append(\"path\").attr({class:t.attr(\"class\"),d:r.path,transform:\"translate(\"+i.x+\",\"+i.y+\")\"+(a?\"rotate(\"+180*a/Math.PI+\")\":\"\")+\"scale(\"+o+\")\"}).style({fill:Oe.rgb(n.arrowcolor),\"stroke-width\":0}))}p&&L(c,i,o,f),d&&L(u,a,s,h)},Qp={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(\".annotation\").remove();for(var r=0;r<e.annotations.length;r++)e.annotations[r].visible&&$p(t,r);return _n.previousPromises(t)},drawOne:$p,drawRaw:td};function $p(t,e){var r=t._fullLayout.annotations[e]||{};td(t,r,e,!1,ri.getFromId(t,r.xref),ri.getFromId(t,r.yref))}function td(t,r,n,i,a,o){var s,l,u=t._fullLayout,c=t._fullLayout._size,h=t._context.edits;i?(s=\"annotation-\"+i,l=i+\".annotations[\"+n+\"]\"):(s=\"annotation\",l=\"annotations[\"+n+\"]\"),u._infolayer.selectAll(\".\"+s+'[data-index=\"'+n+'\"]').remove();var f=\"clip\"+u._uid+\"_ann\"+n;if(r._input&&!1!==r.visible){var p={x:{},y:{}},d=+r.textangle||0,g=u._infolayer.append(\"g\").classed(s,!0).attr(\"data-index\",String(n)).style(\"opacity\",r.opacity),v=g.append(\"g\").classed(\"annotation-text-g\",!0),m=h[r.showarrow?\"annotationTail\":\"annotationPosition\"],y=r.captureevents||h.annotationText||m,x=v.append(\"g\").style(\"pointer-events\",y?\"all\":null).call(Ka,\"default\").on(\"click\",function(){t._dragging=!1;var a={index:n,annotation:r._input,fullAnnotation:r,event:e.event};i&&(a.subplotId=i),t.emit(\"plotly_clickannotation\",a)});r.hovertext&&x.on(\"mouseover\",function(){var e=r.hoverlabel,n=e.font,i=this.getBoundingClientRect(),a=t.getBoundingClientRect();yo.loneHover({x0:i.left-a.left,x1:i.right-a.left,y:(i.top+i.bottom)/2-a.top,text:r.hovertext,color:e.bgcolor,borderColor:e.bordercolor,fontFamily:n.family,fontSize:n.size,fontColor:n.color},{container:u._hoverlayer.node(),outerContainer:u._paper.node(),gd:t})}).on(\"mouseout\",function(){yo.loneUnhover(u._hoverlayer.node())});var b=r.borderwidth,_=r.borderpad,w=b+_,M=x.append(\"rect\").attr(\"class\",\"bg\").style(\"stroke-width\",b+\"px\").call(Oe.stroke,r.bordercolor).call(Oe.fill,r.bgcolor),A=r.width||r.height,k=u._topclips.selectAll(\"#\"+f).data(A?[0]:[]);k.enter().append(\"clipPath\").classed(\"annclip\",!0).attr(\"id\",f).append(\"rect\"),k.exit().remove();var T=r.font,S=x.append(\"text\").classed(\"annotation-text\",!0).text(r.text);h.annotationText?S.call(er.makeEditable,{delegate:x,gd:t}).call(E).on(\"edit\",function(e){r.text=e,this.call(E);var n={};n[l+\".text\"]=r.text,a&&a.autorange&&(n[a._name+\".autorange\"]=!0),o&&o.autorange&&(n[o._name+\".autorange\"]=!0),P.call(\"relayout\",t,n)}):S.call(E)}else e.selectAll(\"#\"+f).remove();function E(e){return e.call(Sr.font,T).attr({\"text-anchor\":{left:\"start\",right:\"end\"}[r.align]||\"middle\"}),er.convertToTspans(e,t,C),e}function C(){var e=S.selectAll(\"a\");1===e.size()&&e.text()===S.text()&&x.insert(\"a\",\":first-child\").attr({\"xlink:xlink:href\":e.attr(\"xlink:href\"),\"xlink:xlink:show\":e.attr(\"xlink:show\")}).style({cursor:\"pointer\"}).node().appendChild(M.node());var n=x.select(\".annotation-text-math-group\"),s=!n.empty(),y=Sr.bBox((s?n:S).node()),_=y.width,T=y.height,E=r.width||_,C=r.height||T,L=Math.round(E+2*w),z=Math.round(C+2*w);function I(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]}r._w=E,r._h=C;for(var D=!1,O=[\"x\",\"y\"],R=0;R<O.length;R++){var F,B,N,j,V,U=O[R],q=r[U+\"ref\"]||U,H=r[\"a\"+U+\"ref\"],G={x:a,y:o}[U],W=(d+(\"x\"===U?0:-90))*Math.PI/180,Y=L*Math.cos(W),X=z*Math.sin(W),Z=Math.abs(Y)+Math.abs(X),J=r[U+\"anchor\"],K=r[U+\"shift\"]*(\"x\"===U?1:-1),Q=p[U];if(G){var $=G.r2fraction(r[U]);if((t._dragging||!G.autorange)&&($<0||$>1)&&(H===q?(($=G.r2fraction(r[\"a\"+U]))<0||$>1)&&(D=!0):D=!0,D))continue;F=G._offset+G.r2p(r[U]),j=.5}else\"x\"===U?(N=r[U],F=c.l+c.w*N):(N=1-r[U],F=c.t+c.h*N),j=r.showarrow?.5:N;if(r.showarrow){Q.head=F;var tt=r[\"a\"+U];V=Y*I(.5,r.xanchor)-X*I(.5,r.yanchor),H===q?(Q.tail=G._offset+G.r2p(tt),B=V):(Q.tail=F+tt,B=V+tt),Q.text=Q.tail+V;var et=u[\"x\"===U?\"width\":\"height\"];if(\"paper\"===q&&(Q.head=ne.constrain(Q.head,1,et-1)),\"pixel\"===H){var rt=-Math.max(Q.tail-3,Q.text),nt=Math.min(Q.tail+3,Q.text)-et;rt>0?(Q.tail+=rt,Q.text+=rt):nt>0&&(Q.tail-=nt,Q.text-=nt)}Q.tail+=K,Q.head+=K}else B=V=Z*I(j,J),Q.text=F+V;Q.text+=K,V+=K,B+=K,r[\"_\"+U+\"padplus\"]=Z/2+B,r[\"_\"+U+\"padminus\"]=Z/2-B,r[\"_\"+U+\"size\"]=Z,r[\"_\"+U+\"shift\"]=V}if(D)x.remove();else{var it=0,at=0;if(\"left\"!==r.align&&(it=(E-_)*(\"center\"===r.align?.5:1)),\"top\"!==r.valign&&(at=(C-T)*(\"middle\"===r.valign?.5:1)),s)n.select(\"svg\").attr({x:w+it-1,y:w+at}).call(Sr.setClipUrl,A?f:null);else{var ot=w+at-y.top,st=w+it-y.left;S.call(er.positionText,st,ot).call(Sr.setClipUrl,A?f:null)}k.select(\"rect\").call(Sr.setRect,w,w,E,C),M.call(Sr.setRect,b/2,b/2,L-b,z-b),x.call(Sr.setTranslate,Math.round(p.x.text-L/2),Math.round(p.y.text-z/2)),v.attr({transform:\"rotate(\"+d+\",\"+p.x.text+\",\"+p.y.text+\")\"});var lt,ut,ct=function(e,n){g.selectAll(\".annotation-arrow-g\").remove();var s=p.x.head,u=p.y.head,f=p.x.tail+e,m=p.y.tail+n,y=p.x.text+e,b=p.y.text+n,_=ne.rotationXYMatrix(d,y,b),w=ne.apply2DTransform(_),A=ne.apply2DTransform2(_),k=+M.attr(\"width\"),T=+M.attr(\"height\"),S=y-.5*k,E=S+k,C=b-.5*T,L=C+T,z=[[S,C,S,L],[S,L,E,L],[E,L,E,C],[E,C,S,C]].map(A);if(!z.reduce(function(t,e){return t^!!ne.segmentsIntersect(s,u,s+1e6,u+1e6,e[0],e[1],e[2],e[3])},!1)){z.forEach(function(t){var e=ne.segmentsIntersect(f,m,s,u,t[0],t[1],t[2],t[3]);e&&(f=e.x,m=e.y)});var I=r.arrowwidth,D=r.arrowcolor,O=r.arrowside,R=g.append(\"g\").style({opacity:Oe.opacity(D)}).classed(\"annotation-arrow-g\",!0),F=R.append(\"path\").attr(\"d\",\"M\"+f+\",\"+m+\"L\"+s+\",\"+u).style(\"stroke-width\",I+\"px\").call(Oe.stroke,Oe.rgb(D));if(Kp(F,O,r),h.annotationPosition&&F.node().parentNode&&!i){var B=s,N=u;if(r.standoff){var j=Math.sqrt(Math.pow(s-f,2)+Math.pow(u-m,2));B+=r.standoff*(f-s)/j,N+=r.standoff*(m-u)/j}var V,U,q,H=R.append(\"path\").classed(\"annotation-arrow\",!0).classed(\"anndrag\",!0).attr({d:\"M3,3H-3V-3H3ZM0,0L\"+(f-B)+\",\"+(m-N),transform:\"translate(\"+B+\",\"+N+\")\"}).style(\"stroke-width\",I+6+\"px\").call(Oe.stroke,\"rgba(0,0,0,0)\").call(Oe.fill,\"rgba(0,0,0,0)\");Ua.init({element:H.node(),gd:t,prepFn:function(){var t=Sr.getTranslate(x);U=t.x,q=t.y,V={},a&&a.autorange&&(V[a._name+\".autorange\"]=!0),o&&o.autorange&&(V[o._name+\".autorange\"]=!0)},moveFn:function(t,e){var n=w(U,q),i=n[0]+t,s=n[1]+e;x.call(Sr.setTranslate,i,s),V[l+\".x\"]=a?a.p2r(a.r2p(r.x)+t):r.x+t/c.w,V[l+\".y\"]=o?o.p2r(o.r2p(r.y)+e):r.y-e/c.h,r.axref===r.xref&&(V[l+\".ax\"]=a.p2r(a.r2p(r.ax)+t)),r.ayref===r.yref&&(V[l+\".ay\"]=o.p2r(o.r2p(r.ay)+e)),R.attr(\"transform\",\"translate(\"+t+\",\"+e+\")\"),v.attr({transform:\"rotate(\"+d+\",\"+i+\",\"+s+\")\"})},doneFn:function(){P.call(\"relayout\",t,V);var e=document.querySelector(\".js-notes-box-panel\");e&&e.redraw(e.selectedObj)}})}}};if(r.showarrow&&ct(0,0),m)Ua.init({element:x.node(),gd:t,prepFn:function(){ut=v.attr(\"transform\"),lt={}},moveFn:function(t,e){var n=\"pointer\";if(r.showarrow)r.axref===r.xref?lt[l+\".ax\"]=a.p2r(a.r2p(r.ax)+t):lt[l+\".ax\"]=r.ax+t,r.ayref===r.yref?lt[l+\".ay\"]=o.p2r(o.r2p(r.ay)+e):lt[l+\".ay\"]=r.ay+e,ct(t,e);else{if(i)return;if(a)lt[l+\".x\"]=a.p2r(a.r2p(r.x)+t);else{var s=r._xsize/c.w,u=r.x+(r._xshift-r.xshift)/c.w-s/2;lt[l+\".x\"]=Ua.align(u+t/c.w,s,0,1,r.xanchor)}if(o)lt[l+\".y\"]=o.p2r(o.r2p(r.y)+e);else{var h=r._ysize/c.h,f=r.y-(r._yshift+r.yshift)/c.h-h/2;lt[l+\".y\"]=Ua.align(f-e/c.h,h,0,1,r.yanchor)}a&&o||(n=Ua.getCursor(a?.5:lt[l+\".x\"],o?.5:lt[l+\".y\"],r.xanchor,r.yanchor))}v.attr({transform:\"translate(\"+t+\",\"+e+\")\"+ut}),Ka(x,n)},doneFn:function(){Ka(x),P.call(\"relayout\",t,lt);var e=document.querySelector(\".js-notes-box-panel\");e&&e.redraw(e.selectedObj)}})}}}var ed=Qp.draw;function rd(t){var e=t._fullLayout;ne.filterVisible(e.annotations).forEach(function(e){var r,n,i,a,o=ri.getFromId(t,e.xref),s=ri.getFromId(t,e.yref),l=3*e.arrowsize*e.arrowwidth||0,u=3*e.startarrowsize*e.arrowwidth||0;o&&o.autorange&&(r=l+e.xshift,n=l-e.xshift,i=u+e.xshift,a=u-e.xshift,e.axref===e.xref?(ri.expand(o,[o.r2c(e.x)],{ppadplus:r,ppadminus:n}),ri.expand(o,[o.r2c(e.ax)],{ppadplus:Math.max(e._xpadplus,i),ppadminus:Math.max(e._xpadminus,a)})):(i=e.ax?i+e.ax:i,a=e.ax?a-e.ax:a,ri.expand(o,[o.r2c(e.x)],{ppadplus:Math.max(e._xpadplus,r,i),ppadminus:Math.max(e._xpadminus,n,a)}))),s&&s.autorange&&(r=l-e.yshift,n=l+e.yshift,i=u-e.yshift,a=u+e.yshift,e.ayref===e.yref?(ri.expand(s,[s.r2c(e.y)],{ppadplus:r,ppadminus:n}),ri.expand(s,[s.r2c(e.ay)],{ppadplus:Math.max(e._ypadplus,i),ppadminus:Math.max(e._ypadminus,a)})):(i=e.ay?i+e.ay:i,a=e.ay?a-e.ay:a,ri.expand(s,[s.r2c(e.y)],{ppadplus:Math.max(e._ypadplus,r,i),ppadminus:Math.max(e._ypadminus,n,a)})))})}var nd={hasClickToShow:function(t,e){var r=id(t,e);return r.on.length>0||r.explicitOff.length>0},onClick:function(t,e){var r,n=id(t,e),i=n.on,a=n.off.concat(n.explicitOff),o={};if(!i.length&&!a.length)return;for(r=0;r<i.length;r++)o[\"annotations[\"+i[r]+\"].visible\"]=!0;for(r=0;r<a.length;r++)o[\"annotations[\"+a[r]+\"].visible\"]=!1;return P.call(\"update\",t,{},o)}};function id(t,e){var r,n,i,a,o,s,l,u=t._fullLayout.annotations,c=[],h=[],f=[],p=(e||[]).length;for(r=0;r<u.length;r++)if(a=(i=u[r]).clicktoshow){for(n=0;n<p;n++)if(s=(o=e[n]).xaxis,l=o.yaxis,s._id===i.xref&&l._id===i.yref&&s.d2r(o.x)===ad(i._xclick,s)&&l.d2r(o.y)===ad(i._yclick,l)){(i.visible?\"onout\"===a?h:f:c).push(r);break}n===p&&i.visible&&\"onout\"===a&&h.push(r)}return{on:c,off:h,explicitOff:f}}function ad(t,e){return\"log\"===e.type?e.l2r(t):e.d2r(t)}var od=function(t,e,r,n){n(\"opacity\");var i=n(\"bgcolor\"),a=n(\"bordercolor\"),o=Oe.opacity(a);n(\"borderpad\");var s=n(\"borderwidth\"),l=n(\"showarrow\");if(n(\"text\",l?\" \":r._dfltTitle.annotation),n(\"textangle\"),ne.coerceFont(n,\"font\",r.font),n(\"width\"),n(\"align\"),n(\"height\")&&n(\"valign\"),l){var u,c,h=n(\"arrowside\");-1!==h.indexOf(\"end\")&&(u=n(\"arrowhead\"),c=n(\"arrowsize\")),-1!==h.indexOf(\"start\")&&(n(\"startarrowhead\",u),n(\"startarrowsize\",c)),n(\"arrowcolor\",o?e.bordercolor:Oe.defaultLine),n(\"arrowwidth\",2*(o&&s||1)),n(\"standoff\"),n(\"startstandoff\")}var f=n(\"hovertext\"),p=r.hoverlabel||{};if(f){var d=n(\"hoverlabel.bgcolor\",p.bgcolor||(Oe.opacity(i)?Oe.rgb(i):Oe.defaultLine)),g=n(\"hoverlabel.bordercolor\",p.bordercolor||Oe.contrast(d));ne.coerceFont(n,\"hoverlabel.font\",{family:p.font.family,size:p.font.size,color:p.font.color||g})}n(\"captureevents\",!!f)},sd=function(t,e,r,n,i){function a(r,n){return ne.coerce(t,e,Jp,r,n)}n=n||{};var o=a(\"visible\",!(i=i||{}).itemIsNotPlainObject),s=a(\"clicktoshow\");if(!o&&!s)return e;od(t,e,r,a);for(var l=e.showarrow,u=[\"x\",\"y\"],c=[-10,-30],h={_fullLayout:r},f=0;f<2;f++){var p=u[f],d=ri.coerceRef(t,e,h,p,\"\",\"paper\");if(ri.coercePosition(e,h,a,d,p,.5),l){var g=\"a\"+p,v=ri.coerceRef(t,e,h,g,\"pixel\");\"pixel\"!==v&&v!==d&&(v=e[g]=\"pixel\");var m=\"pixel\"===v?c[f]:.4;ri.coercePosition(e,h,a,v,g,m)}a(p+\"anchor\"),a(p+\"shift\")}if(ne.noneOrAll(t,e,[\"x\",\"y\"]),l&&ne.noneOrAll(t,e,[\"ax\",\"ay\"]),s){var y=a(\"xclick\"),x=a(\"yclick\");e._xclick=void 0===y?e.x:ri.cleanPosition(y,h,e.xref),e._yclick=void 0===x?e.y:ri.cleanPosition(x,h,e.yref)}return e},ld=function(t,e,r){var n,i=r.name,a=e[i],o=ne.isArrayOrTypedArray(t[i])?t[i]:[],s=e[i]=[];for(n=0;n<o.length;n++){var l=o[n],u={},c={};ne.isPlainObject(l)||(c.itemIsNotPlainObject=!0,l={}),r.handleItemDefaults(l,u,e,r,c),u._input=l,u._index=n,s.push(u)}if(ne.isArrayOrTypedArray(a)){var h=Math.min(a.length,s.length);for(n=0;n<h;n++)ne.relinkPrivateKeys(s[n],a[n])}},ud=function(t){return function(e,r){var n=e[t];if(Array.isArray(n))for(var i=P.subplotsRegistry.cartesian,a=i.idRegex,o=r._subplots,s=o.xaxis,l=o.yaxis,u=o.cartesian,c=r._has(\"cartesian\")||r._has(\"gl2d\"),h=0;h<n.length;h++){var f=n[h];if(ne.isPlainObject(f)){var p=f.xref,d=f.yref,g=a.x.test(p),v=a.y.test(d);if(g||v){c||ne.pushUnique(r._basePlotModules,i);var m=!1;g&&-1===s.indexOf(p)&&(s.push(p),m=!0),v&&-1===l.indexOf(d)&&(l.push(d),m=!0),m&&g&&v&&u.push(p+d)}}}}},cd={moduleType:\"component\",name:\"annotations\",layoutAttributes:Jp,supplyLayoutDefaults:function(t,e){ld(t,e,{name:\"annotations\",handleItemDefaults:sd})},includeBasePlot:ud(\"annotations\"),calcAutorange:function(t){var e=t._fullLayout,r=ne.filterVisible(e.annotations);if(r.length&&t._fullData.length){var n={};for(var i in r.forEach(function(t){n[t.xref]=1,n[t.yref]=1}),n){var a=ri.getFromId(t,i);if(a&&a.autorange)return ne.syncOrAsync([ed,rd],t)}}},draw:Qp.draw,drawOne:Qp.drawOne,drawRaw:Qp.drawRaw,hasClickToShow:nd.hasClickToShow,onClick:nd.onClick,convertCoords:function(t,e,n,i){e=e||{};var a=\"log\"===n&&\"linear\"===e.type,o=\"linear\"===n&&\"log\"===e.type;if(a||o)for(var s,l,u=t._fullLayout.annotations,c=e._id.charAt(0),h=0;h<u.length;h++)s=u[h],l=\"annotations[\"+h+\"].\",s[c+\"ref\"]===e._id&&f(c),s[\"a\"+c+\"ref\"]===e._id&&f(\"a\"+c);function f(t){var n=s[t],o=null;o=a?re(n,e.range):Math.pow(10,n),r(o)||(o=null),i(l+t,o)}}},hd=(0,ye.overrideAll)({_isLinkedToArray:\"annotation\",visible:Jp.visible,x:{valType:\"any\"},y:{valType:\"any\"},z:{valType:\"any\"},ax:{valType:\"number\"},ay:{valType:\"number\"},xanchor:Jp.xanchor,xshift:Jp.xshift,yanchor:Jp.yanchor,yshift:Jp.yshift,text:Jp.text,textangle:Jp.textangle,font:Jp.font,width:Jp.width,height:Jp.height,opacity:Jp.opacity,align:Jp.align,valign:Jp.valign,bgcolor:Jp.bgcolor,bordercolor:Jp.bordercolor,borderpad:Jp.borderpad,borderwidth:Jp.borderwidth,showarrow:Jp.showarrow,arrowcolor:Jp.arrowcolor,arrowhead:Jp.arrowhead,startarrowhead:Jp.startarrowhead,arrowside:Jp.arrowside,arrowsize:Jp.arrowsize,startarrowsize:Jp.startarrowsize,arrowwidth:Jp.arrowwidth,standoff:Jp.standoff,startstandoff:Jp.startstandoff,hovertext:Jp.hovertext,hoverlabel:Jp.hoverlabel,captureevents:Jp.captureevents},\"calc\",\"from-root\");function fd(t,e){var r=e.fullSceneLayout.domain,n=e.fullLayout._size,i={pdata:null,type:\"linear\",autorange:!1,range:[-1/0,1/0]};t._xa={},ne.extendFlat(t._xa,i),ri.setConvert(t._xa),t._xa._offset=n.l+r.x[0]*n.w,t._xa.l2p=function(){return.5*(1+t._pdata[0]/t._pdata[3])*n.w*(r.x[1]-r.x[0])},t._ya={},ne.extendFlat(t._ya,i),ri.setConvert(t._ya),t._ya._offset=n.t+(1-r.y[1])*n.h,t._ya.l2p=function(){return.5*(1-t._pdata[1]/t._pdata[3])*n.h*(r.y[1]-r.y[0])}}function pd(t,e,r,n,i){function a(r,n){return ne.coerce(t,e,hd,r,n)}function o(t){var n=t+\"axis\",i={_fullLayout:{}};return i._fullLayout[n]=r[n],ri.coercePosition(e,i,a,t,t,.5)}return a(\"visible\",!i.itemIsNotPlainObject)?(od(t,e,n.fullLayout,a),o(\"x\"),o(\"y\"),o(\"z\"),ne.noneOrAll(t,e,[\"x\",\"y\",\"z\"]),e.xref=\"x\",e.yref=\"y\",e.zref=\"z\",a(\"xanchor\"),a(\"yanchor\"),a(\"xshift\"),a(\"yshift\"),e.showarrow&&(e.axref=\"pixel\",e.ayref=\"pixel\",a(\"ax\",-10),a(\"ay\",-30),ne.noneOrAll(t,e,[\"ax\",\"ay\"])),e):e}function dd(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}var gd=function(t,e){return dd(t.projection,dd(t.view,dd(t.model,[e[0],e[1],e[2],1])))},vd=Qp.drawRaw,md=[\"x\",\"y\",\"z\"],yd={moduleType:\"component\",name:\"annotations3d\",schema:{subplots:{scene:{annotations:hd}}},layoutAttributes:hd,handleDefaults:function(t,e,r){ld(t,e,{name:\"annotations\",handleItemDefaults:pd,fullLayout:r.fullLayout})},includeBasePlot:function(t,e){var r=P.subplotsRegistry.gl3d;if(!r)return;for(var n=r.attrRegex,i=Object.keys(t),a=0;a<i.length;a++){var o=i[a];n.test(o)&&(t[o].annotations||[]).length&&(ne.pushUnique(e._basePlotModules,r),ne.pushUnique(e._subplots.gl3d,o))}},convert:function(t){for(var e=t.fullSceneLayout.annotations,r=0;r<e.length;r++)fd(e[r],t);t.fullLayout._infolayer.selectAll(\".annotation-\"+t.id).remove()},draw:function(t){for(var e=t.fullSceneLayout,r=t.dataScale,n=e.annotations,i=0;i<n.length;i++){for(var a=n[i],o=!1,s=0;s<3;s++){var l=md[s],u=a[l],c=e[l+\"axis\"].r2fraction(u);if(c<0||c>1){o=!0;break}}o?t.fullLayout._infolayer.select(\".annotation-\"+t.id+'[data-index=\"'+i+'\"]').remove():(a._pdata=gd(t.glplot.cameraParams,[e.xaxis.r2l(a.x)*r[0],e.yaxis.r2l(a.y)*r[1],e.zaxis.r2l(a.z)*r[2]]),vd(t.graphDiv,a,i,t.id,a._xa,a._ya))}}};var xd={visible:{valType:\"boolean\",editType:\"calc\"},type:{valType:\"enumerated\",values:[\"percent\",\"constant\",\"sqrt\",\"data\"],editType:\"calc\"},symmetric:{valType:\"boolean\",editType:\"calc\"},array:{valType:\"data_array\",editType:\"calc\"},arrayminus:{valType:\"data_array\",editType:\"calc\"},value:{valType:\"number\",min:0,dflt:10,editType:\"calc\"},valueminus:{valType:\"number\",min:0,dflt:10,editType:\"calc\"},traceref:{valType:\"integer\",min:0,dflt:0,editType:\"style\"},tracerefminus:{valType:\"integer\",min:0,dflt:0,editType:\"style\"},copy_ystyle:{valType:\"boolean\",editType:\"plot\"},copy_zstyle:{valType:\"boolean\",editType:\"style\"},color:{valType:\"color\",editType:\"style\"},thickness:{valType:\"number\",min:0,dflt:2,editType:\"style\"},width:{valType:\"number\",min:0,editType:\"plot\"},editType:\"calc\",_deprecated:{opacity:{valType:\"number\",editType:\"style\"}}},bd=function(t){var e=t.type,r=t.symmetric;if(\"data\"===e){var n=t.array||[];if(r)return function(t,e){var r=+n[e];return[r,r]};var i=t.arrayminus||[];return function(t,e){var r=+n[e],a=+i[e];return isNaN(r)&&isNaN(a)?[NaN,NaN]:[a||0,r||0]}}var a=_d(e,t.value),o=_d(e,t.valueminus);return r||void 0===t.valueminus?function(t){var e=a(t);return[e,e]}:function(t){return[o(t),a(t)]}};function _d(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}var wd=function(t){for(var e=t.calcdata,r=0;r<e.length;r++){var n=e[r],i=n[0].trace;if(P.traceIs(i,\"errorBarsOK\")){var a=ri.getFromId(t,i.xaxis),o=ri.getFromId(t,i.yaxis);Md(n,i,a,\"x\"),Md(n,i,o,\"y\")}}};function Md(t,e,n,i){var a=e[\"error_\"+i]||{},o=[];if(a.visible&&-1!==[\"linear\",\"log\"].indexOf(n.type)){for(var s=bd(a),l=0;l<t.length;l++){var u=t[l],c=u[i];if(r(n.c2l(c))){var h=s(c,l);if(r(h[0])&&r(h[1])){var f=u[i+\"s\"]=c-h[0],p=u[i+\"h\"]=c+h[1];o.push(f,p)}}}ri.expand(n,o,{padded:!0})}}var Ad=ye.overrideAll,kd={error_x:ne.extendFlat({},xd),error_y:ne.extendFlat({},xd)};delete kd.error_x.copy_zstyle,delete kd.error_y.copy_zstyle,delete kd.error_y.copy_ystyle;var Td={error_x:ne.extendFlat({},xd),error_y:ne.extendFlat({},xd),error_z:ne.extendFlat({},xd)};delete Td.error_x.copy_ystyle,delete Td.error_y.copy_ystyle,delete Td.error_z.copy_ystyle,delete Td.error_z.copy_zstyle;var Sd={moduleType:\"component\",name:\"errorbars\",schema:{traces:{scatter:kd,bar:kd,histogram:kd,scatter3d:Ad(Td,\"calc\",\"nested\"),scattergl:Ad(kd,\"calc\",\"nested\")}},supplyDefaults:function(t,e,n,i){var a=\"error_\"+i.axis,o=e[a]={},s=t[a]||{};function l(t,e){return ne.coerce(s,o,xd,t,e)}if(!1!==l(\"visible\",void 0!==s.array||void 0!==s.value||\"sqrt\"===s.type)){var u=l(\"type\",\"array\"in s?\"data\":\"percent\"),c=!0;\"sqrt\"!==u&&(c=l(\"symmetric\",!((\"data\"===u?\"arrayminus\":\"valueminus\")in s))),\"data\"===u?(l(\"array\"),l(\"traceref\"),c||(l(\"arrayminus\"),l(\"tracerefminus\"))):\"percent\"!==u&&\"constant\"!==u||(l(\"value\"),c||l(\"valueminus\"));var h=\"copy_\"+i.inherit+\"style\";i.inherit&&(e[\"error_\"+i.inherit]||{}).visible&&l(h,!(s.color||r(s.thickness)||r(s.width))),i.inherit&&o[h]||(l(\"color\",n),l(\"thickness\"),l(\"width\",P.traceIs(e,\"gl3d\")?0:4))}},calc:wd,calcFromTrace:function(t,e){for(var r=t.x||[],n=t.y||[],i=r.length||n.length,a=new Array(i),o=0;o<i;o++)a[o]={x:r[o],y:n[o]};return a[0].trace=t,wd({calcdata:[a],_fullLayout:e}),a},plot:function(t,n,i){var a=n.xaxis,o=n.yaxis,s=i&&i.duration>0;t.each(function(t){var l,u=t[0].trace,c=u.error_x||{},h=u.error_y||{};u.ids&&(l=function(t){return t.id});var f=Tr.hasMarkers(u)&&u.marker.maxdisplayed>0;h.visible||c.visible||(t=[]);var p=e.select(this).selectAll(\"g.errorbar\").data(t,l);if(p.exit().remove(),t.length){c.visible||p.selectAll(\"path.xerror\").remove(),h.visible||p.selectAll(\"path.yerror\").remove(),p.style(\"opacity\",1);var d=p.enter().append(\"g\").classed(\"errorbar\",!0);s&&d.style(\"opacity\",0).transition().duration(i.duration).style(\"opacity\",1),Sr.setClipUrl(p,n.layerClipId),p.each(function(t){var n=e.select(this),l=function(t,e,n){var i={x:e.c2p(t.x),y:n.c2p(t.y)};return void 0!==t.yh&&(i.yh=n.c2p(t.yh),i.ys=n.c2p(t.ys),r(i.ys)||(i.noYS=!0,i.ys=n.c2p(t.ys,!0))),void 0!==t.xh&&(i.xh=e.c2p(t.xh),i.xs=e.c2p(t.xs),r(i.xs)||(i.noXS=!0,i.xs=e.c2p(t.xs,!0))),i}(t,a,o);if(!f||t.vis){var u,p=n.select(\"path.yerror\");if(h.visible&&r(l.x)&&r(l.yh)&&r(l.ys)){var d=h.width;u=\"M\"+(l.x-d)+\",\"+l.yh+\"h\"+2*d+\"m-\"+d+\",0V\"+l.ys,l.noYS||(u+=\"m-\"+d+\",0h\"+2*d),p.size()?s&&(p=p.transition().duration(i.duration).ease(i.easing)):p=n.append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").classed(\"yerror\",!0),p.attr(\"d\",u)}else p.remove();var g=n.select(\"path.xerror\");if(c.visible&&r(l.y)&&r(l.xh)&&r(l.xs)){var v=(c.copy_ystyle?h:c).width;u=\"M\"+l.xh+\",\"+(l.y-v)+\"v\"+2*v+\"m0,-\"+v+\"H\"+l.xs,l.noXS||(u+=\"m0,-\"+v+\"v\"+2*v),g.size()?s&&(g=g.transition().duration(i.duration).ease(i.easing)):g=n.append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").classed(\"xerror\",!0),g.attr(\"d\",u)}else g.remove()}})}})},style:function(t){t.each(function(t){var r=t[0].trace,n=r.error_y||{},i=r.error_x||{},a=e.select(this);a.selectAll(\"path.yerror\").style(\"stroke-width\",n.thickness+\"px\").call(Oe.stroke,n.color),i.copy_ystyle&&(i=n),a.selectAll(\"path.xerror\").style(\"stroke-width\",i.thickness+\"px\").call(Oe.stroke,i.color)})},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))}};var Ed=tt.counter,Cd=qc.attributes,Ld=Te.idRegex,zd={rows:{valType:\"integer\",min:1,editType:\"plot\"},roworder:{valType:\"enumerated\",values:[\"top to bottom\",\"bottom to top\"],dflt:\"top to bottom\",editType:\"plot\"},columns:{valType:\"integer\",min:1,editType:\"plot\"},subplots:{valType:\"info_array\",freeLength:!0,dimensions:2,items:{valType:\"enumerated\",values:[Ed(\"xy\").toString(),\"\"],editType:\"plot\"},editType:\"plot\"},xaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[Ld.x.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},yaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[Ld.y.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},pattern:{valType:\"enumerated\",values:[\"independent\",\"coupled\"],dflt:\"coupled\",editType:\"plot\"},xgap:{valType:\"number\",min:0,max:1,editType:\"plot\"},ygap:{valType:\"number\",min:0,max:1,editType:\"plot\"},domain:Cd({name:\"grid\",editType:\"plot\",noGridCell:!0},{}),xside:{valType:\"enumerated\",values:[\"bottom\",\"bottom plot\",\"top plot\",\"top\"],dflt:\"bottom plot\",editType:\"ticks\"},yside:{valType:\"enumerated\",values:[\"left\",\"left plot\",\"right plot\",\"right\"],dflt:\"left plot\",editType:\"ticks\"},editType:\"plot\"};function Pd(t,e,r,n,i){var a=e(t+\"gap\",r),o=e(\"domain.\"+t);e(t+\"side\");for(var s=new Array(n),l=o[0],u=(o[1]-l)/(n-a),c=u*(1-a),h=0;h<n;h++){var f=l+u*h;s[i?n-1-h:h]=[f,f+c]}return s}function Id(t,e,r,n,i){var a,o=new Array(r);function s(t,r){-1!==e.indexOf(r)&&void 0===n[r]?(o[t]=r,n[r]=t):o[t]=\"\"}if(Array.isArray(t))for(a=0;a<r;a++)s(a,t[a]);else for(s(0,i),a=1;a<r;a++)s(a,i+(a+1));return o}var Dd={moduleType:\"component\",name:\"grid\",schema:{layout:{grid:zd}},layoutAttributes:zd,sizeDefaults:function(t,e){var r=t.grid;if(r){var n,i,a=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),o=Array.isArray(r.xaxes),s=Array.isArray(r.yaxes);a?(n=r.subplots.length,i=r.subplots[0].length):(s&&(n=r.yaxes.length),o&&(i=r.xaxes.length));var l=e.grid={},u=f(\"rows\",n),c=f(\"columns\",i);if(u*c>1){a||o||s||\"independent\"===f(\"pattern\")&&(a=!0),l._hasSubplotGrid=a;var h=\"top to bottom\"===f(\"roworder\");l._domains={x:Pd(\"x\",f,a?.2:.1,c),y:Pd(\"y\",f,a?.3:.1,u,h)}}}function f(t,e){return ne.coerce(r,l,zd,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,u,c=t.grid,h=e._subplots,f=r._hasSubplotGrid,p=r.rows,d=r.columns,g=\"independent\"===r.pattern,v=r._axisMap={};if(f){var m=c.subplots||[];l=r.subplots=new Array(p);var y=1;for(n=0;n<p;n++){var x=l[n]=new Array(d),b=m[n]||[];for(i=0;i<d;i++)if(g?(s=1===y?\"xy\":\"x\"+y+\"y\"+y,y++):s=b[i],x[i]=\"\",-1!==h.cartesian.indexOf(s)){if(u=s.indexOf(\"y\"),a=s.slice(0,u),o=s.slice(u),void 0!==v[a]&&v[a]!==i||void 0!==v[o]&&v[o]!==n)continue;x[i]=s,v[a]=i,v[o]=n}}}else r.xaxes=Id(c.xaxes,h.xaxis,d,v,\"x\"),r.yaxes=Id(c.yaxes,h.yaxis,p,v,\"y\");var _=r._anchors={},w=\"top to bottom\"===r.roworder;for(var M in v){var A,k,T,S=M.charAt(0),E=r[S+\"side\"];if(E.length<8)_[M]=\"free\";else if(\"x\"===S){if(\"t\"===E.charAt(0)===w?(A=0,k=1,T=p):(A=p-1,k=-1,T=-1),f){var C=v[M];for(n=A;n!==T;n+=k)if((s=l[n][C])&&(u=s.indexOf(\"y\"),s.slice(0,u)===M)){_[M]=s.slice(u);break}}else for(n=A;n!==T;n+=k)if(o=r.yaxes[n],-1!==h.cartesian.indexOf(M+o)){_[M]=o;break}}else if(\"l\"===E.charAt(0)?(A=0,k=1,T=d):(A=d-1,k=-1,T=-1),f){var L=v[M];for(n=A;n!==T;n+=k)if((s=l[L][n])&&(u=s.indexOf(\"y\"),s.slice(u)===M)){_[M]=s.slice(0,u);break}}else for(n=A;n!==T;n+=k)if(a=r.xaxes[n],-1!==h.cartesian.indexOf(a+M)){_[M]=a;break}}}}},Od={_isLinkedToArray:\"image\",visible:{valType:\"boolean\",dflt:!0,editType:\"arraydraw\"},source:{valType:\"string\",editType:\"arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"arraydraw\"},sizex:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizey:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizing:{valType:\"enumerated\",values:[\"fill\",\"contain\",\"stretch\"],dflt:\"contain\",editType:\"arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},x:{valType:\"any\",dflt:0,editType:\"arraydraw\"},y:{valType:\"any\",dflt:0,editType:\"arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"top\",editType:\"arraydraw\"},xref:{valType:\"enumerated\",values:[\"paper\",Te.idRegex.x.toString()],dflt:\"paper\",editType:\"arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",Te.idRegex.y.toString()],dflt:\"paper\",editType:\"arraydraw\"},editType:\"arraydraw\"},Rd=\"images\";function Fd(t,e,r){function n(r,n){return ne.coerce(t,e,Od,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 i={_fullLayout:r},a=[\"x\",\"y\"],o=0;o<2;o++){var s=a[o],l=ri.coerceRef(t,e,i,s,\"paper\");ri.coercePosition(e,i,n,l,s,0)}return e}var Bd={moduleType:\"component\",name:\"images\",layoutAttributes:Od,supplyLayoutDefaults:function(t,e){ld(t,e,{name:Rd,handleItemDefaults:Fd})},includeBasePlot:ud(\"images\"),draw:function(t){var r,n,i=t._fullLayout,a=[],o={},s=[];for(n=0;n<i.images.length;n++){var l=i.images[n];if(l.visible)if(\"below\"===l.layer&&\"paper\"!==l.xref&&\"paper\"!==l.yref){r=l.xref+l.yref;var u=i._plots[r];if(!u){s.push(l);continue}u.mainplot&&(r=u.mainplot.id),o[r]||(o[r]=[]),o[r].push(l)}else\"above\"===l.layer?a.push(l):s.push(l)}var c={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}}};function h(r){var n=e.select(this);if(!this.img||this.img.src!==r.source){n.attr(\"xmlns\",$e.svg);var i=new Promise(function(t){var e=new Image;function i(){n.remove(),t()}this.img=e,e.setAttribute(\"crossOrigin\",\"anonymous\"),e.onerror=i,e.onload=function(){var e=document.createElement(\"canvas\");e.width=this.width,e.height=this.height,e.getContext(\"2d\").drawImage(this,0,0);var r=e.toDataURL(\"image/png\");n.attr(\"xlink:href\",r),t()},n.on(\"error\",i),e.src=r.source}.bind(this));t._promises.push(i)}}function f(r){var n=e.select(this),a=ri.getFromId(t,r.xref),o=ri.getFromId(t,r.yref),s=i._size,l=a?Math.abs(a.l2p(r.sizex)-a.l2p(0)):r.sizex*s.w,u=o?Math.abs(o.l2p(r.sizey)-o.l2p(0)):r.sizey*s.h,h=l*c.x[r.xanchor].offset,f=u*c.y[r.yanchor].offset,p=c.x[r.xanchor].sizing+c.y[r.yanchor].sizing,d=(a?a.r2p(r.x)+a._offset:r.x*s.w+s.l)+h,g=(o?o.r2p(r.y)+o._offset:s.h-r.y*s.h+s.t)+f;switch(r.sizing){case\"fill\":p+=\" slice\";break;case\"stretch\":p=\"none\"}n.attr({x:d,y:g,width:l,height:u,preserveAspectRatio:p,opacity:r.opacity});var v=(a?a._id:\"\")+(o?o._id:\"\");n.call(Sr.setClipUrl,v?\"clip\"+i._uid+v:null)}var p=i._imageLowerLayer.selectAll(\"image\").data(s),d=i._imageUpperLayer.selectAll(\"image\").data(a);p.enter().append(\"image\"),d.enter().append(\"image\"),p.exit().remove(),d.exit().remove(),p.each(function(t){h.bind(this)(t),f.bind(this)(t)}),d.each(function(t){h.bind(this)(t),f.bind(this)(t)});var g=Object.keys(i._plots);for(n=0;n<g.length;n++){r=g[n];var v=i._plots[r];if(v.imagelayer){var m=v.imagelayer.selectAll(\"image\").data(o[r]||[]);m.enter().append(\"image\"),m.exit().remove(),m.each(function(t){h.bind(this)(t),f.bind(this)(t)})}}},convertCoords:function(t,e,n,i){e=e||{};var a=\"log\"===n&&\"linear\"===e.type,o=\"linear\"===n&&\"log\"===e.type;if(a||o)for(var s,l,u=t._fullLayout.images,c=e._id.charAt(0),h=0;h<u.length;h++)if(l=\"images[\"+h+\"].\",(s=u[h])[c+\"ref\"]===e._id){var f=s[c],p=s[\"size\"+c],d=null,g=null;if(a){d=re(f,e.range);var v=p/Math.pow(10,d)/2;g=2*Math.log(v+Math.sqrt(1+v*v))/Math.LN10}else g=(d=Math.pow(10,f))*(Math.pow(10,p/2)-Math.pow(10,-p/2));r(d)?r(g)||(g=null):(d=null,g=null),i(l+c,d),i(l+\"size\"+c,g)}}},Nd={bgcolor:{valType:\"color\",editType:\"legend\"},bordercolor:{valType:\"color\",dflt:C.defaultLine,editType:\"legend\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"legend\"},font:T({editType:\"legend\"}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"v\",editType:\"legend\"},traceorder:{valType:\"flaglist\",flags:[\"reversed\",\"grouped\"],extras:[\"normal\"],editType:\"legend\"},tracegroupgap:{valType:\"number\",min:0,dflt:10,editType:\"legend\"},x:{valType:\"number\",min:-2,max:3,dflt:1.02,editType:\"legend\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"legend\"},y:{valType:\"number\",min:-2,max:3,dflt:1,editType:\"legend\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"auto\",editType:\"legend\"},editType:\"legend\"},jd={legendGetsTrace:function(t){return t.visible&&void 0!==t.showlegend},isGrouped:function(t){return-1!==(t.traceorder||\"\").indexOf(\"grouped\")},isVertical:function(t){return\"h\"!==t.orientation},isReversed:function(t){return-1!==(t.traceorder||\"\").indexOf(\"reversed\")}},Vd={isRightAnchor:function(t){return\"right\"===t.xanchor||\"auto\"===t.xanchor&&t.x>=2/3},isCenterAnchor:function(t){return\"center\"===t.xanchor||\"auto\"===t.xanchor&&t.x>1/3&&t.x<2/3},isBottomAnchor:function(t){return\"bottom\"===t.yanchor||\"auto\"===t.yanchor&&t.y<=1/3},isMiddleAnchor:function(t){return\"middle\"===t.yanchor||\"auto\"===t.yanchor&&t.y>1/3&&t.y<2/3}},Ud={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:\"#808BA4\",scrollBarMargin:4},qd=!0,Hd=function(t,e,r){if(!e._dragged&&!e._editing){var n,i,a,o,s,l=e._fullLayout.hiddenlabels?e._fullLayout.hiddenlabels.slice():[],u=t.data()[0][0],c=e._fullData,h=u.trace,f=h.legendgroup,p={},d=[],g=[],v=[];if(1===r&&qd&&e.data&&e._context.showTips?(ne.notifier(ne._(e,\"Double-click on legend to isolate one trace\"),\"long\"),qd=!1):qd=!1,P.traceIs(h,\"pie\")){var m=u.label,y=l.indexOf(m);1===r?-1===y?l.push(m):l.splice(y,1):2===r&&(l=[],e.calcdata[0].forEach(function(t){m!==t.label&&l.push(t.label)}),e._fullLayout.hiddenlabels&&e._fullLayout.hiddenlabels.length===l.length&&-1===y&&(l=[])),P.call(\"relayout\",e,\"hiddenlabels\",l)}else{var x,b=f&&f.length,_=[];if(b)for(n=0;n<c.length;n++)(x=c[n]).visible&&x.legendgroup===f&&_.push(n);if(1===r){var w;switch(h.visible){case!0:w=\"legendonly\";break;case!1:w=!1;break;case\"legendonly\":w=!0}if(b)for(n=0;n<c.length;n++)!1!==c[n].visible&&c[n].legendgroup===f&&C(c[n],w);else C(h,w)}else if(2===r){var M,A,k=!0;for(n=0;n<c.length;n++)if(!(c[n]===h)&&!(M=b&&c[n].legendgroup===f)&&!0===c[n].visible&&!P.traceIs(c[n],\"notLegendIsolatable\")){k=!1;break}for(n=0;n<c.length;n++)if(!1!==c[n].visible&&!P.traceIs(c[n],\"notLegendIsolatable\"))switch(h.visible){case\"legendonly\":C(c[n],!0);break;case!0:A=!!k||\"legendonly\",M=c[n]===h||b&&c[n].legendgroup===f,C(c[n],!!M||A)}}for(n=0;n<g.length;n++)if(a=g[n]){var T=a.constructUpdate(),S=Object.keys(T);for(i=0;i<S.length;i++)o=S[i],(p[o]=p[o]||[])[v[n]]=T[o]}for(s=Object.keys(p),n=0;n<s.length;n++)for(o=s[n],i=0;i<d.length;i++)p[o].hasOwnProperty(i)||(p[o][i]=void 0);P.call(\"restyle\",e,p,d)}}function E(t,e,r){var n=d.indexOf(t),i=p[e];return i||(i=p[e]=[]),-1===d.indexOf(t)&&(d.push(t),n=d.length-1),i[n]=r,n}function C(t,e){var r=t._fullInput;if(P.hasTransform(r,\"groupby\")){var n=g[r.index];if(!n){var i=P.getTransformIndices(r,\"groupby\"),a=i[i.length-1];n=ne.keyedContainer(r,\"transforms[\"+a+\"].styles\",\"target\",\"value.visible\"),g[r.index]=n}var o=n.get(t._group);void 0===o&&(o=!0),!1!==o&&n.set(t._group,e),v[r.index]=E(r.index,\"visible\",!1!==r.visible)}else{var s=!1!==r.visible&&e;E(r.index,\"visible\",s)}}},Gd={formatPiePercent:function(t,e){var r=(100*t).toPrecision(3);return-1!==r.lastIndexOf(\".\")&&(r=r.replace(/[.]?0+$/,\"\")),ne.numSeparate(r,e)+\"%\"},formatPieValue:function(t,e){var r=t.toPrecision(10);return-1!==r.lastIndexOf(\".\")&&(r=r.replace(/[.]?0+$/,\"\")),ne.numSeparate(r,e)},getFirstFilled:function(t,e){if(Array.isArray(t))for(var r=0;r<e.length;r++){var n=t[e[r]];if(n||0===n)return n}},castOption:function(t,e){return Array.isArray(t)?Gd.getFirstFilled(t,e):t||void 0}},Wd=Gd.castOption,Yd=function(t,e,r){var n=r.marker.line,i=Wd(n.color,e.pts)||Oe.defaultLine,a=Wd(n.width,e.pts)||0;t.style({\"stroke-width\":a}).call(Oe.fill,e.color).call(Oe.stroke,i)},Xd=function(t,r){t.each(function(t){var r=e.select(this).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(function(t){var r=t[0].trace,n=r.marker||{},i=n.line||{},a=e.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbar\").data(P.traceIs(r,\"bar\")?[t]:[]);a.enter().append(\"path\").classed(\"legendbar\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",\"translate(20,0)\"),a.exit().remove(),a.each(function(t){var r=e.select(this),a=t[0],o=(a.mlw+1||i.width+1)-1;r.style(\"stroke-width\",o+\"px\").call(Oe.fill,a.mc||n.color),o&&r.call(Oe.stroke,a.mlc||i.color)})}).each(function(t){var r=t[0].trace,n=e.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(P.traceIs(r,\"box-violin\")&&r.visible?[t]:[]);n.enter().append(\"path\").classed(\"legendbox\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",\"translate(20,0)\"),n.exit().remove(),n.each(function(){var t=r.line.width,n=e.select(this);n.style(\"stroke-width\",t+\"px\").call(Oe.fill,r.fillcolor),t&&n.call(Oe.stroke,r.line.color)})}).each(function(t){var r=t[0].trace,n=e.select(this).select(\"g.legendpoints\").selectAll(\"path.legendpie\").data(P.traceIs(r,\"pie\")&&r.visible?[t]:[]);n.enter().append(\"path\").classed(\"legendpie\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",\"translate(20,0)\"),n.exit().remove(),n.size()&&n.call(Yd,t[0],r)}).each(function(t){var r=t[0].trace,n=r.visible&&r.fill&&\"none\"!==r.fill,i=Tr.hasLines(r),a=r.contours;a&&\"constraint\"===a.type&&(i=a.showlines,n=\"=\"!==a._operation);var o=e.select(this).select(\".legendfill\").selectAll(\"path\").data(n?[t]:[]);o.enter().append(\"path\").classed(\"js-fill\",!0),o.exit().remove(),o.attr(\"d\",\"M5,0h30v6h-30z\").call(Sr.fillGroupStyle);var s=e.select(this).select(\".legendlines\").selectAll(\"path\").data(i?[t]:[]);s.enter().append(\"path\").classed(\"js-line\",!0).attr(\"d\",\"M5,0h30\"),s.exit().remove(),s.call(Sr.lineGroupStyle)}).each(function(t){var n,i,a=t[0],o=a.trace,s=Tr.hasMarkers(o),l=Tr.hasText(o),u=Tr.hasLines(o);function c(t,e,r){var n=ne.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 h(t){return t[0]}if(s||l||u){var f={},p={};s&&(f.mc=c(\"marker.color\",h),f.mo=c(\"marker.opacity\",ne.mean,[.2,1]),f.ms=c(\"marker.size\",ne.mean,[2,16]),f.mlc=c(\"marker.line.color\",h),f.mlw=c(\"marker.line.width\",ne.mean,[0,5]),p.marker={sizeref:1,sizemin:1,sizemode:\"diameter\"}),u&&(p.line={width:c(\"line.width\",h,[0,10])}),l&&(f.tx=\"Aa\",f.tp=c(\"textposition\",h),f.ts=10,f.tc=c(\"textfont.color\",h),f.tf=c(\"textfont.family\",h)),n=[ne.minExtend(a,f)],i=ne.minExtend(o,p)}var d=e.select(this).select(\"g.legendpoints\"),g=d.selectAll(\"path.scatterpts\").data(s?n:[]);g.enter().append(\"path\").classed(\"scatterpts\",!0).attr(\"transform\",\"translate(20,0)\"),g.exit().remove(),g.call(Sr.pointStyle,i,r),s&&(n[0].mrc=3);var v=d.selectAll(\"g.pointtext\").data(l?n:[]);v.enter().append(\"g\").classed(\"pointtext\",!0).append(\"text\").attr(\"transform\",\"translate(20,0)\"),v.exit().remove(),v.selectAll(\"text\").call(Sr.textPointStyle,i,r)})},Zd=Qe.LINE_SPACING,Jd=Qe.FROM_TL,Kd=Qe.FROM_BR,Qd=f.DBLCLICKDELAY;function $d(t,e){var r=t.data()[0][0],n=e._fullLayout,i=r.trace,a=P.traceIs(i,\"pie\"),o=i.index,s=a?r.label:i.name,l=t.selectAll(\"text.legendtext\").data([0]);function u(r){er.convertToTspans(r,e,function(){!function(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,i,a=t.select(\"g[class*=math-group]\"),o=a.node(),s=e._fullLayout.legend.font.size*Zd;if(o){var l=Sr.bBox(o);n=l.height,i=l.width,Sr.setTranslate(a,0,n/4)}else{var u=t.select(\".legendtext\"),c=er.lineCount(u),h=u.node();n=s*c,i=h?Sr.bBox(h).width:0;var f=s*(.3+(1-c)/2);er.positionText(u,40,f)}n=Math.max(n,16)+3,r.height=n,r.width=i}(t,e)})}l.enter().append(\"text\").classed(\"legendtext\",!0),l.attr(\"text-anchor\",\"start\").classed(\"user-select-none\",!0).call(Sr.font,n.legend.font).text(s),e._context.edits.legendText&&!a?l.call(er.makeEditable,{gd:e}).call(u).on(\"edit\",function(t){this.text(t).call(u);var n,i=t;this.text()||(t=\"    \");var a=r.trace._fullInput||{},s={};if(-1!==[\"ohlc\",\"candlestick\"].indexOf(a.type))s[(n=r.trace.transforms)[n.length-1].direction+\".name\"]=t;else if(P.hasTransform(a,\"groupby\")){var l=P.getTransformIndices(a,\"groupby\"),c=l[l.length-1],h=ne.keyedContainer(a,\"transforms[\"+c+\"].styles\",\"target\",\"value.name\");\"\"===i?h.remove(r.trace._group):h.set(r.trace._group,t),s=h.constructUpdate()}else s.name=t;return P.call(\"restyle\",e,s,o)}):u(l)}function tg(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(Oe.fill,\"rgba(0,0,0,0)\"),i.on(\"mousedown\",function(){(r=(new Date).getTime())-e._legendMouseDownTime<Qd?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>Qd&&(n=Math.max(n-1,1)),1===n?r._clickTimeout=setTimeout(function(){Hd(t,e,n)},Qd):2===n&&(r._clickTimeout&&clearTimeout(r._clickTimeout),e._legendMouseDownTime=0,Hd(t,e,n))}})}function eg(t,r,n){var i=t._fullLayout,a=i.legend,o=a.borderwidth,s=jd.isGrouped(a),l=0;if(a._width=0,a._height=0,jd.isVertical(a))s&&r.each(function(t,e){Sr.setTranslate(this,0,e*a.tracegroupgap)}),n.each(function(t){var e=t[0],r=e.height,n=e.width;Sr.setTranslate(this,o,5+o+a._height+r/2),a._height+=r,a._width=Math.max(a._width,n)}),a._width+=45+2*o,a._height+=10+2*o,s&&(a._height+=(a._lgroupsLength-1)*a.tracegroupgap),l=40;else if(s){for(var u=[a._width],c=r.data(),h=0,f=c.length;h<f;h++){var p=c[h].map(function(t){return t[0].width}),d=40+Math.max.apply(null,p);a._width+=a.tracegroupgap+d,u.push(a._width)}r.each(function(t,e){Sr.setTranslate(this,u[e],0)}),r.each(function(){var t=0;e.select(this).selectAll(\"g.traces\").each(function(e){var r=e[0].height;Sr.setTranslate(this,0,5+o+t+r/2),t+=r}),a._height=Math.max(a._height,t)}),a._height+=10+2*o,a._width+=2*o}else{var g,v=0,m=0,y=0,x=0,b=0,_=a.tracegroupgap||5;n.each(function(t){y=Math.max(40+t[0].width,y),b+=40+t[0].width+_}),g=i.width-(i.margin.r+i.margin.l)>o+b-_,n.each(function(t){var e=t[0],r=g?40+t[0].width:y;o+x+_+r>i.width-(i.margin.r+i.margin.l)&&(x=0,v+=m,a._height=a._height+m,m=0),Sr.setTranslate(this,o+x,5+o+e.height/2+v),a._width+=_+r,a._height=Math.max(a._height,e.height),x+=_+r,m=Math.max(e.height,m)}),a._width+=2*o,a._height+=10+2*o}a._width=Math.ceil(a._width),a._height=Math.ceil(a._height),n.each(function(r){var n=r[0],i=e.select(this).select(\".legendtoggle\");Sr.setRect(i,0,-n.height/2,(t._context.edits.legendText?0:a._width)+l,n.height)})}function rg(t){var e=t._fullLayout.legend,r=\"left\";Vd.isRightAnchor(e)?r=\"right\":Vd.isCenterAnchor(e)&&(r=\"center\");var n=\"top\";Vd.isBottomAnchor(e)?n=\"bottom\":Vd.isMiddleAnchor(e)&&(n=\"middle\"),_n.autoMargin(t,\"legend\",{x:e.x,y:e.y,l:e._width*Jd[r],r:e._width*Kd[r],b:e._height*Kd[n],t:e._height*Jd[n]})}var ng={moduleType:\"component\",name:\"legend\",layoutAttributes:Nd,supplyLayoutDefaults:function(t,e,r){for(var n,i,a,o,s=t.legend||{},l={},u=0,c=\"normal\",h=0;h<r.length;h++){var f=r[h];jd.legendGetsTrace(f)&&(u++,P.traceIs(f,\"pie\")&&u++),(P.traceIs(f,\"bar\")&&\"stack\"===e.barmode||-1!==[\"tonextx\",\"tonexty\"].indexOf(f.fill))&&(c=jd.isGrouped({traceorder:c})?\"grouped+reversed\":\"reversed\"),void 0!==f.legendgroup&&\"\"!==f.legendgroup&&(c=jd.isReversed({traceorder:c})?\"reversed+grouped\":\"grouped\")}function p(t,e){return ne.coerce(s,l,Nd,t,e)}if(!1!==ne.coerce(t,e,z,\"showlegend\",u>1)){if(e.legend=l,p(\"bgcolor\",e.paper_bgcolor),p(\"bordercolor\"),p(\"borderwidth\"),ne.coerceFont(p,\"font\",e.font),p(\"orientation\"),\"h\"===l.orientation){var d=t.xaxis;d&&d.rangeslider&&d.rangeslider.visible?(n=0,a=\"left\",i=1.1,o=\"bottom\"):(n=0,a=\"left\",i=-.1,o=\"top\")}p(\"traceorder\",c),jd.isGrouped(e.legend)&&p(\"tracegroupgap\"),p(\"x\",n),p(\"xanchor\",a),p(\"y\",i),p(\"yanchor\",o),ne.noneOrAll(s,l,[\"x\",\"y\"])}},draw:function(t){var r=t._fullLayout,n=\"legend\"+r._uid;if(r._infolayer&&t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var i=r.legend,a=r.showlegend&&function(t,e){var r,n,i={},a=[],o=!1,s={},l=0;function u(t,r){if(\"\"!==t&&jd.isGrouped(e))-1===a.indexOf(t)?(a.push(t),o=!0,i[t]=[[r]]):i[t].push([r]);else{var n=\"~~i\"+l;a.push(n),i[n]=[[r]],l++}}for(r=0;r<t.length;r++){var c=t[r],h=c[0],f=h.trace,p=f.legendgroup;if(jd.legendGetsTrace(f)&&f.showlegend)if(P.traceIs(f,\"pie\"))for(s[p]||(s[p]={}),n=0;n<c.length;n++){var d=c[n].label;s[p][d]||(u(p,{label:d,color:c[n].color,i:c[n].i,trace:f}),s[p][d]=!0)}else u(p,h)}if(!a.length)return[];var g,v,m=a.length;if(o&&jd.isGrouped(e))for(v=new Array(m),r=0;r<m;r++)g=i[a[r]],v[r]=jd.isReversed(e)?g.reverse():g;else{for(v=[new Array(m)],r=0;r<m;r++)g=i[a[r]][0],v[0][jd.isReversed(e)?m-r-1:r]=g;m=1}return e._lgroupsLength=m,v}(t.calcdata,i),o=r.hiddenlabels||[];if(!r.showlegend||!a.length)return r._infolayer.selectAll(\".legend\").remove(),r._topdefs.select(\"#\"+n).remove(),void _n.autoMargin(t,\"legend\");var s=r._infolayer.selectAll(\"g.legend\").data([0]);s.enter().append(\"g\").attr({class:\"legend\",\"pointer-events\":\"all\"});var l=r._topdefs.selectAll(\"#\"+n).data([0]);l.enter().append(\"clipPath\").attr(\"id\",n).append(\"rect\");var u=s.selectAll(\"rect.bg\").data([0]);u.enter().append(\"rect\").attr({class:\"bg\",\"shape-rendering\":\"crispEdges\"}),u.call(Oe.stroke,i.bordercolor).call(Oe.fill,i.bgcolor).style(\"stroke-width\",i.borderwidth+\"px\");var c=s.selectAll(\"g.scrollbox\").data([0]);c.enter().append(\"g\").attr(\"class\",\"scrollbox\");var h=s.selectAll(\"rect.scrollbar\").data([0]);h.enter().append(\"rect\").attr({class:\"scrollbar\",rx:20,ry:3,width:0,height:0}).call(Oe.fill,\"#808BA4\");var f=c.selectAll(\"g.groups\").data(a);f.enter().append(\"g\").attr(\"class\",\"groups\"),f.exit().remove();var p=f.selectAll(\"g.traces\").data(ne.identity);p.enter().append(\"g\").attr(\"class\",\"traces\"),p.exit().remove(),p.call(Xd,t).style(\"opacity\",function(t){var e=t[0].trace;return P.traceIs(e,\"pie\")?-1!==o.indexOf(t[0].label)?.5:1:\"legendonly\"===e.visible?.5:1}).each(function(){e.select(this).call($d,t).call(tg,t)}),0!==s.enter().size()&&(eg(t,f,p),rg(t));var d=r.width,g=r.height;eg(t,f,p),i._height>g?function(t){var e=t._fullLayout.legend,r=\"left\";Vd.isRightAnchor(e)?r=\"right\":Vd.isCenterAnchor(e)&&(r=\"center\"),_n.autoMargin(t,\"legend\",{x:e.x,y:.5,l:e._width*Jd[r],r:e._width*Kd[r],b:0,t:0})}(t):rg(t);var v=r._size,m=v.l+v.w*i.x,y=v.t+v.h*(1-i.y);Vd.isRightAnchor(i)?m-=i._width:Vd.isCenterAnchor(i)&&(m-=i._width/2),Vd.isBottomAnchor(i)?y-=i._height:Vd.isMiddleAnchor(i)&&(y-=i._height/2);var x=i._width,b=v.w;x>b?(m=v.l,x=b):(m+x>d&&(m=d-x),m<0&&(m=0),x=Math.min(d-m,i._width));var _,w,M,A,k=i._height,T=v.h;if(k>T?(y=v.t,k=T):(y+k>g&&(y=g-k),y<0&&(y=0),k=Math.min(g-y,i._height)),Sr.setTranslate(s,m,y),h.on(\".drag\",null),s.on(\"wheel\",null),i._height<=k||t._context.staticPlot)u.attr({width:x-i.borderwidth,height:k-i.borderwidth,x:i.borderwidth/2,y:i.borderwidth/2}),Sr.setTranslate(c,0,0),l.select(\"rect\").attr({width:x-2*i.borderwidth,height:k-2*i.borderwidth,x:i.borderwidth,y:i.borderwidth}),Sr.setClipUrl(c,n),Sr.setRect(h,0,0,0,0),delete i._scrollY;else{var S,E,C=Math.max(Ud.scrollBarMinHeight,k*k/i._height),L=k-C-2*Ud.scrollBarMargin,z=i._height-k,I=L/z,D=Math.min(i._scrollY||0,z);u.attr({width:x-2*i.borderwidth+Ud.scrollBarWidth+Ud.scrollBarMargin,height:k-i.borderwidth,x:i.borderwidth/2,y:i.borderwidth/2}),l.select(\"rect\").attr({width:x-2*i.borderwidth+Ud.scrollBarWidth+Ud.scrollBarMargin,height:k-2*i.borderwidth,x:i.borderwidth,y:i.borderwidth+D}),Sr.setClipUrl(c,n),R(D,C,I),s.on(\"wheel\",function(){R(D=ne.constrain(i._scrollY+e.event.deltaY/L*z,0,z),C,I),0!==D&&D!==z&&e.event.preventDefault()});var O=e.behavior.drag().on(\"dragstart\",function(){S=e.event.sourceEvent.clientY,E=D}).on(\"drag\",function(){var t=e.event.sourceEvent;2===t.buttons||t.ctrlKey||R(D=ne.constrain((t.clientY-S)/I+E,0,z),C,I)});h.call(O)}t._context.edits.legendPosition&&(s.classed(\"cursor-move\",!0),Ua.init({element:s.node(),gd:t,prepFn:function(){var t=Sr.getTranslate(s);M=t.x,A=t.y},moveFn:function(t,e){var r=M+t,n=A+e;Sr.setTranslate(s,r,n),_=Ua.align(r,0,v.l,v.l+v.w,i.xanchor),w=Ua.align(n,0,v.t+v.h,v.t,i.yanchor)},doneFn:function(){void 0!==_&&void 0!==w&&P.call(\"relayout\",t,{\"legend.x\":_,\"legend.y\":w})},clickFn:function(e,n){var i=r._infolayer.selectAll(\"g.traces\").filter(function(){var t=this.getBoundingClientRect();return n.clientX>=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom});i.size()>0&&(1===e?s._clickTimeout=setTimeout(function(){Hd(i,t,e)},Qd):2===e&&(s._clickTimeout&&clearTimeout(s._clickTimeout),Hd(i,t,e)))}}))}function R(e,r,n){i._scrollY=t._fullLayout.legend._scrollY=e,Sr.setTranslate(c,0,-e),Sr.setRect(h,x,Ud.scrollBarMargin+e*n,Ud.scrollBarWidth,r),l.select(\"rect\").attr({y:i.borderwidth+e})}},style:Xd},ig={step:{valType:\"enumerated\",values:[\"month\",\"year\",\"day\",\"hour\",\"minute\",\"second\",\"all\"],dflt:\"month\",editType:\"plot\"},stepmode:{valType:\"enumerated\",values:[\"backward\",\"todate\"],dflt:\"backward\",editType:\"plot\"},count:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},label:{valType:\"string\",editType:\"plot\"},editType:\"plot\"},ag=m.extendFlat,og={visible:{valType:\"boolean\",editType:\"plot\"},buttons:ig=ag(ig,{_isLinkedToArray:\"button\"}),x:{valType:\"number\",min:-2,max:3,editType:\"plot\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"plot\"},y:{valType:\"number\",min:-2,max:3,editType:\"plot\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"bottom\",editType:\"plot\"},font:T({editType:\"plot\"}),bgcolor:{valType:\"color\",dflt:C.lightLine,editType:\"plot\"},activecolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:C.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"},sg={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10};var lg=function(t,r){var n=t._name,i={};if(\"all\"===r.step)i[n+\".autorange\"]=!0;else{var a=function(t,r){var n,i=t.range,a=new Date(t.r2l(i[1])),o=r.step,s=r.count;switch(r.stepmode){case\"backward\":n=t.l2r(+e.time[o].utc.offset(a,-s));break;case\"todate\":var l=e.time[o].utc.offset(a,-s);n=t.l2r(+e.time[o].utc.ceil(l))}var u=i[1];return[n,u]}(t,r);i[n+\".range[0]\"]=a[0],i[n+\".range[1]\"]=a[1]}return i};var ug=Qe.LINE_SPACING,cg=Qe.FROM_TL,hg=Qe.FROM_BR;function fg(t){return t._id}function pg(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:sg.rx,ry:sg.ry}),n.call(Oe.stroke,e.bordercolor).call(Oe.fill,function(t,e){return e._isActive||e._isHovered?t.activecolor:t.bgcolor}(e,r)).style(\"stroke-width\",e.borderwidth+\"px\")}function dg(t,e,r,n){var i,a=t.selectAll(\"text\").data([0]);a.enter().append(\"text\").classed(\"selector-text\",!0).classed(\"user-select-none\",!0),a.attr(\"text-anchor\",\"middle\"),a.call(Sr.font,e.font).text((i=r,i.label?i.label:\"all\"===i.step?\"all\":i.count+i.step.charAt(0))).call(function(t){er.convertToTspans(t,n)})}var gg={moduleType:\"component\",name:\"rangeselector\",schema:{subplots:{xaxis:{rangeselector:og}}},layoutAttributes:og,handleDefaults:function(t,e,r,n,i){var a=t.rangeselector||{},o=e.rangeselector={};function s(t,e){return ne.coerce(a,o,og,t,e)}if(s(\"visible\",function(t,e,r){var n,i,a=t.buttons||[],o=e.buttons=[];function s(t,e){return ne.coerce(n,i,ig,t,e)}for(var l=0;l<a.length;l++)if(n=a[l],i={},ne.isPlainObject(n)){var u=s(\"step\");\"all\"!==u&&(!r||\"gregorian\"===r||\"month\"!==u&&\"year\"!==u?s(\"stepmode\"):i.stepmode=\"backward\",s(\"count\")),s(\"label\"),i._index=l,o.push(i)}return o}(a,o,i).length>0)){var l=function(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+sg.yPad]}(e,r,n);s(\"x\",l[0]),s(\"y\",l[1]),ne.noneOrAll(t,e,[\"x\",\"y\"]),s(\"xanchor\"),s(\"yanchor\"),ne.coerceFont(s,\"font\",r.font);var u=s(\"bgcolor\");s(\"activecolor\",Oe.contrast(u,sg.lightAmount,sg.darkAmount)),s(\"bordercolor\"),s(\"borderwidth\")}},draw:function(t){var r=t._fullLayout._infolayer.selectAll(\".rangeselector\").data(function(t){for(var e=gn.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}(t),fg);r.enter().append(\"g\").classed(\"rangeselector\",!0),r.exit().remove(),r.style({cursor:\"pointer\",\"pointer-events\":\"all\"}),r.each(function(r){var n=e.select(this),i=r,a=i.rangeselector,o=n.selectAll(\"g.button\").data(a.buttons);o.enter().append(\"g\").classed(\"button\",!0),o.exit().remove(),o.each(function(r){var n=e.select(this),o=lg(i,r);r._isActive=function(t,e,r){if(\"all\"===e.step)return!0===t.autorange;var n=Object.keys(r);return t.range[0]===r[n[0]]&&t.range[1]===r[n[1]]}(i,r,o),n.call(pg,a,r),n.call(dg,a,r,t),n.on(\"click\",function(){t._dragged||P.call(\"relayout\",t,o)}),n.on(\"mouseover\",function(){r._isHovered=!0,n.call(pg,a,r)}),n.on(\"mouseout\",function(){r._isHovered=!1,n.call(pg,a,r)})}),function(t,r,n,i,a){var o=0,s=0,l=n.borderwidth;r.each(function(){var t=e.select(this),r=t.select(\".selector-text\"),i=n.font.size*ug,a=Math.max(i*er.lineCount(r),16)+3;s=Math.max(s,a)}),r.each(function(){var t=e.select(this),r=t.select(\".selector-rect\"),i=t.select(\".selector-text\"),a=i.node()&&Sr.bBox(i.node()).width,u=n.font.size*ug,c=er.lineCount(i),h=Math.max(a+10,sg.minButtonWidth);t.attr(\"transform\",\"translate(\"+(l+o)+\",\"+l+\")\"),r.attr({x:0,y:0,width:h,height:s}),er.positionText(i,h/2,s/2-(c-1)*u/2+3),o+=h+5});var u=t._fullLayout._size,c=u.l+u.w*n.x,h=u.t+u.h*(1-n.y),f=\"left\";Vd.isRightAnchor(n)&&(c-=o,f=\"right\"),Vd.isCenterAnchor(n)&&(c-=o/2,f=\"center\");var p=\"top\";Vd.isBottomAnchor(n)&&(h-=s,p=\"bottom\"),Vd.isMiddleAnchor(n)&&(h-=s/2,p=\"middle\"),o=Math.ceil(o),s=Math.ceil(s),c=Math.round(c),h=Math.round(h),_n.autoMargin(t,i+\"-range-selector\",{x:n.x,y:n.y,l:o*cg[f],r:o*hg[f],b:s*hg[p],t:s*cg[p]}),a.attr(\"transform\",\"translate(\"+c+\",\"+h+\")\")}(t,o,a,i._name,n)})}},vg={bgcolor:{valType:\"color\",dflt:C.background,editType:\"plot\"},bordercolor:{valType:\"color\",dflt:C.defaultLine,editType:\"plot\"},borderwidth:{valType:\"integer\",dflt:0,min:0,editType:\"plot\"},autorange:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}}],editType:\"calc\",impliedEdits:{autorange:!1}},thickness:{valType:\"number\",dflt:.15,min:0,max:1,editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"},mg={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\",maskMinOppAxisClassName:\"rangeslider-mask-min-opp-axis\",maskMaxOppAxisClassName:\"rangeslider-mask-max-opp-axis\",maskColor:\"rgba(0,0,0,0.4)\",maskOppAxisColor:\"rgba(0,0,0,0.2)\",slideBoxFill:\"transparent\",slideBoxCursor:\"ew-resize\",grabAreaFill:\"transparent\",grabAreaCursor:\"col-resize\",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15},yg=gn.list,xg=Fn,bg={_isSubplotObj:!0,rangemode:{valType:\"enumerated\",values:[\"auto\",\"fixed\",\"match\"],dflt:\"match\",editType:\"calc\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},editType:\"calc\"};function _g(t,e,r,n){var i=t.selectAll(\"rect.\"+mg.bgClassName).data([0]);i.enter().append(\"rect\").classed(mg.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=Sr.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 wg(t,e,r,n){var i=e._fullLayout._topdefs.selectAll(\"#\"+n._clipId).data([0]);i.enter().append(\"clipPath\").attr(\"id\",n._clipId).append(\"rect\").attr({x:0,y:0}),i.select(\"rect\").attr({width:n._width,height:n._height})}function Mg(t,r,n,i){var a,o=ri.getSubplots(r,n),s=r.calcdata,l=t.selectAll(\"g.\"+mg.rangePlotClassName).data(o,ne.identity);l.enter().append(\"g\").attr(\"class\",function(t){return mg.rangePlotClassName+\" \"+t}).call(Sr.setClipUrl,i._clipId),l.order(),l.exit().remove(),l.each(function(t,o){var l=e.select(this),u=0===o,c=ri.getFromId(r,t,\"y\"),h=c._name,f=i[h],p={data:[],layout:{xaxis:{type:n.type,domain:[0,1],range:i.range.slice(),calendar:n.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:r._context};p.layout[h]={type:c.type,domain:[0,1],range:\"match\"!==f.rangemode?f.range.slice():c.range.slice(),calendar:c.calendar},_n.supplyDefaults(p);var d={id:t,plotgroup:l,xaxis:p._fullLayout.xaxis,yaxis:p._fullLayout[h]};u?a=d:(d.mainplot=\"xy\",d.mainplotinfo=a),ua.rangePlot(r,d,function(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}(s,t))})}function Ag(t,e,r,n,i){var a=t.selectAll(\"rect.\"+mg.maskMinClassName).data([0]);a.enter().append(\"rect\").classed(mg.maskMinClassName,!0).attr({x:0,y:0}).attr(\"shape-rendering\",\"crispEdges\"),a.attr(\"height\",n._height).call(Oe.fill,mg.maskColor);var o=t.selectAll(\"rect.\"+mg.maskMaxClassName).data([0]);if(o.enter().append(\"rect\").classed(mg.maskMaxClassName,!0).attr(\"y\",0).attr(\"shape-rendering\",\"crispEdges\"),o.attr(\"height\",n._height).call(Oe.fill,mg.maskColor),\"match\"!==i.rangemode){var s=t.selectAll(\"rect.\"+mg.maskMinOppAxisClassName).data([0]);s.enter().append(\"rect\").classed(mg.maskMinOppAxisClassName,!0).attr(\"y\",0).attr(\"shape-rendering\",\"crispEdges\"),s.attr(\"width\",n._width).call(Oe.fill,mg.maskOppAxisColor);var l=t.selectAll(\"rect.\"+mg.maskMaxOppAxisClassName).data([0]);l.enter().append(\"rect\").classed(mg.maskMaxOppAxisClassName,!0).attr(\"y\",0).attr(\"shape-rendering\",\"crispEdges\"),l.attr(\"width\",n._width).style(\"border-top\",mg.maskOppBorder).call(Oe.fill,mg.maskOppAxisColor)}}function kg(t,e,r,n){if(!e._context.staticPlot){var i=t.selectAll(\"rect.\"+mg.slideBoxClassName).data([0]);i.enter().append(\"rect\").classed(mg.slideBoxClassName,!0).attr(\"y\",0).attr(\"cursor\",mg.slideBoxCursor).attr(\"shape-rendering\",\"crispEdges\"),i.attr({height:n._height,fill:mg.slideBoxFill})}}function Tg(t,e,r,n){var i=t.selectAll(\"g.\"+mg.grabberMinClassName).data([0]);i.enter().append(\"g\").classed(mg.grabberMinClassName,!0);var a=t.selectAll(\"g.\"+mg.grabberMaxClassName).data([0]);a.enter().append(\"g\").classed(mg.grabberMaxClassName,!0);var o={x:0,width:mg.handleWidth,rx:mg.handleRadius,fill:Oe.background,stroke:Oe.defaultLine,\"stroke-width\":mg.handleStrokeWidth,\"shape-rendering\":\"crispEdges\"},s={y:Math.round(n._height/4),height:Math.round(n._height/2)},l=i.selectAll(\"rect.\"+mg.handleMinClassName).data([0]);l.enter().append(\"rect\").classed(mg.handleMinClassName,!0).attr(o),l.attr(s);var u=a.selectAll(\"rect.\"+mg.handleMaxClassName).data([0]);if(u.enter().append(\"rect\").classed(mg.handleMaxClassName,!0).attr(o),u.attr(s),!e._context.staticPlot){var c={width:mg.grabAreaWidth,x:0,y:0,fill:mg.grabAreaFill,cursor:mg.grabAreaCursor},h=i.selectAll(\"rect.\"+mg.grabAreaMinClassName).data([0]);h.enter().append(\"rect\").classed(mg.grabAreaMinClassName,!0).attr(c),h.attr(\"height\",n._height);var f=a.selectAll(\"rect.\"+mg.grabAreaMaxClassName).data([0]);f.enter().append(\"rect\").classed(mg.grabAreaMaxClassName,!0).attr(c),f.attr(\"height\",n._height)}}var Sg={moduleType:\"component\",name:\"rangeslider\",schema:{subplots:{xaxis:{rangeslider:ne.extendFlat({},vg,{yaxis:bg})}}},layoutAttributes:vg,handleDefaults:function(t,e,r){if(t[r].rangeslider){ne.isPlainObject(t[r].rangeslider)||(t[r].rangeslider={});var n=t[r].rangeslider,i=e[r],a=i.rangeslider={};if(v(\"visible\")){v(\"bgcolor\",e.plot_bgcolor),v(\"bordercolor\"),v(\"borderwidth\"),v(\"thickness\"),i._rangesliderAutorange=v(\"autorange\",!i.isValidRange(n.range)),v(\"range\");var o=e._subplots;if(o)for(var s=o.cartesian.filter(function(t){return t.substr(0,t.indexOf(\"y\"))===gn.name2id(r)}).map(function(t){return t.substr(t.indexOf(\"y\"),t.length)}),l=ne.simpleMap(s,gn.id2name),u=0;u<l.length;u++){var c,h=l[u],f=n[h]||{},p=a[h]={},d=e[h];f.range&&d.isValidRange(f.range)&&(c=\"fixed\");var g=m(f,p,\"rangemode\",c);\"match\"!==g&&m(f,p,\"range\",d.range.slice()),d._rangesliderAutorange=\"auto\"===g}a._input=n}}function v(t,e){return ne.coerce(n,a,vg,t,e)}function m(t,e,r,n){return ne.coerce(t,e,bg,r,n)}},calcAutorange:function(t){for(var e=yg(t,\"x\",!0),r=0;r<e.length;r++){var n=e[r],i=n[mg.name];i&&i.visible&&i.autorange&&n._min.length&&n._max.length&&(i._input.autorange=!0,i._input.range=i.range=xg(n))}},draw:function(t){var r=t._fullLayout,n=function(t){var e=ri.list({_fullLayout:t},\"x\",!0),r=mg.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}(r);var i=r._infolayer.selectAll(\"g.\"+mg.containerClassName).data(n,function(t){return t._name});i.enter().append(\"g\").classed(mg.containerClassName,!0).attr(\"pointer-events\",\"all\"),i.exit().each(function(t){var n=e.select(this),i=t[mg.name];n.remove(),r._topdefs.select(\"#\"+i._clipId).remove()}),i.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];-1!==i.indexOf(mg.name)&&_n.autoMargin(t,i)}}(t),0!==n.length&&i.each(function(n){var i=e.select(this),a=n[mg.name],o=r[ri.id2name(n.anchor)],s=a[ri.id2name(n.anchor)];if(a.range){var l=a.range,u=n.range;l[0]=n.l2r(Math.min(n.r2l(l[0]),n.r2l(u[0]))),l[1]=n.l2r(Math.max(n.r2l(l[1]),n.r2l(u[1]))),a._input.range=l.slice()}n.cleanRange(\"rangeslider.range\");for(var c=r.margin,h=r._size,f=n.domain,p=(n._boundingBox||{}).height||0,d=1/0,g=ri.getSubplots(t,n),v=0;v<g.length;v++){var m=ri.getFromId(t,g[v].substr(g[v].indexOf(\"y\")));d=Math.min(d,m.domain[0])}a._id=mg.name+n._id,a._clipId=a._id+\"-\"+r._uid,a._width=h.w*(f[1]-f[0]),a._height=(r.height-c.b-c.t)*a.thickness,a._offsetShift=Math.floor(a.borderwidth/2);var y=Math.round(c.l+h.w*f[0]),x=Math.round(h.t+h.h*(1-d)+p+a._offsetShift+mg.extraPad);i.attr(\"transform\",\"translate(\"+y+\",\"+x+\")\");var b=n.r2l(a.range[0]),_=n.r2l(a.range[1]),w=_-b;if(a.p2d=function(t){return t/a._width*w+b},a.d2p=function(t){return(t-b)/w*a._width},a._rl=[b,_],\"match\"!==s.rangemode){var M=o.r2l(s.range[0]),A=o.r2l(s.range[1])-M;a.d2pOppAxis=function(t){return(t-M)/A*a._height}}i.call(_g,t,n,a).call(wg,t,n,a).call(Mg,t,n,a).call(Ag,t,n,a,s).call(kg,t,n,a).call(Tg,t,n,a),function(t,r,n,i){var a=t.select(\"rect.\"+mg.slideBoxClassName).node(),o=t.select(\"rect.\"+mg.grabAreaMinClassName).node(),s=t.select(\"rect.\"+mg.grabAreaMaxClassName).node();t.on(\"mousedown\",function(){var l=e.event,u=l.target,c=l.clientX,h=c-t.node().getBoundingClientRect().left,f=i.d2p(n._rl[0]),p=i.d2p(n._rl[1]),d=Ua.coverSlip();function g(t){var l,g,v,m=+t.clientX-c;switch(u){case a:v=\"ew-resize\",l=f+m,g=p+m;break;case o:v=\"col-resize\",l=f+m,g=p;break;case s:v=\"col-resize\",l=f,g=p+m;break;default:v=\"ew-resize\",l=h,g=h+m}if(g<l){var y=g;g=l,l=y}i._pixelMin=l,i._pixelMax=g,Ka(e.select(d),v),function(t,e,r,n){function i(t){return r.l2r(ne.constrain(t,n._rl[0],n._rl[1]))}var a=i(n.p2d(n._pixelMin)),o=i(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){P.call(\"relayout\",e,r._name+\".range\",[a,o])})}(0,r,n,i)}d.addEventListener(\"mousemove\",g),d.addEventListener(\"mouseup\",function t(){d.removeEventListener(\"mousemove\",g),d.removeEventListener(\"mouseup\",t),ne.removeElement(d)})})}(i,t,n,a),function(t,e,r,n,i,a){var o=mg.handleWidth/2;function s(t){return ne.constrain(t,0,n._width)}function l(t){return ne.constrain(t,0,n._height)}function u(t){return ne.constrain(t,-o,n._width+o)}var c=s(n.d2p(r._rl[0])),h=s(n.d2p(r._rl[1]));if(t.select(\"rect.\"+mg.slideBoxClassName).attr(\"x\",c).attr(\"width\",h-c),t.select(\"rect.\"+mg.maskMinClassName).attr(\"width\",c),t.select(\"rect.\"+mg.maskMaxClassName).attr(\"x\",h).attr(\"width\",n._width-h),\"match\"!==a.rangemode){var f=n._height-l(n.d2pOppAxis(i._rl[1])),p=n._height-l(n.d2pOppAxis(i._rl[0]));t.select(\"rect.\"+mg.maskMinOppAxisClassName).attr(\"x\",c).attr(\"height\",f).attr(\"width\",h-c),t.select(\"rect.\"+mg.maskMaxOppAxisClassName).attr(\"x\",c).attr(\"y\",p).attr(\"height\",n._height-p).attr(\"width\",h-c),t.select(\"rect.\"+mg.slideBoxClassName).attr(\"y\",f).attr(\"height\",p-f)}var d=Math.round(u(c-o))-.5,g=Math.round(u(h-o))+.5;t.select(\"g.\"+mg.grabberMinClassName).attr(\"transform\",\"translate(\"+d+\",0.5)\"),t.select(\"g.\"+mg.grabberMaxClassName).attr(\"transform\",\"translate(\"+g+\",0.5)\")}(i,0,n,a,o,s),\"bottom\"===n.side&&Dn.draw(t,n._id+\"title\",{propContainer:n,propName:n._name+\".title\",placeholder:r._dfltTitle.x,attributes:{x:n._offset+n._length/2,y:x+a._height+a._offsetShift+10+1.5*n.titlefont.size,\"text-anchor\":\"middle\"}}),_n.autoMargin(t,a._id,{x:f[0],y:d,l:0,r:0,t:0,b:a._height+c.b+p,pad:mg.extraPad+2*a._offsetShift})})}},Eg=Zr.line,Cg=Ae.dash,Lg=m.extendFlat,zg={_isLinkedToArray:\"shape\",visible:{valType:\"boolean\",dflt:!0,editType:\"calcIfAutorange+arraydraw\"},type:{valType:\"enumerated\",values:[\"circle\",\"rect\",\"path\",\"line\"],editType:\"calcIfAutorange+arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"arraydraw\"},xref:Lg({},Jp.xref,{}),x0:{valType:\"any\",editType:\"calcIfAutorange+arraydraw\"},x1:{valType:\"any\",editType:\"calcIfAutorange+arraydraw\"},yref:Lg({},Jp.yref,{}),y0:{valType:\"any\",editType:\"calcIfAutorange+arraydraw\"},y1:{valType:\"any\",editType:\"calcIfAutorange+arraydraw\"},path:{valType:\"string\",editType:\"calcIfAutorange+arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},line:{color:Lg({},Eg.color,{editType:\"arraydraw\"}),width:Lg({},Eg.width,{editType:\"calcIfAutorange+arraydraw\"}),dash:Lg({},Cg,{editType:\"arraydraw\"}),editType:\"calcIfAutorange+arraydraw\"},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},editType:\"arraydraw\"},Pg={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}},Ig={rangeToShapePosition:function(t){return\"log\"===t.type?t.r2d:function(t){return t}},shapePositionToRange:function(t){return\"log\"===t.type?t.d2r:function(t){return t}},decodeDate:function(t){return function(e){return e.replace&&(e=e.replace(\"_\",\" \")),t(e)}},encodeDate:function(t){return function(e){return t(e).replace(\" \",\"_\")}},getDataToPixel:function(t,e,r){var n,i=t._fullLayout._size;if(e){var a=Ig.shapePositionToRange(e);n=function(t){return e._offset+e.r2p(a(t,!0))},\"date\"===e.type&&(n=Ig.decodeDate(n))}else n=r?function(t){return i.t+i.h*(1-t)}:function(t){return i.l+i.w*t};return n},getPixelToData:function(t,e,r){var n,i=t._fullLayout._size;if(e){var a=Ig.rangeToShapePosition(e);n=function(t){return a(e.p2r(t-e._offset))}}else n=r?function(t){return 1-(t-i.t)/i.h}:function(t){return(t-i.l)/i.w};return n}};function Dg(t,e,r,n,i){var a=\"category\"===t.type?t.r2c:t.d2c;if(void 0!==e)return[a(e),a(r)];if(n){var o,s,l,u,c=1/0,h=-1/0,f=n.match(Pg.segmentRE);for(\"date\"===t.type&&(a=Ig.decodeDate(a)),o=0;o<f.length;o++)void 0!==(s=i[f[o].charAt(0)].drawn)&&(!(l=f[o].substr(1).match(Pg.paramRE))||l.length<s||((u=a(l[s]))<c&&(c=u),u>h&&(h=u)));return h>=c?[c,h]:void 0}}var Og=function(t,e,r,n,i){function a(r,n){return ne.coerce(t,e,zg,r,n)}if(n=n||{},!a(\"visible\",!(i=i||{}).itemIsNotPlainObject))return e;a(\"layer\"),a(\"opacity\"),a(\"fillcolor\"),a(\"line.color\"),a(\"line.width\"),a(\"line.dash\");for(var o=a(\"type\",t.path?\"path\":\"rect\"),s=[\"x\",\"y\"],l=0;l<2;l++){var u=s[l],c={_fullLayout:r},h=ri.coerceRef(t,e,c,u,\"\",\"paper\");if(\"path\"!==o){var f,p,d;\"paper\"!==h?(f=ri.getFromId(c,h),d=Ig.rangeToShapePosition(f),p=Ig.shapePositionToRange(f)):p=d=ne.identity;var g=u+\"0\",v=u+\"1\",m=t[g],y=t[v];t[g]=p(t[g],!0),t[v]=p(t[v],!0),ri.coercePosition(e,c,a,h,g,.25),ri.coercePosition(e,c,a,h,v,.75),e[g]=d(e[g]),e[v]=d(e[v]),t[g]=m,t[v]=y}}return\"path\"===o?a(\"path\"):ne.noneOrAll(t,e,[\"x0\",\"x1\",\"y0\",\"y1\"]),e},Rg={draw:function(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&&Fg(t,r)},drawOne:Fg};function Fg(t,e){t._fullLayout._paperdiv.selectAll('.shapelayer [data-index=\"'+e+'\"]').remove();var r=(t.layout.shapes||[])[e],n=t._fullLayout.shapes[e];if(r&&!1!==n.visible)if(\"below\"!==n.layer)a(t._fullLayout._shapeUpperLayer);else if(\"paper\"===n.xref||\"paper\"===n.yref)a(t._fullLayout._shapeLowerLayer);else{var i=t._fullLayout._plots[n.xref+n.yref];if(i)a((i.mainplotinfo||i).shapelayer);else a(t._fullLayout._shapeLowerLayer)}function a(r){var i={\"data-index\":e,\"fill-rule\":\"evenodd\",d:Bg(t,n)},a=n.line.width?n.line.color:\"rgba(0,0,0,0)\",o=r.append(\"path\").attr(i).style(\"opacity\",n.opacity).call(Oe.stroke,a).call(Oe.fill,n.fillcolor).call(Sr.dashLine,n.line.dash,n.line.width),s=(n.xref+n.yref).replace(/paper/g,\"\");o.call(Sr.setClipUrl,s?\"clip\"+t._fullLayout._uid+s:null),t._context.edits.shapePosition&&function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d,g,v,m,y,x,b,_,w,M,A,k,T,S,E,C,L,z,I,D,O=10,R=10,F={element:e.node(),gd:t,prepFn:function(e){S=ri.getFromId(t,r.xref),E=ri.getFromId(t,r.yref),C=Ig.getDataToPixel(t,S),L=Ig.getDataToPixel(t,E,!0),z=Ig.getPixelToData(t,S),I=Ig.getPixelToData(t,E,!0);var P=\"shapes[\"+n+\"]\";\"path\"===r.type?(k=r.path,T=P+\".path\"):(a=C(r.x0),o=L(r.y0),s=C(r.x1),l=L(r.y1),u=P+\".x0\",c=P+\".y0\",h=P+\".x1\",f=P+\".y1\");a<s?(g=a,x=P+\".x0\",M=\"x0\",v=s,b=P+\".x1\",A=\"x1\"):(g=s,x=P+\".x1\",M=\"x1\",v=a,b=P+\".x0\",A=\"x0\");o<l?(p=o,m=P+\".y0\",_=\"y0\",d=l,y=P+\".y1\",w=\"y1\"):(p=l,m=P+\".y1\",_=\"y1\",d=o,y=P+\".y0\",w=\"y0\");i={},N(e),F.moveFn=\"move\"===D?j:V},doneFn:function(){Ka(e),P.call(\"relayout\",t,i)}},B=F.element.getBoundingClientRect();function N(t){var r=B.right-B.left,n=B.bottom-B.top,i=t.clientX-B.left,a=t.clientY-B.top,o=r>O&&n>R&&!t.shiftKey?Ua.getCursor(i/r,1-a/n):\"move\";Ka(e,o),D=o.split(\"-\")[0]}function j(n,p){if(\"path\"===r.type){var d=function(t){return z(C(t)+n)};S&&\"date\"===S.type&&(d=Ig.encodeDate(d));var g=function(t){return I(L(t)+p)};E&&\"date\"===E.type&&(g=Ig.encodeDate(g)),r.path=Ng(k,d,g),i[T]=r.path}else i[u]=r.x0=z(a+n),i[c]=r.y0=I(o+p),i[h]=r.x1=z(s+n),i[f]=r.y1=I(l+p);e.attr(\"d\",Bg(t,r))}function V(n,a){if(\"path\"===r.type){var o=function(t){return z(C(t)+n)};S&&\"date\"===S.type&&(o=Ig.encodeDate(o));var s=function(t){return I(L(t)+a)};E&&\"date\"===E.type&&(s=Ig.encodeDate(s)),r.path=Ng(k,o,s),i[T]=r.path}else{var l=~D.indexOf(\"n\")?p+a:p,u=~D.indexOf(\"s\")?d+a:d,c=~D.indexOf(\"w\")?g+n:g,h=~D.indexOf(\"e\")?v+n:v;u-l>R&&(i[m]=r[_]=I(l),i[y]=r[w]=I(u)),h-c>O&&(i[x]=r[M]=z(c),i[b]=r[A]=z(h))}e.attr(\"d\",Bg(t,r))}Ua.init(F),e.node().onmousemove=N}(t,o,n,e)}}function Bg(t,e){var r,n,i,a,o=e.type,s=ri.getFromId(t,e.xref),l=ri.getFromId(t,e.yref),u=t._fullLayout._size;if(s?(r=Ig.shapePositionToRange(s),n=function(t){return s._offset+s.r2p(r(t,!0))}):n=function(t){return u.l+u.w*t},l?(i=Ig.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=Ig.decodeDate(n)),l&&\"date\"===l.type&&(a=Ig.decodeDate(a)),function(t,e,r){return t.replace(Pg.segmentRE,function(t){var n=0,i=t.charAt(0),a=Pg.paramIsX[i],o=Pg.paramIsY[i],s=Pg.numParams[i],l=t.substr(1).replace(Pg.paramRE,function(t){return a[n]?t=e(t):o[n]&&(t=r(t)),++n>s&&(t=\"X\"),t});return n>s&&(l=l.replace(/[\\s,]*X.*/,\"\"),ne.log(\"Ignoring extra params in segment \"+t)),i+l})}(e.path,n,a);var c=n(e.x0),h=n(e.x1),f=a(e.y0),p=a(e.y1);if(\"line\"===o)return\"M\"+c+\",\"+f+\"L\"+h+\",\"+p;if(\"rect\"===o)return\"M\"+c+\",\"+f+\"H\"+h+\"V\"+p+\"H\"+c+\"Z\";var d=(c+h)/2,g=(f+p)/2,v=Math.abs(d-c),m=Math.abs(g-f),y=\"A\"+v+\",\"+m,x=d+v+\",\"+g;return\"M\"+x+y+\" 0 1,1 \"+(d+\",\"+(g-m))+y+\" 0 0,1 \"+x+\"Z\"}function Ng(t,e,r){return t.replace(Pg.segmentRE,function(t){var n=0,i=t.charAt(0),a=Pg.paramIsX[i],o=Pg.paramIsY[i],s=Pg.numParams[i];return i+t.substr(1).replace(Pg.paramRE,function(t){return n>=s?t:(a[n]?t=e(t):o[n]&&(t=r(t)),n++,t)})})}var jg={moduleType:\"component\",name:\"shapes\",layoutAttributes:zg,supplyLayoutDefaults:function(t,e){ld(t,e,{name:\"shapes\",handleItemDefaults:Og})},includeBasePlot:ud(\"shapes\"),calcAutorange:function(t){var e=t._fullLayout,r=ne.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var n=0;n<r.length;n++){var i,a,o=r[n],s=o.line.width/2;\"paper\"!==o.xref&&(a=Dg(i=ri.getFromId(t,o.xref),o.x0,o.x1,o.path,Pg.paramIsX))&&ri.expand(i,a,{ppad:s}),\"paper\"!==o.yref&&(a=Dg(i=ri.getFromId(t,o.yref),o.y0,o.y1,o.path,Pg.paramIsY))&&ri.expand(i,a,{ppad:s})}},draw:Rg.draw,drawOne:Rg.drawOne},Vg={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,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},Ug={t:{valType:\"number\",dflt:0,editType:\"arraydraw\"},r:{valType:\"number\",dflt:0,editType:\"arraydraw\"},b:{valType:\"number\",dflt:0,editType:\"arraydraw\"},l:{valType:\"number\",dflt:0,editType:\"arraydraw\"},editType:\"arraydraw\"},qg=m.extendDeepAll,Hg=(0,ye.overrideAll)({_isLinkedToArray:\"slider\",visible:{valType:\"boolean\",dflt:!0},active:{valType:\"number\",min:0,dflt:0},steps:{_isLinkedToArray:\"step\",method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\",\"skip\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\"},value:{valType:\"string\"},execute:{valType:\"boolean\",dflt:!0}},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:qg({},Ug,{},{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:we.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:T({})},font:T({}),activebgcolor:{valType:\"color\",dflt:Vg.gripBgActiveColor},bgcolor:{valType:\"color\",dflt:Vg.railBgColor},bordercolor:{valType:\"color\",dflt:Vg.railBorderColor},borderwidth:{valType:\"number\",min:0,dflt:Vg.railBorderWidth},ticklen:{valType:\"number\",min:0,dflt:Vg.tickLength},tickcolor:{valType:\"color\",dflt:Vg.tickColor},tickwidth:{valType:\"number\",min:0,dflt:1},minorticklen:{valType:\"number\",min:0,dflt:Vg.minorTickLength}},\"arraydraw\",\"from-root\"),Gg=Vg.name,Wg=Hg.steps;function Yg(t,e,r){function n(r,n){return ne.coerce(t,e,Hg,r,n)}n(\"visible\",function(t,e){var r,n,i=t.steps||[],a=e.steps=[];function o(t,e){return ne.coerce(r,n,Wg,t,e)}for(var s=0;s<i.length;s++)r=i[s],n={},o(\"method\"),ne.isPlainObject(r)&&(\"skip\"===n.method||Array.isArray(r.args))&&(o(\"args\"),o(\"label\",\"step-\"+s),o(\"value\",n.label),o(\"execute\"),a.push(n));return a}(t,e).length>0)&&(n(\"active\"),n(\"x\"),n(\"y\"),ne.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\"),ne.coerceFont(n,\"font\",r.font),n(\"currentvalue.visible\")&&(n(\"currentvalue.xanchor\"),n(\"currentvalue.prefix\"),n(\"currentvalue.suffix\"),n(\"currentvalue.offset\"),ne.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\"))}var Xg=Qe.LINE_SPACING,Zg=Qe.FROM_TL,Jg=Qe.FROM_BR;function Kg(t){return t._index}function Qg(t,r){var n=Sr.tester.selectAll(\"g.\"+Vg.labelGroupClass).data(r.steps);n.enter().append(\"g\").classed(Vg.labelGroupClass,!0);var i=0,a=0;n.each(function(t){var n=ev(e.select(this),{step:t},r).node();if(n){var o=Sr.bBox(n);a=Math.max(a,o.height),i=Math.max(i,o.width)}}),n.remove();var o=r._dims={};o.inputAreaWidth=Math.max(Vg.railWidth,Vg.gripHeight);var s=t._fullLayout._size;o.lx=s.l+s.w*r.x,o.ly=s.t+s.h*(1-r.y),\"fraction\"===r.lenmode?o.outerLength=Math.round(s.w*r.len):o.outerLength=r.len,o.inputAreaStart=0,o.inputAreaLength=Math.round(o.outerLength-r.pad.l-r.pad.r);var l=(o.inputAreaLength-2*Vg.stepInset)/(r.steps.length-1),u=i+Vg.labelPadding;if(o.labelStride=Math.max(1,Math.ceil(u/l)),o.labelHeight=a,o.currentValueMaxWidth=0,o.currentValueHeight=0,o.currentValueTotalHeight=0,o.currentValueMaxLines=1,r.currentvalue.visible){var c=Sr.tester.append(\"g\");n.each(function(t){var e=$g(c,r,t.label),n=e.node()&&Sr.bBox(e.node())||{width:0,height:0},i=er.lineCount(e);o.currentValueMaxWidth=Math.max(o.currentValueMaxWidth,Math.ceil(n.width)),o.currentValueHeight=Math.max(o.currentValueHeight,Math.ceil(n.height)),o.currentValueMaxLines=Math.max(o.currentValueMaxLines,i)}),o.currentValueTotalHeight=o.currentValueHeight+r.currentvalue.offset,c.remove()}o.height=o.currentValueTotalHeight+Vg.tickOffset+r.ticklen+Vg.labelOffset+o.labelHeight+r.pad.t+r.pad.b;var h=\"left\";Vd.isRightAnchor(r)&&(o.lx-=o.outerLength,h=\"right\"),Vd.isCenterAnchor(r)&&(o.lx-=o.outerLength/2,h=\"center\");var f=\"top\";Vd.isBottomAnchor(r)&&(o.ly-=o.height,f=\"bottom\"),Vd.isMiddleAnchor(r)&&(o.ly-=o.height/2,f=\"middle\"),o.outerLength=Math.ceil(o.outerLength),o.height=Math.ceil(o.height),o.lx=Math.round(o.lx),o.ly=Math.round(o.ly),_n.autoMargin(t,Vg.autoMarginIdRoot+r._index,{x:r.x,y:r.y,l:o.outerLength*Zg[h],r:o.outerLength*Jg[h],b:o.height*Jg[f],t:o.height*Zg[f]})}function $g(t,e,r){if(e.currentvalue.visible){var n,i,a=t.selectAll(\"text\").data([0]),o=e._dims;switch(e.currentvalue.xanchor){case\"right\":n=o.inputAreaLength-Vg.currentValueInset-o.currentValueMaxWidth,i=\"left\";break;case\"center\":n=.5*o.inputAreaLength,i=\"middle\";break;default:n=Vg.currentValueInset,i=\"left\"}a.enter().append(\"text\").classed(Vg.labelClass,!0).classed(\"user-select-none\",!0).attr({\"text-anchor\":i,\"data-notex\":1});var s=e.currentvalue.prefix?e.currentvalue.prefix:\"\";if(\"string\"==typeof r)s+=r;else s+=e.steps[e.active].label;e.currentvalue.suffix&&(s+=e.currentvalue.suffix),a.call(Sr.font,e.currentvalue.font).text(s).call(er.convertToTspans,e._gd);var l=er.lineCount(a),u=(o.currentValueMaxLines+1-l)*e.currentvalue.font.size*Xg;return er.positionText(a,n,u),a}}function tv(t,e,r){var n=t.selectAll(\"rect.\"+Vg.gripRectClass).data([0]);n.enter().append(\"rect\").classed(Vg.gripRectClass,!0).call(av,e,t,r).style(\"pointer-events\",\"all\"),n.attr({width:Vg.gripWidth,height:Vg.gripHeight,rx:Vg.gripRadius,ry:Vg.gripRadius}).call(Oe.stroke,r.bordercolor).call(Oe.fill,r.bgcolor).style(\"stroke-width\",r.borderwidth+\"px\")}function ev(t,e,r){var n=t.selectAll(\"text\").data([0]);return n.enter().append(\"text\").classed(Vg.labelClass,!0).classed(\"user-select-none\",!0).attr({\"text-anchor\":\"middle\",\"data-notex\":1}),n.call(Sr.font,r.font).text(e.step.label).call(er.convertToTspans,r._gd),n}function rv(t,r){var n=t.selectAll(\"g.\"+Vg.labelsClass).data([0]),i=r._dims;n.enter().append(\"g\").classed(Vg.labelsClass,!0);var a=n.selectAll(\"g.\"+Vg.labelGroupClass).data(i.labelSteps);a.enter().append(\"g\").classed(Vg.labelGroupClass,!0),a.exit().remove(),a.each(function(t){var n=e.select(this);n.call(ev,t,r),Sr.setTranslate(n,lv(r,t.fraction),Vg.tickOffset+r.ticklen+r.font.size*Xg+Vg.labelOffset+i.currentValueTotalHeight)})}function nv(t,e,r,n,i){var a=Math.round(n*(r.steps.length-1));a!==r.active&&iv(t,e,r,a,!0,i)}function iv(t,e,r,n,i,a){var o=r.active;r._input.active=r.active=n;var s=r.steps[r.active];e.call(sv,r,r.active/(r.steps.length-1),a),e.call($g,r),t.emit(\"plotly_sliderchange\",{slider:r,step:r.steps[r.active],interaction:i,previousActive:o}),s&&s.method&&i&&(e._nextMethod?(e._nextMethod.step=s,e._nextMethod.doCallback=i,e._nextMethod.doTransition=a):(e._nextMethod={step:s,doCallback:i,doTransition:a},e._nextMethodRaf=window.requestAnimationFrame(function(){var r=e._nextMethod.step;r.method&&(r.execute&&_n.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function av(t,r,n){var i=n.node(),a=e.select(r);function o(){return n.data()[0]}t.on(\"mousedown\",function(){var t=o();r.emit(\"plotly_sliderstart\",{slider:t});var s=n.select(\".\"+Vg.gripRectClass);e.event.stopPropagation(),e.event.preventDefault(),s.call(Oe.fill,t.activebgcolor);var l=uv(t,e.mouse(i)[0]);nv(r,n,t,l,!0),t._dragging=!0,a.on(\"mousemove\",function(){var t=o(),a=uv(t,e.mouse(i)[0]);nv(r,n,t,a,!1)}),a.on(\"mouseup\",function(){var t=o();t._dragging=!1,s.call(Oe.fill,t.bgcolor),a.on(\"mouseup\",null),a.on(\"mousemove\",null),r.emit(\"plotly_sliderend\",{slider:t,step:t.steps[t.active]})})})}function ov(t,r){var n=t.selectAll(\"rect.\"+Vg.tickRectClass).data(r.steps),i=r._dims;n.enter().append(\"rect\").classed(Vg.tickRectClass,!0),n.exit().remove(),n.attr({width:r.tickwidth+\"px\",\"shape-rendering\":\"crispEdges\"}),n.each(function(t,n){var a=n%i.labelStride==0,o=e.select(this);o.attr({height:a?r.ticklen:r.minorticklen}).call(Oe.fill,r.tickcolor),Sr.setTranslate(o,lv(r,n/(r.steps.length-1))-.5*r.tickwidth,(a?Vg.tickOffset:Vg.minorTickOffset)+i.currentValueTotalHeight)})}function sv(t,e,r,n){var i=t.select(\"rect.\"+Vg.gripRectClass),a=lv(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*Vg.gripWidth)+\",\"+e._dims.currentValueTotalHeight+\")\")}}function lv(t,e){var r=t._dims;return r.inputAreaStart+Vg.stepInset+(r.inputAreaLength-2*Vg.stepInset)*Math.min(1,Math.max(0,e))}function uv(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-Vg.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*Vg.stepInset-2*r.inputAreaStart)))}function cv(t,e,r){var n=t.selectAll(\"rect.\"+Vg.railTouchRectClass).data([0]),i=r._dims;n.enter().append(\"rect\").classed(Vg.railTouchRectClass,!0).call(av,e,t,r).style(\"pointer-events\",\"all\"),n.attr({width:i.inputAreaLength,height:Math.max(i.inputAreaWidth,Vg.tickOffset+r.ticklen+i.labelHeight)}).call(Oe.fill,r.bgcolor).attr(\"opacity\",0),Sr.setTranslate(n,0,i.currentValueTotalHeight)}function hv(t,e){var r=t.selectAll(\"rect.\"+Vg.railRectClass).data([0]),n=e._dims;r.enter().append(\"rect\").classed(Vg.railRectClass,!0);var i=n.inputAreaLength-2*Vg.railInset;r.attr({width:i,height:Vg.railWidth,rx:Vg.railRadius,ry:Vg.railRadius,\"shape-rendering\":\"crispEdges\"}).call(Oe.stroke,e.bordercolor).call(Oe.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\"),Sr.setTranslate(r,Vg.railInset,.5*(n.inputAreaWidth-Vg.railWidth)+n.currentValueTotalHeight)}var fv={moduleType:\"component\",name:Vg.name,layoutAttributes:Hg,supplyLayoutDefaults:function(t,e){ld(t,e,{name:Gg,handleItemDefaults:Yg})},draw:function(t){var r=t._fullLayout,n=function(t,e){for(var r=t[Vg.name],n=[],i=0;i<r.length;i++){var a=r[i];a.visible&&a.steps.length&&(a._gd=e,n.push(a))}return n}(r,t),i=r._infolayer.selectAll(\"g.\"+Vg.containerClassName).data(n.length>0?[0]:[]);if(i.enter().append(\"g\").classed(Vg.containerClassName,!0).style(\"cursor\",\"ew-resize\"),i.exit().remove(),i.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];-1!==i.indexOf(Vg.autoMarginIdRoot)&&_n.autoMargin(t,i)}}(t),0!==n.length){var a=i.selectAll(\"g.\"+Vg.groupClassName).data(n,Kg);a.enter().append(\"g\").classed(Vg.groupClassName,!0),a.exit().each(function(r){e.select(this).remove(),r._commandObserver.remove(),delete r._commandObserver,_n.autoMargin(t,Vg.autoMarginIdRoot+r._index)});for(var o=0;o<n.length;o++){var s=n[o];Qg(t,s)}a.each(function(r){if(!(r.steps.length<2)){var n=e.select(this);!function(t){var e=t._dims;e.labelSteps=[];for(var r=t.steps.length,n=0;n<r;n+=e.labelStride)e.labelSteps.push({fraction:n/(r-1),step:t.steps[n]})}(r),_n.manageCommandObserver(t,r,r.steps,function(e){var r=n.data()[0];r.active!==e.index&&(r._dragging||iv(t,n,r,e.index,!1,!0))}),function(t,e,r){r.active>=r.steps.length&&(r.active=0),e.call($g,r).call(hv,r).call(rv,r).call(ov,r).call(cv,t,r).call(tv,t,r);var n=r._dims;Sr.setTranslate(e,n.lx+r.pad.l,n.ly+r.pad.t),e.call(sv,r,r.active/(r.steps.length-1),!1),e.call($g,r)}(t,e.select(this),r)}})}}},pv=m.extendFlat,dv=(0,ye.overrideAll)({_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:{_isLinkedToArray:\"button\",method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\",\"skip\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\",dflt:\"\"},execute:{valType:\"boolean\",dflt:!0}},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:pv({},Ug,{}),font:T({}),bgcolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:C.borderLine},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"arraydraw\"}},\"arraydraw\",\"from-root\"),gv={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,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:\"#F4FAFF\",hoverColor:\"#F4FAFF\",arrowSymbol:{left:\"\\u25c4\",right:\"\\u25ba\",up:\"\\u25b2\",down:\"\\u25bc\"}},vv=gv.name,mv=dv.buttons;function yv(t,e,r){function n(r,n){return ne.coerce(t,e,dv,r,n)}n(\"visible\",function(t,e){var r,n,i=t.buttons||[],a=e.buttons=[];function o(t,e){return ne.coerce(r,n,mv,t,e)}for(var s=0;s<i.length;s++)r=i[s],n={},o(\"method\"),ne.isPlainObject(r)&&(\"skip\"===n.method||Array.isArray(r.args))&&(o(\"args\"),o(\"label\"),o(\"execute\"),n._index=s,a.push(n));return a}(t,e).length>0)&&(n(\"active\"),n(\"direction\"),n(\"type\"),n(\"showactive\"),n(\"x\"),n(\"y\"),ne.noneOrAll(t,e,[\"x\",\"y\"]),n(\"xanchor\"),n(\"yanchor\"),n(\"pad.t\"),n(\"pad.r\"),n(\"pad.b\"),n(\"pad.l\"),ne.coerceFont(n,\"font\",r.font),n(\"bgcolor\",r.paper_bgcolor),n(\"bordercolor\"),n(\"borderwidth\"))}var xv=bv;function bv(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})}bv.barWidth=2,bv.barLength=20,bv.barRadius=2,bv.barPad=1,bv.barColor=\"#808BA4\",bv.prototype.enable=function(t,r,n){var i=this.gd._fullLayout,a=i.width,o=i.height;this.position=t;var s,l,u,c,h=this.position.l,f=this.position.w,p=this.position.t,d=this.position.h,g=this.position.direction,v=\"down\"===g,m=\"left\"===g,y=\"up\"===g,x=f,b=d;v||m||\"right\"===g||y||(this.position.direction=\"down\",v=!0),v||y?(l=(s=h)+x,v?(u=p,b=(c=Math.min(u+b,o))-u):b=(c=p+b)-(u=Math.max(c-b,0))):(c=(u=p)+b,m?x=(l=h+x)-(s=Math.max(l-x,0)):(s=h,x=(l=Math.min(s+x,a))-s)),this._box={l:s,t:u,w:x,h:b};var _=f>x,w=bv.barLength+2*bv.barPad,M=bv.barWidth+2*bv.barPad,A=h,k=p+d;k+M>o&&(k=o-M);var T=this.container.selectAll(\"rect.scrollbar-horizontal\").data(_?[0]:[]);T.exit().on(\".drag\",null).remove(),T.enter().append(\"rect\").classed(\"scrollbar-horizontal\",!0).call(Oe.fill,bv.barColor),_?(this.hbar=T.attr({rx:bv.barRadius,ry:bv.barRadius,x:A,y:k,width:w,height:M}),this._hbarXMin=A+w/2,this._hbarTranslateMax=x-w):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var S=d>b,E=bv.barWidth+2*bv.barPad,C=bv.barLength+2*bv.barPad,L=h+f,z=p;L+E>a&&(L=a-E);var P=this.container.selectAll(\"rect.scrollbar-vertical\").data(S?[0]:[]);P.exit().on(\".drag\",null).remove(),P.enter().append(\"rect\").classed(\"scrollbar-vertical\",!0).call(Oe.fill,bv.barColor),S?(this.vbar=P.attr({rx:bv.barRadius,ry:bv.barRadius,x:L,y:z,width:E,height:C}),this._vbarYMin=z+C/2,this._vbarTranslateMax=b-C):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var I=this.id,D=s-.5,O=S?l+E+.5:l+.5,R=u-.5,F=_?c+M+.5:c+.5,B=i._topdefs.selectAll(\"#\"+I).data(_||S?[0]:[]);if(B.exit().remove(),B.enter().append(\"clipPath\").attr(\"id\",I).append(\"rect\"),_||S?(this._clipRect=B.select(\"rect\").attr({x:Math.floor(D),y:Math.floor(R),width:Math.ceil(O)-Math.floor(D),height:Math.ceil(F)-Math.floor(R)}),this.container.call(Sr.setClipUrl,I),this.bg.attr({x:h,y:p,width:f,height:d})):(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(Sr.setClipUrl,null),delete this._clipRect),_||S){var N=e.behavior.drag().on(\"dragstart\",function(){e.event.sourceEvent.preventDefault()}).on(\"drag\",this._onBoxDrag.bind(this));this.container.on(\"wheel\",null).on(\"wheel\",this._onBoxWheel.bind(this)).on(\".drag\",null).call(N);var j=e.behavior.drag().on(\"dragstart\",function(){e.event.sourceEvent.preventDefault(),e.event.sourceEvent.stopPropagation()}).on(\"drag\",this._onBarDrag.bind(this));_&&this.hbar.on(\".drag\",null).call(j),S&&this.vbar.on(\".drag\",null).call(j)}this.setTranslate(r,n)},bv.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(Sr.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)},bv.prototype._onBoxDrag=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t-=e.event.dx),this.vbar&&(r-=e.event.dy),this.setTranslate(t,r)},bv.prototype._onBoxWheel=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t+=e.event.deltaY),this.vbar&&(r+=e.event.deltaY),this.setTranslate(t,r)},bv.prototype._onBarDrag=function(){var t=this.translateX,r=this.translateY;if(this.hbar){var n=t+this._hbarXMin,i=n+this._hbarTranslateMax;t=(ne.constrain(e.event.x,n,i)-n)/(i-n)*(this.position.w-this._box.w)}if(this.vbar){var a=r+this._vbarYMin,o=a+this._vbarTranslateMax;r=(ne.constrain(e.event.y,a,o)-a)/(o-a)*(this.position.h-this._box.h)}this.setTranslate(t,r)},bv.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=ne.constrain(t||0,0,r),e=ne.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(Sr.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(Sr.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var a=e/n;this.vbar.call(Sr.setTranslate,t,e+a*this._vbarTranslateMax)}};var _v=Qe.LINE_SPACING;function wv(t){return t._index}function Mv(t,e){return+t.attr(gv.menuIndexAttrName)===e._index}function Av(t,e,r,n,i,a,o,s){e._input.active=e.active=o,\"buttons\"===e.type?Tv(t,n,null,null,e):\"dropdown\"===e.type&&(i.attr(gv.menuIndexAttrName,\"-1\"),kv(t,n,i,a,e),s||Tv(t,n,i,a,e))}function kv(t,e,r,n,i){var a=e.selectAll(\"g.\"+gv.headerClassName).data([0]),o=i._dims;a.enter().append(\"g\").classed(gv.headerClassName,!0).style(\"pointer-events\",\"all\");var s=i.active,l=i.buttons[s]||gv.blankHeaderOpts,u={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},c={width:o.headerWidth,height:o.headerHeight};a.call(Sv,i,l,t).call(Dv,i,u,c);var h=e.selectAll(\"text.\"+gv.headerArrowClassName).data([0]);h.enter().append(\"text\").classed(gv.headerArrowClassName,!0).classed(\"user-select-none\",!0).attr(\"text-anchor\",\"end\").call(Sr.font,i.font).text(gv.arrowSymbol[i.direction]),h.attr({x:o.headerWidth-gv.arrowOffsetX+i.pad.l,y:o.headerHeight/2+gv.textOffsetY+i.pad.t}),a.on(\"click\",function(){r.call(Ov),r.attr(gv.menuIndexAttrName,Mv(r,i)?-1:String(i._index)),Tv(t,e,r,n,i)}),a.on(\"mouseover\",function(){a.call(zv)}),a.on(\"mouseout\",function(){a.call(Pv,i)}),Sr.setTranslate(e,o.lx,o.ly)}function Tv(t,r,n,i,a){n||(n=r).attr(\"pointer-events\",\"all\");var o=function(t){return-1==+t.attr(gv.menuIndexAttrName)}(n)&&\"buttons\"!==a.type?[]:a.buttons,s=\"dropdown\"===a.type?gv.dropdownButtonClassName:gv.buttonClassName,l=n.selectAll(\"g.\"+s).data(o),u=l.enter().append(\"g\").classed(s,!0),c=l.exit();\"dropdown\"===a.type?(u.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),c.transition().attr(\"opacity\",\"0\").remove()):c.remove();var h=0,f=0,p=a._dims,d=-1!==[\"up\",\"down\"].indexOf(a.direction);\"dropdown\"===a.type&&(d?f=p.headerHeight+gv.gapButtonHeader:h=p.headerWidth+gv.gapButtonHeader),\"dropdown\"===a.type&&\"up\"===a.direction&&(f=-gv.gapButtonHeader+gv.gapButton-p.openHeight),\"dropdown\"===a.type&&\"left\"===a.direction&&(h=-gv.gapButtonHeader+gv.gapButton-p.openWidth);var g={x:p.lx+h+a.pad.l,y:p.ly+f+a.pad.t,yPad:gv.gapButton,xPad:gv.gapButton,index:0},v={l:g.x+a.borderwidth,t:g.y+a.borderwidth};l.each(function(o,s){var u=e.select(this);u.call(Sv,a,o,t).call(Dv,a,g),u.on(\"click\",function(){e.event.defaultPrevented||(Av(t,a,0,r,n,i,s),o.execute&&_n.executeAPICommand(t,o.method,o.args),t.emit(\"plotly_buttonclicked\",{menu:a,button:o,active:a.active}))}),u.on(\"mouseover\",function(){u.call(zv)}),u.on(\"mouseout\",function(){u.call(Pv,a),l.call(Lv,a)})}),l.call(Lv,a),d?(v.w=Math.max(p.openWidth,p.headerWidth),v.h=g.y-v.t):(v.w=g.x-v.l,v.h=Math.max(p.openHeight,p.headerHeight)),v.direction=a.direction,i&&(l.size()?function(t,e,r,n,i,a){var o,s,l,u=i.direction,c=\"up\"===u||\"down\"===u,h=i._dims,f=i.active;if(c)for(s=0,l=0;l<f;l++)s+=h.heights[l]+gv.gapButton;else for(o=0,l=0;l<f;l++)o+=h.widths[l]+gv.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\")}(0,0,0,i,a,v):function(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()})}(i))}function Sv(t,e,r,n){t.call(Ev,e).call(Cv,e,r,n)}function Ev(t,e){var r=t.selectAll(\"rect\").data([0]);r.enter().append(\"rect\").classed(gv.itemRectClassName,!0).attr({rx:gv.rx,ry:gv.ry,\"shape-rendering\":\"crispEdges\"}),r.call(Oe.stroke,e.bordercolor).call(Oe.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\")}function Cv(t,e,r,n){var i=t.selectAll(\"text\").data([0]);i.enter().append(\"text\").classed(gv.itemTextClassName,!0).classed(\"user-select-none\",!0).attr({\"text-anchor\":\"start\",\"data-notex\":1}),i.call(Sr.font,e.font).text(r.label).call(er.convertToTspans,n)}function Lv(t,r){var n=r.active;t.each(function(t,i){var a=e.select(this);i===n&&r.showactive&&a.select(\"rect.\"+gv.itemRectClassName).call(Oe.fill,gv.activeColor)})}function zv(t){t.select(\"rect.\"+gv.itemRectClassName).call(Oe.fill,gv.hoverColor)}function Pv(t,e){t.select(\"rect.\"+gv.itemRectClassName).call(Oe.fill,e.bgcolor)}function Iv(t,r){var n=r._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},i=Sr.tester.selectAll(\"g.\"+gv.dropdownButtonClassName).data(r.buttons);i.enter().append(\"g\").classed(gv.dropdownButtonClassName,!0);var a=-1!==[\"up\",\"down\"].indexOf(r.direction);i.each(function(i,o){var s=e.select(this);s.call(Sv,r,i,t);var l=s.select(\".\"+gv.itemTextClassName),u=l.node()&&Sr.bBox(l.node()).width,c=Math.max(u+gv.textPadX,gv.minWidth),h=r.font.size*_v,f=er.lineCount(l),p=Math.max(h*f,gv.minHeight)+gv.textOffsetY;p=Math.ceil(p),c=Math.ceil(c),n.widths[o]=c,n.heights[o]=p,n.height1=Math.max(n.height1,p),n.width1=Math.max(n.width1,c),a?(n.totalWidth=Math.max(n.totalWidth,c),n.openWidth=n.totalWidth,n.totalHeight+=p+gv.gapButton,n.openHeight+=p+gv.gapButton):(n.totalWidth+=c+gv.gapButton,n.openWidth+=c+gv.gapButton,n.totalHeight=Math.max(n.totalHeight,p),n.openHeight=n.totalHeight)}),a?n.totalHeight-=gv.gapButton:n.totalWidth-=gv.gapButton,n.headerWidth=n.width1+gv.arrowPadX,n.headerHeight=n.height1,\"dropdown\"===r.type&&(a?(n.width1+=gv.arrowPadX,n.totalHeight=n.height1):n.totalWidth=n.width1,n.totalWidth+=gv.arrowPadX),i.remove();var o=n.totalWidth+r.pad.l+r.pad.r,s=n.totalHeight+r.pad.t+r.pad.b,l=t._fullLayout._size;n.lx=l.l+l.w*r.x,n.ly=l.t+l.h*(1-r.y);var u=\"left\";Vd.isRightAnchor(r)&&(n.lx-=o,u=\"right\"),Vd.isCenterAnchor(r)&&(n.lx-=o/2,u=\"center\");var c=\"top\";Vd.isBottomAnchor(r)&&(n.ly-=s,c=\"bottom\"),Vd.isMiddleAnchor(r)&&(n.ly-=s/2,c=\"middle\"),n.totalWidth=Math.ceil(n.totalWidth),n.totalHeight=Math.ceil(n.totalHeight),n.lx=Math.round(n.lx),n.ly=Math.round(n.ly),_n.autoMargin(t,gv.autoMarginIdRoot+r._index,{x:r.x,y:r.y,l:o*({right:1,center:.5}[u]||0),r:o*({left:1,center:.5}[u]||0),b:s*({top:1,middle:.5}[c]||0),t:s*({bottom:1,middle:.5}[c]||0)})}function Dv(t,e,r,n){n=n||{};var i=t.select(\".\"+gv.itemRectClassName),a=t.select(\".\"+gv.itemTextClassName),o=e.borderwidth,s=r.index,l=e._dims;Sr.setTranslate(t,o+r.x,o+r.y);var u=-1!==[\"up\",\"down\"].indexOf(e.direction),c=n.height||(u?l.heights[s]:l.height1);i.attr({x:0,y:0,width:n.width||(u?l.width1:l.widths[s]),height:c});var h=e.font.size*_v,f=(er.lineCount(a)-1)*h/2;er.positionText(a,gv.textOffsetX,c/2-f+gv.textOffsetY),u?r.y+=l.heights[s]+r.yPad:r.x+=l.widths[s]+r.xPad,r.index++}function Ov(t){t.selectAll(\"g.\"+gv.dropdownButtonClassName).remove()}var Rv={moduleType:\"component\",name:gv.name,layoutAttributes:dv,supplyLayoutDefaults:function(t,e){ld(t,e,{name:vv,handleItemDefaults:yv})},draw:function(t){var r=t._fullLayout,n=function(t){for(var e=t[gv.name],r=[],n=0;n<e.length;n++){var i=e[n];i.visible&&r.push(i)}return r}(r),i=r._menulayer.selectAll(\"g.\"+gv.containerClassName).data(n.length>0?[0]:[]);if(i.enter().append(\"g\").classed(gv.containerClassName,!0).style(\"cursor\",\"pointer\"),i.exit().remove(),i.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];-1!==i.indexOf(gv.autoMarginIdRoot)&&_n.autoMargin(t,i)}}(t),0!==n.length){var a=i.selectAll(\"g.\"+gv.headerGroupClassName).data(n,wv);a.enter().append(\"g\").classed(gv.headerGroupClassName,!0);var o=i.selectAll(\"g.\"+gv.dropdownButtonGroupClassName).data([0]);o.enter().append(\"g\").classed(gv.dropdownButtonGroupClassName,!0).style(\"pointer-events\",\"all\");for(var s=0;s<n.length;s++){var l=n[s];Iv(t,l)}var u=\"updatemenus\"+r._uid,c=new xv(t,o,u);a.enter().size()&&(o.node().parentNode.appendChild(o.node()),o.call(Ov).attr(gv.menuIndexAttrName,\"-1\")),a.exit().each(function(r){e.select(this).remove(),o.call(Ov).attr(gv.menuIndexAttrName,\"-1\"),_n.autoMargin(t,gv.autoMarginIdRoot+r._index)}),a.each(function(r){var n=e.select(this),i=\"dropdown\"===r.type?o:null;_n.manageCommandObserver(t,r,r.buttons,function(e){Av(t,r,r.buttons[e.index],n,i,c,e.index,!0)}),\"dropdown\"===r.type?(kv(t,n,o,c,r),Mv(o,r)&&Tv(t,n,o,c,r)):Tv(t,n,null,null,r)})}}},Fv={};\"undefined\"!=typeof MathJax?(Fv.MathJax=!0,MathJax.Hub.Config({messageStyle:\"none\",skipStartupTypeset:!0,displayAlign:\"left\",tex2jax:{inlineMath:[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]]}}),MathJax.Hub.Configured()):Fv.MathJax=!1;var Bv={add:function(t,e,r,n,i){var a,o;t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},o=t.undoQueue.index,t.autoplay?t.undoQueue.inSequence||(t.autoplay=!1):(!t.undoQueue.sequence||t.undoQueue.beginSequence?(a={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},t.undoQueue.queue.splice(o,t.undoQueue.queue.length-o,a),t.undoQueue.index+=1):a=t.undoQueue.queue[o-1],t.undoQueue.beginSequence=!1,a&&(a.undo.calls.unshift(e),a.undo.args.unshift(r),a.redo.calls.push(n),a.redo.args.push(i)),t.undoQueue.queue.length>b.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.undo();else 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++)Bv.plotDo(t,e.undo.calls[r],e.undo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1}},redo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.redo();else 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++)Bv.plotDo(t,e.redo.calls[r],e.redo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}}};Bv.plotDo=function(t,e,r){t.autoplay=!0,r=function(t,e){for(var r,n=[],i=0;i<e.length;i++)r=e[i],n[i]=r===t?r:\"object\"==typeof r?Array.isArray(r)?ne.extendDeep([],r):ne.extendDeepAll({},r):r;return n}(t,r),e.apply(null,r)};var Nv=Bv,jv=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,p=i*s,d=i*l,g=a*o,v=a*s,m=a*l;return t[0]=1-h-d,t[1]=c+m,t[2]=f-v,t[3]=0,t[4]=c-m,t[5]=1-u-d,t[6]=p+g,t[7]=0,t[8]=f+v,t[9]=p-g,t[10]=1-u-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t};var Vv={},Uv=gn.cleanId,qv=gn.getFromTrace;function Hv(t,e){var r=t[e],n=e.charAt(0);r&&\"paper\"!==r&&(t[e]=Uv(r,n))}function Gv(t){var e=\"middle\",r=\"center\";return-1!==t.indexOf(\"top\")?e=\"top\":-1!==t.indexOf(\"bottom\")&&(e=\"bottom\"),-1!==t.indexOf(\"left\")?r=\"left\":-1!==t.indexOf(\"right\")&&(r=\"right\"),e+\" \"+r}function Wv(t,e){return e in t&&\"object\"==typeof t[e]&&0===Object.keys(t[e]).length}Vv.clearPromiseQueue=function(t){Array.isArray(t._promises)&&t._promises.length>0&&ne.log(\"Clearing previous rejected promises from queue.\"),t._promises=[]},Vv.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),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var n=(_n.subplotsRegistry.cartesian||{}).attrRegex,i=(_n.subplotsRegistry.gl3d||{}).attrRegex,a=Object.keys(t);for(e=0;e<a.length;e++){var o=a[e];if(n&&n.test(o)){var s=t[o];s.anchor&&\"free\"!==s.anchor&&(s.anchor=Uv(s.anchor)),s.overlaying&&(s.overlaying=Uv(s.overlaying)),s.type||(s.isdate?s.type=\"date\":s.islog?s.type=\"log\":!1===s.isdate&&!1===s.islog&&(s.type=\"linear\")),\"withzero\"!==s.autorange&&\"tozero\"!==s.autorange||(s.autorange=!0,s.rangemode=\"tozero\"),delete s.islog,delete s.isdate,delete s.categories,Wv(s,\"domain\")&&delete s.domain,void 0!==s.autotick&&(void 0===s.tickmode&&(s.tickmode=s.autotick?\"auto\":\"linear\"),delete s.autotick)}else if(i&&i.test(o)){var l=t[o],u=l.cameraposition;if(Array.isArray(u)&&4===u[0].length){var c=u[0],h=u[1],f=u[2],p=jv([],c),d=[];for(r=0;r<3;++r)d[r]=h[r]+f*p[2+4*r];l.camera={eye:{x:d[0],y:d[1],z:d[2]},center:{x:h[0],y:h[1],z:h[2]},up:{x:p[1],y:p[5],z:p[9]}},delete l.cameraposition}}}var g=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e<g;e++){var v=t.annotations[e];ne.isPlainObject(v)&&(v.ref&&(\"paper\"===v.ref?(v.xref=\"paper\",v.yref=\"paper\"):\"data\"===v.ref&&(v.xref=\"x\",v.yref=\"y\"),delete v.ref),Hv(v,\"xref\"),Hv(v,\"yref\"))}var m=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e<m;e++){var y=t.shapes[e];ne.isPlainObject(y)&&(Hv(y,\"xref\"),Hv(y,\"yref\"))}var x=t.legend;return x&&(x.x>3?(x.x=1.02,x.xanchor=\"left\"):x.x<-2&&(x.x=-.02,x.xanchor=\"right\"),x.y>3?(x.y=1.02,x.yanchor=\"bottom\"):x.y<-2&&(x.y=-.02,x.yanchor=\"top\")),\"rotate\"===t.dragmode&&(t.dragmode=\"orbit\"),Oe.clean(t),t},Vv.cleanData=function(t,e){for(var r=[],n=t.concat(Array.isArray(e)?e:[]).filter(function(t){return\"uid\"in t}).map(function(t){return t.uid}),i=0;i<t.length;i++){var a,o=t[i];if(!(\"uid\"in o)||-1!==r.indexOf(o.uid)){var s;for(a=0;a<100&&(s=ne.randstr(n),-1!==r.indexOf(s));a++);o.uid=ne.randstr(n),n.push(o.uid)}if(r.push(o.uid),\"histogramy\"===o.type&&\"xbins\"in o&&!(\"ybins\"in o)&&(o.ybins=o.xbins,delete o.xbins),o.error_y&&\"opacity\"in o.error_y){var l=Oe.defaults,u=o.error_y.color||(P.traceIs(o,\"bar\")?Oe.defaultLine:l[i%l.length]);o.error_y.color=Oe.addOpacity(Oe.rgb(u),Oe.opacity(u)*o.error_y.opacity),delete o.error_y.opacity}if(\"bardir\"in o&&(\"h\"!==o.bardir||!P.traceIs(o,\"bar\")&&\"histogram\"!==o.type.substr(0,9)||(o.orientation=\"h\",Vv.swapXYData(o)),delete o.bardir),\"histogramy\"===o.type&&Vv.swapXYData(o),\"histogramx\"!==o.type&&\"histogramy\"!==o.type||(o.type=\"histogram\"),\"scl\"in o&&(o.colorscale=o.scl,delete o.scl),\"reversescl\"in o&&(o.reversescale=o.reversescl,delete o.reversescl),o.xaxis&&(o.xaxis=Uv(o.xaxis,\"x\")),o.yaxis&&(o.yaxis=Uv(o.yaxis,\"y\")),P.traceIs(o,\"gl3d\")&&o.scene&&(o.scene=_n.subplotsRegistry.gl3d.cleanId(o.scene)),!P.traceIs(o,\"pie\")&&!P.traceIs(o,\"bar\"))if(Array.isArray(o.textposition))for(a=0;a<o.textposition.length;a++)o.textposition[a]=Gv(o.textposition[a]);else o.textposition&&(o.textposition=Gv(o.textposition));if(P.traceIs(o,\"2dMap\")&&(\"YIGnBu\"===o.colorscale&&(o.colorscale=\"YlGnBu\"),\"YIOrRd\"===o.colorscale&&(o.colorscale=\"YlOrRd\")),P.traceIs(o,\"markerColorscale\")&&o.marker){var c=o.marker;\"YIGnBu\"===c.colorscale&&(c.colorscale=\"YlGnBu\"),\"YIOrRd\"===c.colorscale&&(c.colorscale=\"YlOrRd\")}if(\"surface\"===o.type&&ne.isPlainObject(o.contours)){var h=[\"x\",\"y\",\"z\"];for(a=0;a<h.length;a++){var f=o.contours[h[a]];ne.isPlainObject(f)&&(f.highlightColor&&(f.highlightcolor=f.highlightColor,delete f.highlightColor),f.highlightWidth&&(f.highlightwidth=f.highlightWidth,delete f.highlightWidth))}}if(Array.isArray(o.transforms)){var p=o.transforms;for(a=0;a<p.length;a++){var d=p[a];if(ne.isPlainObject(d))switch(d.type){case\"filter\":d.filtersrc&&(d.target=d.filtersrc,delete d.filtersrc),d.calendar&&(d.valuecalendar||(d.valuecalendar=d.calendar),delete d.calendar);break;case\"groupby\":if(d.styles=d.styles||d.style,d.styles&&!Array.isArray(d.styles)){var g=d.styles,v=Object.keys(g);d.styles=[];for(var m=0;m<v.length;m++)d.styles.push({target:v[m],value:g[v[m]]})}}}}Wv(o,\"line\")&&delete o.line,\"marker\"in o&&(Wv(o.marker,\"line\")&&delete o.marker.line,Wv(o,\"marker\")&&delete o.marker),Oe.clean(o)}},Vv.swapXYData=function(t){var e;if(ne.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);ne.swapAttrs(t,[\"error_?.copy_ystyle\"]),n&&ne.swapAttrs(t,[\"error_?.color\",\"error_?.thickness\",\"error_?.width\"])}if(\"string\"==typeof 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(\"+\")}},Vv.coerceTraceIndices=function(t,e){return r(e)?[e]:Array.isArray(e)&&e.length?e:t.data.map(function(t,e){return e})},Vv.manageArrayContainers=function(t,e,n){var i=t.obj,a=t.parts,o=a.length,s=a[o-1],l=r(s);if(l&&null===e){var u=a.slice(0,o-1).join(\".\");ne.nestedProperty(i,u).get().splice(s,1)}else l&&void 0===t.get()?(void 0===t.get()&&(n[t.astr]=null),t.set(e)):t.set(e)};var Yv=/(\\.[^\\[\\]\\.]+|\\[[^\\[\\]\\.]+\\])$/;function Xv(t){var e=t.search(Yv);if(e>0)return t.substr(0,e)}Vv.hasParent=function(t,e){for(var r=Xv(e);r;){if(r in t)return!0;r=Xv(r)}return!1};var Zv=[\"x\",\"y\",\"z\"];Vv.clearAxisTypes=function(t,e,r){for(var n=0;n<e.length;n++)for(var i=t._fullData[n],a=0;a<3;a++){var o=qv(t,i,Zv[a]);if(o&&\"log\"!==o.type){var s=o._name,l=o._id.substr(1);if(\"scene\"===l.substr(0,5)){if(void 0!==r[l])continue;s=l+\".\"+s}var u=s+\".type\";void 0===r[s]&&void 0===r[u]&&ne.nestedProperty(t.layout,u).set(null)}}},Vv.clearAxisAutomargins=function(t){for(var e=Object.keys(t._fullLayout._pushmargin),r=0;r<e.length;r++)-1!==e[r].indexOf(\"automargin\")&&delete t._fullLayout._pushmargin[e[r]]};var Jv={},Kv=Wt.sorterAsc;Jv.containerArrayMatch=H;var Qv=Jv.isAddVal=function(t){return\"add\"===t||v(t)},$v=Jv.isRemoveVal=function(t){return null===t||\"remove\"===t};Jv.applyContainerArrayChanges=function(t,e,r,n){var i=e.astr,a=P.getComponentMethod(i,\"supplyLayoutDefaults\"),o=P.getComponentMethod(i,\"draw\"),s=P.getComponentMethod(i,\"drawOne\"),l=n.replot||n.recalc||a===A||o===A,u=t.layout,c=t._fullLayout;if(r[\"\"]){Object.keys(r).length>1&&_.warn(\"Full array edits are incompatible with other edits\",i);var h=r[\"\"][\"\"];if($v(h))e.set(null);else{if(!Array.isArray(h))return _.warn(\"Unrecognized full array edit value\",i,h),!0;e.set(h)}return!l&&(a(u,c),o(t),!0)}var f,p,d,g,v,m,y,x=Object.keys(r).map(Number).sort(Kv),b=e.get(),w=b||[],M=W(c,i).get(),k=[],T=-1,S=w.length;for(f=0;f<x.length;f++)if(g=r[d=x[f]],v=Object.keys(g),m=g[\"\"],y=Qv(m),d<0||d>w.length-(y?0:1))_.warn(\"index out of range\",i,d);else if(void 0!==m)v.length>1&&_.warn(\"Insertion & removal are incompatible with edits to the same index.\",i,d),$v(m)?k.push(d):y?(\"add\"===m&&(m={}),w.splice(d,0,m),M&&M.splice(d,0,{})):_.warn(\"Unrecognized full object edit value\",i,d,m),-1===T&&(T=d);else for(p=0;p<v.length;p++)W(w[d],v[p]).set(g[v[p]]);for(f=k.length-1;f>=0;f--)w.splice(k[f],1),M&&M.splice(k[f],1);if(w.length?b||e.set(w):e.set(null),l)return!1;if(a(u,c),s!==A){var E;if(-1===T)E=x;else{for(S=Math.max(w.length,S),E=[],f=0;f<x.length&&!((d=x[f])>=T);f++)E.push(d);for(f=T;f<S;f++)E.push(f)}for(f=0;f<E.length;f++)s(t,E[f])}else o(t);return!0};var tm={},em=ne._,rm=tm={};function nm(t,e){var r,n,i=e.currentTarget,a=i.getAttribute(\"data-attr\"),o=i.getAttribute(\"data-val\")||!0,s=t._fullLayout,l={},u=gn.list(t,null,!0),c=\"on\";if(\"zoom\"===a){var h,f=\"in\"===o?.5:2,p=(1+f)/2,d=(1-f)/2;for(n=0;n<u.length;n++)if(!(r=u[n]).fixedrange)if(h=r._name,\"auto\"===o)l[h+\".autorange\"]=!0;else if(\"reset\"===o){if(void 0===r._rangeInitial)l[h+\".autorange\"]=!0;else{var g=r._rangeInitial.slice();l[h+\".range[0]\"]=g[0],l[h+\".range[1]\"]=g[1]}void 0!==r._showSpikeInitial&&(l[h+\".showspikes\"]=r._showSpikeInitial,\"on\"!==c||r._showSpikeInitial||(c=\"off\"))}else{var v=[r.r2l(r.range[0]),r.r2l(r.range[1])],m=[p*v[0]+d*v[1],p*v[1]+d*v[0]];l[h+\".range[0]\"]=r.l2r(m[0]),l[h+\".range[1]\"]=r.l2r(m[1])}s._cartesianSpikesEnabled=c}else{if(\"hovermode\"!==a||\"x\"!==o&&\"y\"!==o){if(\"hovermode\"===a&&\"closest\"===o){for(n=0;n<u.length;n++)r=u[n],\"on\"!==c||r.showspikes||(c=\"off\");s._cartesianSpikesEnabled=c}}else o=s._isHoriz?\"y\":\"x\",i.setAttribute(\"data-val\",o);l[a]=o}P.call(\"relayout\",t,l)}function im(t,e){for(var r=e.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=t._fullLayout._subplots.gl3d,o={},s=n.split(\".\"),l=0;l<a.length;l++)o[a[l]+\".\"+s[1]]=i;var u=\"pan\"===i?i:\"zoom\";o.dragmode=u,P.call(\"relayout\",t,o)}function am(t,e){for(var r=e.currentTarget.getAttribute(\"data-attr\"),n=t._fullLayout,i=n._subplots.gl3d,a={},o=0;o<i.length;o++){var s=i[o],l=s+\".camera\",u=n[s]._scene;\"resetDefault\"===r?a[l]=null:\"resetLastSave\"===r&&(a[l]=ne.extendDeep({},u.cameraInitial))}P.call(\"relayout\",t,a)}function om(t,e){var r=e.currentTarget,n=r._previousVal||!1,i=t.layout,a=t._fullLayout,o=a._subplots.gl3d,s=[\"xaxis\",\"yaxis\",\"zaxis\"],l=[\"showspikes\",\"spikesides\",\"spikethickness\",\"spikecolor\"],u={},c={},h={};if(n)h=ne.extendDeep(i,n),r._previousVal=null;else{h={\"allaxes.showspikes\":!1};for(var f=0;f<o.length;f++){var p=o[f],d=a[p],g=u[p]={};g.hovermode=d.hovermode,h[p+\".hovermode\"]=!1;for(var v=0;v<3;v++){var m=s[v];c=g[m]={};for(var y=0;y<l.length;y++){var x=l[y];c[x]=d[m][x]}}}r._previousVal=ne.extendDeep({},u)}P.call(\"relayout\",t,h)}function sm(t,e){for(var r=e.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=t._fullLayout,o=a._subplots.geo,s=0;s<o.length;s++){var l=o[s],u=a[l];if(\"zoom\"===n){var c=u.projection.scale,h=\"in\"===i?2*c:.5*c;P.call(\"relayout\",t,l+\".projection.scale\",h)}else\"reset\"===n&&um(t,\"geo\")}}function lm(t){var e,r=t._fullLayout;e=r._has(\"cartesian\")?r._isHoriz?\"y\":\"x\":\"closest\";var n=!t._fullLayout.hovermode&&e;P.call(\"relayout\",t,\"hovermode\",n)}function um(t,e){for(var r=t._fullLayout,n=r._subplots[e],i={},a=0;a<n.length;a++)for(var o=n[a],s=r[o]._subplot.viewInitial,l=Object.keys(s),u=0;u<l.length;u++){var c=l[u];i[o+\".\"+c]=s[c]}P.call(\"relayout\",t,i)}function cm(t){this.container=t.container,this.element=document.createElement(\"div\"),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}rm.toImage={name:\"toImage\",title:function(t){return em(t,\"Download plot as a png\")},icon:Op.camera,click:function(t){var e=\"png\";ne.notifier(em(t,\"Taking snapshot - this may take a few seconds\"),\"long\"),ne.isIE()&&(ne.notifier(em(t,\"IE only supports svg.  Changing format to svg.\"),\"long\"),e=\"svg\"),P.call(\"downloadImage\",t,{format:e}).then(function(e){ne.notifier(em(t,\"Snapshot succeeded\")+\" - \"+e,\"long\")}).catch(function(){ne.notifier(em(t,\"Sorry, there was a problem downloading your snapshot!\"),\"long\")})}},rm.sendDataToCloud={name:\"sendDataToCloud\",title:function(t){return em(t,\"Edit in Chart Studio\")},icon:Op.disk,click:function(t){_n.sendDataToCloud(t)}},rm.zoom2d={name:\"zoom2d\",title:function(t){return em(t,\"Zoom\")},attr:\"dragmode\",val:\"zoom\",icon:Op.zoombox,click:nm},rm.pan2d={name:\"pan2d\",title:function(t){return em(t,\"Pan\")},attr:\"dragmode\",val:\"pan\",icon:Op.pan,click:nm},rm.select2d={name:\"select2d\",title:function(t){return em(t,\"Box Select\")},attr:\"dragmode\",val:\"select\",icon:Op.selectbox,click:nm},rm.lasso2d={name:\"lasso2d\",title:function(t){return em(t,\"Lasso Select\")},attr:\"dragmode\",val:\"lasso\",icon:Op.lasso,click:nm},rm.zoomIn2d={name:\"zoomIn2d\",title:function(t){return em(t,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:Op.zoom_plus,click:nm},rm.zoomOut2d={name:\"zoomOut2d\",title:function(t){return em(t,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:Op.zoom_minus,click:nm},rm.autoScale2d={name:\"autoScale2d\",title:function(t){return em(t,\"Autoscale\")},attr:\"zoom\",val:\"auto\",icon:Op.autoscale,click:nm},rm.resetScale2d={name:\"resetScale2d\",title:function(t){return em(t,\"Reset axes\")},attr:\"zoom\",val:\"reset\",icon:Op.home,click:nm},rm.hoverClosestCartesian={name:\"hoverClosestCartesian\",title:function(t){return em(t,\"Show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:Op.tooltip_basic,gravity:\"ne\",click:nm},rm.hoverCompareCartesian={name:\"hoverCompareCartesian\",title:function(t){return em(t,\"Compare data on hover\")},attr:\"hovermode\",val:function(t){return t._fullLayout._isHoriz?\"y\":\"x\"},icon:Op.tooltip_compare,gravity:\"ne\",click:nm},rm.zoom3d={name:\"zoom3d\",title:function(t){return em(t,\"Zoom\")},attr:\"scene.dragmode\",val:\"zoom\",icon:Op.zoombox,click:im},rm.pan3d={name:\"pan3d\",title:function(t){return em(t,\"Pan\")},attr:\"scene.dragmode\",val:\"pan\",icon:Op.pan,click:im},rm.orbitRotation={name:\"orbitRotation\",title:function(t){return em(t,\"Orbital rotation\")},attr:\"scene.dragmode\",val:\"orbit\",icon:Op[\"3d_rotate\"],click:im},rm.tableRotation={name:\"tableRotation\",title:function(t){return em(t,\"Turntable rotation\")},attr:\"scene.dragmode\",val:\"turntable\",icon:Op[\"z-axis\"],click:im},rm.resetCameraDefault3d={name:\"resetCameraDefault3d\",title:function(t){return em(t,\"Reset camera to default\")},attr:\"resetDefault\",icon:Op.home,click:am},rm.resetCameraLastSave3d={name:\"resetCameraLastSave3d\",title:function(t){return em(t,\"Reset camera to last save\")},attr:\"resetLastSave\",icon:Op.movie,click:am},rm.hoverClosest3d={name:\"hoverClosest3d\",title:function(t){return em(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:Op.tooltip_basic,gravity:\"ne\",click:om},rm.zoomInGeo={name:\"zoomInGeo\",title:function(t){return em(t,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:Op.zoom_plus,click:sm},rm.zoomOutGeo={name:\"zoomOutGeo\",title:function(t){return em(t,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:Op.zoom_minus,click:sm},rm.resetGeo={name:\"resetGeo\",title:function(t){return em(t,\"Reset\")},attr:\"reset\",val:null,icon:Op.autoscale,click:sm},rm.hoverClosestGeo={name:\"hoverClosestGeo\",title:function(t){return em(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:Op.tooltip_basic,gravity:\"ne\",click:lm},rm.hoverClosestGl2d={name:\"hoverClosestGl2d\",title:function(t){return em(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:Op.tooltip_basic,gravity:\"ne\",click:lm},rm.hoverClosestPie={name:\"hoverClosestPie\",title:function(t){return em(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:Op.tooltip_basic,gravity:\"ne\",click:lm},rm.toggleHover={name:\"toggleHover\",title:function(t){return em(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:Op.tooltip_basic,gravity:\"ne\",click:function(t,e){lm(t),om(t,e)}},rm.resetViews={name:\"resetViews\",title:function(t){return em(t,\"Reset views\")},icon:Op.home,click:function(t,e){var r=e.currentTarget;r.setAttribute(\"data-attr\",\"zoom\"),r.setAttribute(\"data-val\",\"reset\"),nm(t,e),r.setAttribute(\"data-attr\",\"resetLastSave\"),am(t,e),um(t,\"geo\"),um(t,\"mapbox\")}},rm.toggleSpikelines={name:\"toggleSpikelines\",title:function(t){return em(t,\"Toggle Spike Lines\")},icon:Op.spikeline,attr:\"_cartesianSpikesEnabled\",val:\"on\",click:function(t){var e=t._fullLayout;e._cartesianSpikesEnabled=\"on\"===e._cartesianSpikesEnabled?\"off\":\"on\";var r=function(t){for(var e,r,n=t._fullLayout,i=gn.list(t,null,!0),a={},o=0;o<i.length;o++)e=i[o],r=e._name,a[r+\".showspikes\"]=\"on\"===n._cartesianSpikesEnabled||e._showSpikeInitial;return a}(t);P.call(\"relayout\",t,r)}},rm.resetViewMapbox={name:\"resetViewMapbox\",title:function(t){return em(t,\"Reset view\")},attr:\"reset\",icon:Op.home,click:function(t){um(t,\"mapbox\")}};var hm=cm.prototype;hm.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()},hm.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(-1!==e.buttonsNames.indexOf(n))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)})},hm.createGroup=function(){var t=document.createElement(\"div\");return t.className=\"modebar-group\",t},hm.createButton=function(t){var r=this,n=document.createElement(\"a\");n.setAttribute(\"rel\",\"tooltip\"),n.className=\"modebar-btn\";var i=t.title;void 0===i?i=t.name:\"function\"==typeof i&&(i=i(this.graphInfo)),(i||0===i)&&n.setAttribute(\"data-title\",i),void 0!==t.attr&&n.setAttribute(\"data-attr\",t.attr);var a=t.val;if(void 0!==a&&(\"function\"==typeof a&&(a=a(this.graphInfo)),n.setAttribute(\"data-val\",a)),\"function\"!=typeof t.click)throw new Error(\"must provide button 'click' function in button config\");return n.addEventListener(\"click\",function(e){t.click(r.graphInfo,e),r.updateActiveButton(e.currentTarget)}),n.setAttribute(\"data-toggle\",t.toggle||!1),t.toggle&&e.select(n).classed(\"active\",!0),n.appendChild(this.createIcon(t.icon||Op.question,t.name)),n.setAttribute(\"data-gravity\",t.gravity||\"n\"),n},hm.createIcon=function(t,e){var r=t.ascent-t.descent,n=\"http://www.w3.org/2000/svg\",i=document.createElementNS(n,\"svg\"),a=document.createElementNS(n,\"path\");i.setAttribute(\"height\",\"1em\"),i.setAttribute(\"width\",t.width/r+\"em\"),i.setAttribute(\"viewBox\",[0,0,t.width,r].join(\" \"));var o=\"toggleSpikelines\"===e?\"matrix(1.5 0 0 -1.5 0 \"+t.ascent+\")\":\"matrix(1 0 0 -1 0 \"+t.ascent+\")\";return a.setAttribute(\"d\",t.path),a.setAttribute(\"transform\",o),i.appendChild(a),i},hm.updateActiveButton=function(t){var r=this.graphInfo._fullLayout,n=void 0!==t?t.getAttribute(\"data-attr\"):null;this.buttonElements.forEach(function(t){var i=t.getAttribute(\"data-val\")||!0,a=t.getAttribute(\"data-attr\"),o=\"true\"===t.getAttribute(\"data-toggle\"),s=e.select(t);if(o)a===n&&s.classed(\"active\",!s.classed(\"active\"));else{var l=null===a?a:ne.nestedProperty(r,a).get();s.classed(\"active\",l===i)}})},hm.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},hm.getLogo=function(){var t=this.createGroup(),e=document.createElement(\"a\");return e.href=\"https://plot.ly/\",e.target=\"_blank\",e.setAttribute(\"data-title\",ne._(this.graphInfo,\"Produced with Plotly\")),e.className=\"modebar-btn plotlyjsicon modebar-btn--logo\",e.appendChild(this.createIcon(Op.plotlylogo)),t.appendChild(e),t},hm.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},hm.destroy=function(){ne.removeElement(this.container.querySelector(\".modebar\"))};var fm=function(t,r){var n=t._fullLayout,i=new cm({graphInfo:t,container:n._paperdiv.node(),buttons:r});return n._privateplot&&e.select(i.element).append(\"span\").classed(\"badge-private float--left\",!0).text(\"PRIVATE\"),i};var pm={};pm.manage=function(t){var e=t._fullLayout,r=t._context,n=e._modeBar;if(r.displayModeBar){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 i,a=r.modeBarButtons;i=Array.isArray(a)&&a.length?function(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===tm[i])throw new Error([\"*modeBarButtons* configuration options\",\"invalid button name\"].join(\" \"));t[e][n]=tm[i]}}return t}(a):function(t,e,r){var n=t._fullLayout,i=t._fullData,a=n._has(\"cartesian\"),o=n._has(\"gl3d\"),s=n._has(\"geo\"),l=n._has(\"pie\"),u=n._has(\"gl2d\"),c=n._has(\"ternary\"),h=n._has(\"mapbox\"),f=n._has(\"polar\"),p=function(t){for(var e=gn.list({_fullLayout:t},null,!0),r=0;r<e.length;r++)if(!e[r].fixedrange)return!1;return!0}(n),d=[];function g(t){if(t.length){for(var r=[],n=0;n<t.length;n++){var i=t[n];-1===e.indexOf(i)&&r.push(tm[i])}d.push(r)}}g([\"toImage\",\"sendDataToCloud\"]);var v=[],m=[],y=[],x=[];return(a||u||l||c)+s+o+h+f>1?(m=[\"toggleHover\"],y=[\"resetViews\"]):s?(v=[\"zoomInGeo\",\"zoomOutGeo\"],m=[\"hoverClosestGeo\"],y=[\"resetGeo\"]):o?(m=[\"hoverClosest3d\"],y=[\"resetCameraDefault3d\",\"resetCameraLastSave3d\"]):h?(m=[\"toggleHover\"],y=[\"resetViewMapbox\"]):m=u?[\"hoverClosestGl2d\"]:l?[\"hoverClosestPie\"]:[\"toggleHover\"],a&&(m=[\"toggleSpikelines\",\"hoverClosestCartesian\",\"hoverCompareCartesian\"]),!a&&!u||p||(v=[\"zoomIn2d\",\"zoomOut2d\",\"autoScale2d\"],\"resetViews\"!==y[0]&&(y=[\"resetScale2d\"])),o?x=[\"zoom3d\",\"pan3d\",\"orbitRotation\",\"tableRotation\"]:(a||u)&&!p||c?x=[\"zoom2d\",\"pan2d\"]:h||s?x=[\"pan2d\"]:f&&(x=[\"zoom2d\"]),function(t){for(var e=!1,r=0;r<t.length&&!e;r++){var n=t[r];n._module&&n._module.selectPoints&&(P.traceIs(n,\"scatter-like\")?(Tr.hasMarkers(n)||Tr.hasText(n))&&(e=!0):P.traceIs(n,\"box-violin\")&&\"all\"!==n.boxpoints&&\"all\"!==n.points||(e=!0))}return e}(i)&&x.push(\"select2d\",\"lasso2d\"),g(x),g(v.concat(y)),g(m),function(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}(d,r)}(t,r.modeBarButtonsToRemove,r.modeBarButtonsToAdd),n?n.update(t,i):e._modeBar=fm(t,i)}else n&&(n.destroy(),delete e._modeBar)};var dm=Qe.FROM_BL,gm=function(t,e,r){void 0===r&&(r=dm[t.constraintoward||\"center\"]);var n=[t.r2l(t.range[0]),t.r2l(t.range[1])],i=n[0]+(n[1]-n[0])*r;t.range=t._input.range=[t.l2r(i+(n[0]-i)*e),t.l2r(i+(n[1]-i)*e)]},vm=Qe.FROM_TL,mm=ri.doTicks,ym=gn.getFromId,xm=Te.MINDRAG,bm=Te.MINZOOM,_m=!0;function wm(t,e,r,n){var i=t.draglayer.selectAll(\".\"+r).data([0]);return i.enter().append(e).classed(\"drag\",!0).classed(r,!0).style({fill:\"transparent\",\"stroke-width\":0}).attr(\"data-subplot\",t.id),i.call(Ka,n),i.node()}function Mm(t,r,n,i,a,o,s){var l=wm(t,\"rect\",r,n);return e.select(l).call(Sr.setRect,i,a,o,s),l}function Am(t,e){for(var r=0;r<t.length;r++)if(!t[r].fixedrange)return e;return\"\"}function km(t,e,r,n,i){var a,o,s,l;for(a=0;a<t.length;a++)(o=t[a]).fixedrange||(s=o._rl[0],l=o._rl[1]-s,o.range=[o.l2r(s+l*e),o.l2r(s+l*r)],n[o._name+\".range[0]\"]=o.range[0],n[o._name+\".range[1]\"]=o.range[1]);if(i&&i.length){var u=(e+(1-r))/2;km(i,u,1-u,n)}}function Tm(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 Sm(t){return 1-(t>=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function Em(t,e,r,n,i){return t.append(\"path\").attr(\"class\",\"zoombox\").style({fill:e>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"transform\",\"translate(\"+r+\", \"+n+\")\").attr(\"d\",i+\"Z\")}function Cm(t,e,r){return t.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:Oe.background,stroke:Oe.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"transform\",\"translate(\"+e+\", \"+r+\")\").attr(\"d\",\"M0,0Z\")}function Lm(t){t.selectAll(\".select-outline\").remove()}function zm(t,e,r,n,i,a){t.attr(\"d\",n+\"M\"+r.l+\",\"+r.t+\"v\"+r.h+\"h\"+r.w+\"v-\"+r.h+\"h-\"+r.w+\"Z\"),Pm(t,e,i,a)}function Pm(t,e,r,n){r||(t.transition().style(\"fill\",n>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),e.transition().style(\"opacity\",1).duration(200))}function Im(t){e.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}function Dm(t){_m&&t.data&&t._context.showTips&&(ne.notifier(ne._(t,\"Double-click to zoom back out\"),\"long\"),_m=!1)}function Om(t){return\"lasso\"===t||\"select\"===t}function Rm(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,bm)/2);return\"M\"+(t.l-3.5)+\",\"+(t.t-.5+e)+\"h3v\"+-e+\"h\"+e+\"v-3h-\"+(e+3)+\"ZM\"+(t.r+3.5)+\",\"+(t.t-.5+e)+\"h-3v\"+-e+\"h\"+-e+\"v-3h\"+(e+3)+\"ZM\"+(t.r+3.5)+\",\"+(t.b+.5-e)+\"h-3v\"+e+\"h\"+-e+\"v3h\"+(e+3)+\"ZM\"+(t.l-3.5)+\",\"+(t.b+.5-e)+\"h3v\"+e+\"h\"+e+\"v3h-\"+(e+3)+\"Z\"}function Fm(t,e){if(Ea){var r=void 0!==t.onwheel?\"wheel\":\"mousewheel\";t._onwheel&&t.removeEventListener(r,t._onwheel),t._onwheel=e,t.addEventListener(r,e,{passive:!1})}else void 0!==t.onwheel?t.onwheel=e:void 0!==t.onmousewheel&&(t.onmousewheel=e)}var Bm={makeDragBox:function(t,r,n,i,a,o,l,u){var c,h,f,p,d,g,v,m,y,x,b,_,w,M=t._fullLayout,A=t._fullLayout._zoomlayer,k=l+u===\"nsew\",T=1===(l+u).length;function S(){h=[r.xaxis],f=[r.yaxis];var e=h[0],n=f[0];g=e._length,v=n._length;var i,a,o=M._axisConstraintGroups,s=[e._id],A=[n._id];c=[r].concat(l&&u?r.overlays:[]);for(var k=1;k<c.length;k++){var T=c[k].xaxis,S=c[k].yaxis;-1===h.indexOf(T)&&(h.push(T),s.push(T._id)),-1===f.indexOf(S)&&(f.push(S),A.push(S._id))}m=Am(h,u),y=Am(f,l),i=y+m,a=M.dragmode,x=i?\"nsew\"===i?\"pan\"===a?\"move\":\"crosshair\":i.toLowerCase()+\"-resize\":\"pointer\",p=e._offset,d=n._offset;var E=function(t,e,r){var n,i,a,o,s,l,u=!1,c={},h={};for(n=0;n<t.length;n++){for(o=t[n],i=0;i<e.length;i++)if(o[e[i]]){for(s in o)-1===(\"x\"===s.charAt(0)?e:r).indexOf(s)&&(c[s]=1);for(a=0;a<r.length;a++)o[r[a]]&&(u=!0)}for(i=0;i<r.length;i++)if(o[r[i]])for(l in o)-1===(\"x\"===l.charAt(0)?e:r).indexOf(l)&&(h[l]=1)}return u&&(ne.extendFlat(c,h),h={}),{x:c,y:h,xy:u}}(o,s,A);for(var C in b=E.xy,_=[],E.x)_.push(ym(t,C));for(var L in w=[],E.y)w.push(ym(t,L))}S();var E=Mm(r,l+u+\"drag\",x,n,i,a,o),C=!y&&!m;if(C&&!k)return E.onmousedown=null,E.style.pointerEvents=\"none\",E;var L,z,I,D,O,R,F,B,N,j={element:E,gd:t,plotinfo:r,prepFn:function(e,r,n){var i=t._fullLayout.dragmode;C||(k?e.shiftKey?\"pan\"===i?i=\"zoom\":Om(i)||(i=\"pan\"):e.ctrlKey&&(i=\"pan\"):i=\"pan\"),j.minDrag=\"lasso\"===i?1:void 0,Om(i)?(j.xaxes=h,j.yaxes=f,_c(e,r,n,j,i)):C?Lm(A):\"zoom\"===i?(j.moveFn=U,j.doneFn=q,j.minDrag=1,function(e,r,n){var i=E.getBoundingClientRect();L=r-i.left,z=n-i.top,I={l:L,r:L,w:0,t:z,b:z,h:0},D=t._hmpixcount?t._hmlumcount/t._hmpixcount:s(t._fullLayout.plot_bgcolor).getLuminance(),R=!1,F=\"xy\",B=Em(A,D,p,d,O=\"M0,0H\"+g+\"V\"+v+\"H0V0\"),N=Cm(A,p,d),Lm(A)}(0,r,n)):\"pan\"===i&&(j.moveFn=X,j.doneFn=J,Lm(A))},clickFn:function(n,i){if(Im(t),2!==n||T||function(){if(!t._transitioningWithDuration){var e,r,n,i=t._context.doubleClick,a=(m?h:[]).concat(y?f:[]),o={};if(\"reset+autosize\"===i)for(i=\"autosize\",r=0;r<a.length;r++)if((e=a[r])._rangeInitial&&(e.range[0]!==e._rangeInitial[0]||e.range[1]!==e._rangeInitial[1])||!e._rangeInitial&&!e.autorange){i=\"reset\";break}if(\"autosize\"===i)for(r=0;r<a.length;r++)(e=a[r]).fixedrange||(o[e._name+\".autorange\"]=!0);else if(\"reset\"===i)for((m||b)&&(a=a.concat(_)),y&&!b&&(a=a.concat(w)),b&&(m?y||(a=a.concat(f)):a=a.concat(h)),r=0;r<a.length;r++)(e=a[r])._rangeInitial?(n=e._rangeInitial,o[e._name+\".range[0]\"]=n[0],o[e._name+\".range[1]\"]=n[1]):o[e._name+\".autorange\"]=!0;t.emit(\"plotly_doubleclick\",null),P.call(\"relayout\",t,o)}}(),k)yo.click(t,i,r.id);else if(1===n&&T){var a=l?f[0]:h[0],o=\"s\"===l||\"w\"===u?0:1,s=a._name+\".range[\"+o+\"]\",c=function(t,r){var n,i=t.range[r],a=Math.abs(i-t.range[1-r]);return\"date\"===t.type?i:\"log\"===t.type?(n=Math.ceil(Math.max(0,-Math.log(a)/Math.LN10))+3,e.format(\".\"+n+\"g\")(Math.pow(10,i))):(n=Math.floor(Math.log(Math.abs(i))/Math.LN10)-Math.floor(Math.log(a)/Math.LN10)+4,e.format(\".\"+String(n)+\"g\")(i))}(a,o),p=\"left\",d=\"middle\";if(a.fixedrange)return;l?(d=\"n\"===l?\"top\":\"bottom\",\"right\"===a.side&&(p=\"right\")):\"e\"===u&&(p=\"right\"),t._context.showAxisRangeEntryBoxes&&e.select(E).call(er.makeEditable,{gd:t,immediate:!0,background:M.paper_bgcolor,text:String(c),fill:a.tickfont?a.tickfont.color:\"#444\",horizontalAlign:p,verticalAlign:d}).on(\"edit\",function(e){var r=a.d2r(e);void 0!==r&&P.call(\"relayout\",t,s,r)})}}};Ua.init(j);var V={};function U(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(g,e+L)),i=Math.max(0,Math.min(v,r+z)),a=Math.abs(n-L),o=Math.abs(i-z);function s(){F=\"\",I.r=I.l,I.t=I.b,N.attr(\"d\",\"M0,0Z\")}I.l=Math.min(L,n),I.r=Math.max(L,n),I.t=Math.min(z,i),I.b=Math.max(z,i),b?a>bm||o>bm?(F=\"xy\",a/g>o/v?(o=a*v/g,z>i?I.t=z-o:I.b=z+o):(a=o*g/v,L>n?I.l=L-a:I.r=L+a),N.attr(\"d\",Rm(I))):s():!y||o<Math.min(Math.max(.6*a,xm),bm)?a<xm?s():(I.t=0,I.b=v,F=\"x\",N.attr(\"d\",function(t,e){return\"M\"+(t.l-.5)+\",\"+(e-bm-.5)+\"h-3v\"+(2*bm+1)+\"h3ZM\"+(t.r+.5)+\",\"+(e-bm-.5)+\"h3v\"+(2*bm+1)+\"h-3Z\"}(I,z))):!m||a<Math.min(.6*o,bm)?(I.l=0,I.r=g,F=\"y\",N.attr(\"d\",function(t,e){return\"M\"+(e-bm-.5)+\",\"+(t.t-.5)+\"v-3h\"+(2*bm+1)+\"v3ZM\"+(e-bm-.5)+\",\"+(t.b+.5)+\"v3h\"+(2*bm+1)+\"v-3Z\"}(I,L))):(F=\"xy\",N.attr(\"d\",Rm(I))),I.w=I.r-I.l,I.h=I.b-I.t,zm(B,N,I,O,R,D),R=!0}function q(){if(Math.min(I.h,I.w)<2*xm)return Im(t);\"xy\"!==F&&\"x\"!==F||km(h,I.l/g,I.r/g,V,_),\"xy\"!==F&&\"y\"!==F||km(f,(v-I.b)/v,(v-I.t)/v,V,w),Im(t),J(),Dm(t)}var H=[0,0,g,v],G=null,W=Te.REDRAWDELAY,Y=r.mainplot?M._plots[r.mainplot]:r;function X(e,r){if(!t._transitioningWithDuration){if(S(),\"ew\"===m||\"ns\"===y)return m&&Tm(h,e),y&&Tm(f,r),K([m?-e:0,y?-r:0,g,v]),void Z(y,m);if(b&&m&&y){var n=\"w\"===m==(\"n\"===y)?1:-1,i=(e/g+n*r/v)/2;e=i*g,r=n*i*v}\"w\"===m?e=l(h,0,e):\"e\"===m?e=l(h,1,-e):m||(e=0),\"n\"===y?r=l(f,1,r):\"s\"===y?r=l(f,0,-r):y||(r=0);var a=\"w\"===m?e:0,o=\"n\"===y?r:0;if(b){var s;if(!m&&1===y.length){for(s=0;s<h.length;s++)h[s].range=h[s]._r.slice(),gm(h[s],1-r/v);a=(e=r*g/v)/2}if(!y&&1===m.length){for(s=0;s<f.length;s++)f[s].range=f[s]._r.slice(),gm(f[s],1-e/g);o=(r=e*v/g)/2}}K([a,o,g-e,v-r]),Z(y,m)}function l(t,e,r){for(var n,i,a=1-e,o=0;o<t.length;o++){var s=t[o];if(!s.fixedrange){n=s,i=s._rl[a]+(s._rl[e]-s._rl[a])/Sm(r/s._length);var l=s.l2r(i);!1!==l&&void 0!==l&&(s.range[e]=l)}}return n._length*(n._rl[e]-i)/(n._rl[e]-n._rl[a])}}function Z(e,r){var n,i=[];function a(t){for(n=0;n<t.length;n++)t[n].fixedrange||i.push(t[n]._id)}for((r||b)&&(a(h),a(_)),(e||b)&&(a(f),a(w)),V={},n=0;n<i.length;n++){var o=i[n];mm(t,o,!0);var s=ym(t,o);V[s._name+\".range[0]\"]=s.range[0],V[s._name+\".range[1]\"]=s.range[1]}function l(a,o,s){for(n=0;n<a.length;n++){var l=a[n];if((r&&-1!==i.indexOf(l.xref)||e&&-1!==i.indexOf(l.yref))&&(o(t,n),s))return}}l(M.annotations||[],P.getComponentMethod(\"annotations\",\"drawOne\")),l(M.shapes||[],P.getComponentMethod(\"shapes\",\"drawOne\")),l(M.images||[],P.getComponentMethod(\"images\",\"draw\"),!0)}function J(){K([0,0,g,v]),ne.syncOrAsync([_n.previousPromises,function(){P.call(\"relayout\",t,V)}],t)}function K(t){var e,r,n,i,a,o=M._plots,s=Object.keys(o),c=t[2]/h[0]._length,p=t[3]/f[0]._length,d=u||b,g=l||b;function v(t){return t.fixedrange?0:d&&-1!==_.indexOf(t)?c:g&&-1!==(b?_:w).indexOf(t)?p:0}function m(t,e){return e?(t.range=t._r.slice(),gm(t,e),y(t,e)):0}function y(t,e){return t._length*(1-e)*vm[t.constraintoward||\"middle\"]}for(M._glcanvas&&M._glcanvas.size()&&M._glcanvas.each(function(t){t.regl&&t.regl.clear({color:!0})}),e=0;e<s.length;e++){var x=o[s[e]],A=x.xaxis,k=x.yaxis,T=d&&!A.fixedrange&&-1!==h.indexOf(A),S=g&&!k.fixedrange&&-1!==f.indexOf(k);if(x._scene&&x._scene.update){var E=ne.simpleMap(A.range,A.r2l),C=ne.simpleMap(k.range,k.r2l);x._scene.update({range:[E[0],C[0],E[1],C[1]]})}if(T?(r=c,i=u?t[0]:y(A,r)):i=m(A,r=v(A)),S?(n=p,a=l?t[1]:y(k,n)):a=m(k,n=v(k)),r||n){r||(r=1),n||(n=1);var L=A._offset-i/r,z=k._offset-a/n;M._defs.select(\"#\"+x.clipId+\"> rect\").call(Sr.setTranslate,i,a).call(Sr.setScale,r,n);var P=x.plot.selectAll(\".scatterlayer .trace, .boxlayer .trace, .violinlayer .trace\");x.plot.call(Sr.setTranslate,L,z).call(Sr.setScale,1/r,1/n),P.selectAll(\".point\").call(Sr.setPointGroupScale,r,n),P.selectAll(\".textpoint\").call(Sr.setTextPointsScale,r,n),P.call(Sr.hideOutsideRangePoints,x),x.plot.selectAll(\".barlayer .trace\").call(Sr.hideOutsideRangePoints,x,\".bartext\")}}}return l.length*u.length!=1&&Fm(E,function(e){if(t._context.scrollZoom||M._enablescrollzoom){if(null===G&&Lm(A),t._transitioningWithDuration)return e.preventDefault(),void e.stopPropagation();var r=t.querySelector(\".plotly\");if(S(),!(r.scrollHeight-r.clientHeight>10||r.scrollWidth-r.clientWidth>10)){clearTimeout(G);var n=-e.deltaY;if(isFinite(n)||(n=e.wheelDelta/10),isFinite(n)){var i,a=Math.exp(-Math.min(Math.max(n,-20),20)/200),o=Y.draglayer.select(\".nsewdrag\").node().getBoundingClientRect(),s=(e.clientX-o.left)/o.width,c=(o.bottom-e.clientY)/o.height;if(u||b){for(u||(s=.5),i=0;i<h.length;i++)p(h[i],s,a);H[2]*=a,H[0]+=H[2]*s*(1/a-1)}if(l||b){for(l||(c=.5),i=0;i<f.length;i++)p(f[i],c,a);H[3]*=a,H[1]+=H[3]*(1-c)*(1/a-1)}K(H),Z(l,u),G=setTimeout(function(){H=[0,0,g,v],J()},W),e.preventDefault()}else ne.log(\"Did not find wheel motion attributes: \",e)}}function p(t,e,r){if(!t.fixedrange){var n=ne.simpleMap(t.range,t.r2l),i=n[0]+(n[1]-n[0])*e;t.range=n.map(function(e){return t.l2r(i+(e-i)*r)})}}}),E},makeDragger:wm,makeRectDragger:Mm,makeZoombox:Em,makeCorners:Cm,updateZoombox:zm,xyCorners:Rm,transitionZoombox:Pm,removeZoombox:Im,clearSelect:Lm,showDoubleClickNotifier:Dm,attachWheelEventHandler:Fm},Nm=Bm.makeDragBox,jm=function(t){var r=t._fullLayout;if(t._context.staticPlot)e.select(t).selectAll(\".drag\").remove();else if(r._has(\"cartesian\")||r._has(\"gl2d\")){Object.keys(r._plots||{}).sort(function(t,e){if((r._plots[t].mainplot&&!0)===(r._plots[e].mainplot&&!0)){var n=t.split(\"y\"),i=e.split(\"y\");return n[0]===i[0]?Number(n[1]||1)-Number(i[1]||1):Number(n[0]||1)-Number(i[0]||1)}return r._plots[t].mainplot?1:-1}).forEach(function(e){var n=r._plots[e],i=n.xaxis,a=n.yaxis,o=Te.DRAGGERSIZE;if(!n.mainplot){var s=Nm(t,n,i._offset,a._offset,i._length,a._length,\"ns\",\"ew\");s.onmousemove=function(r){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===e&&yo.hover(t,r,e)},yo.hover(t,r,e),t._fullLayout._lasthover=s,t._fullLayout._hoversubplot=e},s.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,Ua.unhover(t,e))},t._context.showAxisDragHandles&&(Nm(t,n,i._offset-o,a._offset-o,o,o,\"n\",\"w\"),Nm(t,n,i._offset+i._length,a._offset-o,o,o,\"n\",\"e\"),Nm(t,n,i._offset-o,a._offset+a._length,o,o,\"s\",\"w\"),Nm(t,n,i._offset+i._length,a._offset+a._length,o,o,\"s\",\"e\"))}if(t._context.showAxisDragHandles){if(e===i._mainSubplot){var l=i._mainLinePosition;\"top\"===i.side&&(l-=o),Nm(t,n,i._offset+.1*i._length,l,.8*i._length,o,\"\",\"ew\"),Nm(t,n,i._offset,l,.1*i._length,o,\"\",\"w\"),Nm(t,n,i._offset+.9*i._length,l,.1*i._length,o,\"\",\"e\")}if(e===a._mainSubplot){var u=a._mainLinePosition;\"right\"!==a.side&&(u-=o),Nm(t,n,u,a._offset+.1*a._length,o,.8*a._length,\"ns\",\"\"),Nm(t,n,u,a._offset+.9*a._length,o,.1*a._length,\"s\",\"\"),Nm(t,n,u,a._offset,o,.1*a._length,\"n\",\"\")}}});var n=r._hoverlayer.node();n.onmousemove=function(e){e.target=r._lasthover,yo.hover(t,e,r._hoversubplot)},n.onclick=function(e){e.target=r._lasthover,yo.click(t,e)},n.onmousedown=function(t){r._lasthover.onmousedown(t)}}},Vm={};function Um(t,e){return(t.ticks||t.showline)&&(e===t._mainSubplot||\"all\"===t.mirror||\"allticks\"===t.mirror)}function qm(t,e,r){if(!r.showline||!r._lw)return!1;if(\"all\"===r.mirror||\"allticks\"===r.mirror)return!0;var n=r._anchorAxis;if(!n)return!1;var i=Qe.FROM_BL[e];return r.side===e?n.domain[i]===t.domain[i]:r.mirror&&n.domain[1-i]===t.domain[1-i]}function Hm(t,e,r,n){if(qm(t,e,r))return r._lw;for(var i=0;i<n.length;i++){var a=n[i];if(a._mainAxis===r._mainAxis&&qm(t,e,a))return a._lw}return 0}Vm.layoutStyles=function(t){return ne.syncOrAsync([_n.doAutoMargin,Vm.lsInner],t)},Vm.lsInner=function(t){var r,n=t._fullLayout,i=n._size,a=i.p,o=ri.list(t),s=n._has(\"cartesian\");function l(t,e,r){var n=t._lw/2;return\"x\"===t._id.charAt(0)?e?\"top\"===r?e._offset-a-n:e._offset+e._length+a+n:i.t+i.h*(1-(t.position||0))+n%1:e?\"right\"===r?e._offset+e._length+a+n:e._offset-a-n:i.l+i.w*(t.position||0)+n%1}for(r=0;r<o.length;r++){var u=o[r];u.setScale();var c=u._anchorAxis;u._linepositions={},u._lw=Sr.crispRound(t,u.linewidth,1),u._mainLinePosition=l(u,c,u.side),u._mainMirrorPosition=u.mirror&&c?l(u,c,Qe.OPPOSITE_SIDE[u.side]):null}n._paperdiv.style({width:n.width+\"px\",height:n.height+\"px\"}).selectAll(\".main-svg\").call(Sr.setSize,n.width,n.height),t._context.setBackground(t,n.paper_bgcolor);var h=n._paper.selectAll(\"g.subplot\"),f=[],p=[];h.each(function(t){var e=n._plots[t];if(e.mainplot)return e.bg&&e.bg.remove(),void(e.bg=void 0);var r=e.xaxis.domain,i=e.yaxis.domain,a=[];!function(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}(r,i,p)?(f.push(t),p.push([r,i])):a=[0];var o=e.plotgroup.selectAll(\".bg\").data(a);o.enter().append(\"rect\").classed(\"bg\",!0),o.exit().remove(),o.each(function(){e.bg=o;var t=e.plotgroup.node();t.insertBefore(this,t.childNodes[0])})});var d=n._bgLayer.selectAll(\".bg\").data(f);return d.enter().append(\"rect\").classed(\"bg\",!0),d.exit().remove(),d.each(function(t){n._plots[t].bg=e.select(this)}),h.each(function(t){var e=n._plots[t],i=e.xaxis,u=e.yaxis;e.bg&&s&&e.bg.call(Sr.setRect,i._offset-a,u._offset-a,i._length+2*a,u._length+2*a).call(Oe.fill,n.plot_bgcolor).style(\"stroke-width\",0),e.clipId=\"clip\"+n._uid+t+\"plot\";var c,h,f=n._clips.selectAll(\"#\"+e.clipId).data([0]);for(f.enter().append(\"clipPath\").attr({class:\"plotclip\",id:e.clipId}).append(\"rect\"),f.selectAll(\"rect\").attr({width:i._length,height:u._length}),Sr.setTranslate(e.plot,i._offset,u._offset),e._hasClipOnAxisFalse?(c=null,h=e.clipId):(c=e.clipId,h=null),Sr.setClipUrl(e.plot,c),r=0;r<Te.traceLayerClasses.length;r++){var p=Te.traceLayerClasses[r];\"scatterlayer\"!==p&&\"barlayer\"!==p&&e.plot.selectAll(\"g.\"+p).call(Sr.setClipUrl,h)}if(e.layerClipId=h,s){var d,g,v,m,y,x,b,_,w,M,A,k,T,S=\"M0,0\";Um(i,t)&&(y=Hm(i,\"left\",u,o),d=i._offset-(y?a+y:0),x=Hm(i,\"right\",u,o),g=i._offset+i._length+(x?a+x:0),v=l(i,u,\"bottom\"),m=l(i,u,\"top\"),(T=!i._anchorAxis||t!==i._mainSubplot)&&i.ticks&&\"allticks\"===i.mirror&&(i._linepositions[t]=[v,m]),S=z(i,C,function(t){return\"M\"+i._offset+\",\"+t+\"h\"+i._length}),T&&i.showline&&(\"all\"===i.mirror||\"allticks\"===i.mirror)&&(S+=C(v)+C(m)),e.xlines.style(\"stroke-width\",i._lw+\"px\").call(Oe.stroke,i.showline?i.linecolor:\"rgba(0,0,0,0)\")),e.xlines.attr(\"d\",S);var E=\"M0,0\";Um(u,t)&&(A=Hm(u,\"bottom\",i,o),b=u._offset+u._length+(A?a:0),k=Hm(u,\"top\",i,o),_=u._offset-(k?a:0),w=l(u,i,\"left\"),M=l(u,i,\"right\"),(T=!u._anchorAxis||t!==i._mainSubplot)&&u.ticks&&\"allticks\"===u.mirror&&(u._linepositions[t]=[w,M]),E=z(u,L,function(t){return\"M\"+t+\",\"+u._offset+\"v\"+u._length}),T&&u.showline&&(\"all\"===u.mirror||\"allticks\"===u.mirror)&&(E+=L(w)+L(M)),e.ylines.style(\"stroke-width\",u._lw+\"px\").call(Oe.stroke,u.showline?u.linecolor:\"rgba(0,0,0,0)\")),e.ylines.attr(\"d\",E)}function C(t){return\"M\"+d+\",\"+t+\"H\"+g}function L(t){return\"M\"+t+\",\"+_+\"V\"+b}function z(e,r,n){if(!e.showline||t!==e._mainSubplot)return\"\";if(!e._anchorAxis)return n(e._mainLinePosition);var i=r(e._mainLinePosition);return e.mirror&&(i+=r(e._mainMirrorPosition)),i}}),ri.makeClipPaths(t),Vm.drawMainTitle(t),pm.manage(t),t._promises.length&&Promise.all(t._promises)},Vm.drawMainTitle=function(t){var e=t._fullLayout;Dn.draw(t,\"gtitle\",{propContainer:e,propName:\"title\",placeholder:e._dfltTitle.plot,attributes:{x:e.width/2,y:e._size.t/2,\"text-anchor\":\"middle\"}})},Vm.doTraceStyle=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e],n=(((r[0]||{}).trace||{})._module||{}).arraysToCalcdata;n&&n(r,r[0].trace)}return _n.style(t),P.getComponentMethod(\"legend\",\"draw\")(t),_n.previousPromises(t)},Vm.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;P.traceIs(n,\"contour\")&&i.line({width:!1!==n.contours.showlines?n.line.width:0,dash:n.line.dash,color:\"line\"===n.contours.coloring?i._opts.line.color:n.line.color}),P.traceIs(n,\"markerColorscale\")?i.options(n.marker.colorbar)():i.options(n.colorbar)()}}return _n.previousPromises(t)},Vm.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,P.call(\"plot\",t,\"\",e)},Vm.doLegend=function(t){return P.getComponentMethod(\"legend\",\"draw\")(t),_n.previousPromises(t)},Vm.doTicksRelayout=function(t){return ri.doTicks(t,\"redraw\"),Vm.drawMainTitle(t),_n.previousPromises(t)},Vm.doModeBar=function(t){var e=t._fullLayout;pm.manage(t),jm(t);for(var r=0;r<e._basePlotModules.length;r++){var n=e._basePlotModules[r].updateFx;n&&n(e)}return _n.previousPromises(t)},Vm.doCamera=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){var i=e[r[n]];i._scene.setCamera(i.camera)}};var Gm={},Wm=gn.id2name,Ym=Bn,Xm=t.ALMOST_EQUAL,Zm=Qe.FROM_BL;function Jm(t,e){var r=t._inputDomain,n=Zm[t.constraintoward],i=r[0]+(r[1]-r[0])*n;t.domain=t._input.domain=[i+(r[0]-i)/e,i+(r[1]-i)/e]}Gm.enforce=function(t){var e,r,n,i,a,o,s,l=t._fullLayout,u=l._axisConstraintGroups||[];for(e=0;e<u.length;e++){var c=u[e],h=Object.keys(c),f=1/0,p=0,d=1/0,g={},v={},m=!1;for(r=0;r<h.length;r++)v[n=h[r]]=i=l[Wm(n)],i._inputDomain?i.domain=i._inputDomain.slice():i._inputDomain=i.domain.slice(),i._inputRange||(i._inputRange=i.range.slice()),i.setScale(),g[n]=a=Math.abs(i._m)/c[n],f=Math.min(f,a),\"domain\"!==i.constrain&&i._constraintShrinkable||(d=Math.min(d,a)),delete i._constraintShrinkable,p=Math.max(p,a),\"domain\"===i.constrain&&(m=!0);if(!(f>Xm*p)||m)for(r=0;r<h.length;r++)if(a=g[n=h[r]],o=(i=v[n]).constrain,a!==d||\"domain\"===o)if(s=a/d,\"range\"===o)gm(i,s);else{var y=i._inputDomain,x=(i.domain[1]-i.domain[0])/(y[1]-y[0]),b=(i.r2l(i.range[1])-i.r2l(i.range[0]))/(i.r2l(i._inputRange[1])-i.r2l(i._inputRange[0]));if((s/=x)*b<1){i.domain=i._input.domain=y.slice(),gm(i,s);continue}if(b<1&&(i.range=i._input.range=i._inputRange.slice(),s*=b),i.autorange&&i._min.length&&i._max.length){var _=i.r2l(i.range[0]),w=i.r2l(i.range[1]),M=(_+w)/2,A=M,k=M,T=Math.abs(w-M),S=M-T*s*1.0001,E=M+T*s*1.0001,C=Ym(i);Jm(i,s),i.setScale();var L,z,P=Math.abs(i._m);for(z=0;z<i._min.length;z++)(L=i._min[z].val-C(i._min[z])/P)>S&&L<A&&(A=L);for(z=0;z<i._max.length;z++)(L=i._max[z].val+C(i._max[z])/P)<E&&L>k&&(k=L);s/=(k-A)/(2*T),A=i.l2r(A),k=i.l2r(k),i.range=i._input.range=_<w?[A,k]:[k,A]}Jm(i,s)}}},Gm.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,i=t._fullLayout._axisConstraintGroups,a=0;a<i.length;a++)if(i[a][n]){r=!0;break}r&&\"domain\"===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}};var Km={},Qm=ne.extendDeepAll,$m=Qe.MID_SHIFT,ty=Km={version:\"0.2.2\"};ty.Axis=function(){var t,r,n,i,a={data:[],layout:{}},o={},s={},l=e.dispatch(\"hover\"),u={};return u.render=function(o){return function(o){r=o||r;var l=a.data,u=a.layout;(\"string\"==typeof r||r.nodeName)&&(r=e.select(r)),r.datum(l).each(function(r,a){var o=r.slice();s={data:ty.util.cloneJson(o),layout:ty.util.cloneJson(u)};var l=0;o.forEach(function(t,r){t.color||(t.color=u.defaultColorRange[l],l=(l+1)%u.defaultColorRange.length),t.strokeColor||(t.strokeColor=\"LinePlot\"===t.geometry?t.color:e.rgb(t.color).darker().toString()),s.data[r].color=t.color,s.data[r].strokeColor=t.strokeColor,s.data[r].strokeDash=t.strokeDash,s.data[r].strokeSize=t.strokeSize});var c=o.filter(function(t,e){var r=t.visible;return void 0===r||!0===r}),h=!1,f=c.map(function(t,e){return h=h||void 0!==t.groupId,t});if(h){var p=[],d=e.nest().key(function(t,e){return void 0!==t.groupId?t.groupId:\"unstacked\"}).entries(f).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],p.push(r),r=ty.util.sumArrays(t.r,r)}),t.values});c=e.merge(d)}c.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 g=Math.min(u.width-u.margin.left-u.margin.right,u.height-u.margin.top-u.margin.bottom)/2;g=Math.max(10,g);var v,m=[u.margin.left+g,u.margin.top+g];v=h?[0,e.max(ty.util.sumArrays(ty.util.arrayLast(c).r[0],ty.util.arrayLast(p)))]:e.extent(ty.util.flattenArray(c.map(function(t,e){return t.r}))),u.radialAxis.domain!=ty.DATAEXTENT&&(v[0]=0),n=e.scale.linear().domain(u.radialAxis.domain!=ty.DATAEXTENT&&u.radialAxis.domain?u.radialAxis.domain:v).range([0,g]),s.layout.radialAxis.domain=n.domain();var y,x=ty.util.flattenArray(c.map(function(t,e){return t.t})),b=\"string\"==typeof x[0];b&&(x=ty.util.deduplicate(x),y=x.slice(),x=e.range(x.length),c=c.map(function(t,e){var r=t;return t.t=[x],h&&(r.yStack=t.yStack),r}));var _=c.filter(function(t,e){return\"LinePlot\"===t.geometry||\"DotPlot\"===t.geometry}).length===c.length,w=null===u.needsEndSpacing?b||!_:u.needsEndSpacing,M=u.angularAxis.domain&&u.angularAxis.domain!=ty.DATAEXTENT&&!b&&u.angularAxis.domain[0]>=0?u.angularAxis.domain:e.extent(x),A=Math.abs(x[1]-x[0]);_&&!b&&(A=0);var k=M.slice();w&&b&&(k[1]+=A);var T=u.angularAxis.ticksCount||4;T>8&&(T=T/(T/8)+T%8),u.angularAxis.ticksStep&&(T=(k[1]-k[0])/T);var S=u.angularAxis.ticksStep||(k[1]-k[0])/(T*(u.minorTicks+1));y&&(S=Math.max(Math.round(S),1)),k[2]||(k[2]=S);var E=e.range.apply(this,k);if(E=E.map(function(t,e){return parseFloat(t.toPrecision(12))}),i=e.scale.linear().domain(k.slice(0,2)).range(\"clockwise\"===u.direction?[0,360]:[360,0]),s.layout.angularAxis.domain=i.domain(),s.layout.angularAxis.endPadding=w?A:0,void 0===(t=e.select(this).select(\"svg.chart-root\"))||t.empty()){var C=(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\"),L=this.appendChild(this.ownerDocument.importNode(C.documentElement,!0));t=e.select(L)}t.select(\".guides-group\").style({\"pointer-events\":\"none\"}),t.select(\".angular.axis-group\").style({\"pointer-events\":\"none\"}),t.select(\".radial.axis-group\").style({\"pointer-events\":\"none\"});var z,P=t.select(\".chart-group\"),I={fill:\"none\",stroke:u.tickColor},D={\"font-size\":u.font.size,\"font-family\":u.font.family,fill:u.font.color,\"text-shadow\":[\"-1px 0px\",\"1px -1px\",\"-1px 1px\",\"1px 1px\"].map(function(t,e){return\" \"+t+\" 0 \"+u.font.outlineColor}).join(\",\")};if(u.showLegend){z=t.select(\".legend-group\").attr({transform:\"translate(\"+[g,u.margin.top]+\")\"}).style({display:\"block\"});var O=c.map(function(t,e){var r=ty.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});ty.Legend().config({data:c.map(function(t,e){return t.name||\"Element\"+e}),legendConfig:Qm({},ty.Legend.defaultConfig().legendConfig,{container:z,elements:O,reverseOrder:u.legend.reverseOrder})})();var R=z.node().getBBox();g=Math.min(u.width-R.width-u.margin.left-u.margin.right,u.height-u.margin.top-u.margin.bottom)/2,g=Math.max(10,g),m=[u.margin.left+g,u.margin.top+g],n.range([0,g]),s.layout.radialAxis.domain=n.domain(),z.attr(\"transform\",\"translate(\"+[m[0]+g,m[1]-g]+\")\")}else z=t.select(\".legend-group\").style({display:\"none\"});t.attr({width:u.width,height:u.height}).style({opacity:u.opacity}),P.attr(\"transform\",\"translate(\"+m+\")\").style({cursor:\"crosshair\"});var F=[(u.width-(u.margin.left+u.margin.right+2*g+(R?R.width:0)))/2,(u.height-(u.margin.top+u.margin.bottom+2*g))/2];if(F[0]=Math.max(0,F[0]),F[1]=Math.max(0,F[1]),t.select(\".outer-group\").attr(\"transform\",\"translate(\"+F+\")\"),u.title){var B=t.select(\"g.title-group text\").style(D).text(u.title),N=B.node().getBBox();B.attr({x:m[0]-N.width/2,y:m[1]-g-20})}var j=t.select(\".radial.axis-group\");if(u.radialAxis.gridLinesVisible){var V=j.selectAll(\"circle.grid-circle\").data(n.ticks(5));V.enter().append(\"circle\").attr({class:\"grid-circle\"}).style(I),V.attr(\"r\",n),V.exit().remove()}j.select(\"circle.outside-circle\").attr({r:g}).style(I);var U=t.select(\"circle.background-circle\").attr({r:g}).style({fill:u.backgroundColor,stroke:u.stroke});function q(t,e){return i(t)%360+u.orientation}if(u.radialAxis.visible){var H=e.svg.axis().scale(n).ticks(5).tickSize(5);j.call(H).attr({transform:\"rotate(\"+u.radialAxis.orientation+\")\"}),j.selectAll(\".domain\").style(I),j.selectAll(\"g>text\").text(function(t,e){return this.textContent+u.radialAxis.ticksSuffix}).style(D).style({\"text-anchor\":\"start\"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return\"horizontal\"===u.radialAxis.tickOrientation?\"rotate(\"+-u.radialAxis.orientation+\") translate(\"+[0,D[\"font-size\"]]+\")\":\"translate(\"+[0,D[\"font-size\"]]+\")\"}}),j.selectAll(\"g>line\").style({stroke:\"black\"})}var G=t.select(\".angular.axis-group\").selectAll(\"g.angular-tick\").data(E),W=G.enter().append(\"g\").classed(\"angular-tick\",!0);G.attr({transform:function(t,e){return\"rotate(\"+q(t)+\")\"}}).style({display:u.angularAxis.visible?\"block\":\"none\"}),G.exit().remove(),W.append(\"line\").classed(\"grid-line\",!0).classed(\"major\",function(t,e){return e%(u.minorTicks+1)==0}).classed(\"minor\",function(t,e){return!(e%(u.minorTicks+1)==0)}).style(I),W.selectAll(\".minor\").style({stroke:u.minorTickColor}),G.select(\"line.grid-line\").attr({x1:u.tickLength?g-u.tickLength:0,x2:g}).style({display:u.angularAxis.gridLinesVisible?\"block\":\"none\"}),W.append(\"text\").classed(\"axis-text\",!0).style(D);var Y=G.select(\"text.axis-text\").attr({x:g+u.labelOffset,dy:$m+\"em\",transform:function(t,e){var r=q(t),n=g+u.labelOffset,i=u.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:u.angularAxis.labelsVisible?\"block\":\"none\"}).text(function(t,e){return e%(u.minorTicks+1)!=0?\"\":y?y[t]+u.angularAxis.ticksSuffix:t+u.angularAxis.ticksSuffix}).style(D);u.angularAxis.rewriteTicks&&Y.text(function(t,e){return e%(u.minorTicks+1)!=0?\"\":u.angularAxis.rewriteTicks(this.textContent,e)});var X=e.max(P.selectAll(\".angular-tick text\")[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));z.attr({transform:\"translate(\"+[g+X,u.margin.top]+\")\"});var Z=t.select(\"g.geometry-group\").selectAll(\"g\").size()>0,J=t.select(\"g.geometry-group\").selectAll(\"g.geometry\").data(c);if(J.enter().append(\"g\").attr({class:function(t,e){return\"geometry geometry\"+e}}),J.exit().remove(),c[0]||Z){var K=[];c.forEach(function(t,e){var r={};r.radialScale=n,r.angularScale=i,r.container=J.filter(function(t,r){return r==e}),r.geometry=t.geometry,r.orientation=u.orientation,r.direction=u.direction,r.index=e,K.push({data:t,geometryConfig:r})});var Q=[];e.nest().key(function(t,e){return void 0!==t.data.groupId||\"unstacked\"}).entries(K).forEach(function(t,e){\"unstacked\"===t.key?Q=Q.concat(t.values.map(function(t,e){return[t]})):Q.push(t.values)}),Q.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 Qm(ty[r].defaultConfig(),t)});ty[r]().config(n)()})}var $,tt,et=t.select(\".guides-group\"),rt=t.select(\".tooltips-group\"),nt=ty.tooltipPanel().config({container:rt,fontSize:8})(),it=ty.tooltipPanel().config({container:rt,fontSize:8})(),at=ty.tooltipPanel().config({container:rt,hasTick:!0})();if(!b){var ot=et.select(\"line\").attr({x1:0,y1:0,y2:0}).style({stroke:\"grey\",\"pointer-events\":\"none\"});P.on(\"mousemove.angular-guide\",function(t,e){var r=ty.util.getMousePos(U).angle;ot.attr({x2:-g,transform:\"rotate(\"+r+\")\"}).style({opacity:.5});var n=(r+180+360-u.orientation)%360;$=i.invert(n);var a=ty.util.convertToCartesian(g+12,r+180);nt.text(ty.util.round($)).move([a[0]+m[0],a[1]+m[1]])}).on(\"mouseout.angular-guide\",function(t,e){et.select(\"line\").style({opacity:0})})}var st=et.select(\"circle\").style({stroke:\"grey\",fill:\"none\"});P.on(\"mousemove.radial-guide\",function(t,e){var r=ty.util.getMousePos(U).radius;st.attr({r:r}).style({opacity:.5}),tt=n.invert(ty.util.getMousePos(U).radius);var i=ty.util.convertToCartesian(r,u.radialAxis.orientation);it.text(ty.util.round(tt)).move([i[0]+m[0],i[1]+m[1]])}).on(\"mouseout.radial-guide\",function(t,e){st.style({opacity:0}),at.hide(),nt.hide(),it.hide()}),t.selectAll(\".geometry-group .mark\").on(\"mouseover.tooltip\",function(r,n){var i=e.select(this),a=this.style.fill,o=\"black\",s=this.style.opacity||1;if(i.attr({\"data-opacity\":s}),a&&\"none\"!==a){i.attr({\"data-fill\":a}),o=e.hsl(a).darker().toString(),i.style({fill:o,opacity:1});var l={t:ty.util.round(r[0]),r:ty.util.round(r[1])};b&&(l.t=y[r[0]]);var u=\"t: \"+l.t+\", r: \"+l.r,c=this.getBoundingClientRect(),h=t.node().getBoundingClientRect(),f=[c.left+c.width/2-F[0]-h.left,c.top+c.height/2-F[1]-h.top];at.config({color:o}).text(u),at.move(f)}else a=this.style.stroke||\"black\",i.attr({\"data-stroke\":a}),o=e.hsl(a).darker().toString(),i.style({stroke:o,opacity:1})}).on(\"mousemove.tooltip\",function(t,r){if(0!=e.event.which)return!1;e.select(this).attr(\"data-fill\")&&at.show()}).on(\"mouseout.tooltip\",function(t,r){at.hide();var n=e.select(this),i=n.attr(\"data-fill\");i?n.style({fill:i,opacity:n.attr(\"data-opacity\")}):n.style({stroke:n.attr(\"data-stroke\"),opacity:n.attr(\"data-opacity\")})})})}(o),this},u.config=function(t){if(!arguments.length)return a;var e=ty.util.cloneJson(t);return e.data.forEach(function(t,e){a.data[e]||(a.data[e]={}),Qm(a.data[e],ty.Axis.defaultConfig().data[0]),Qm(a.data[e],t)}),Qm(a.layout,ty.Axis.defaultConfig().layout),Qm(a.layout,e.layout),this},u.getLiveConfig=function(){return s},u.getinputConfig=function(){return o},u.radialScale=function(t){return n},u.angularScale=function(t){return i},u.svg=function(){return t},e.rebind(u,l,\"on\"),u},ty.Axis.defaultConfig=function(t,r){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:e.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}}},ty.util={},ty.DATAEXTENT=\"dataExtent\",ty.AREA=\"AreaChart\",ty.LINE=\"LinePlot\",ty.DOT=\"DotPlot\",ty.BAR=\"BarChart\",ty.util._override=function(t,e){for(var r in t)r in e&&(e[r]=t[r])},ty.util._extend=function(t,e){for(var r in t)e[r]=t[r]},ty.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},ty.util.dataFromEquation2=function(t,r){var n=r||6;return e.range(0,360+n,n).map(function(e,r){var n=e*Math.PI/180;return[e,t(n)]})},ty.util.dataFromEquation=function(t,r,n){var i=r||6,a=[],o=[];e.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 n&&(s.name=n),s},ty.util.ensureArray=function(t,r){if(void 0===t)return null;var n=[].concat(t);return e.range(r).map(function(t,e){return n[e]||n[0]})},ty.util.fillArrays=function(t,e,r){return e.forEach(function(e,n){t[e]=ty.util.ensureArray(t[e],r)}),t},ty.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},ty.util.validateKeys=function(t,e){\"string\"==typeof e&&(e=e.split(\".\"));var r=e.shift();return t[r]&&(!e.length||objHasKeys(t[r],e))},ty.util.sumArrays=function(t,r){return e.zip(t,r).map(function(t,r){return e.sum(t)})},ty.util.arrayLast=function(t){return t[t.length-1]},ty.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- >=0&&t[r]===e[r];);return-2===r},ty.util.flattenArray=function(t){for(var e=[];!ty.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},ty.util.deduplicate=function(t){return t.filter(function(t,e,r){return r.indexOf(t)==e})},ty.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},ty.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},ty.util.getMousePos=function(t){var r=e.mouse(t.node()),n=r[0],i=r[1],a={};return a.x=n,a.y=i,a.pos=r,a.angle=180*(Math.atan2(i,n)+Math.PI)/Math.PI,a.radius=Math.sqrt(n*n+i*i),a},ty.util.duplicatesCount=function(t){for(var e,r={},n={},i=0,a=t.length;i<a;i++)(e=t[i])in r?(r[e]++,n[e]=r[e]):r[e]=1;return n},ty.util.duplicates=function(t){return Object.keys(ty.util.duplicatesCount(t))},ty.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))},ty.PolyChart=function(){var t=[ty.PolyChart.defaultConfig()],r=e.dispatch(\"hover\"),n={solid:\"none\",dash:[5,2],dot:[2,5]};function i(){var r=t[0].geometryConfig,i=r.container;\"string\"==typeof i&&(i=e.select(i)),i.datum(t).each(function(t,i){var a=!!t[0].data.yStack,o=t.map(function(t,r){return a?e.zip(t.data.t[0],t.data.r[0],t.data.yStack[0]):e.zip(t.data.t[0],t.data.r[0])}),s=r.angularScale,l=r.radialScale.domain()[0],u={bar:function(n,i,a){var o=t[a].data,l=r.radialScale(n[1])-r.radialScale(0),u=r.radialScale(n[2]||0),c=o.barWidth;e.select(this).attr({class:\"mark bar\",d:\"M\"+[[l+u,-c/2],[l+u,c/2],[u,c/2],[u,-c/2]].join(\"L\")+\"Z\",transform:function(t,e){return\"rotate(\"+(r.orientation+s(t[0]))+\")\"}})}};u.dot=function(n,i,a){var o=n[2]?[n[0],n[1]+n[2]]:n,s=e.svg.symbol().size(t[a].data.dotSize).type(t[a].data.dotType)(n,i);e.select(this).attr({class:\"mark dot\",d:s,transform:function(t,e){var n,i,a,s=(n=function(t,e){var n=r.radialScale(t[1]),i=(r.angularScale(t[0])+r.orientation)*Math.PI/180;return{r:n,t:i}}(o),i=n.r*Math.cos(n.t),a=n.r*Math.sin(n.t),{x:i,y:a});return\"translate(\"+[s.x,s.y]+\")\"}})};var c=e.svg.line.radial().interpolate(t[0].data.lineInterpolation).radius(function(t){return r.radialScale(t[1])}).angle(function(t){return r.angularScale(t[0])*Math.PI/180});u.line=function(n,i,a){var s=n[2]?o[a].map(function(t,e){return[t[0],t[1]+t[2]]}):o[a];if(e.select(this).each(u.dot).style({opacity:function(e,r){return+t[a].data.dotVisible},fill:d.stroke(n,i,a)}).attr({class:\"mark dot\"}),!(i>0)){var l=e.select(this.parentNode).selectAll(\"path.line\").data([0]);l.enter().insert(\"path\"),l.attr({class:\"line\",d:c(s),transform:function(t,e){return\"rotate(\"+(r.orientation+90)+\")\"},\"pointer-events\":\"none\"}).style({fill:function(t,e){return d.fill(n,i,a)},\"fill-opacity\":0,stroke:function(t,e){return d.stroke(n,i,a)},\"stroke-width\":function(t,e){return d[\"stroke-width\"](n,i,a)},\"stroke-dasharray\":function(t,e){return d[\"stroke-dasharray\"](n,i,a)},opacity:function(t,e){return d.opacity(n,i,a)},display:function(t,e){return d.display(n,i,a)}})}};var h=r.angularScale.range(),f=Math.abs(h[1]-h[0])/o[0].length*Math.PI/180,p=e.svg.arc().startAngle(function(t){return-f/2}).endAngle(function(t){return f/2}).innerRadius(function(t){return r.radialScale(l+(t[2]||0))}).outerRadius(function(t){return r.radialScale(l+(t[2]||0))+r.radialScale(t[1])});u.arc=function(t,n,i){e.select(this).attr({class:\"mark arc\",d:p,transform:function(t,e){return\"rotate(\"+(r.orientation+s(t[0])+90)+\")\"}})};var d={fill:function(e,r,n){return t[n].data.color},stroke:function(e,r,n){return t[n].data.strokeColor},\"stroke-width\":function(e,r,n){return t[n].data.strokeSize+\"px\"},\"stroke-dasharray\":function(e,r,i){return n[t[i].data.strokeDash]},opacity:function(e,r,n){return t[n].data.opacity},display:function(e,r,n){return void 0===t[n].data.visible||t[n].data.visible?\"block\":\"none\"}},g=e.select(this).selectAll(\"g.layer\").data(o);g.enter().append(\"g\").attr({class:\"layer\"});var v=g.selectAll(\"path.mark\").data(function(t,e){return t});v.enter().append(\"path\").attr({class:\"mark\"}),v.style(d).each(u[r.geometryType]),v.exit().remove(),g.exit().remove()})}return i.config=function(e){return arguments.length?(e.forEach(function(e,r){t[r]||(t[r]={}),Qm(t[r],ty.PolyChart.defaultConfig()),Qm(t[r],e)}),this):t},i.getColorScale=function(){},e.rebind(i,r,\"on\"),i},ty.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:e.scale.category20()}}},ty.BarChart=function(){return ty.PolyChart()},ty.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:\"bar\"}}},ty.AreaChart=function(){return ty.PolyChart()},ty.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:\"arc\"}}},ty.DotPlot=function(){return ty.PolyChart()},ty.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:\"dot\",dotType:\"circle\"}}},ty.LinePlot=function(){return ty.PolyChart()},ty.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:\"line\"}}},ty.Legend=function(){var t=ty.Legend.defaultConfig(),r=e.dispatch(\"hover\");function n(){var r=t.legendConfig,i=t.data.map(function(t,e){return[].concat(t).map(function(t,n){var i=Qm({},r.elements[e]);return i.name=t,i.color=[].concat(r.elements[e].color)[n],i})}),a=e.merge(i);a=a.filter(function(t,e){return r.elements[e]&&(r.elements[e].visibleInLegend||void 0===r.elements[e].visibleInLegend)}),r.reverseOrder&&(a=a.reverse());var o=r.container;(\"string\"==typeof o||o.nodeName)&&(o=e.select(o));var s=a.map(function(t,e){return t.color}),l=r.fontSize,u=null==r.isContinuous?\"number\"==typeof a[0]:r.isContinuous,c=u?r.height:l*a.length,h=o.classed(\"legend-group\",!0).selectAll(\"svg\").data([0]),f=h.enter().append(\"svg\").attr({width:300,height:c+l,xmlns:\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",version:\"1.1\"});f.append(\"g\").classed(\"legend-axis\",!0),f.append(\"g\").classed(\"legend-marks\",!0);var p=e.range(a.length),d=e.scale[u?\"linear\":\"ordinal\"]().domain(p).range(s),g=e.scale[u?\"linear\":\"ordinal\"]().domain(p)[u?\"range\":\"rangePoints\"]([0,c]);if(u){var v=h.select(\".legend-marks\").append(\"defs\").append(\"linearGradient\").attr({id:\"grad1\",x1:\"0%\",y1:\"0%\",x2:\"0%\",y2:\"100%\"}).selectAll(\"stop\").data(s);v.enter().append(\"stop\"),v.attr({offset:function(t,e){return e/(s.length-1)*100+\"%\"}}).style({\"stop-color\":function(t,e){return t}}),h.append(\"rect\").classed(\"legend-mark\",!0).attr({height:r.height,width:r.colorBandWidth,fill:\"url(#grad1)\"})}else{var m=h.select(\".legend-marks\").selectAll(\"path.legend-mark\").data(a);m.enter().append(\"path\").classed(\"legend-mark\",!0),m.attr({transform:function(t,e){return\"translate(\"+[l/2,g(e)+l/2]+\")\"},d:function(t,r){var n,i,a,o=t.symbol;return a=3*(i=l),\"line\"===(n=o)?\"M\"+[[-i/2,-i/12],[i/2,-i/12],[i/2,i/12],[-i/2,i/12]]+\"Z\":-1!=e.svg.symbolTypes.indexOf(n)?e.svg.symbol().type(n).size(a)():e.svg.symbol().type(\"square\").size(a)()},fill:function(t,e){return d(e)}}),m.exit().remove()}var y=e.svg.axis().scale(g).orient(\"right\"),x=h.select(\"g.legend-axis\").attr({transform:\"translate(\"+[u?r.colorBandWidth:l,l/2]+\")\"}).call(y);return x.selectAll(\".domain\").style({fill:\"none\",stroke:\"none\"}),x.selectAll(\"line\").style({fill:\"none\",stroke:u?r.textColor:\"none\"}),x.selectAll(\"text\").style({fill:r.textColor,\"font-size\":r.fontSize}).text(function(t,e){return a[e].name}),n}return n.config=function(e){return arguments.length?(Qm(t,e),this):t},e.rebind(n,r,\"on\"),n},ty.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}}},ty.tooltipPanel=function(){var t,r,n,i={container:null,hasTick:!1,fontSize:12,color:\"white\",padding:5},a=\"tooltip-\"+ty.tooltipPanel.uid++,o=10,s=function(){var e=(t=i.container.selectAll(\"g.\"+a).data([0])).enter().append(\"g\").classed(a,!0).style({\"pointer-events\":\"none\",display:\"none\"});return n=e.append(\"path\").style({fill:\"white\",\"fill-opacity\":.9}).attr({d:\"M0 0\"}),r=e.append(\"text\").attr({dx:i.padding+o,dy:.3*+i.fontSize}),s};return s.text=function(a){var l=e.hsl(i.color).l,u=l>=.5?\"#aaa\":\"white\",c=l>=.5?\"black\":\"white\",h=a||\"\";r.style({fill:c,\"font-size\":i.fontSize+\"px\"}).text(h);var f=i.padding,p=r.node().getBBox(),d={fill:i.color,stroke:u,\"stroke-width\":\"2px\"},g=p.width+2*f+o,v=p.height+2*f;return n.attr({d:\"M\"+[[o,-v/2],[o,-v/4],[i.hasTick?0:o,0],[o,v/4],[o,v/2],[g,v/2],[g,-v/2]].join(\"L\")+\"Z\"}).style(d),t.attr({transform:\"translate(\"+[o,-v/2+2*f]+\")\"}),t.style({display:\"block\"}),s},s.move=function(e){if(t)return t.attr({transform:\"translate(\"+[e[0],e[1]]+\")\"}).style({display:\"block\"}),s},s.hide=function(){if(t)return t.style({display:\"none\"}),s},s.show=function(){if(t)return t.style({display:\"block\"}),s},s.config=function(t){return Qm(i,t),s},s},ty.tooltipPanel.uid=1,ty.adapter={},ty.adapter.plotly=function(){var t={convert:function(t,r){var n={};if(t.data&&(n.data=t.data.map(function(t,e){var n=Qm({},t);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,e){ty.util.translator.apply(null,t.concat(r))}),r||delete n.marker,r&&delete n.groupId,r?(\"LinePlot\"===n.geometry?(n.type=\"scatter\",!0===n.dotVisible?(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}),!r&&t.layout&&\"stack\"===t.layout.barmode)){var i=ty.util.duplicates(n.data.map(function(t,e){return t.geometry}));n.data.forEach(function(t,e){var r=i.indexOf(t.geometry);-1!=r&&(n.data[e].groupId=r)})}if(t.layout){var a=Qm({},t.layout);if([[a,[\"plot_bgcolor\"],[\"backgroundColor\"]],[a,[\"showlegend\"],[\"showLegend\"]],[a,[\"radialaxis\"],[\"radialAxis\"]],[a,[\"angularaxis\"],[\"angularAxis\"]],[a.angularaxis,[\"showline\"],[\"gridLinesVisible\"]],[a.angularaxis,[\"showticklabels\"],[\"labelsVisible\"]],[a.angularaxis,[\"nticks\"],[\"ticksCount\"]],[a.angularaxis,[\"tickorientation\"],[\"tickOrientation\"]],[a.angularaxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[a.angularaxis,[\"range\"],[\"domain\"]],[a.angularaxis,[\"endpadding\"],[\"endPadding\"]],[a.radialaxis,[\"showline\"],[\"gridLinesVisible\"]],[a.radialaxis,[\"tickorientation\"],[\"tickOrientation\"]],[a.radialaxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[a.radialaxis,[\"range\"],[\"domain\"]],[a.angularAxis,[\"showline\"],[\"gridLinesVisible\"]],[a.angularAxis,[\"showticklabels\"],[\"labelsVisible\"]],[a.angularAxis,[\"nticks\"],[\"ticksCount\"]],[a.angularAxis,[\"tickorientation\"],[\"tickOrientation\"]],[a.angularAxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[a.angularAxis,[\"range\"],[\"domain\"]],[a.angularAxis,[\"endpadding\"],[\"endPadding\"]],[a.radialAxis,[\"showline\"],[\"gridLinesVisible\"]],[a.radialAxis,[\"tickorientation\"],[\"tickOrientation\"]],[a.radialAxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[a.radialAxis,[\"range\"],[\"domain\"]],[a.font,[\"outlinecolor\"],[\"outlineColor\"]],[a.legend,[\"traceorder\"],[\"reverseOrder\"]],[a,[\"labeloffset\"],[\"labelOffset\"]],[a,[\"defaultcolorrange\"],[\"defaultColorRange\"]]].forEach(function(t,e){ty.util.translator.apply(null,t.concat(r))}),r?(void 0!==a.tickLength&&(a.angularaxis.ticklen=a.tickLength,delete a.tickLength),a.tickColor&&(a.angularaxis.tickcolor=a.tickColor,delete a.tickColor)):(a.angularAxis&&void 0!==a.angularAxis.ticklen&&(a.tickLength=a.angularAxis.ticklen),a.angularAxis&&void 0!==a.angularAxis.tickcolor&&(a.tickColor=a.angularAxis.tickcolor)),a.legend&&\"boolean\"!=typeof a.legend.reverseOrder&&(a.legend.reverseOrder=\"normal\"!=a.legend.reverseOrder),a.legend&&\"boolean\"==typeof a.legend.traceorder&&(a.legend.traceorder=a.legend.traceorder?\"reversed\":\"normal\",delete a.legend.reverseOrder),a.margin&&void 0!==a.margin.t){var o=[\"t\",\"r\",\"b\",\"l\",\"pad\"],s=[\"top\",\"right\",\"bottom\",\"left\",\"pad\"],l={};e.entries(a.margin).forEach(function(t,e){l[s[o.indexOf(t.key)]]=t.value}),a.margin=l}r&&(delete a.needsEndSpacing,delete a.minorTickColor,delete a.minorTicks,delete a.angularaxis.ticksCount,delete a.angularaxis.ticksCount,delete a.angularaxis.ticksStep,delete a.angularaxis.rewriteTicks,delete a.angularaxis.nticks,delete a.radialaxis.ticksCount,delete a.radialaxis.ticksCount,delete a.radialaxis.ticksStep,delete a.radialaxis.rewriteTicks,delete a.radialaxis.nticks),n.layout=a}return n}};return t};var ey,ry=ne.extendDeepAll,ny=ey={};ny.framework=function(t){var r,n,i,a,o,s=new function(){var t,e=[],r=-1,n=!1;function i(t,e){return t?(n=!0,t[e](),n=!1,this):this}return{add:function(t){return n?this:(e.splice(r+1,e.length-r),e.push(t),r=e.length-1,this)},setCallback:function(e){t=e},undo:function(){var n=e[r];return n?(i(n,\"undo\"),r-=1,t&&t(n.undo),this):this},redo:function(){var n=e[r+1];return n?(i(n,\"redo\"),r+=1,t&&t(n.redo),this):this},clear:function(){e=[],r=-1},hasUndo:function(){return-1!==r},hasRedo:function(){return r<e.length-1},getCommands:function(){return e},getPreviousCommand:function(){return e[r-1]},getIndex:function(){return r}}};function l(n,s){return s&&(o=s),e.select(e.select(o).node().parentNode).selectAll(\".svg-container>*:not(.chart-root)\").remove(),r=r?ry(r,n):n,i||(i=Km.Axis()),a=Km.adapter.plotly().convert(r),i.config(a).render(o),t.data=r.data,t.layout=r.layout,ny.fillLayout(t),r}return l.isPolar=!0,l.svg=function(){return i.svg()},l.getConfig=function(){return r},l.getLiveConfig=function(){return Km.adapter.plotly().convert(i.getLiveConfig(),!0)},l.getLiveScales=function(){return{t:i.angularScale(),r:i.radialScale()}},l.setUndoPoint=function(){var t,e,i=this,a=Km.util.cloneJson(r);t=a,e=n,s.add({undo:function(){e&&i(e)},redo:function(){i(t)}}),n=Km.util.cloneJson(a)},l.undo=function(){s.undo()},l.redo=function(){s.redo()},l},ny.fillLayout=function(t){var r=e.select(t).selectAll(\".plot-container\"),n=r.selectAll(\".svg-container\"),i=t.framework&&t.framework.svg&&t.framework.svg(),a={width:800,height:600,paper_bgcolor:Oe.background,_container:r,_paperdiv:n,_paper:i};t._fullLayout=ry(a,t.layout)};var iy={};(iy=Km).manager=ey;var ay={},oy=Gm.enforce,sy=Gm.clean,ly=Nn,uy=0;function cy(t,e){try{t._fullLayout._paper.style(\"background\",e)}catch(t){ne.error(t)}}function hy(t,e){cy(t,Oe.combine(e,\"white\"))}function fy(t,e){t._context||(t._context=ne.extendDeep({},b));var r,n,i,a=t._context;if(e){for(n=Object.keys(e),r=0;r<n.length;r++)\"editable\"!==(i=n[r])&&\"edits\"!==i&&i in a&&(\"setBackground\"===i&&\"opaque\"===e[i]?a[i]=hy:a[i]=e[i]);e.plot3dPixelRatio&&!a.plotGlPixelRatio&&(a.plotGlPixelRatio=a.plot3dPixelRatio);var o=e.editable;if(void 0!==o)for(a.editable=o,n=Object.keys(a.edits),r=0;r<n.length;r++)a.edits[n[r]]=o;if(e.edits)for(n=Object.keys(e.edits),r=0;r<n.length;r++)(i=n[r])in a.edits&&(a.edits[i]=e.edits[i])}a.staticPlot&&(a.editable=!1,a.edits={},a.autosizable=!1,a.scrollZoom=!1,a.doubleClick=!1,a.showTips=!1,a.showLink=!1,a.displayModeBar=!1),\"hover\"!==a.displayModeBar||Sa||(a.displayModeBar=!0),\"transparent\"!==a.setBackground&&\"function\"==typeof a.setBackground||(a.setBackground=cy)}function py(t,e){var r,n,i=e+1,a=[];for(r=0;r<t.length;r++)(n=t[r])<0?a.push(i+n):a.push(n);return a}function dy(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 gy(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]),dy(t,e,\"currentIndices\"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&dy(t,r,\"newIndices\"),void 0!==r&&e.length!==r.length)throw new Error(\"current and new indices must be of equal length.\")}function vy(t,e,n,i,a){!function(t,e,r,n){var i=ne.isPlainObject(n);if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array\");if(!ne.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\");for(var a in dy(t,r,\"indices\"),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\")}}(t,e,n,i);for(var o=function(t,e,n,i){var a,o,s,l,u,c=ne.isPlainObject(i),h=[];for(var f in Array.isArray(n)||(n=[n]),n=py(n,t.data.length-1),e)for(var p=0;p<n.length;p++){if(a=t.data[n[p]],o=(s=ne.nestedProperty(a,f)).get(),l=e[f][p],!ne.isArrayOrTypedArray(l))throw new Error(\"attribute: \"+f+\" index: \"+p+\" must be an array\");if(!ne.isArrayOrTypedArray(o))throw new Error(\"cannot extend missing or non-array attribute: \"+f);if(o.constructor!==l.constructor)throw new Error(\"cannot extend array with an array of a different type: \"+f);u=c?i[f][p]:i,r(u)||(u=-1),h.push({prop:s,target:o,insert:l,maxp:Math.floor(u)})}return h}(t,e,n,i),s={},l={},u=0;u<o.length;u++){var c=o[u].prop,h=o[u].maxp,f=a(o[u].target,o[u].insert,h);c.set(f[0]),Array.isArray(s[c.astr])||(s[c.astr]=[]),s[c.astr].push(f[1]),Array.isArray(l[c.astr])||(l[c.astr]=[]),l[c.astr].push(o[u].target.length)}return{update:s,maxPoints:l}}function my(t,e){var r=new t.constructor(t.length+e.length);return r.set(t),r.set(e,t.length),r}function yy(t){return void 0===t?null:t}function xy(t,e,r){var n,i,a=t._fullLayout,o=t._fullData,s=t.data,l=ye.traceFlags(),u={},c={};function h(){return r.map(function(){})}function f(t){var e=ri.id2name(t);-1===i.indexOf(e)&&i.push(e)}function p(t){return\"LAYOUT\"+t+\".autorange\"}function d(t){return\"LAYOUT\"+t+\".range\"}function g(n,i,a){var o;Array.isArray(n)?n.forEach(function(t){g(t,i,a)}):n in e||Vv.hasParent(e,n)||(o=\"LAYOUT\"===n.substr(0,6)?ne.nestedProperty(t.layout,n.replace(\"LAYOUT\",\"\")):ne.nestedProperty(s[r[a]],n),n in c||(c[n]=h()),void 0===c[n][a]&&(c[n][a]=yy(o.get())),void 0!==i&&o.set(i))}for(var v in e){if(Vv.hasParent(e,v))throw new Error(\"cannot set \"+v+\"and a parent attribute simultaneously\");var m,y,x,b,_,w,M=e[v];if(u[v]=M,\"LAYOUT\"!==v.substr(0,6)){for(c[v]=h(),n=0;n<r.length;n++)if(m=s[r[n]],y=o[r[n]],b=(x=ne.nestedProperty(m,v)).get(),void 0!==(_=Array.isArray(M)?M[n%M.length]:M)){if((w=nn.getTraceValObject(y,x.parts))&&w.impliedEdits&&null!==_)for(var A in w.impliedEdits)g(ne.relativeAttr(v,A),w.impliedEdits[A],n);else if(\"colorbar.thicknessmode\"===v&&x.get()!==_&&-1!==[\"fraction\",\"pixels\"].indexOf(_)&&y.colorbar){var k=-1!==[\"top\",\"bottom\"].indexOf(y.colorbar.orient)?a.height-a.margin.t-a.margin.b:a.width-a.margin.l-a.margin.r;g(\"colorbar.thickness\",y.colorbar.thickness*(\"fraction\"===_?1/k:k),n)}else if(\"colorbar.lenmode\"===v&&x.get()!==_&&-1!==[\"fraction\",\"pixels\"].indexOf(_)&&y.colorbar){var T=-1!==[\"top\",\"bottom\"].indexOf(y.colorbar.orient)?a.width-a.margin.l-a.margin.r:a.height-a.margin.t-a.margin.b;g(\"colorbar.len\",y.colorbar.len*(\"fraction\"===_?1/T:T),n)}else\"colorbar.tick0\"!==v&&\"colorbar.dtick\"!==v||g(\"colorbar.tickmode\",\"linear\",n);if(\"type\"===v&&\"pie\"===_!=(\"pie\"===b)){var S=\"x\",E=\"y\";\"bar\"!==_&&\"bar\"!==b||\"h\"!==m.orientation||(S=\"y\",E=\"x\"),ne.swapAttrs(m,[\"?\",\"?src\"],\"labels\",S),ne.swapAttrs(m,[\"d?\",\"?0\"],\"label\",S),ne.swapAttrs(m,[\"?\",\"?src\"],\"values\",E),\"pie\"===b?(ne.nestedProperty(m,\"marker.color\").set(ne.nestedProperty(m,\"marker.colors\").get()),a._pielayer.selectAll(\"g.trace\").remove()):P.traceIs(m,\"cartesian\")&&ne.nestedProperty(m,\"marker.colors\").set(ne.nestedProperty(m,\"marker.color\").get())}c[v][n]=yy(b);if(-1!==[\"swapxy\",\"swapxyaxes\",\"orientation\",\"orientationaxes\"].indexOf(v)){if(\"orientation\"===v){x.set(_);var C=m.x&&!m.y?\"h\":\"v\";if((x.get()||C)===y.orientation)continue}else\"orientationaxes\"===v&&(m.orientation={v:\"h\",h:\"v\"}[y.orientation]);Vv.swapXYData(m),l.calc=l.clearAxisTypes=!0}else-1!==_n.dataArrayContainers.indexOf(x.parts[0])?(Vv.manageArrayContainers(x,_,c),l.calc=!0):(w?w.arrayOk&&(ne.isArrayOrTypedArray(_)||ne.isArrayOrTypedArray(b))?l.calc=!0:ye.update(l,w):l.calc=!0,x.set(_))}if(-1!==[\"swapxyaxes\",\"orientationaxes\"].indexOf(v)&&ri.swap(t,r),\"orientationaxes\"===v){var L=ne.nestedProperty(t.layout,\"hovermode\");\"x\"===L.get()?L.set(\"y\"):\"y\"===L.get()&&L.set(\"x\")}if(-1!==[\"orientation\",\"type\"].indexOf(v)){for(i=[],n=0;n<r.length;n++){var z=s[r[n]];P.traceIs(z,\"cartesian\")&&(f(z.xaxis||\"x\"),f(z.yaxis||\"y\"),\"type\"===v&&g([\"autobinx\",\"autobiny\"],!0,n))}g(i.map(p),!0,0),g(i.map(d),[0,1],0)}}else x=ne.nestedProperty(t.layout,v.replace(\"LAYOUT\",\"\")),c[v]=[yy(x.get())],x.set(Array.isArray(M)?M[0]:M),l.calc=!0}var I=!1,D=ri.list(t);for(n=0;n<D.length;n++)if(D[n].autorange){I=!0;break}return(l.calc||l.calcIfAutorange&&I)&&(l.clearCalc=!0),(l.calc||l.plot||l.calcIfAutorange)&&(l.fullReplot=!0),{flags:l,undoit:c,redoit:u,traces:r,eventData:ne.extendDeepNoArrays([],[u,r])}}function by(t,e){var r,n,i,a=t.layout,o=t._fullLayout,s=Object.keys(e),l=ri.list(t),u={};for(n=0;n<s.length;n++)if(0===s[n].indexOf(\"allaxes\")){for(i=0;i<l.length;i++){var c=l[i]._id.substr(1),h=-1!==c.indexOf(\"scene\")?c+\".\":\"\",f=s[n].replace(\"allaxes\",h+l[i]._name);e[f]||(e[f]=e[s[n]])}delete e[s[n]]}var p=ye.layoutFlags(),d={},g={};function v(t,r){if(Array.isArray(t))t.forEach(function(t){v(t,r)});else if(!(t in e||Vv.hasParent(e,t))){var n=ne.nestedProperty(a,t);t in g||(g[t]=yy(n.get())),void 0!==r&&n.set(r)}}var m,y={};function x(t){var e=ri.name2id(t.split(\".\")[0]);return y[e]=1,e}for(var b in e){if(Vv.hasParent(e,b))throw new Error(\"cannot set \"+b+\"and a parent attribute simultaneously\");for(var _=ne.nestedProperty(a,b),w=e[b],M=_.parts.length,A=M-1;A>0&&\"string\"!=typeof _.parts[M-1];)A--;var k=_.parts[A],T=_.parts[A-1]+\".\"+k,S=_.parts.slice(0,A).join(\".\"),E=ne.nestedProperty(t.layout,S).get(),C=ne.nestedProperty(o,S).get(),L=_.get();if(void 0!==w){d[b]=w,g[b]=\"reverse\"===k?w:yy(L);var z=nn.getLayoutValObject(o,_.parts);if(z&&z.impliedEdits&&null!==w)for(var I in z.impliedEdits)v(ne.relativeAttr(b,I),z.impliedEdits[I]);if(-1!==[\"width\",\"height\"].indexOf(b)&&null===w)o[b]=t._initialAutoSize[b];else if(T.match(/^[xyz]axis[0-9]*\\.range(\\[[0|1]\\])?$/))x(T),ne.nestedProperty(o,S+\"._inputRange\").set(null);else if(T.match(/^[xyz]axis[0-9]*\\.autorange$/)){x(T),ne.nestedProperty(o,S+\"._inputRange\").set(null);var D=ne.nestedProperty(o,S).get();D._inputDomain&&(D._input.domain=D._inputDomain.slice())}else T.match(/^[xyz]axis[0-9]*\\.domain(\\[[0|1]\\])?$/)&&ne.nestedProperty(o,S+\"._inputDomain\").set(null);if(\"type\"===k){var O=E,R=\"linear\"===C.type&&\"log\"===w,F=\"log\"===C.type&&\"linear\"===w;if(R||F){if(O&&O.range)if(C.autorange)R&&(O.range=O.range[1]>O.range[0]?[1,2]:[2,1]);else{var B=O.range[0],N=O.range[1];R?(B<=0&&N<=0&&v(S+\".autorange\",!0),B<=0?B=N/1e6:N<=0&&(N=B/1e6),v(S+\".range[0]\",Math.log(B)/Math.LN10),v(S+\".range[1]\",Math.log(N)/Math.LN10)):(v(S+\".range[0]\",Math.pow(10,B)),v(S+\".range[1]\",Math.pow(10,N)))}else v(S+\".autorange\",!0);Array.isArray(o._subplots.polar)&&o._subplots.polar.length&&o[_.parts[0]]&&\"radialaxis\"===_.parts[1]&&delete o[_.parts[0]]._subplot.viewInitial[\"radialaxis.range\"],P.getComponentMethod(\"annotations\",\"convertCoords\")(t,C,w,v),P.getComponentMethod(\"images\",\"convertCoords\")(t,C,w,v)}else v(S+\".autorange\",!0),v(S+\".range\",null);ne.nestedProperty(o,S+\"._inputRange\").set(null)}else if(k.match(Te.AX_NAME_PATTERN)){var j=ne.nestedProperty(o,b).get(),V=(w||{}).type;V&&\"-\"!==V||(V=\"linear\"),P.getComponentMethod(\"annotations\",\"convertCoords\")(t,j,V,v),P.getComponentMethod(\"images\",\"convertCoords\")(t,j,V,v)}var U=Jv.containerArrayMatch(b);if(U){r=U.array,n=U.index;var q=U.property,H=(ne.nestedProperty(a,r)||[])[n]||{},G=H,W=z||{editType:\"calc\"},Y=-1!==W.editType.indexOf(\"calcIfAutorange\");\"\"===n?(Y?p.calc=!0:ye.update(p,W),Y=!1):\"\"===q&&(G=w,Jv.isAddVal(w)?g[b]=null:Jv.isRemoveVal(w)?(g[b]=H,G=H):ne.warn(\"unrecognized full object value\",e)),Y&&(wy(t,G,\"x\")||wy(t,G,\"y\"))?p.calc=!0:ye.update(p,W),u[r]||(u[r]={});var X=u[r][n];X||(X=u[r][n]={}),X[q]=w,delete e[b]}else\"reverse\"===k?(E.range?E.range.reverse():(v(S+\".autorange\",!0),E.range=[1,0]),C.autorange?p.calc=!0:p.plot=!0):(o._has(\"scatter-like\")&&o._has(\"regl\")&&\"dragmode\"===b&&(\"lasso\"===w||\"select\"===w)&&\"lasso\"!==L&&\"select\"!==L?p.plot=!0:z?ye.update(p,z):p.calc=!0,_.set(w))}}for(r in u){Jv.applyContainerArrayChanges(t,ne.nestedProperty(a,r),u[r],p)||(p.plot=!0)}var Z=o._axisConstraintGroups||[];for(m in y)for(n=0;n<Z.length;n++){var J=Z[n];if(J[m])for(var K in p.calc=!0,J)y[K]||(ri.getFromId(t,K)._constraintShrinkable=!0)}return(_y(t)||e.height||e.width)&&(p.plot=!0),(p.plot||p.calc)&&(p.layoutReplot=!0),{flags:p,undoit:g,redoit:d,eventData:ne.extendDeep({},d)}}function _y(t){var e=t._fullLayout,r=e.width,n=e.height;return t.layout.autosize&&_n.plotAutoSize(t,t.layout,e),e.width!==r||e.height!==n}function wy(t,e,r){if(!ne.isPlainObject(e))return!1;var n=e[r+\"ref\"]||r,i=ri.getFromId(t,n);return i||n.charAt(0)!==r||(i=ri.getFromId(t,r)),(i||{}).autorange}function My(t,e,r,n){var i,a,o=n.getValObject,s=n.flags,l=n.immutable,u=n.inArray,c=n.arrayIndex,h=n.gd,f=n.autoranged;function p(){var t=i.editType;-1!==t.indexOf(\"calcIfAutorange\")&&(f||void 0===f&&(wy(h,e,\"x\")||wy(h,e,\"y\")))?s.calc=!0:u&&-1!==t.indexOf(\"arraydraw\")?ne.pushUnique(s.arrays[u],c):ye.update(s,i)}function d(t){return\"data_array\"===t.valType||t.arrayOk}var g=e._fullInput,v=t._fullInput;for(a in g&&g!==e&&(e=g),v&&v!==t&&(t=v),t){if(s.calc)return;var m=t[a],y=e[a];if(\"_\"!==a.charAt(0)&&\"function\"!=typeof m&&m!==y){if(\"tick0\"===a||\"dtick\"===a){var x=e.tickmode;if(\"auto\"===x||\"array\"===x||!x)continue}if((\"range\"!==a||!e.autorange)&&(\"zmin\"!==a&&\"zmax\"!==a||\"contourcarpet\"!==e.type)){var b=r.concat(a);if(i=o(b)){var _,w=i.valType,M=d(i),A=Array.isArray(m),k=Array.isArray(y);if(A&&k){var T=\"_input_\"+a,S=t[T],E=e[T];if(Array.isArray(S)&&S===E)continue}if(void 0===y)M&&A?s.calc=!0:p();else if(i._isLinkedToArray){var C=[],L=!1;u||(s.arrays[a]=C);var z=Math.min(m.length,y.length),P=Math.max(m.length,y.length);if(z!==P){if(\"arraydraw\"!==i.editType){p();continue}L=!0}for(_=0;_<z;_++)My(m[_],y[_],b.concat(_),ne.extendFlat({inArray:a,arrayIndex:_},n));if(L)for(_=z;_<P;_++)C.push(_)}else!w&&ne.isPlainObject(m)?My(m,y,b,n):M?A&&k?l&&(s.calc=!0):A!==k?s.calc=!0:p():A&&k&&m.length===y.length&&String(m)===String(y)||p()}}}}for(a in e)if(!(a in t||\"_\"===a.charAt(0)||\"function\"==typeof e[a])){if(d(i=o(r.concat(a)))&&Array.isArray(e[a]))return void(s.calc=!0);p()}}function Ay(t){var r=e.select(t),n=t._fullLayout;if(n._container=r.selectAll(\".plot-container\").data([0]),n._container.enter().insert(\"div\",\":first-child\").classed(\"plot-container\",!0).classed(\"plotly\",!0),n._paperdiv=n._container.selectAll(\".svg-container\").data([0]),n._paperdiv.enter().append(\"div\").classed(\"svg-container\",!0).style(\"position\",\"relative\"),n._glcontainer=n._paperdiv.selectAll(\".gl-container\").data([{}]),n._glcontainer.enter().append(\"div\").classed(\"gl-container\",!0),n._glcanvas=null,n._paperdiv.selectAll(\".main-svg\").remove(),n._paper=n._paperdiv.insert(\"svg\",\":first-child\").classed(\"main-svg\",!0),n._toppaper=n._paperdiv.append(\"svg\").classed(\"main-svg\",!0),!n._uid){var i=[];e.selectAll(\"defs\").each(function(){this.id&&i.push(this.id.split(\"-\")[1])}),n._uid=ne.randstr(i)}n._paperdiv.selectAll(\".main-svg\").attr($e.svgAttrs),n._defs=n._paper.append(\"defs\").attr(\"id\",\"defs-\"+n._uid),n._clips=n._defs.append(\"g\").classed(\"clips\",!0),n._topdefs=n._toppaper.append(\"defs\").attr(\"id\",\"topdefs-\"+n._uid),n._topclips=n._topdefs.append(\"g\").classed(\"clips\",!0),n._bgLayer=n._paper.append(\"g\").classed(\"bglayer\",!0),n._draggers=n._paper.append(\"g\").classed(\"draglayer\",!0);var a=n._paper.append(\"g\").classed(\"layer-below\",!0);n._imageLowerLayer=a.append(\"g\").classed(\"imagelayer\",!0),n._shapeLowerLayer=a.append(\"g\").classed(\"shapelayer\",!0),n._cartesianlayer=n._paper.append(\"g\").classed(\"cartesianlayer\",!0),n._polarlayer=n._paper.append(\"g\").classed(\"polarlayer\",!0),n._ternarylayer=n._paper.append(\"g\").classed(\"ternarylayer\",!0),n._geolayer=n._paper.append(\"g\").classed(\"geolayer\",!0),n._pielayer=n._paper.append(\"g\").classed(\"pielayer\",!0),n._glimages=n._paper.append(\"g\").classed(\"glimages\",!0);var o=n._toppaper.append(\"g\").classed(\"layer-above\",!0);n._imageUpperLayer=o.append(\"g\").classed(\"imagelayer\",!0),n._shapeUpperLayer=o.append(\"g\").classed(\"shapelayer\",!0),n._infolayer=n._toppaper.append(\"g\").classed(\"infolayer\",!0),n._menulayer=n._toppaper.append(\"g\").classed(\"menulayer\",!0),n._zoomlayer=n._toppaper.append(\"g\").classed(\"zoomlayer\",!0),n._hoverlayer=n._toppaper.append(\"g\").classed(\"hoverlayer\",!0),t.emit(\"plotly_framework\")}ay.plot=function(t,r,n,i){var a;if(t=ne.getGraphDiv(t),ja.init(t),ne.isPlainObject(r)){var o=r;r=o.data,n=o.layout,i=o.config,a=o.frames}if(!1===ja.triggerHandler(t,\"plotly_beforeplot\",[r,n,i]))return Promise.reject();r||n||ne.isPlotDiv(t)||ne.warn(\"Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.\",t),fy(t,i),n||(n={}),e.select(t).classed(\"js-plotly-plot\",!0),Sr.makeTester(),Array.isArray(t._promises)||(t._promises=[]);var s=0===(t.data||[]).length&&Array.isArray(r);if(Array.isArray(r)&&(Vv.cleanData(r,t.data),s?t.data=r:t.data.push.apply(t.data,r),t.empty=!1),t.layout&&!s||(t.layout=Vv.cleanLayout(n)),t._dragging&&!t._transitioning)return t._replotPending=!0,Promise.reject();t._replotPending=!1,_n.supplyDefaults(t);var l=t._fullLayout,u=l._has(\"cartesian\");if(!l._has(\"polar\")&&r&&r[0]&&r[0].r)return ne.log(\"Legacy polar charts are deprecated!\"),function(t,r,n){var i=e.select(t).selectAll(\".plot-container\").data([0]);i.enter().insert(\"div\",\":first-child\").classed(\"plot-container plotly\",!0);var a=i.selectAll(\".svg-container\").data([0]);a.enter().append(\"div\").classed(\"svg-container\",!0).style(\"position\",\"relative\"),a.html(\"\"),r&&(t.data=r);n&&(t.layout=n);iy.manager.fillLayout(t),a.style({width:t._fullLayout.width+\"px\",height:t._fullLayout.height+\"px\"}),t.framework=iy.manager.framework(t),t.framework({data:t.data,layout:t.layout},a.node()),t.framework.setUndoPoint();var o=t.framework.svg(),s=1,l=t._fullLayout.title;\"\"!==l&&l||(s=0);var u=function(){this.call(er.convertToTspans,t)},c=o.select(\".title-group text\").call(u);if(t._context.edits.titleText){var h=ne._(t,\"Click to enter Plot title\");l&&l!==h||(s=.2,c.attr({\"data-unformatted\":h}).text(h).style({opacity:s}).on(\"mouseover.opacity\",function(){e.select(this).transition().duration(100).style(\"opacity\",1)}).on(\"mouseout.opacity\",function(){e.select(this).transition().duration(1e3).style(\"opacity\",0)}));var f=function(){this.call(er.makeEditable,{gd:t}).on(\"edit\",function(e){t.framework({layout:{title:e}}),this.text(e).call(u),this.call(f)}).on(\"cancel\",function(){var t=this.attr(\"data-unformatted\");this.text(t).call(u)})};c.call(f)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),_n.addLinks(t),Promise.resolve()}(t,r,n);l._replotting=!0,s&&Ay(t),t.framework!==Ay&&(t.framework=Ay,Ay(t)),Sr.initGradients(t),s&&ri.saveShowSpikeInitial(t);var c=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;c&&_n.doCalcdata(t);for(var h=0;h<t.calcdata.length;h++)t.calcdata[h][0].trace=t._fullData[h];var f=JSON.stringify(l._size);function p(){var e,r,n,i=t.calcdata;for(P.getComponentMethod(\"legend\",\"draw\")(t),P.getComponentMethod(\"rangeselector\",\"draw\")(t),P.getComponentMethod(\"sliders\",\"draw\")(t),P.getComponentMethod(\"updatemenus\",\"draw\")(t),e=0;e<i.length;e++)!0===(n=(r=i[e])[0].trace).visible&&n._module.colorbar?n._module.colorbar(t,r):_n.autoMargin(t,\"cb\"+n.uid);return _n.doAutoMargin(t),_n.previousPromises(t)}function d(){if(!t._transitioning){for(var e=ri.list(t,\"\",!0),r=0;r<e.length;r++){var n=e[r];sy(t,n),ly(n)}oy(t),s&&ri.saveRangeInitial(t)}}var g=[_n.previousPromises,function(){if(a)return ay.addFrames(t,a)},function(){for(var e=l._basePlotModules,r=0;r<e.length;r++)e[r].drawFramework&&e[r].drawFramework(t);return!l._glcanvas&&l._has(\"gl\")&&(l._glcanvas=l._glcontainer.selectAll(\".gl-canvas\").data([{key:\"contextLayer\",context:!0,pick:!1},{key:\"focusLayer\",context:!1,pick:!1},{key:\"pickLayer\",context:!1,pick:!0}],function(t){return t.key}),l._glcanvas.enter().append(\"canvas\").attr(\"class\",function(t){return\"gl-canvas gl-canvas-\"+t.key.replace(\"Layer\",\"\")}).style({position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",overflow:\"visible\",\"pointer-events\":\"none\"})),l._glcanvas&&l._glcanvas.attr(\"width\",l.width).attr(\"height\",l.height),ne.syncOrAsync([Vm.layoutStyles],t)},p,function(){if(JSON.stringify(l._size)!==f)return ne.syncOrAsync([p,Vm.layoutStyles],t)}];u&&g.push(function(){if(c){var e,r,n,i=l._subplots.cartesian,a=l._modules,o=[];for(n=0;n<a.length;n++)ne.pushUnique(o,a[n].setPositions);if(o.length)for(r=0;r<i.length;r++)for(e=l._plots[i[r]],n=0;n<o.length;n++)o[n](t,e);return P.getComponentMethod(\"errorbars\",\"calc\")(t),ne.syncOrAsync([P.getComponentMethod(\"shapes\",\"calcAutorange\"),P.getComponentMethod(\"annotations\",\"calcAutorange\"),d,P.getComponentMethod(\"rangeslider\",\"calcAutorange\")],t)}d()}),g.push(Vm.layoutStyles),u&&g.push(function(){return ri.doTicks(t,\"redraw\")}),g.push(function(){var e,r=t.calcdata,n=l._infolayer.selectAll(\"g.rangeslider-container\");for(e=0;e<r.length;e++){var i=r[e][0].trace,a=!0===i.visible,o=i.uid;if(!a||!P.traceIs(i,\"2dMap\")){var s=\".hm\"+o+\",.contour\"+o+\",#clip\"+o;l._paper.selectAll(s).remove(),n.selectAll(s).remove()}a&&i._module.colorbar||l._infolayer.selectAll(\".cb\"+o).remove()}var u=l._basePlotModules;for(e=0;e<u.length;e++)u[e].plot(t);var c=l._paper.selectAll(\".layer-subplot\");return l._shapeSubplotLayers=c.selectAll(\".shapelayer\"),_n.style(t),P.getComponentMethod(\"shapes\",\"draw\")(t),P.getComponentMethod(\"annotations\",\"draw\")(t),_n.addLinks(t),l._replotting=!1,_n.previousPromises(t)},function(){P.getComponentMethod(\"shapes\",\"draw\")(t),P.getComponentMethod(\"images\",\"draw\")(t),P.getComponentMethod(\"annotations\",\"draw\")(t),P.getComponentMethod(\"legend\",\"draw\")(t),P.getComponentMethod(\"rangeslider\",\"draw\")(t),P.getComponentMethod(\"rangeselector\",\"draw\")(t),P.getComponentMethod(\"sliders\",\"draw\")(t),P.getComponentMethod(\"updatemenus\",\"draw\")(t)},jm,_n.rehover,_n.previousPromises);var v=ne.syncOrAsync(g,t);return v&&v.then||(v=Promise.resolve()),v.then(function(){return t.emit(\"plotly_afterplot\"),t})},ay.setPlotConfig=function(t){return ne.extendFlat(b,t)},ay.redraw=function(t){if(t=ne.getGraphDiv(t),!ne.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t);return Vv.cleanData(t.data,t.data),Vv.cleanLayout(t.layout),t.calcdata=void 0,ay.plot(t).then(function(){return t.emit(\"plotly_redraw\"),t})},ay.newPlot=function(t,e,r,n){return t=ne.getGraphDiv(t),_n.cleanPlot([],{},t._fullData||{},t._fullLayout||{}),_n.purge(t),ay.plot(t,e,r,n)},ay.extendTraces=function t(e,r,n,i){var a=vy(e=ne.getGraphDiv(e),r,n,i,function(t,e,r){var n,i;if(ne.isTypedArray(t))if(r<0){var a=new t.constructor(0),o=my(t,e);r<0?(n=o,i=a):(n=a,i=o)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var s=e.length-r;n.set(e.subarray(s)),i.set(t),i.set(e.subarray(0,s),t.length)}else{var l=r-e.length,u=t.length-l;n.set(t.subarray(u)),n.set(e,l),i.set(t.subarray(0,u))}else n=t.concat(e),i=r>=0&&r<n.length?n.splice(0,n.length-r):[];return[n,i]}),o=ay.redraw(e),s=[e,a.update,n,a.maxPoints];return Nv.add(e,ay.prependTraces,s,t,arguments),o},ay.prependTraces=function t(e,r,n,i){var a=vy(e=ne.getGraphDiv(e),r,n,i,function(t,e,r){var n,i;if(ne.isTypedArray(t))if(r<=0){var a=new t.constructor(0),o=my(e,t);r<0?(n=o,i=a):(n=a,i=o)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var s=e.length-r;n.set(e.subarray(0,s)),i.set(e.subarray(s)),i.set(t,s)}else{var l=r-e.length;n.set(e),n.set(t.subarray(0,l),e.length),i.set(t.subarray(l))}else n=e.concat(t),i=r>=0&&r<n.length?n.splice(r,n.length):[];return[n,i]}),o=ay.redraw(e),s=[e,a.update,n,a.maxPoints];return Nv.add(e,ay.extendTraces,s,t,arguments),o},ay.addTraces=function t(e,r,n){e=ne.getGraphDiv(e);var i,a,o=[],s=ay.deleteTraces,l=t,u=[e,o],c=[e,r];for(function(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\")}(e,r,n),Array.isArray(r)||(r=[r]),r=r.map(function(t){return ne.extendFlat({},t)}),Vv.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=ay.redraw(e),Nv.add(e,s,u,l,c),a;Array.isArray(n)||(n=[n]);try{gy(e,o,n)}catch(t){throw e.data.splice(e.data.length-r.length,r.length),t}return Nv.startSequence(e),Nv.add(e,s,u,l,c),a=ay.moveTraces(e,o,n),Nv.stopSequence(e),a},ay.deleteTraces=function t(e,r){e=ne.getGraphDiv(e);var n,i,a=[],o=ay.addTraces,s=t,l=[e,a,r],u=[e,r];if(void 0===r)throw new Error(\"indices must be an integer or array of integers.\");for(Array.isArray(r)||(r=[r]),dy(e,r,\"indices\"),(r=py(r,e.data.length-1)).sort(ne.sorterDes),n=0;n<r.length;n+=1)i=e.data.splice(r[n],1)[0],a.push(i);var c=ay.redraw(e);return Nv.add(e,o,l,s,u),c},ay.moveTraces=function t(e,r,n){var i,a=[],o=[],s=t,l=t,u=[e=ne.getGraphDiv(e),n,r],c=[e,r,n];if(gy(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=py(r,e.data.length-1),n=py(n,e.data.length-1),i=0;i<e.data.length;i++)-1===r.indexOf(i)&&a.push(e.data[i]);for(i=0;i<r.length;i++)o.push({newIndex:n[i],trace:e.data[r[i]]});for(o.sort(function(t,e){return t.newIndex-e.newIndex}),i=0;i<o.length;i+=1)a.splice(o[i].newIndex,0,o[i].trace);e.data=a;var h=ay.redraw(e);return Nv.add(e,s,u,l,c),h},ay.restyle=function t(e,r,n,i){e=ne.getGraphDiv(e),Vv.clearPromiseQueue(e);var a={};if(\"string\"==typeof r)a[r]=n;else{if(!ne.isPlainObject(r))return ne.warn(\"Restyle fail.\",r,n,i),Promise.reject();a=ne.extendFlat({},r),void 0===i&&(i=n)}Object.keys(a).length&&(e.changed=!0);var o=Vv.coerceTraceIndices(e,i),s=xy(e,a,o),l=s.flags;l.clearCalc&&(e.calcdata=void 0),l.clearAxisTypes&&Vv.clearAxisTypes(e,o,{});var u=[];l.fullReplot?u.push(ay.plot):(u.push(_n.previousPromises),_n.supplyDefaults(e),l.style&&u.push(Vm.doTraceStyle),l.colorbars&&u.push(Vm.doColorBars)),u.push(_n.rehover),Nv.add(e,t,[e,s.undoit,s.traces],t,[e,s.redoit,s.traces]);var c=ne.syncOrAsync(u,e);return c&&c.then||(c=Promise.resolve()),c.then(function(){return e.emit(\"plotly_restyle\",s.eventData),e})},ay.relayout=function t(e,r,n){if(e=ne.getGraphDiv(e),Vv.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);var i={};if(\"string\"==typeof r)i[r]=n;else{if(!ne.isPlainObject(r))return ne.warn(\"Relayout fail.\",r,n),Promise.reject();i=ne.extendFlat({},r)}Object.keys(i).length&&(e.changed=!0);var a=by(e,i),o=a.flags;o.calc&&(e.calcdata=void 0),o.margins&&Vv.clearAxisAutomargins(e);var s=[_n.previousPromises];o.layoutReplot?s.push(Vm.layoutReplot):Object.keys(i).length&&(_n.supplyDefaults(e),o.legend&&s.push(Vm.doLegend),o.layoutstyle&&s.push(Vm.layoutStyles),o.ticks&&s.push(Vm.doTicksRelayout),o.modebar&&s.push(Vm.doModeBar),o.camera&&s.push(Vm.doCamera)),s.push(_n.rehover),Nv.add(e,t,[e,a.undoit],t,[e,a.redoit]);var l=ne.syncOrAsync(s,e);return l&&l.then||(l=Promise.resolve(e)),l.then(function(){return e.emit(\"plotly_relayout\",a.eventData),e})},ay.update=function t(e,r,n,i){if(e=ne.getGraphDiv(e),Vv.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);ne.isPlainObject(r)||(r={}),ne.isPlainObject(n)||(n={}),Object.keys(r).length&&(e.changed=!0),Object.keys(n).length&&(e.changed=!0);var a=Vv.coerceTraceIndices(e,i),o=xy(e,ne.extendFlat({},r),a),s=o.flags,l=by(e,ne.extendFlat({},n)),u=l.flags;(s.clearCalc||u.calc)&&(e.calcdata=void 0),s.clearAxisTypes&&Vv.clearAxisTypes(e,a,n),u.margins&&Vv.clearAxisAutomargins(e);var c=[];if(s.fullReplot&&u.layoutReplot){var h=e.data,f=e.layout;e.data=void 0,e.layout=void 0,c.push(function(){return ay.plot(e,h,f)})}else s.fullReplot?c.push(ay.plot):u.layoutReplot?c.push(Vm.layoutReplot):(c.push(_n.previousPromises),_n.supplyDefaults(e),s.style&&c.push(Vm.doTraceStyle),s.colorbars&&c.push(Vm.doColorBars),u.legend&&c.push(Vm.doLegend),u.layoutstyle&&c.push(Vm.layoutStyles),u.ticks&&c.push(Vm.doTicksRelayout),u.modebar&&c.push(Vm.doModeBar),u.camera&&c.push(Vm.doCamera));c.push(_n.rehover),Nv.add(e,t,[e,o.undoit,l.undoit,o.traces],t,[e,o.redoit,l.redoit,o.traces]);var p=ne.syncOrAsync(c,e);return p&&p.then||(p=Promise.resolve(e)),p.then(function(){return e.emit(\"plotly_update\",{data:o.eventData,layout:l.eventData}),e})},ay.react=function(t,e,r,n){var i,a;var o=(t=ne.getGraphDiv(t))._fullData,s=t._fullLayout;if(ne.isPlotDiv(t)&&o&&s){if(ne.isPlainObject(e)){var l=e;e=l.data,r=l.layout,n=l.config,i=l.frames}var u=!1;if(n){var c=ne.extendDeep({},t._context);t._context=void 0,fy(t,n),u=function t(e,r){var n;for(n in e){var i=e[n],a=r[n];if(i!==a)if(ne.isPlainObject(i)&&ne.isPlainObject(a)){if(t(i,a))return!0}else{if(!Array.isArray(i)||!Array.isArray(a))return!0;if(i.length!==a.length)return!0;for(var o=0;o<i.length;o++)if(i[o]!==a[o]){if(!ne.isPlainObject(i[o])||!ne.isPlainObject(a[o]))return!0;if(t(i[o],a[o]))return!0}}}}(c,t._context)}t.data=e||[],Vv.cleanData(t.data,[]),t.layout=r||{},Vv.cleanLayout(t.layout),_n.supplyDefaults(t);var h=t._fullData,f=t._fullLayout,p=void 0===f.datarevision,d=function(t,e,r,n){if(e.length!==r.length)return{fullReplot:!0,clearCalc:!0};var i,a,o=ye.traceFlags();o.arrays={};var s={getValObject:function(t){return nn.getTraceValObject(a,t)},flags:o,immutable:n,gd:t};for(i=0;i<e.length;i++)a=r[i],s.autoranged=!!a.xaxis&&(ri.getFromId(t,a.xaxis).autorange||ri.getFromId(t,a.yaxis).autorange),My(e[i],a,[],s);(o.calc||o.plot||o.calcIfAutorange)&&(o.fullReplot=!0);return o}(t,o,h,p),g=function(t,e,r,n){var i=ye.layoutFlags();i.arrays={},My(e,r,[],{getValObject:function(t){return nn.getLayoutValObject(r,t)},flags:i,immutable:n,gd:t}),(i.plot||i.calc)&&(i.layoutReplot=!0);return i}(t,s,f,p);_y(t)&&(g.layoutReplot=!0),(d.calc||g.calc)&&(t.calcdata=void 0),g.margins&&Vv.clearAxisAutomargins(t);var v=[];if(i&&(t._transitionData={},_n.createTransitionData(t),v.push(function(){return ay.addFrames(t,i)})),d.fullReplot||g.layoutReplot||u)t._fullLayout._skipDefaults=!0,v.push(ay.plot);else{for(var m in g.arrays){var y=g.arrays[m];if(y.length){var x=P.getComponentMethod(m,\"drawOne\");if(x!==ne.noop)for(var b=0;b<y.length;b++)x(t,y[b]);else{var _=P.getComponentMethod(m,\"draw\");if(_===ne.noop)throw new Error(\"cannot draw components: \"+m);_(t)}}}v.push(_n.previousPromises),d.style&&v.push(Vm.doTraceStyle),d.colorbars&&v.push(Vm.doColorBars),g.legend&&v.push(Vm.doLegend),g.layoutstyle&&v.push(Vm.layoutStyles),g.ticks&&v.push(Vm.doTicksRelayout),g.modebar&&v.push(Vm.doModeBar),g.camera&&v.push(Vm.doCamera)}v.push(_n.rehover),(a=ne.syncOrAsync(v,t))&&a.then||(a=Promise.resolve(t))}else a=ay.newPlot(t,e,r,n);return a.then(function(){return t.emit(\"plotly_react\",{data:e,layout:r}),t})},ay.animate=function(t,e,r){if(t=ne.getGraphDiv(t),!ne.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 n=t._transitionData;n._frameQueue||(n._frameQueue=[]);var i=(r=_n.supplyAnimationDefaults(r)).transition,a=r.frame;function o(t){return Array.isArray(i)?t>=i.length?i[0]:i[t]:i}function s(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function l(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise(function(a,u){function c(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,_n.transition(t,e.frame.data,e.frame.layout,Vv.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 t.emit(\"plotly_animated\"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function h(){t.emit(\"plotly_animating\"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&c()};e()}var f,p,d=0;function g(t){return Array.isArray(i)?d>=i.length?t.transitionOpts=i[d]:t.transitionOpts=i[0]:t.transitionOpts=i,d++,t}var v=[],m=void 0===e||null===e,y=Array.isArray(e);if(!m&&!y&&ne.isPlainObject(e))v.push({type:\"object\",data:g(ne.extendFlat({},e))});else if(m||-1!==[\"string\",\"number\"].indexOf(typeof e))for(f=0;f<n._frames.length;f++)(p=n._frames[f])&&(m||String(p.group)===String(e))&&v.push({type:\"byname\",name:String(p.name),data:g({name:p.name})});else if(y)for(f=0;f<e.length;f++){var x=e[f];-1!==[\"number\",\"string\"].indexOf(typeof x)?(x=String(x),v.push({type:\"byname\",name:x,data:g({name:x})})):ne.isPlainObject(x)&&v.push({type:\"object\",data:g(ne.extendFlat({},x))})}for(f=0;f<v.length;f++)if(\"byname\"===(p=v[f]).type&&!n._frameHash[p.data.name])return ne.warn('animate failure: frame not found: \"'+p.data.name+'\"'),void u();-1!==[\"next\",\"immediate\"].indexOf(r.mode)&&function(){if(0!==n._frameQueue.length){for(;n._frameQueue.length;){var e=n._frameQueue.pop();e.onInterrupt&&e.onInterrupt()}t.emit(\"plotly_animationinterrupted\",[])}}(),\"reverse\"===r.direction&&v.reverse();var b=t._fullLayout._currentFrame;if(b&&r.fromcurrent){var _=-1;for(f=0;f<v.length;f++)if(\"byname\"===(p=v[f]).type&&p.name===b){_=f;break}if(_>0&&_<v.length-1){var w=[];for(f=0;f<v.length;f++)p=v[f],(\"byname\"!==v[f].type||f>_)&&w.push(p);v=w}}v.length>0?function(e){if(0!==e.length){for(var i=0;i<e.length;i++){var c;c=\"byname\"===e[i].type?_n.computeFrame(t,e[i].name):e[i].data;var f=s(i),p=o(i);p.duration=Math.min(p.duration,f.duration);var d={frame:c,name:e[i].name,frameOpts:f,transitionOpts:p};i===e.length-1&&(d.onComplete=l(a,2),d.onInterrupt=u),n._frameQueue.push(d)}\"immediate\"===r.mode&&(n._lastFrameAt=-1/0),n._animationRaf||h()}}(v):(t.emit(\"plotly_animated\"),a())})},ay.addFrames=function(t,e,r){if(t=ne.getGraphDiv(t),null===e||void 0===e)return Promise.resolve();if(!ne.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=[],h={};for(n=e.length-1;n>=0;n--)if(ne.isPlainObject(e[n])){var f=e[n].name,p=(l[f]||h[f]||{}).name,d=e[n].name,g=l[p]||h[p];p&&d&&\"number\"==typeof d&&g&&uy<5&&(uy++,ne.warn('addFrames: overwriting frame \"'+(l[p]||h[p]).name+'\" with a frame whose name of type \"number\" also equates to \"'+p+'\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===uy&&ne.warn(\"addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.\")),h[f]={name:f},c.push({frame:_n.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 v=[],m=[],y=s.length;for(n=c.length-1;n>=0;n--){if(\"number\"==typeof(i=c[n].frame).name&&ne.warn(\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\"),!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++);v.push({type:\"replace\",index:a,value:i}),m.unshift({type:\"replace\",index:a,value:s[a]})}else o=Math.max(0,Math.min(c[n].index,y)),v.push({type:\"insert\",index:o,value:i}),m.unshift({type:\"delete\",index:o}),y++}var x=_n.modifyFrames,b=_n.modifyFrames,_=[t,m],w=[t,v];return Nv&&Nv.add(t,x,_,b,w),_n.modifyFrames(t,v)},ay.deleteFrames=function(t,e){if(t=ne.getGraphDiv(t),!ne.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t);var r,n,i=t._transitionData._frames,a=[],o=[];if(!e)for(e=[],r=0;r<i.length;r++)e.push(r);for((e=e.slice(0)).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=_n.modifyFrames,l=_n.modifyFrames,u=[t,o],c=[t,a];return Nv&&Nv.add(t,s,u,l,c),_n.modifyFrames(t,a)},ay.purge=function(t){var e=(t=ne.getGraphDiv(t))._fullLayout||{},r=t._fullData||[];return _n.cleanPlot([],{},r,e),_n.purge(t),ja.purge(t),e._container&&e._container.remove(),delete t._context,t};var ky={getDelay:function(t){return t._has&&(t._has(\"gl3d\")||t._has(\"gl2d\")||t._has(\"mapbox\"))?500:0},getRedrawFunc:function(t){var e=t._fullLayout||{};if(!(!(e._has&&e._has(\"polar\"))&&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()})}}},Ty=Da.EventEmitter;var Sy=function(t){var e=t.emitter||new Ty,r=new Promise(function(n,i){var a=window.Image,o=t.svg,s=t.format||\"png\";if(ne.isIE()&&\"svg\"!==s){var l=new Error(\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\");return i(l),t.promise?r:e.emit(\"error\",l)}var u=t.canvas,c=t.scale||1,h=c*(t.width||300),f=c*(t.height||150),p=u.getContext(\"2d\"),d=new a,g=\"data:image/svg+xml,\"+encodeURIComponent(o);u.width=h,u.height=f,d.onload=function(){var r;switch(\"svg\"!==s&&p.drawImage(d,0,0,h,f),s){case\"jpeg\":r=u.toDataURL(\"image/jpeg\");break;case\"png\":r=u.toDataURL(\"image/png\");break;case\"webp\":r=u.toDataURL(\"image/webp\");break;case\"svg\":r=g;break;default:var a=\"Image format is not jpeg, png, svg or webp.\";if(i(new Error(a)),!t.promise)return e.emit(\"error\",a)}n(r),t.promise||e.emit(\"success\",r)},d.onerror=function(r){if(i(r),!t.promise)return e.emit(\"error\",r)},d.src=g});return t.promise?r:e},Ey=/\"/g,Cy=new RegExp('(\"TOBESTRIPPED)|(TOBESTRIPPED\")',\"g\");var Ly=function(t,r,n){var i,a=t._fullLayout,o=a._paper,s=a._toppaper,l=a.width,u=a.height;o.insert(\"rect\",\":first-child\").call(Sr.setRect,0,0,l,u).call(Oe.fill,a.paper_bgcolor);var c=a._basePlotModules||[];for(i=0;i<c.length;i++){var h=c[i];h.toSVG&&h.toSVG(t)}if(s){var f=s.node().childNodes,p=Array.prototype.slice.call(f);for(i=0;i<p.length;i++){var d=p[i];d.childNodes.length&&o.node().appendChild(d)}}a._draggers&&a._draggers.remove(),o.node().style.background=\"\",o.selectAll(\"text\").attr({\"data-unformatted\":null,\"data-math\":null}).each(function(){var t=e.select(this);if(\"hidden\"!==this.style.visibility&&\"none\"!==this.style.display){t.style({visibility:null,display:null});var r=this.style.fontFamily;r&&-1!==r.indexOf('\"')&&t.style(\"font-family\",r.replace(Ey,\"TOBESTRIPPED\"))}else t.remove()}),o.selectAll(\".point,.scatterpts\").each(function(){var t=e.select(this),r=this.style.fill;r&&-1!==r.indexOf(\"url(\")&&t.style(\"fill\",r.replace(Ey,\"TOBESTRIPPED\"))}),\"pdf\"!==r&&\"eps\"!==r||o.selectAll(\"#MathJax_SVG_glyphs path\").attr(\"stroke-width\",0),o.node().setAttributeNS($e.xmlns,\"xmlns\",$e.svg),o.node().setAttributeNS($e.xmlns,\"xmlns:xlink\",$e.xlink),\"svg\"===r&&n&&(o.attr(\"width\",n*l),o.attr(\"height\",n*u),o.attr(\"viewBox\",\"0 0 \"+l+\" \"+u));var g=(new window.XMLSerializer).serializeToString(o.node());return g=function(t){var r=e.select(\"body\").append(\"div\").style({display:\"none\"}).html(\"\"),n=t.replace(/(&[^;]*;)/gi,function(t){return\"&lt;\"===t?\"&#60;\":\"&rt;\"===t?\"&#62;\":-1!==t.indexOf(\"<\")||-1!==t.indexOf(\">\")?\"\":r.html(t).text()});return r.remove(),n}(g),g=(g=g.replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g,\"&amp;\")).replace(Cy,\"'\"),ne.isIE()&&(g=(g=(g=g.replace(/\"/gi,\"'\")).replace(/(\\('#)([^']*)('\\))/gi,'(\"#$2\")')).replace(/(\\\\')/gi,'\"')),g},zy={format:{valType:\"enumerated\",values:[\"png\",\"jpeg\",\"webp\",\"svg\"],dflt:\"png\"},width:{valType:\"number\",min:1},height:{valType:\"number\",min:1},scale:{valType:\"number\",min:0,dflt:1},setBackground:{valType:\"any\",dflt:!1},imageDataOnly:{valType:\"boolean\",dflt:!1}},Py=/^data:image\\/\\w+;base64,/;var Iy=function(t,e){var r,n,i;function a(t){return!(t in e)||ne.validate(e[t],zy[t])}if(e=e||{},ne.isPlainObject(t)?(r=t.data||[],n=t.layout||{},i=t.config||{}):(t=ne.getGraphDiv(t),r=ne.extendDeep([],t.data),n=ne.extendDeep({},t.layout),i=t._context),!a(\"width\")||!a(\"height\"))throw new Error(\"Height and width should be pixel values.\");if(!a(\"format\"))throw new Error(\"Image format is not jpeg, png, svg or webp.\");var o={};function s(t,r){return ne.coerce(e,o,zy,t,r)}var l=s(\"format\"),u=s(\"width\"),c=s(\"height\"),h=s(\"scale\"),f=s(\"setBackground\"),p=s(\"imageDataOnly\"),d=document.createElement(\"div\");d.style.position=\"absolute\",d.style.left=\"-5000px\",document.body.appendChild(d);var g=ne.extendFlat({},n);u&&(g.width=u),c&&(g.height=c);var v=ne.extendFlat({},i,{staticPlot:!0,setBackground:f}),m=ky.getRedrawFunc(d);function y(){return new Promise(function(t){setTimeout(t,ky.getDelay(d._fullLayout))})}function x(){return new Promise(function(t,e){var r=Ly(d,l,h),n=d._fullLayout.width,i=d._fullLayout.height;if(ay.purge(d),document.body.removeChild(d),\"svg\"===l)return t(p?r:\"data:image/svg+xml,\"+encodeURIComponent(r));var a=document.createElement(\"canvas\");a.id=ne.randstr(),Sy({format:l,width:n,height:i,scale:h,canvas:a,svg:r,promise:!0}).then(t).catch(e)})}return new Promise(function(t,e){ay.plot(d,r,g,v).then(m).then(y).then(x).then(function(e){t(function(t){return p?t.replace(Py,\"\"):t}(e))}).catch(function(t){e(t)})})},Dy=ne.isPlainObject,Oy=Array.isArray,Ry=ne.isArrayOrTypedArray;function Fy(t,e,r,n,i,a){a=a||[];for(var o=Object.keys(t),s=0;s<o.length;s++){var l=o[s];if(\"transforms\"!==l){var u=a.slice();u.push(l);var c=t[l],h=e[l],f=Uy(r,l),p=\"info_array\"===(f||{}).valType,d=\"colorscale\"===(f||{}).valType,g=(f||{}).items;if(Vy(r,l))if(Dy(c)&&Dy(h))Fy(c,h,f,n,i,u);else if(p&&Oy(c)){c.length>h.length&&n.push(jy(\"unused\",i,u.concat(h.length)));var v,m,y,x,b,_=h.length,w=Array.isArray(g);if(w&&(_=Math.min(_,g.length)),2===f.dimensions)for(m=0;m<_;m++)if(Oy(c[m])){c[m].length>h[m].length&&n.push(jy(\"unused\",i,u.concat(m,h[m].length)));var M=h[m].length;for(v=0;v<(w?Math.min(M,g[m].length):M);v++)y=w?g[m][v]:g,x=c[m][v],b=h[m][v],ne.validate(x,y)?b!==x&&b!==+x&&n.push(jy(\"dynamic\",i,u.concat(m,v),x,b)):n.push(jy(\"value\",i,u.concat(m,v),x))}else n.push(jy(\"array\",i,u.concat(m),c[m]));else for(m=0;m<_;m++)y=w?g[m]:g,x=c[m],b=h[m],ne.validate(x,y)?b!==x&&b!==+x&&n.push(jy(\"dynamic\",i,u.concat(m),x,b)):n.push(jy(\"value\",i,u.concat(m),x))}else if(f.items&&!p&&Oy(c)){var A,k,T=g[Object.keys(g)[0]],S=[];for(A=0;A<h.length;A++){var E=h[A]._index||A;(k=u.slice()).push(E),Dy(c[E])&&Dy(h[A])&&(S.push(E),Fy(c[E],h[A],T,n,i,k))}for(A=0;A<c.length;A++)(k=u.slice()).push(A),Dy(c[A])?-1===S.indexOf(A)&&n.push(jy(\"unused\",i,k)):n.push(jy(\"object\",i,k,c[A]))}else!Dy(c)&&Dy(h)?n.push(jy(\"object\",i,u,c)):Ry(c)||!Ry(h)||p||d?l in e?ne.validate(c,f)?\"enumerated\"===f.valType&&(f.coerceNumber&&c!==+h||c!==h)&&n.push(jy(\"dynamic\",i,u,c,h)):n.push(jy(\"value\",i,u,c)):n.push(jy(\"unused\",i,u,c)):n.push(jy(\"array\",i,u,c));else n.push(jy(\"schema\",i,u))}}return n}var By={object:function(t,e){return(\"layout\"===t&&\"\"===e?\"The layout argument\":\"data\"===t[0]&&\"\"===e?\"Trace \"+t[1]+\" in the data argument\":Ny(t)+\"key \"+e)+\" must be linked to an object container\"},array:function(t,e){return(\"data\"===t?\"The data argument\":Ny(t)+\"key \"+e)+\" must be linked to an array container\"},schema:function(t,e){return Ny(t)+\"key \"+e+\" is not part of the schema\"},unused:function(t,e,r){var n=Dy(r)?\"container\":\"key\";return Ny(t)+n+\" \"+e+\" did not get coerced\"},dynamic:function(t,e,r,n){return[Ny(t)+\"key\",e,\"(set to '\"+r+\"')\",\"got reset to\",\"'\"+n+\"'\",\"during defaults.\"].join(\" \")},invisible:function(t){return\"Trace \"+t[1]+\" got defaulted to be not visible\"},value:function(t,e,r){return[Ny(t)+\"key \"+e,\"is set to an invalid value (\"+r+\")\"].join(\" \")}};function Ny(t){return Oy(t)?\"In data trace \"+t[1]+\", \":\"In \"+t+\", \"}function jy(t,e,r,n,i){var a,o;r=r||\"\",Oy(e)?(a=e[0],o=e[1]):(a=e,o=null);var s=function(t){if(!Oy(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}(r),l=By[t](e,s,n,i);return ne.log(l),{code:t,container:a,trace:o,path:r,astr:s,msg:l}}function Vy(t,e){var r=Hy(e),n=r.keyMinusId,i=r.id;return!!(n in t&&t[n]._isSubplotObj&&i)||e in t}function Uy(t,e){return t[Hy(e).keyMinusId]}var qy=ne.counterRegex(\"([a-z]+)\");function Hy(t){var e=t.match(qy);return{keyMinusId:e&&e[1],id:e&&e[2]}}var Gy=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){if(\"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){var s=t.split(/^data:image\\/svg\\+xml,/)[1],l=decodeURIComponent(s);navigator.msSaveBlob(new Blob([l]),e),a(e)}o(new Error(\"download error\"))})};var Wy=function(t,e){return(e=e||{}).format=e.format||\"png\",new Promise(function(r,n){t._snapshotInProgress&&n(new Error(\"Snapshotting already in progress.\")),ne.isIE()&&\"svg\"!==e.format&&n(new Error(\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\")),t._snapshotInProgress=!0;var i=Iy(t,e),a=e.filename||t.fn||\"newplot\";a+=\".\"+e.format,i.then(function(e){return t._snapshotInProgress=!1,Gy(e,a)}).then(function(t){r(t)}).catch(function(e){t._snapshotInProgress=!1,n(e)})})},Yy={};Yy.plot=ay.plot,Yy.newPlot=ay.newPlot,Yy.restyle=ay.restyle,Yy.relayout=ay.relayout,Yy.redraw=ay.redraw,Yy.update=ay.update,Yy.react=ay.react,Yy.extendTraces=ay.extendTraces,Yy.prependTraces=ay.prependTraces,Yy.addTraces=ay.addTraces,Yy.deleteTraces=ay.deleteTraces,Yy.moveTraces=ay.moveTraces,Yy.purge=ay.purge,Yy.addFrames=ay.addFrames,Yy.deleteFrames=ay.deleteFrames,Yy.animate=ay.animate,Yy.setPlotConfig=ay.setPlotConfig,Yy.toImage=Iy,Yy.validate=function(t,e){var r,n,i=nn.get(),a=[],o={_context:ne.extendFlat({},b)};Oy(t)?(o.data=ne.extendDeep([],t),r=t):(o.data=[],r=[],a.push(jy(\"array\",\"data\"))),Dy(e)?(o.layout=ne.extendDeep({},e),n=e):(o.layout={},n={},arguments.length>1&&a.push(jy(\"object\",\"layout\"))),_n.supplyDefaults(o);for(var s=o._fullData,l=r.length,u=0;u<l;u++){var c=r[u],h=[\"data\",u];if(Dy(c)){var f=s[u],p=f.type,d=i.traces[p].attributes;d.type={valType:\"enumerated\",values:[p]},!1===f.visible&&!1!==c.visible&&a.push(jy(\"invisible\",h)),Fy(c,f,d,a,h);var g=c.transforms,v=f.transforms;if(g){Oy(g)||a.push(jy(\"array\",h,[\"transforms\"])),h.push(\"transforms\");for(var m=0;m<g.length;m++){var y=[\"transforms\",m],x=g[m].type;if(Dy(g[m])){var _=i.transforms[x]?i.transforms[x].attributes:{};_.type={valType:\"enumerated\",values:Object.keys(i.transforms)},Fy(g[m],v[m],_,a,h,y)}else a.push(jy(\"object\",h,y))}}}else a.push(jy(\"object\",h))}return Fy(n,o._fullLayout,function(t,e){for(var r=0;r<e.length;r++){var n=e[r].type,i=t.traces[n].layoutAttributes;i&&ne.extendFlat(t.layout.layoutAttributes,i)}return t.layout.layoutAttributes}(i,s),a,\"layout\"),0===a.length?void 0:a},Yy.downloadImage=Wy;var Xy=ne.extendFlat,Zy=ne.extendDeep;function Jy(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}var Ky=function(t,e){var r;t.framework&&t.framework.isPolar&&(t=t.framework.getConfig());var n,i=t.data,a=t.layout,o=Zy([],i),s=Zy({},a,Jy(e.tileClass)),l=t._context||{};if(e.width&&(s.width=e.width),e.height&&(s.height=e.height),\"thumbnail\"===e.tileClass||\"themes__thumb\"===e.tileClass){s.annotations=[];var u=Object.keys(s);for(r=0;r<u.length;r++)n=u[r],[\"xaxis\",\"yaxis\",\"zaxis\"].indexOf(n.slice(0,5))>-1&&(s[u[r]].title=\"\");for(r=0;r<o.length;r++){var c=o[r];c.showscale=!1,c.marker&&(c.marker.showscale=!1),\"pie\"===c.type&&(c.textposition=\"none\")}}if(Array.isArray(e.annotations))for(r=0;r<e.annotations.length;r++)s.annotations.push(e.annotations[r]);var h=Object.keys(s).filter(function(t){return t.match(/^scene\\d*$/)});if(h.length){var f={};for(\"thumbnail\"===e.tileClass&&(f={title:\"\",showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<h.length;r++){var p=s[h[r]];p.xaxis||(p.xaxis={}),p.yaxis||(p.yaxis={}),p.zaxis||(p.zaxis={}),Xy(p.xaxis,f),Xy(p.yaxis,f),Xy(p.zaxis,f),p._scene=null}}var d=document.createElement(\"div\");e.tileClass&&(d.className=e.tileClass);var g={gd:d,td:d,layout:s,data:o,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,mapboxAccessToken:l.mapboxAccessToken}};return\"transparent\"!==e.setBackground&&(g.config.setBackground=e.setBackground||\"opaque\"),g.gd.defaultLayout=Jy(e.tileClass),g},Qy=Da.EventEmitter;var $y=function(t,e){var r=new Qy,n=Ky(t,{format:\"png\"}),i=n.gd;i.style.position=\"absolute\",i.style.left=\"-5000px\",document.body.appendChild(i);var a=ky.getRedrawFunc(i);return P.call(\"plot\",i,n.data,n.layout,n.config).then(a).then(function(){var t=ky.getDelay(i._fullLayout);setTimeout(function(){var t=Ly(i),n=document.createElement(\"canvas\");n.id=ne.randstr(),(r=Sy({format:e.format,width:i._fullLayout.width,height:i._fullLayout.height,canvas:n,emitter:r,svg:t})).clean=function(){i&&document.body.removeChild(i)}},t)}).catch(function(t){r.emit(\"error\",t)}),r},tx={getDelay:ky.getDelay,getRedrawFunc:ky.getRedrawFunc,clone:Ky,toSVG:Ly,svgToImg:Sy,toImage:$y,downloadImage:Wy},ex=function(t){Tr.hasLines(t)&&Xe(t,\"line\")&&Ve(t,t.line.color,\"line\",\"c\"),Tr.hasMarkers(t)&&(Xe(t,\"marker\")&&Ve(t,t.marker.color,\"marker\",\"c\"),Xe(t,\"marker.line\")&&Ve(t,t.marker.line.color,\"marker.line\",\"c\"))},rx=ne.isArrayOrTypedArray,nx=t.BADNUM;function ix(t,e,r,n,i,a,o){var s=e._length;r._minDtick=0,n._minDtick=0;var l={padded:!0},u={padded:!0};o&&(l.ppad=u.ppad=o),!(\"tozerox\"===e.fill||\"tonextx\"===e.fill&&t.firstscatter)||i[0]===i[s-1]&&a[0]===a[s-1]?e.error_y.visible||-1===[\"tonexty\",\"tozeroy\"].indexOf(e.fill)&&(Tr.hasMarkers(e)||Tr.hasText(e))||(l.padded=!1,l.ppad=0):l.tozero=!0,!(\"tozeroy\"===e.fill||\"tonexty\"===e.fill&&t.firstscatter)||i[0]===i[s-1]&&a[0]===a[s-1]?-1!==[\"tonextx\",\"tozerox\"].indexOf(e.fill)&&(u.padded=!1):u.tozero=!0,ri.expand(r,i,l),ri.expand(n,a,u)}function ax(t,e){if(Tr.hasMarkers(t)){var r,n=t.marker,i=1.6*(t.marker.sizeref||1);if(r=\"area\"===t.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/i),3)}:function(t){return Math.max((t||0)/i,3)},rx(n.size)){var a={type:\"linear\"};ri.setConvert(a);for(var o=a.makeCalcdata(t.marker,\"size\"),s=new Array(e),l=0;l<e;l++)s[l]=r(o[l]);return s}return r(n.size)}}var ox=function(t,e){var n=ri.getFromId(t,e.xaxis||\"x\"),i=ri.getFromId(t,e.yaxis||\"y\"),a=n.makeCalcdata(e,\"x\"),o=i.makeCalcdata(e,\"y\"),s=e._length,l=new Array(s);ix(t,e,n,i,a,o,ax(e,s));for(var u=0;u<s;u++)l[u]=r(a[u])&&r(o[u])?{x:a[u],y:o[u]}:{x:nx,y:nx},e.ids&&(l[u].id=String(e.ids[u]));return dh(l,e),ex(e),Ma(l,e),t.firstscatter=!1,l},sx=ax,lx=ix,ux=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}}}}},cx=ne.isArrayOrTypedArray,hx=function(t,e,r,n){var i=!1;if(e.marker){var a=e.marker.color,o=(e.marker.line||{}).color;a&&!cx(a)?i=a:o&&!cx(o)&&(i=o)}n(\"fillcolor\",Oe.addOpacity((e.line||{}).color||i||r,.5))},fx=ne.isArrayOrTypedArray,px=function(t,e,r,n,i,a){var o=(t.marker||{}).color;(i(\"line.color\",r),Xe(t,\"line\"))?Ye(t,e,n,i,{prefix:\"line.\",cLetter:\"c\"}):i(\"line.color\",!fx(o)&&o||r);i(\"line.width\"),(a||{}).noDash||i(\"line.dash\")},dx=function(t,e,r){\"spline\"===r(\"line.shape\")&&r(\"line.smoothing\")},gx=function(t,e,r,n,i,a){var o=Tr.isBubble(t),s=(t.line||{}).color;(a=a||{},s&&(r=s),i(\"marker.symbol\"),i(\"marker.opacity\",o?.7:1),i(\"marker.size\"),i(\"marker.color\",r),Xe(t,\"marker\")&&Ye(t,e,n,i,{prefix:\"marker.\",cLetter:\"c\"}),a.noSelect||(i(\"selected.marker.color\"),i(\"unselected.marker.color\"),i(\"selected.marker.size\"),i(\"unselected.marker.size\")),a.noLine||(i(\"marker.line.color\",s&&!Array.isArray(s)&&e.marker.color!==s?s:o?Oe.background:Oe.defaultLine),Xe(t,\"marker.line\")&&Ye(t,e,n,i,{prefix:\"marker.line.\",cLetter:\"c\"}),i(\"marker.line.width\",o?1:0)),o&&(i(\"marker.sizeref\"),i(\"marker.sizemin\"),i(\"marker.sizemode\")),a.gradient)&&(\"none\"!==i(\"marker.gradient.type\")&&i(\"marker.gradient.color\"))},vx=function(t,e,r,n,i){i=i||{},n(\"textposition\"),ne.coerceFont(n,\"textfont\",r.font),i.noSelect||(n(\"selected.textfont.color\"),n(\"unselected.textfont.color\"))},mx=function(t,e){var r,n;if(\"lines\"===t.mode)return(r=t.line.color)&&Oe.opacity(r)?r:t.fillcolor;if(\"none\"===t.mode)return t.fill?t.fillcolor:\"\";var i=e.mcc||(t.marker||{}).color,a=e.mlcc||((t.marker||{}).line||{}).color;return(n=i&&Oe.opacity(i)?i:a&&Oe.opacity(a)&&(e.mlw||((t.marker||{}).line||{}).width)?a:\"\")?Oe.opacity(n)<.3?Oe.addOpacity(n,.3):n:(r=(t.line||{}).color)&&Oe.opacity(r)&&Tr.hasLines(t)&&t.line.width?r:t.fillcolor},yx=function(t,e,r,n){var i=t.cd,a=i[0].trace,o=t.xa,s=t.ya,l=o.c2p(e),u=s.c2p(r),c=[l,u],h=a.hoveron||\"\",f=-1!==a.mode.indexOf(\"markers\")?3:.5;if(-1!==h.indexOf(\"points\")){var p=function(t){var e=Math.max(f,t.mrc||0),r=o.c2p(t.x)-l,n=s.c2p(t.y)-u;return Math.max(Math.sqrt(r*r+n*n)-e,1-f/e)},d=yo.getDistanceFunction(n,function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(o.c2p(t.x)-l);return n<e?r*n/e:n-e+r},function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(s.c2p(t.y)-u);return n<e?r*n/e:n-e+r},p);if(yo.getClosest(i,d,t),!1!==t.index){var g=i[t.index],v=o.c2p(g.x,!0),m=s.c2p(g.y,!0),y=g.mrc||1;return ne.extendFlat(t,{color:mx(a,g),x0:v-y,x1:v+y,xLabelVal:g.x,y0:m-y,y1:m+y,yLabelVal:g.y,spikeDistance:p(g)}),xo(g,a,t),P.getComponentMethod(\"errorbars\",\"hoverInfo\")(g,a,t),[t]}}if(-1!==h.indexOf(\"fills\")&&a._polygons){var x,b,_,w,M,A,k,T,S,E=a._polygons,C=[],L=!1,z=1/0,I=-1/0,D=1/0,O=-1/0;for(x=0;x<E.length;x++)(_=E[x]).contains(c)&&(L=!L,C.push(_),D=Math.min(D,_.ymin),O=Math.max(O,_.ymax));if(L){var R=((D=Math.max(D,0))+(O=Math.min(O,s._length)))/2;for(x=0;x<C.length;x++)for(w=C[x].pts,b=1;b<w.length;b++)(T=w[b-1][1])>R!=(S=w[b][1])>=R&&(A=w[b-1][0],k=w[b][0],S-T&&(M=A+(k-A)*(R-T)/(S-T),z=Math.min(z,M),I=Math.max(I,M)));z=Math.max(z,0),I=Math.min(I,o._length);var F=Oe.defaultLine;return Oe.opacity(a.fillcolor)?F=a.fillcolor:Oe.opacity((a.line||{}).color)&&(F=a.line.color),ne.extendFlat(t,{distance:t.maxHoverDistance,x0:z,x1:I,y0:R,y1:R,color:F}),delete t.index,a.text&&!Array.isArray(a.text)?t.text=String(a.text):t.text=a.name,[t]}}},xx=t.BADNUM,bx=ne.segmentsIntersect,_x=ne.constrain,wx=function(t,e){var r,n,i,a,o,s,l,u,c,h,f,p,d,g,v,m,y=e.xaxis,x=e.yaxis,b=e.simplify,_=e.connectGaps,w=e.baseTolerance,M=e.shape,A=\"linear\"===M,k=[],T=Wr.minTolerance,S=new Array(t.length),E=0;function C(e){var r=t[e],n=y.c2p(r.x),i=x.c2p(r.y);return n===xx||i===xx?r.intoCenter||!1:[n,i]}function L(t){var e=t[0]/y._length,r=t[1]/x._length;return(1+Wr.toleranceGrowth*Math.max(0,-e,e-1,-r,r-1))*w}function z(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}b||(w=T=-1);var P,I,D,O,R,F,B,N=Wr.maxScreensAway,j=-y._length*N,V=y._length*(1+N),U=-x._length*N,q=x._length*(1+N),H=[[j,U,V,U],[V,U,V,q],[V,q,j,q],[j,q,j,U]];function G(t){if(t[0]<j||t[0]>V||t[1]<U||t[1]>q)return[_x(t[0],j,V),_x(t[1],U,q)]}function W(t,e){return t[0]===e[0]&&(t[0]===j||t[0]===V)||(t[1]===e[1]&&(t[1]===U||t[1]===q)||void 0)}function Y(t,e,r){return function(n,i){var a=G(n),o=G(i),s=[];if(a&&o&&W(a,o))return s;a&&s.push(a),o&&s.push(o);var l=2*ne.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);l&&((a&&o?l>0==a[t]>o[t]?a:o:a||o)[t]+=l);return s}}function X(t){var e=t[0],r=t[1],n=e===S[E-1][0],i=r===S[E-1][1];if(!n||!i)if(E>1){var a=e===S[E-2][0],o=r===S[E-2][1];n&&(e===j||e===V)&&a?o?E--:S[E-1]=t:i&&(r===U||r===q)&&o?a?E--:S[E-1]=t:S[E++]=t}else S[E++]=t}function Z(t){S[E-1][0]!==t[0]&&S[E-1][1]!==t[1]&&X([D,O]),X(t),R=null,D=O=0}function J(t){if(P=t[0]<j?j:t[0]>V?V:0,I=t[1]<U?U:t[1]>q?q:0,P||I){if(E)if(R){var e=B(R,t);e.length>1&&(Z(e[0]),S[E++]=e[1])}else F=B(S[E-1],t)[0],S[E++]=F;else S[E++]=[P||t[0],I||t[1]];var r=S[E-1];P&&I&&(r[0]!==P||r[1]!==I)?(R&&(D!==P&&O!==I?X(D&&O?(n=R,a=(i=t)[0]-n[0],o=(i[1]-n[1])/a,(n[1]*i[0]-i[1]*n[0])/a>0?[o>0?j:V,q]:[o>0?V:j,U]):[D||P,O||I]):D&&O&&X([D,O])),X([P,I])):D-P&&O-I&&X([P||D,I||O]),R=t,D=P,O=I}else R&&Z(B(R,t)[0]),S[E++]=t;var n,i,a,o}for(\"linear\"===M||\"spline\"===M?B=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=H[i],o=bx(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&z(o,t)<z(r[0],t)?r.unshift(o):r.push(o),n++)}return r}:\"hv\"===M||\"vh\"===M?B=function(t,e){var r=[],n=G(t),i=G(e);return n&&i&&W(n,i)?r:(n&&r.push(n),i&&r.push(i),r)}:\"hvh\"===M?B=Y(0,j,V):\"vhv\"===M&&(B=Y(1,U,q)),r=0;r<t.length;r++)if(n=C(r)){for(E=0,R=null,J(n),r++;r<t.length;r++){if(!(a=C(r))){if(_)continue;break}if(A){if(!((h=z(a,n))<L(a)*T)){for(u=[(a[0]-n[0])/h,(a[1]-n[1])/h],o=n,f=h,p=g=v=0,l=!1,i=a,r++;r<t.length;r++){if(!(s=C(r))){if(_)continue;break}if(m=(c=[s[0]-n[0],s[1]-n[1]])[0]*u[1]-c[1]*u[0],g=Math.min(g,m),(v=Math.max(v,m))-g>L(s))break;i=s,(d=c[0]*u[0]+c[1]*u[1])>f?(f=d,a=s,l=!1):d<p&&(p=d,o=s,l=!0)}if(l?(J(a),i!==o&&J(o)):(o!==n&&J(o),i!==a&&J(a)),J(i),r>=t.length||!s)break;J(s),n=s}}else J(a)}R&&X([D||R[0],O||R[1]]),k.push(S.slice(0,E))}return k},Mx=function(t,e,r){var n,i,a=null;for(i=0;i<r.length;++i)!0===(n=r[i][0].trace).visible?(n._nexttrace=null,-1!==[\"tonextx\",\"tonexty\",\"tonext\"].indexOf(n.fill)&&(n._prevtrace=a,a&&(a._nexttrace=n)),a=n):n._prevtrace=n._nexttrace=null},Ax=cc.tester,kx=function(t,r,n,i,a){var o,s,l,u,c=r.plot.select(\"g.scatterlayer\"),h=!i,f=!!i&&i.duration>0;for((l=c.selectAll(\"g.trace\").data(n,function(t){return t[0].trace.uid})).enter().append(\"g\").attr(\"class\",function(t){return\"trace scatter trace\"+t[0].trace.uid}).style(\"stroke-miterlimit\",2),Mx(t,r,n),function(t,r,n){var i;r.selectAll(\"g.trace\").each(function(t){var r=e.select(this);if((i=t[0].trace)._nexttrace){if(i._nextFill=r.select(\".js-fill.js-tonext\"),!i._nextFill.size()){var a=\":first-child\";r.select(\".js-fill.js-tozero\").size()&&(a+=\" + *\"),i._nextFill=r.insert(\"path\",a).attr(\"class\",\"js-fill js-tonext\")}}else r.selectAll(\".js-fill.js-tonext\").remove(),i._nextFill=null;i.fill&&(\"tozero\"===i.fill.substr(0,6)||\"toself\"===i.fill||\"to\"===i.fill.substr(0,2)&&!i._prevtrace)?(i._ownFill=r.select(\".js-fill.js-tozero\"),i._ownFill.size()||(i._ownFill=r.insert(\"path\",\":first-child\").attr(\"class\",\"js-fill js-tozero\"))):(r.selectAll(\".js-fill.js-tozero\").remove(),i._ownFill=null),r.selectAll(\".js-fill\").call(Sr.setClipUrl,n.layerClipId)})}(0,c,r),o=0,s={};o<n.length;o++)s[n[o][0].trace.uid]=o;(c.selectAll(\"g.trace\").sort(function(t,e){return s[t[0].trace.uid]>s[e[0].trace.uid]?1:-1}),f)?(a&&(u=a()),e.transition().duration(i.duration).ease(i.easing).each(\"end\",function(){u&&u()}).each(\"interrupt\",function(){u&&u()}).each(function(){c.selectAll(\"g.trace\").each(function(e,a){Tx(t,a,r,e,n,this,i)})})):c.selectAll(\"g.trace\").each(function(e,a){Tx(t,a,r,e,n,this,i)});h&&l.exit().remove(),c.selectAll(\"path:not([d])\").remove()};function Tx(t,r,n,i,a,o,s){var l,u;!function(t,r,n,i,a){var o=n.xaxis,s=n.yaxis,l=e.extent(ne.simpleMap(o.range,o.r2c)),u=e.extent(ne.simpleMap(s.range,s.r2c)),c=i[0].trace;if(!Tr.hasMarkers(c))return;var h=c.marker.maxdisplayed;if(0===h)return;var f=i.filter(function(t){return t.x>=l[0]&&t.x<=l[1]&&t.y>=u[0]&&t.y<=u[1]}),p=Math.ceil(f.length/h),d=0;a.forEach(function(t,e){var n=t[0].trace;Tr.hasMarkers(n)&&n.marker.maxdisplayed>0&&e<r&&d++});var g=Math.round(d*p/3+Math.floor(d/3)*p/7.1);i.forEach(function(t){delete t.vis}),f.forEach(function(t,e){0===Math.round((e+g)%p)&&(t.vis=!0)})}(0,r,n,i,a);var c=!!s&&s.duration>0;function h(t){return c?t.transition():t}var f=n.xaxis,p=n.yaxis,d=i[0].trace,g=d.line,v=e.select(o);if(P.getComponentMethod(\"errorbars\",\"plot\")(v,n,s),!0===d.visible){var m,y;h(v).style(\"opacity\",d.opacity);var x=d.fill.charAt(d.fill.length-1);\"x\"!==x&&\"y\"!==x&&(x=\"\"),i[0].node3=v;var b=\"\",_=[],w=d._prevtrace;w&&(b=w._prevRevpath||\"\",y=w._nextFill,_=w._polygons);var M,A,k,T,S,E,C,L,z,I=\"\",D=\"\",O=[],R=ne.noop;if(m=d._ownFill,Tr.hasLines(d)||\"none\"!==d.fill){for(y&&y.datum(i),-1!==[\"hv\",\"vh\",\"hvh\",\"vhv\"].indexOf(g.shape)?(k=Sr.steps(g.shape),T=Sr.steps(g.shape.split(\"\").reverse().join(\"\"))):k=T=\"spline\"===g.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?Sr.smoothclosed(t.slice(1),g.smoothing):Sr.smoothopen(t,g.smoothing)}:function(t){return\"M\"+t.join(\"L\")},S=function(t){return T(t.reverse())},O=wx(i,{xaxis:f,yaxis:p,connectGaps:d.connectgaps,baseTolerance:Math.max(g.width||1,3)/4,shape:g.shape,simplify:g.simplify}),z=d._polygons=new Array(O.length),u=0;u<O.length;u++)d._polygons[u]=Ax(O[u]);O.length&&(E=O[0][0],L=(C=O[O.length-1])[C.length-1]),R=function(t){return function(r){if(M=k(r),A=S(r),I?x?(I+=\"L\"+M.substr(1),D=A+\"L\"+D.substr(1)):(I+=\"Z\"+M,D=A+\"Z\"+D):(I=M,D=A),Tr.hasLines(d)&&r.length>1){var n=e.select(this);if(n.datum(i),t)h(n.style(\"opacity\",0).attr(\"d\",M).call(Sr.lineGroupStyle)).style(\"opacity\",1);else{var a=h(n);a.attr(\"d\",M),Sr.singleLineStyle(i,a)}}}}}var F=v.selectAll(\".js-line\").data(O);h(F.exit()).style(\"opacity\",0).remove(),F.each(R(!1)),F.enter().append(\"path\").classed(\"js-line\",!0).style(\"vector-effect\",\"non-scaling-stroke\").call(Sr.lineGroupStyle).each(R(!0)),Sr.setClipUrl(F,n.layerClipId),O.length?(m?E&&L&&(x?(\"y\"===x?E[1]=L[1]=p.c2p(0,!0):\"x\"===x&&(E[0]=L[0]=f.c2p(0,!0)),h(m).attr(\"d\",\"M\"+L+\"L\"+E+\"L\"+I.substr(1)).call(Sr.singleFillStyle)):h(m).attr(\"d\",I+\"Z\").call(Sr.singleFillStyle)):y&&(\"tonext\"===d.fill.substr(0,6)&&I&&b?(\"tonext\"===d.fill?h(y).attr(\"d\",I+\"Z\"+b+\"Z\").call(Sr.singleFillStyle):h(y).attr(\"d\",I+\"L\"+b.substr(1)+\"Z\").call(Sr.singleFillStyle),d._polygons=d._polygons.concat(_)):(N(y),d._polygons=null)),d._prevRevpath=D,d._prevPolygons=z):(m?N(m):y&&N(y),d._polygons=d._prevRevpath=d._prevPolygons=null);var B=v.selectAll(\".points\");l=B.data([i]),B.each(H),l.enter().append(\"g\").classed(\"points\",!0).each(H),l.exit().remove(),l.each(function(t){var r=!1===t[0].trace.cliponaxis;Sr.setClipUrl(e.select(this),r?null:n.layerClipId)})}function N(t){h(t).attr(\"d\",\"M0,0Z\")}function j(t){return t.filter(function(t){return t.vis})}function V(t){return t.id}function U(t){if(t.ids)return V}function q(){return!1}function H(r){var i,a=r[0].trace,o=e.select(this),s=Tr.hasMarkers(a),l=Tr.hasText(a),u=U(a),d=q,g=q;s&&(d=a.marker.maxdisplayed||a._needsCull?j:ne.identity),l&&(g=a.marker.maxdisplayed||a._needsCull?j:ne.identity);var v=(i=o.selectAll(\"path.point\").data(d,u)).enter().append(\"path\").classed(\"point\",!0);c&&v.call(Sr.pointStyle,a,t).call(Sr.translatePoints,f,p).style(\"opacity\",0).transition().style(\"opacity\",1);var m=s&&Sr.tryColorscale(a.marker,\"\"),y=s&&Sr.tryColorscale(a.marker,\"line\");i.order(),i.each(function(r){var i=e.select(this),o=h(i);Sr.translatePoint(r,o,f,p)?(Sr.singlePointStyle(r,o,a,m,y,t),n.layerClipId&&Sr.hideOutsideRangePoint(r,o,f,p,a.xcalendar,a.ycalendar),a.customdata&&i.classed(\"plotly-customdata\",null!==r.data&&void 0!==r.data)):o.remove()}),c?i.exit().transition().style(\"opacity\",0).remove():i.exit().remove(),(i=o.selectAll(\"g\").data(g,u)).enter().append(\"g\").classed(\"textpoint\",!0).append(\"text\"),i.order(),i.each(function(t){var r=e.select(this),i=h(r.select(\"text\"));Sr.translatePoint(t,i,f,p)?n.layerClipId&&Sr.hideOutsideRangePoint(t,r,f,p,a.xcalendar,a.ycalendar):r.remove()}),i.selectAll(\"text\").call(Sr.textPointStyle,a,t).each(function(t){var r=f.c2p(t.x),n=p.c2p(t.y);e.select(this).selectAll(\"tspan.line\").each(function(){h(e.select(this)).attr({x:r,y:n})})}),i.exit().remove()}}var Sx=function(t,e){var r,n,i,a,o=t.cd,s=t.xaxis,l=t.yaxis,u=[],c=o[0].trace;if(!Tr.hasMarkers(c)&&!Tr.hasText(c))return[];if(!1===e)for(r=0;r<o.length;r++)o[r].selected=0;else for(r=0;r<o.length;r++)n=o[r],i=s.c2p(n.x),a=l.c2p(n.y),e.contains([i,a])?(u.push({pointNumber:r,x:s.c2d(n.x),y:l.c2d(n.y)}),n.selected=1):n.selected=0;return u};function Ex(t,e,r){var n=t.selectAll(\"path.point\"),i=t.selectAll(\"text\");Sr.pointStyle(n,e,r),Sr.textPointStyle(i,e,r),Sr.selectedPointStyle(n,e),Sr.selectedTextStyle(i,e)}var Cx={style:function(t,r){var n=r?r[0].node3:e.select(t).selectAll(\"g.trace.scatter\");n.style(\"opacity\",function(t){return t[0].trace.opacity}),n.selectAll(\"g.points\").each(function(r){Ex(e.select(this),r.trace||r[0].trace,t)}),n.selectAll(\"g.trace path.js-line\").call(Sr.lineGroupStyle),n.selectAll(\"g.trace path.js-fill\").call(Sr.fillGroupStyle),P.getComponentMethod(\"errorbars\",\"style\")(n)},stylePoints:Ex},Lx={};Lx.hasLines=Tr.hasLines,Lx.hasMarkers=Tr.hasMarkers,Lx.hasText=Tr.hasText,Lx.isBubble=Tr.isBubble,Lx.attributes=Zr,Lx.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Zr,r,n)}var a=Ta(t,e,n,i),o=a<Wr.PTS_LINESONLY?\"lines+markers\":\"lines\";if(a){i(\"text\"),i(\"hovertext\"),i(\"mode\",o),Tr.hasLines(e)&&(px(t,e,r,n,i),dx(0,0,i),i(\"connectgaps\"),i(\"line.simplify\")),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{gradient:!0}),Tr.hasText(e)&&vx(0,0,n,i);var s=[];(Tr.hasMarkers(e)||Tr.hasText(e))&&(i(\"cliponaxis\"),i(\"marker.maxdisplayed\"),s.push(\"points\")),i(\"fill\"),\"none\"!==e.fill&&(hx(0,e,r,i),Tr.hasLines(e)||dx(0,0,i)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||s.push(\"fills\"),i(\"hoveron\",s.join(\"+\")||\"points\");var l=P.getComponentMethod(\"errorbars\",\"supplyDefaults\");l(t,e,r,{axis:\"y\"}),l(t,e,r,{axis:\"x\",inherit:\"y\"}),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},Lx.cleanData=ux,Lx.calc=ox,Lx.arraysToCalcdata=dh,Lx.plot=kx,Lx.colorbar=is,Lx.style=Cx.style,Lx.hoverPoints=yx,Lx.selectPoints=Sx,Lx.animatable=!0,Lx.moduleType=\"trace\",Lx.name=\"scatter\",Lx.basePlotModule=ua,Lx.categories=[\"cartesian\",\"symbols\",\"markerColorscale\",\"errorBarsOK\",\"showLegend\",\"scatter-like\"],Lx.meta={};var zx=Lx,Px={version:\"1.35.2\"};Xp.polyfill();for(var Ix=Px.register=P.register,Dx=Object.keys(Yy),Ox=0;Ox<Dx.length;Ox++){var Rx=Dx[Ox];Px[Rx]=Yy[Rx],Ix({moduleType:\"apiMethod\",name:Rx,fn:Yy[Rx]})}Ix(zx),Ix([yo,ng,cd,yd,jg,Bd,Rv,fv,Sg,gg,Dd,Sd]),Ix([{moduleType:\"locale\",name:\"en\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colourscale title\"},format:{days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\"],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\"],periods:[\"AM\",\"PM\"],dateTime:\"%a %b %e %X %Y\",date:\"%d/%m/%Y\",time:\"%H:%M:%S\",decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],year:\"%Y\",month:\"%b %Y\",dayMonth:\"%b %-d\",dayMonthYear:\"%b %-d, %Y\"}},{moduleType:\"locale\",name:\"en-US\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colorscale title\"},format:{date:\"%m/%d/%Y\"}}]),Px.Icons=Op,Px.Plots=_n,Px.Fx=yo,Px.Snapshot=tx,Px.PlotSchema=nn,Px.Queue=Nv,Px.d3=e;var Fx=Px,Bx={},Nx=Di.pointsAccessorFunction,jx=Eh.COMPARISON_OPS,Vx=Eh.INTERVAL_OPS,Ux=Eh.SET_OPS;Bx.moduleType=\"transform\",Bx.name=\"filter\",Bx.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},target:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},operation:{valType:\"enumerated\",values:[].concat(jx).concat(Vx).concat(Ux),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},preservegaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},editType:\"calc\"},Bx.supplyDefaults=function(t){var e={};function r(r,n){return ne.coerce(t,e,Bx.attributes,r,n)}if(r(\"enabled\")){r(\"preservegaps\"),r(\"operation\"),r(\"value\"),r(\"target\");var n=P.getComponentMethod(\"calendars\",\"handleDefaults\");n(t,e,\"valuecalendar\",null),n(t,e,\"targetcalendar\",null)}return e},Bx.calcTransform=function(t,e,r){if(r.enabled){var n=ne.getTargetArray(e,r);if(n){var i=r.target,a=n.length,o=r.targetcalendar,s=e._arrayAttrs;if(\"string\"==typeof i){var l=ne.nestedProperty(e,i+\"calendar\").get();l&&(o=l)}var u,c,h=function(t,e,r){var n=t.operation,i=t.value,a=Array.isArray(i);function o(t){return-1!==t.indexOf(n)}var s,l=function(r){return e(r,0,t.valuecalendar)},u=function(t){return e(t,0,r)};o(jx)?s=l(a?i[0]:i):o(Vx)?s=a?[l(i[0]),l(i[1])]:[l(i),l(i)]:o(Ux)&&(s=a?i.map(l):[l(i)]);switch(n){case\"=\":return function(t){return u(t)===s};case\"!=\":return function(t){return u(t)!==s};case\"<\":return function(t){return u(t)<s};case\"<=\":return function(t){return u(t)<=s};case\">\":return function(t){return u(t)>s};case\">=\":return function(t){return u(t)>=s};case\"[]\":return function(t){var e=u(t);return e>=s[0]&&e<=s[1]};case\"()\":return function(t){var e=u(t);return e>s[0]&&e<s[1]};case\"[)\":return function(t){var e=u(t);return e>=s[0]&&e<s[1]};case\"(]\":return function(t){var e=u(t);return e>s[0]&&e<=s[1]};case\"][\":return function(t){var e=u(t);return e<=s[0]||e>=s[1]};case\")(\":return function(t){var e=u(t);return e<s[0]||e>s[1]};case\"](\":return function(t){var e=u(t);return e<=s[0]||e>s[1]};case\")[\":return function(t){var e=u(t);return e<s[0]||e>=s[1]};case\"{}\":return function(t){return-1!==s.indexOf(u(t))};case\"}{\":return function(t){return-1===s.indexOf(u(t))}}}(r,ri.getDataToCoordFunc(t,e,i,n),o),f={},p={},d=0;r.preservegaps?(u=function(t){f[t.astr]=ne.extendDeep([],t.get()),t.set(new Array(a))},c=function(t,e){var r=f[t.astr][e];t.get()[e]=r}):(u=function(t){f[t.astr]=ne.extendDeep([],t.get()),t.set([])},c=function(t,e){var r=f[t.astr][e];t.get().push(r)}),m(u);for(var g=Nx(e.transforms,r),v=0;v<a;v++){h(n[v])&&(m(c,v),p[d++]=g(v))}r._indexToPoints=p,e._length=d}}function m(t,r){for(var n=0;n<s.length;n++){t(ne.nestedProperty(e,s[n]),r)}}};var qx=Bx,Hx={},Gx=Di.pointsAccessorFunction;function Wx(t,e){var r,n,i,a,o,s,l,u,c,h,f=e.transform,p=t.transforms[e.transformIndex].groups,d=Gx(t.transforms,f);if(!Array.isArray(p)||0===p.length)return[t];var g=ne.filterUnique(p),v=new Array(g.length),m=p.length,y=nn.findArrayAttributes(t),x=f.styles||[],b={};for(r=0;r<x.length;r++)b[x[r].target]=x[r].value;f.styles&&(h=ne.keyedContainer(f,\"styles\",\"target\",\"value.name\"));var _={},w={};for(r=0;r<g.length;r++){_[s=g[r]]=r,w[s]=0,(l=v[r]=ne.extendDeepNoArrays({},t))._group=s,l.transforms[e.transformIndex]._indexToPoints={};var M=null;for(h&&(M=h.get(s)),l.name=M||ne.templateString(f.nameformat,{trace:t.name,group:s}),u=l.transforms,l.transforms=[],n=0;n<u.length;n++)l.transforms[n]=ne.extendDeepNoArrays({},u[n]);for(n=0;n<y.length;n++)ne.nestedProperty(l,y[n]).set([])}for(i=0;i<y.length;i++){for(a=y[i],n=0,c=[];n<g.length;n++)c[n]=ne.nestedProperty(v[n],a).get();for(o=ne.nestedProperty(t,a).get(),n=0;n<m;n++)c[_[p[n]]].push(o[n])}for(n=0;n<m;n++){(l=v[_[p[n]]]).transforms[e.transformIndex]._indexToPoints[w[p[n]]]=d(n),w[p[n]]++}for(r=0;r<g.length;r++)s=g[r],l=v[r],_n.clearExpandedTraceDefaultColors(l),l=ne.extendDeepNoArrays(l,b[s]||{});return v}Hx.moduleType=\"transform\",Hx.name=\"groupby\",Hx.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},groups:{valType:\"data_array\",dflt:[],editType:\"calc\"},nameformat:{valType:\"string\",editType:\"calc\"},styles:{_isLinkedToArray:\"style\",target:{valType:\"string\",editType:\"calc\"},value:{valType:\"any\",dflt:{},editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},Hx.supplyDefaults=function(t,e,r){var n,i={};function a(e,r){return ne.coerce(t,i,Hx.attributes,e,r)}if(!a(\"enabled\"))return i;a(\"groups\"),a(\"nameformat\",r._dataLength>1?\"%{group} (%{trace})\":\"%{group}\");var o=t.styles,s=i.styles=[];if(o)for(n=0;n<o.length;n++)s[n]={},ne.coerce(o[n],s[n],Hx.attributes.styles,\"target\"),ne.coerce(o[n],s[n],Hx.attributes.styles,\"value\");return i},Hx.transform=function(t,e){var r,n,i,a=[];for(n=0;n<t.length;n++)for(r=Wx(t[n],e),i=0;i<r.length;i++)a.push(r[i]);return a};var Yx=Hx,Xx=function(t,e,r){!1===r(\"zsmooth\")&&(r(\"xgap\"),r(\"ygap\")),r(\"zhoverformat\")},Zx=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Lh,r,n)}Df(t,e,i,n)?(i(\"text\"),Xx(0,0,i),i(\"connectgaps\",qh(e)&&!1!==e.zsmooth),Ye(t,e,n,i,{prefix:\"\",cLetter:\"z\"})):e.visible=!1},Jx={};Jx.attributes=Lh,Jx.supplyDefaults=Zx,Jx.calc=bf,Jx.plot=$f,Jx.colorbar=kh,Jx.style=up,Jx.hoverPoints=Rf,Jx.moduleType=\"trace\",Jx.name=\"heatmap\",Jx.basePlotModule=ua,Jx.categories=[\"cartesian\",\"2dMap\"],Jx.meta={};var Kx=Jx;var Qx=function(t,e,r){return 0===t.length?t:e?(r||t.sort(e),function(t,e){for(var r=1,n=t.length,i=t[0],a=t[0],o=1;o<n;++o)if(a=i,e(i=t[o],a)){if(o===r){r++;continue}t[r++]=i}return t.length=r,t}(t,e)):(r||t.sort(),function(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}(t))};function $x(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(u.length>0&&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 tb(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,p=\"a\"+c;if(0===e.arrayBlockIndices[c])1===s.count?\"generic\"===r[c]?s.lvalue?(i.push([\"var \",f,\"=\",p,\".get(\",u,\")\"].join(\"\")),n=n.replace(l,f),a.push([p,\".set(\",u,\",\",f,\")\"].join(\"\"))):n=n.replace(l,[p,\".get(\",u,\")\"].join(\"\")):n=n.replace(l,[p,\"[\",u,\"]\"].join(\"\")):\"generic\"===r[c]?(i.push([\"var \",f,\"=\",p,\".get(\",u,\")\"].join(\"\")),n=n.replace(l,f),s.lvalue&&a.push([p,\".set(\",u,\",\",f,\")\"].join(\"\"))):(i.push([\"var \",f,\"=\",p,\"[\",u,\"]\"].join(\"\")),n=n.replace(l,f),s.lvalue&&a.push([p,\"[\",u,\"]=\",f].join(\"\")));else{for(var d=[s.name],g=[u],v=0;v<Math.abs(e.arrayBlockIndices[c]);v++)d.push(\"\\\\s*\\\\[([^\\\\]]+)\\\\]\"),g.push(\"$\"+(v+1)+\"*t\"+c+\"b\"+v);if(l=new RegExp(d.join(\"\"),\"g\"),u=g.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()}var eb=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,n=new Array(t.arrayArgs.length),i=new Array(t.arrayArgs.length),a=0;a<t.arrayArgs.length;++a)i[a]=e[2*a],n[a]=e[2*a+1];var o=[],s=[],l=[],u=[],c=[];for(a=0;a<t.arrayArgs.length;++a){t.arrayBlockIndices[a]<0?(l.push(0),u.push(r),o.push(r),s.push(r+t.arrayBlockIndices[a])):(l.push(t.arrayBlockIndices[a]),u.push(t.arrayBlockIndices[a]+r),o.push(0),s.push(t.arrayBlockIndices[a]));for(var h=[],f=0;f<n[a].length;f++)l[a]<=n[a][f]&&n[a][f]<u[a]&&h.push(n[a][f]-l[a]);c.push(h)}var p=[\"SS\"],d=[\"'use strict'\"],g=[];for(f=0;f<r;++f)g.push([\"s\",f,\"=SS[\",f,\"]\"].join(\"\"));for(a=0;a<t.arrayArgs.length;++a){for(p.push(\"a\"+a),p.push(\"t\"+a),p.push(\"p\"+a),f=0;f<r;++f)g.push([\"t\",a,\"p\",f,\"=t\",a,\"[\",l[a]+f,\"]\"].join(\"\"));for(f=0;f<Math.abs(t.arrayBlockIndices[a]);++f)g.push([\"t\",a,\"b\",f,\"=t\",a,\"[\",o[a]+f,\"]\"].join(\"\"))}for(a=0;a<t.scalarArgs.length;++a)p.push(\"Y\"+a);if(t.shapeArgs.length>0&&g.push(\"shape=SS.slice(0)\"),t.indexArgs.length>0){var v=new Array(r);for(a=0;a<r;++a)v[a]=\"0\";g.push([\"index=[\",v.join(\",\"),\"]\"].join(\"\"))}for(a=0;a<t.offsetArgs.length;++a){var m=t.offsetArgs[a],y=[];for(f=0;f<m.offset.length;++f)0!==m.offset[f]&&(1===m.offset[f]?y.push([\"t\",m.array,\"p\",f].join(\"\")):y.push([m.offset[f],\"*t\",m.array,\"p\",f].join(\"\")));0===y.length?g.push(\"q\"+a+\"=0\"):g.push([\"q\",a,\"=\",y.join(\"+\")].join(\"\"))}var x=Qx([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for((g=g.concat(x)).length>0&&d.push(\"var \"+g.join(\",\")),a=0;a<t.arrayArgs.length;++a)d.push(\"p\"+a+\"|=0\");t.pre.body.length>3&&d.push(tb(t.pre,t,i));var b=tb(t.body,t,i),_=function(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}(c);_<r?d.push(function(t,e,r,n){for(var i=e.length,a=r.arrayArgs.length,o=r.blockSize,s=r.indexArgs.length>0,l=[],u=0;u<a;++u)l.push([\"var offset\",u,\"=p\",u].join(\"\"));for(u=t;u<i;++u)l.push([\"for(var j\"+u+\"=SS[\",e[u],\"]|0;j\",u,\">0;){\"].join(\"\")),l.push([\"if(j\",u,\"<\",o,\"){\"].join(\"\")),l.push([\"s\",e[u],\"=j\",u].join(\"\")),l.push([\"j\",u,\"=0\"].join(\"\")),l.push([\"}else{s\",e[u],\"=\",o].join(\"\")),l.push([\"j\",u,\"-=\",o,\"}\"].join(\"\")),s&&l.push([\"index[\",e[u],\"]=j\",u].join(\"\"));for(u=0;u<a;++u){for(var c=[\"offset\"+u],h=t;h<i;++h)c.push([\"j\",h,\"*t\",u,\"p\",e[h]].join(\"\"));l.push([\"p\",u,\"=(\",c.join(\"+\"),\")\"].join(\"\"))}for(l.push($x(e,r,n)),u=t;u<i;++u)l.push(\"}\");return l.join(\"\\n\")}(_,c[0],t,b)):d.push($x(c[0],t,b)),t.post.body.length>3&&d.push(tb(t.post,t,i)),t.debug&&console.log(\"-----Generated cwise routine for \",e,\":\\n\"+d.join(\"\\n\")+\"\\n----------\");var w=[t.funcName||\"unnamed\",\"_cwise_loop_\",n[0].join(\"s\"),\"m\",_,function(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(\"\")}(i)].join(\"\");return new Function([\"function \",w,\"(\",p.join(\",\"),\"){\",d.join(\"\\n\"),\"} return \",w].join(\"\"))()};var rb=function(t){var e=[\"'use strict'\",\"var CACHED={}\"],r=[],n=t.funcName+\"_cwise_thunk\";e.push([\"return function \",n,\"(\",t.shimArgs.join(\",\"),\"){\"].join(\"\"));for(var i=[],a=[],o=[[\"array\",t.arrayArgs[0],\".shape.slice(\",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?\",\"+t.arrayBlockIndices[0]+\")\":\")\"].join(\"\")],s=[],l=[],u=0;u<t.arrayArgs.length;++u){var c=t.arrayArgs[u];r.push([\"t\",c,\"=array\",c,\".dtype,\",\"r\",c,\"=array\",c,\".order\"].join(\"\")),i.push(\"t\"+c),i.push(\"r\"+c),a.push(\"t\"+c),a.push(\"r\"+c+\".join()\"),o.push(\"array\"+c+\".data\"),o.push(\"array\"+c+\".stride\"),o.push(\"array\"+c+\".offset|0\"),u>0&&(s.push(\"array\"+t.arrayArgs[0]+\".shape.length===array\"+c+\".shape.length+\"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),l.push(\"array\"+t.arrayArgs[0]+\".shape[shapeIndex+\"+Math.max(0,t.arrayBlockIndices[0])+\"]===array\"+c+\".shape[shapeIndex+\"+Math.max(0,t.arrayBlockIndices[u])+\"]\"))}for(t.arrayArgs.length>1&&(e.push(\"if (!(\"+s.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--\\x3e0;) {\"),e.push(\"if (!(\"+l.join(\" && \")+\")) throw new Error('cwise: Arrays do not all have the same shape!')\"),e.push(\"}\")),u=0;u<t.scalarArgs.length;++u)o.push(\"scalar\"+t.scalarArgs[u]);return r.push([\"type=[\",a.join(\",\"),\"].join()\"].join(\"\")),r.push(\"proc=CACHED[type]\"),e.push(\"var \"+r.join(\",\")),e.push([\"if(!proc){\",\"CACHED[type]=proc=compile([\",i.join(\",\"),\"])}\",\"return proc(\",o.join(\",\"),\")}\"].join(\"\")),t.debug&&console.log(\"-----Generated thunk:\\n\"+e.join(\"\\n\")+\"\\n----------\"),new Function(\"compile\",e.join(\"\\n\"))(eb.bind(void 0,t))};var nb=function(t){var e=new function(){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};e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var n=0;n<r.length;++n){var i=r[n];if(\"array\"===i||\"object\"==typeof i&&i.blockIndices){if(e.argTypes[n]=\"array\",e.arrayArgs.push(n),e.arrayBlockIndices.push(i.blockIndices?i.blockIndices:0),e.shimArgs.push(\"array\"+n),n<e.pre.args.length&&e.pre.args[n].count>0)throw new Error(\"cwise: pre() block may not reference array args\");if(n<e.post.args.length&&e.post.args[n].count>0)throw new Error(\"cwise: post() block may not reference array args\")}else if(\"scalar\"===i)e.scalarArgs.push(n),e.shimArgs.push(\"scalar\"+n);else if(\"index\"===i){if(e.indexArgs.push(n),n<e.pre.args.length&&e.pre.args[n].count>0)throw new Error(\"cwise: pre() block may not reference array index\");if(n<e.body.args.length&&e.body.args[n].lvalue)throw new Error(\"cwise: body() block may not write to array index\");if(n<e.post.args.length&&e.post.args[n].count>0)throw new Error(\"cwise: post() block may not reference array index\")}else if(\"shape\"===i){if(e.shapeArgs.push(n),n<e.pre.args.length&&e.pre.args[n].lvalue)throw new Error(\"cwise: pre() block may not write to array shape\");if(n<e.body.args.length&&e.body.args[n].lvalue)throw new Error(\"cwise: body() block may not write to array shape\");if(n<e.post.args.length&&e.post.args[n].lvalue)throw new Error(\"cwise: post() block may not write to array shape\")}else{if(\"object\"!=typeof i||!i.offset)throw new Error(\"cwise: Unknown argument type \"+r[n]);e.argTypes[n]=\"offset\",e.offsetArgs.push({array:i.array,offset:i.offset}),e.offsetArgIndex.push(n)}}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,rb(e)},ib={},ab={body:\"\",args:[],thisVars:[],localVars:[]};function ob(t){if(!t)return ab;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 sb(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(\"\"))(function(t){return nb({args:t.args,pre:ob(t.pre),body:ob(t.body),post:ob(t.proc),funcName:t.funcName})}(t))}var lb={add:\"+\",sub:\"-\",mul:\"*\",div:\"/\",mod:\"%\",band:\"&\",bor:\"|\",bxor:\"^\",lshift:\"<<\",rshift:\">>\",rrshift:\">>>\"};!function(){for(var t in lb){var e=lb[t];ib[t]=sb({args:[\"array\",\"array\",\"array\"],body:{args:[\"a\",\"b\",\"c\"],body:\"a=b\"+e+\"c\"},funcName:t}),ib[t+\"eq\"]=sb({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a\"+e+\"=b\"},rvalue:!0,funcName:t+\"eq\"}),ib[t+\"s\"]=sb({args:[\"array\",\"array\",\"scalar\"],body:{args:[\"a\",\"b\",\"s\"],body:\"a=b\"+e+\"s\"},funcName:t+\"s\"}),ib[t+\"seq\"]=sb({args:[\"array\",\"scalar\"],body:{args:[\"a\",\"s\"],body:\"a\"+e+\"=s\"},rvalue:!0,funcName:t+\"seq\"})}}();var ub={not:\"!\",bnot:\"~\",neg:\"-\",recip:\"1.0/\"};!function(){for(var t in ub){var e=ub[t];ib[t]=sb({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a=\"+e+\"b\"},funcName:t}),ib[t+\"eq\"]=sb({args:[\"array\"],body:{args:[\"a\"],body:\"a=\"+e+\"a\"},rvalue:!0,count:2,funcName:t+\"eq\"})}}();var cb={and:\"&&\",or:\"||\",eq:\"===\",neq:\"!==\",lt:\"<\",gt:\">\",leq:\"<=\",geq:\">=\"};!function(){for(var t in cb){var e=cb[t];ib[t]=sb({args:[\"array\",\"array\",\"array\"],body:{args:[\"a\",\"b\",\"c\"],body:\"a=b\"+e+\"c\"},funcName:t}),ib[t+\"s\"]=sb({args:[\"array\",\"array\",\"scalar\"],body:{args:[\"a\",\"b\",\"s\"],body:\"a=b\"+e+\"s\"},funcName:t+\"s\"}),ib[t+\"eq\"]=sb({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a=a\"+e+\"b\"},rvalue:!0,count:2,funcName:t+\"eq\"}),ib[t+\"seq\"]=sb({args:[\"array\",\"scalar\"],body:{args:[\"a\",\"s\"],body:\"a=a\"+e+\"s\"},rvalue:!0,count:2,funcName:t+\"seq\"})}}();var hb=[\"abs\",\"acos\",\"asin\",\"atan\",\"ceil\",\"cos\",\"exp\",\"floor\",\"log\",\"round\",\"sin\",\"sqrt\",\"tan\"];!function(){for(var t=0;t<hb.length;++t){var e=hb[t];ib[e]=sb({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}),ib[e+\"eq\"]=sb({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 fb=[\"max\",\"min\",\"atan2\",\"pow\"];!function(){for(var t=0;t<fb.length;++t){var e=fb[t];ib[e]=sb({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}),ib[e+\"s\"]=sb({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\"}),ib[e+\"eq\"]=sb({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\"}),ib[e+\"seq\"]=sb({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 pb=[\"atan2\",\"pow\"];!function(){for(var t=0;t<pb.length;++t){var e=pb[t];ib[e+\"op\"]=sb({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\"}),ib[e+\"ops\"]=sb({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\"}),ib[e+\"opeq\"]=sb({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\"}),ib[e+\"opseq\"]=sb({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\"})}}(),ib.any=nb({args:[\"array\"],pre:ab,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\"}),ib.all=nb({args:[\"array\"],pre:ab,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\"}),ib.sum=nb({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\"}),ib.prod=nb({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\"}),ib.norm2squared=nb({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\"}),ib.norm2=nb({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\"}),ib.norminf=nb({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\"}),ib.norm1=nb({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\"}),ib.sup=nb({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:[]}}),ib.inf=nb({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:[]}}),ib.argmin=nb({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:[]}}),ib.argmax=nb({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:[]}}),ib.random=sb({args:[\"array\"],pre:{args:[],body:\"this_f=Math.random\",thisVars:[\"this_f\"]},body:{args:[\"a\"],body:\"a=this_f()\",thisVars:[\"this_f\"]},funcName:\"random\"}),ib.assign=sb({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a=b\"},funcName:\"assign\"}),ib.assigns=sb({args:[\"array\",\"scalar\"],body:{args:[\"a\",\"b\"],body:\"a=b\"},funcName:\"assigns\"}),ib.equals=nb({args:[\"array\",\"array\"],pre:ab,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\"});var db=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=r;return e},gb=function(t){return null!=t&&(vb(t)||function(t){return\"function\"==typeof t.readFloatLE&&\"function\"==typeof t.slice&&vb(t.slice(0,0))}(t)||!!t._isBuffer)};function vb(t){return!!t.constructor&&\"function\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}var mb=\"undefined\"!=typeof Float64Array;function yb(t,e){return t[0]-e[0]}function xb(){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(yb);var n=new Array(r.length);for(t=0;t<n.length;++t)n[t]=r[t][1];return n}function bb(t,e){var r=[\"View\",e,\"d\",t].join(\"\");e<0&&(r=\"View_Nil\"+t);var n=\"generic\"===t;if(-1===e){var i=\"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);}\";return new Function(i)()}if(0===e){i=\"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)}\";return new Function(\"TrivialArray\",i)(_b[t][0])}i=[\"'use strict'\"];var a=db(e),o=a.map(function(t){return\"i\"+t}),s=\"this.offset+\"+a.map(function(t){return\"this.stride[\"+t+\"]*i\"+t}).join(\"+\"),l=a.map(function(t){return\"b\"+t}).join(\",\"),u=a.map(function(t){return\"c\"+t}).join(\",\");i.push(\"function \"+r+\"(a,\"+l+\",\"+u+\",d){this.data=a\",\"this.shape=[\"+l+\"]\",\"this.stride=[\"+u+\"]\",\"this.offset=d|0}\",\"var proto=\"+r+\".prototype\",\"proto.dtype='\"+t+\"'\",\"proto.dimension=\"+e),i.push(\"Object.defineProperty(proto,'size',{get:function \"+r+\"_size(){return \"+a.map(function(t){return\"this.shape[\"+t+\"]\"}).join(\"*\"),\"}})\"),1===e?i.push(\"proto.order=[0]\"):(i.push(\"Object.defineProperty(proto,'order',{get:\"),e<4?(i.push(\"function \"+r+\"_order(){\"),2===e?i.push(\"return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})\"):3===e&&i.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];}}})\")):i.push(\"ORDER})\")),i.push(\"proto.set=function \"+r+\"_set(\"+o.join(\",\")+\",v){\"),n?i.push(\"return this.data.set(\"+s+\",v)}\"):i.push(\"return this.data[\"+s+\"]=v}\"),i.push(\"proto.get=function \"+r+\"_get(\"+o.join(\",\")+\"){\"),n?i.push(\"return this.data.get(\"+s+\")}\"):i.push(\"return this.data[\"+s+\"]}\"),i.push(\"proto.index=function \"+r+\"_index(\",o.join(),\"){return \"+s+\"}\"),i.push(\"proto.hi=function \"+r+\"_hi(\"+o.join(\",\")+\"){return new \"+r+\"(this.data,\"+a.map(function(t){return[\"(typeof i\",t,\"!=='number'||i\",t,\"<0)?this.shape[\",t,\"]:i\",t,\"|0\"].join(\"\")}).join(\",\")+\",\"+a.map(function(t){return\"this.stride[\"+t+\"]\"}).join(\",\")+\",this.offset)}\");var c=a.map(function(t){return\"a\"+t+\"=this.shape[\"+t+\"]\"}),h=a.map(function(t){return\"c\"+t+\"=this.stride[\"+t+\"]\"});i.push(\"proto.lo=function \"+r+\"_lo(\"+o.join(\",\")+\"){var b=this.offset,d=0,\"+c.join(\",\")+\",\"+h.join(\",\"));for(var f=0;f<e;++f)i.push(\"if(typeof i\"+f+\"==='number'&&i\"+f+\">=0){d=i\"+f+\"|0;b+=c\"+f+\"*d;a\"+f+\"-=d}\");i.push(\"return new \"+r+\"(this.data,\"+a.map(function(t){return\"a\"+t}).join(\",\")+\",\"+a.map(function(t){return\"c\"+t}).join(\",\")+\",b)}\"),i.push(\"proto.step=function \"+r+\"_step(\"+o.join(\",\")+\"){var \"+a.map(function(t){return\"a\"+t+\"=this.shape[\"+t+\"]\"}).join(\",\")+\",\"+a.map(function(t){return\"b\"+t+\"=this.stride[\"+t+\"]\"}).join(\",\")+\",c=this.offset,d=0,ceil=Math.ceil\");for(f=0;f<e;++f)i.push(\"if(typeof i\"+f+\"==='number'){d=i\"+f+\"|0;if(d<0){c+=b\"+f+\"*(a\"+f+\"-1);a\"+f+\"=ceil(-a\"+f+\"/d)}else{a\"+f+\"=ceil(a\"+f+\"/d)}b\"+f+\"*=d}\");i.push(\"return new \"+r+\"(this.data,\"+a.map(function(t){return\"a\"+t}).join(\",\")+\",\"+a.map(function(t){return\"b\"+t}).join(\",\")+\",c)}\");var p=new Array(e),d=new Array(e);for(f=0;f<e;++f)p[f]=\"a[i\"+f+\"]\",d[f]=\"b[i\"+f+\"]\";i.push(\"proto.transpose=function \"+r+\"_transpose(\"+o+\"){\"+o.map(function(t,e){return t+\"=(\"+t+\"===undefined?\"+e+\":\"+t+\"|0)\"}).join(\";\"),\"var a=this.shape,b=this.stride;return new \"+r+\"(this.data,\"+p.join(\",\")+\",\"+d.join(\",\")+\",this.offset)}\"),i.push(\"proto.pick=function \"+r+\"_pick(\"+o+\"){var a=[],b=[],c=this.offset\");for(f=0;f<e;++f)i.push(\"if(typeof i\"+f+\"==='number'&&i\"+f+\">=0){c=(c+this.stride[\"+f+\"]*i\"+f+\")|0}else{a.push(this.shape[\"+f+\"]);b.push(this.stride[\"+f+\"])}\");return i.push(\"var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}\"),i.push(\"return function construct_\"+r+\"(data,shape,stride,offset){return new \"+r+\"(data,\"+a.map(function(t){return\"shape[\"+t+\"]\"}).join(\",\")+\",\"+a.map(function(t){return\"stride[\"+t+\"]\"}).join(\",\")+\",offset)}\"),new Function(\"CTOR_LIST\",\"ORDER\",i.join(\"\\n\"))(_b[t],xb)}var _b={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};var wb=function(t,e,r,n){if(void 0===t)return(0,_b.array[0])([]);\"number\"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var i=e.length;if(void 0===r){r=new Array(i);for(var a=i-1,o=1;a>=0;--a)r[a]=o,o*=e[a]}if(void 0===n)for(n=0,a=0;a<i;++a)r[a]<0&&(n-=(e[a]-1)*r[a]);for(var s=function(t){if(gb(t))return\"buffer\";if(mb)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\"}(t),l=_b[s];l.length<=i+1;)l.push(bb(s,l.length-1));return(0,l[i+1])(t,e,r,n)},Mb={};function Ab(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}Mb.INT_BITS=32,Mb.INT_MAX=2147483647,Mb.INT_MIN=-1<<31,Mb.sign=function(t){return(t>0)-(t<0)},Mb.abs=function(t){var e=t>>31;return(t^e)-e},Mb.min=function(t,e){return e^(t^e)&-(t<e)},Mb.max=function(t,e){return t^(t^e)&-(t<e)},Mb.isPow2=function(t){return!(t&t-1||!t)},Mb.log2=function(t){var e,r;return e=(t>65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},Mb.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},Mb.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},Mb.countTrailingZeros=Ab,Mb.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},Mb.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},Mb.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var kb=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}}(kb),Mb.reverse=function(t){return kb[255&t]<<24|kb[t>>>8&255]<<16|kb[t>>>16&255]<<8|kb[t>>>24&255]},Mb.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},Mb.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},Mb.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},Mb.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},Mb.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>Ab(t)+1};for(var Tb={byteLength:function(t){return 3*t.length/4-Ib(t)},toByteArray:function(t){var e,r,n,i,a,o=t.length;i=Ib(t),a=new Cb(3*o/4-i),r=i>0?o-4:o;var s=0;for(e=0;e<r;e+=4)n=Eb[t.charCodeAt(e)]<<18|Eb[t.charCodeAt(e+1)]<<12|Eb[t.charCodeAt(e+2)]<<6|Eb[t.charCodeAt(e+3)],a[s++]=n>>16&255,a[s++]=n>>8&255,a[s++]=255&n;2===i?(n=Eb[t.charCodeAt(e)]<<2|Eb[t.charCodeAt(e+1)]>>4,a[s++]=255&n):1===i&&(n=Eb[t.charCodeAt(e)]<<10|Eb[t.charCodeAt(e+1)]<<4|Eb[t.charCodeAt(e+2)]>>2,a[s++]=n>>8&255,a[s++]=255&n);return a},fromByteArray:function(t){for(var e,r=t.length,n=r%3,i=\"\",a=[],o=0,s=r-n;o<s;o+=16383)a.push(Db(t,o,o+16383>s?s:o+16383));1===n?(e=t[r-1],i+=Sb[e>>2],i+=Sb[e<<4&63],i+=\"==\"):2===n&&(e=(t[r-2]<<8)+t[r-1],i+=Sb[e>>10],i+=Sb[e>>4&63],i+=Sb[e<<2&63],i+=\"=\");return a.push(i),a.join(\"\")}},Sb=[],Eb=[],Cb=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,Lb=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",zb=0,Pb=Lb.length;zb<Pb;++zb)Sb[zb]=Lb[zb],Eb[Lb.charCodeAt(zb)]=zb;function Ib(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 Db(t,e,r){for(var n,i,a=[],o=e;o<r;o+=3)n=(t[o]<<16&16711680)+(t[o+1]<<8&65280)+(255&t[o+2]),a.push(Sb[(i=n)>>18&63]+Sb[i>>12&63]+Sb[i>>6&63]+Sb[63&i]);return a.join(\"\")}Eb[\"-\".charCodeAt(0)]=62,Eb[\"_\".charCodeAt(0)]=63;var Ob={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,p=t[e+h];for(h+=f,a=p&(1<<-c)-1,p>>=-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*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},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,p=n?0:a-1,d=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))*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+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*g}},Rb={};Rb.Buffer=Nb,Rb.SlowBuffer=function(t){+t!=t&&(t=0);return Nb.alloc(+t)},Rb.INSPECT_MAX_BYTES=50;var Fb=2147483647;function Bb(t){if(t>Fb)throw new RangeError(\"Invalid typed array length\");var e=new Uint8Array(t);return e.__proto__=Nb.prototype,e}function Nb(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 Ub(t)}return jb(t,e,r)}function jb(t,e,r){if(\"number\"==typeof t)throw new TypeError('\"value\" argument must not be a number');return y_(t)||t&&y_(t.buffer)?function(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('\"offset\" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('\"length\" is outside of buffer bounds');var n;n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=Nb.prototype,n}(t,e,r):\"string\"==typeof t?function(t,e){\"string\"==typeof e&&\"\"!==e||(e=\"utf8\");if(!Nb.isEncoding(e))throw new TypeError(\"Unknown encoding: \"+e);var r=0|Gb(t,e),n=Bb(r),i=n.write(t,e);i!==r&&(n=n.slice(0,i));return n}(t,e):function(t){if(Nb.isBuffer(t)){var e=0|Hb(t.length),r=Bb(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||x_(t.length)?Bb(0):qb(t);if(\"Buffer\"===t.type&&Array.isArray(t.data))return qb(t.data)}throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object.\")}(t)}function Vb(t){if(\"number\"!=typeof t)throw new TypeError('\"size\" argument must be of type number');if(t<0)throw new RangeError('\"size\" argument must not be negative')}function Ub(t){return Vb(t),Bb(t<0?0:0|Hb(t))}function qb(t){for(var e=t.length<0?0:0|Hb(t.length),r=Bb(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function Hb(t){if(t>=Fb)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+Fb.toString(16)+\" bytes\");return 0|t}function Gb(t,e){if(Nb.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||y_(t))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 v_(t).length;default:if(n)return g_(t).length;e=(\"\"+e).toLowerCase(),n=!0}}function Wb(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Yb(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),x_(r=+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=Nb.from(e,n)),Nb.isBuffer(e))return 0===e.length?-1:Xb(t,e,r,n,i);if(\"number\"==typeof e)return e&=255,\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):Xb(t,[e],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function Xb(t,e,r,n,i){var a,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}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=r;a<s;a++)if(u(t,a)===u(e,-1===c?0:a-c)){if(-1===c&&(c=a),a-c+1===l)return c*o}else-1!==c&&(a-=a-c),c=-1}else for(r+l>s&&(r=s-l),a=r;a>=0;a--){for(var h=!0,f=0;f<l;f++)if(u(t,a+f)!==u(e,f)){h=!1;break}if(h)return a}return-1}function Zb(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;n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(x_(s))return o;t[r+o]=s}return o}function Jb(t,e,r,n){return m_(g_(e,t.length-r),t,r,n)}function Kb(t,e,r,n){return m_(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function Qb(t,e,r,n){return Kb(t,e,r,n)}function $b(t,e,r,n){return m_(v_(e),t,r,n)}function t_(t,e,r,n){return m_(function(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}(e,t.length-r),t,r,n)}function e_(t,e,r){return 0===e&&r===t.length?Tb.fromByteArray(t):Tb.fromByteArray(t.slice(e,r))}function r_(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var a,o,s,l,u=t[i],c=null,h=u>239?4:u>223?3:u>191?2:1;if(i+h<=r)switch(h){case 1:u<128&&(c=u);break;case 2:128==(192&(a=t[i+1]))&&(l=(31&u)<<6|63&a)>127&&(c=l);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(l=(15&u)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&u)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(c=l)}null===c?(c=65533,h=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),i+=h}return function(t){var e=t.length;if(e<=n_)return String.fromCharCode.apply(String,t);var r=\"\",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=n_));return r}(n)}Rb.kMaxLength=Fb,Nb.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}}(),Nb.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.\"),Object.defineProperty(Nb.prototype,\"parent\",{get:function(){if(this instanceof Nb)return this.buffer}}),Object.defineProperty(Nb.prototype,\"offset\",{get:function(){if(this instanceof Nb)return this.byteOffset}}),\"undefined\"!=typeof Symbol&&Symbol.species&&Nb[Symbol.species]===Nb&&Object.defineProperty(Nb,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),Nb.poolSize=8192,Nb.from=function(t,e,r){return jb(t,e,r)},Nb.prototype.__proto__=Uint8Array.prototype,Nb.__proto__=Uint8Array,Nb.alloc=function(t,e,r){return function(t,e,r){return Vb(t),t<=0?Bb(t):void 0!==e?\"string\"==typeof r?Bb(t).fill(e,r):Bb(t).fill(e):Bb(t)}(t,e,r)},Nb.allocUnsafe=function(t){return Ub(t)},Nb.allocUnsafeSlow=function(t){return Ub(t)},Nb.isBuffer=function(t){return null!=t&&!0===t._isBuffer},Nb.compare=function(t,e){if(!Nb.isBuffer(t)||!Nb.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},Nb.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}},Nb.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===t.length)return Nb.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=Nb.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){var a=t[r];if(ArrayBuffer.isView(a)&&(a=Nb.from(a)),!Nb.isBuffer(a))throw new TypeError('\"list\" argument must be an Array of Buffers');a.copy(n,i),i+=a.length}return n},Nb.byteLength=Gb,Nb.prototype._isBuffer=!0,Nb.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)Wb(this,e,e+1);return this},Nb.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)Wb(this,e,e+3),Wb(this,e+1,e+2);return this},Nb.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)Wb(this,e,e+7),Wb(this,e+1,e+6),Wb(this,e+2,e+5),Wb(this,e+3,e+4);return this},Nb.prototype.toString=function(){var t=this.length;return 0===t?\"\":0===arguments.length?r_(this,0,t):function(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))return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return o_(this,e,r);case\"utf8\":case\"utf-8\":return r_(this,e,r);case\"ascii\":return i_(this,e,r);case\"latin1\":case\"binary\":return a_(this,e,r);case\"base64\":return e_(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return s_(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}.apply(this,arguments)},Nb.prototype.toLocaleString=Nb.prototype.toString,Nb.prototype.equals=function(t){if(!Nb.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");return this===t||0===Nb.compare(this,t)},Nb.prototype.inspect=function(){var t=\"\",e=Rb.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString(\"hex\",0,e).match(/.{2}/g).join(\" \"),this.length>e&&(t+=\" ... \")),\"<Buffer \"+t+\">\"},Nb.prototype.compare=function(t,e,r,n,i){if(!Nb.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,o=r-e,s=Math.min(a,o),l=this.slice(n,i),u=t.slice(e,r),c=0;c<s;++c)if(l[c]!==u[c]){a=l[c],o=u[c];break}return a<o?-1:o<a?1:0},Nb.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},Nb.prototype.indexOf=function(t,e,r){return Yb(this,t,e,r,!0)},Nb.prototype.lastIndexOf=function(t,e,r){return Yb(this,t,e,r,!1)},Nb.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 Zb(this,t,e,r);case\"utf8\":case\"utf-8\":return Jb(this,t,e,r);case\"ascii\":return Kb(this,t,e,r);case\"latin1\":case\"binary\":return Qb(this,t,e,r);case\"base64\":return $b(this,t,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return t_(this,t,e,r);default:if(a)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),a=!0}},Nb.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var n_=4096;function i_(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 a_(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 o_(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+=d_(t[a]);return i}function s_(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 l_(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 u_(t,e,r,n,i,a){if(!Nb.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 c_(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 h_(t,e,r,n,i){return e=+e,r>>>=0,i||c_(t,0,r,4),Ob.write(t,e,r,n,23,4),r+4}function f_(t,e,r,n,i){return e=+e,r>>>=0,i||c_(t,0,r,8),Ob.write(t,e,r,n,52,8),r+8}Nb.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__=Nb.prototype,n},Nb.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||l_(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n},Nb.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||l_(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},Nb.prototype.readUInt8=function(t,e){return t>>>=0,e||l_(t,1,this.length),this[t]},Nb.prototype.readUInt16LE=function(t,e){return t>>>=0,e||l_(t,2,this.length),this[t]|this[t+1]<<8},Nb.prototype.readUInt16BE=function(t,e){return t>>>=0,e||l_(t,2,this.length),this[t]<<8|this[t+1]},Nb.prototype.readUInt32LE=function(t,e){return t>>>=0,e||l_(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},Nb.prototype.readUInt32BE=function(t,e){return t>>>=0,e||l_(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},Nb.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||l_(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*=128)&&(n-=Math.pow(2,8*e)),n},Nb.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||l_(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},Nb.prototype.readInt8=function(t,e){return t>>>=0,e||l_(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},Nb.prototype.readInt16LE=function(t,e){t>>>=0,e||l_(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},Nb.prototype.readInt16BE=function(t,e){t>>>=0,e||l_(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},Nb.prototype.readInt32LE=function(t,e){return t>>>=0,e||l_(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},Nb.prototype.readInt32BE=function(t,e){return t>>>=0,e||l_(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},Nb.prototype.readFloatLE=function(t,e){return t>>>=0,e||l_(t,4,this.length),Ob.read(this,t,!0,23,4)},Nb.prototype.readFloatBE=function(t,e){return t>>>=0,e||l_(t,4,this.length),Ob.read(this,t,!1,23,4)},Nb.prototype.readDoubleLE=function(t,e){return t>>>=0,e||l_(t,8,this.length),Ob.read(this,t,!0,52,8)},Nb.prototype.readDoubleBE=function(t,e){return t>>>=0,e||l_(t,8,this.length),Ob.read(this,t,!1,52,8)},Nb.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||u_(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},Nb.prototype.writeUIntBE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||u_(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},Nb.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,1,255,0),this[e]=255&t,e+1},Nb.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},Nb.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},Nb.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||u_(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},Nb.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||u_(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},Nb.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);u_(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},Nb.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);u_(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},Nb.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},Nb.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},Nb.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},Nb.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||u_(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},Nb.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||u_(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},Nb.prototype.writeFloatLE=function(t,e,r){return h_(this,t,e,!0,r)},Nb.prototype.writeFloatBE=function(t,e,r){return h_(this,t,e,!1,r)},Nb.prototype.writeDoubleLE=function(t,e,r){return f_(this,t,e,!0,r)},Nb.prototype.writeDoubleBE=function(t,e,r){return f_(this,t,e,!1,r)},Nb.prototype.copy=function(t,e,r,n){if(!Nb.isBuffer(t))throw new TypeError(\"argument should be a Buffer\");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(\"Index out of range\");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=n-r;if(this===t&&\"function\"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(e,r,n);else if(this===t&&r<e&&e<n)for(var a=i-1;a>=0;--a)t[a+e]=this[a+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},Nb.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),void 0!==n&&\"string\"!=typeof n)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof n&&!Nb.isEncoding(n))throw new TypeError(\"Unknown encoding: \"+n);if(1===t.length){var i=t.charCodeAt(0);(\"utf8\"===n&&i<128||\"latin1\"===n)&&(t=i)}}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;var a;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),\"number\"==typeof t)for(a=e;a<r;++a)this[a]=t;else{var o=Nb.isBuffer(t)?t:new Nb(t,n),s=o.length;if(0===s)throw new TypeError('The value \"'+t+'\" is invalid for argument \"value\"');for(a=0;a<r-e;++a)this[a+e]=o[a%s]}return this};var p_=/[^+/0-9A-Za-z-_]/g;function d_(t){return t<16?\"0\"+t.toString(16):t.toString(16)}function g_(t,e){var r;e=e||1/0;for(var 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){return Tb.toByteArray(function(t){if((t=(t=t.split(\"=\")[0]).trim().replace(p_,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function m_(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 instanceof ArrayBuffer||null!=t&&null!=t.constructor&&\"ArrayBuffer\"===t.constructor.name&&\"number\"==typeof t.byteLength}function x_(t){return t!=t}var b_=function(t,e){switch(void 0===e&&(e=0),typeof t){case\"number\":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n<t;++n)r[n]=e;return r}(0|t,e);break;case\"object\":if(\"number\"==typeof t.length)return function t(e,r,n){var i=0|e[n];if(i<=0)return[];var a,o=new Array(i);if(n===e.length-1)for(a=0;a<i;++a)o[a]=r;else for(a=0;a<i;++a)o[a]=t(e,r,n+1);return o}(t,e,0)}return[]},__={};(function(t,e){\"use strict\";t.__TYPEDARRAY_POOL||(t.__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 r=\"undefined\"!=typeof Uint8ClampedArray,n=t.__TYPEDARRAY_POOL;n.UINT8C||(n.UINT8C=b_([32,0])),n.BUFFER||(n.BUFFER=b_([32,0]));var i=n.DATA,a=n.BUFFER;function o(t){if(t){var e=t.length||t.byteLength,r=Mb.log2(e);i[r].push(t)}}function s(t){t=Mb.nextPow2(t);var e=Mb.log2(t),r=i[e];return r.length>0?r.pop():new ArrayBuffer(t)}function l(t){return new Uint8Array(s(t),0,t)}function u(t){return new Uint16Array(s(2*t),0,t)}function c(t){return new Uint32Array(s(4*t),0,t)}function h(t){return new Int8Array(s(t),0,t)}function f(t){return new Int16Array(s(2*t),0,t)}function p(t){return new Int32Array(s(4*t),0,t)}function d(t){return new Float32Array(s(4*t),0,t)}function g(t){return new Float64Array(s(8*t),0,t)}function v(t){return r?new Uint8ClampedArray(s(t),0,t):l(t)}function m(t){return new DataView(s(t),0,t)}function y(t){t=Mb.nextPow2(t);var r=Mb.log2(t),n=a[r];return n.length>0?n.pop():new e(t)}__.free=function(t){if(e.isBuffer(t))a[Mb.log2(t.length)].push(t);else{if(\"[object ArrayBuffer]\"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var r=t.length||t.byteLength,n=0|Mb.log2(r);i[n].push(t)}},__.freeUint8=__.freeUint16=__.freeUint32=__.freeInt8=__.freeInt16=__.freeInt32=__.freeFloat32=__.freeFloat=__.freeFloat64=__.freeDouble=__.freeUint8Clamped=__.freeDataView=function(t){o(t.buffer)},__.freeArrayBuffer=o,__.freeBuffer=function(t){a[Mb.log2(t.length)].push(t)},__.malloc=function(t,e){if(void 0===e||\"arraybuffer\"===e)return s(t);switch(e){case\"uint8\":return l(t);case\"uint16\":return u(t);case\"uint32\":return c(t);case\"int8\":return h(t);case\"int16\":return f(t);case\"int32\":return p(t);case\"float\":case\"float32\":return d(t);case\"double\":case\"float64\":return g(t);case\"uint8_clamped\":return v(t);case\"buffer\":return y(t);case\"data\":case\"dataview\":return m(t);default:return null}return null},__.mallocArrayBuffer=s,__.mallocUint8=l,__.mallocUint16=u,__.mallocUint32=c,__.mallocInt8=h,__.mallocInt16=f,__.mallocInt32=p,__.mallocFloat32=__.mallocFloat=d,__.mallocFloat64=__.mallocDouble=g,__.mallocUint8Clamped=v,__.mallocDataView=m,__.mallocBuffer=y,__.clearCache=function(){for(var t=0;t<32;++t)n.UINT8[t].length=0,n.UINT16[t].length=0,n.UINT32[t].length=0,n.INT8[t].length=0,n.INT16[t].length=0,n.INT32[t].length=0,n.FLOAT[t].length=0,n.DOUBLE[t].length=0,n.UINT8C[t].length=0,i[t].length=0,a[t].length=0}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},Rb.Buffer);var w_=[\"uint8\",\"uint8_clamped\",\"uint16\",\"uint32\",\"int8\",\"int16\",\"int32\",\"float32\"];function M_(t,e,r,n,i){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=i}var A_=M_.prototype;function k_(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 T_(t,e){for(var r=__.malloc(t.length,e),n=t.length,i=0;i<n;++i)r[i]=t[i];return r}A_.bind=function(){this.gl.bindBuffer(this.type,this.handle)},A_.unbind=function(){this.gl.bindBuffer(this.type,null)},A_.dispose=function(){this.gl.deleteBuffer(this.handle)},A_.update=function(t,e){if(\"number\"!=typeof e&&(e=-1),this.bind(),\"object\"==typeof t&&void 0!==t.shape){var r=t.dtype;if(w_.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&&function(t,e){for(var r=1,n=e.length-1;n>=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=k_(this.gl,this.type,this.length,this.usage,t.data,e):this.length=k_(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var n=__.malloc(t.size,r),i=wb(n,t.shape);ib.assign(i,t),this.length=k_(this.gl,this.type,this.length,this.usage,e<0?n:n.subarray(0,t.size),e),__.free(n)}}else if(Array.isArray(t)){var a;a=this.type===this.gl.ELEMENT_ARRAY_BUFFER?T_(t,\"uint16\"):T_(t,\"float32\"),this.length=k_(this.gl,this.type,this.length,this.usage,e<0?a:a.subarray(0,t.length),e),__.free(a)}else if(\"object\"==typeof t&&\"number\"==typeof t.length)this.length=k_(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)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}};var S_=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||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(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==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 i=new M_(t,r,t.createBuffer(),0,n);return i.update(e),i},E_=function(t){\"string\"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n<t.length-1;n++)r.push(t[n],e[n]||\"\");return r.push(t[n]),r.join(\"\")},C_=E_([\"precision lowp float;\\n#define GLSLIFY 1\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = vec4(color.xyz * color.w, color.w);\\n}\\n\"]),L_={lineVert:E_([\"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:C_,textVert:E_([\"#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:C_,gridVert:E_([\"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:C_,boxVert:E_([\"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:E_([\"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\"])};function z_(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}z_.prototype=new Error,z_.prototype.name=\"GLError\",z_.prototype.constructor=z_;var P_=z_,I_=function(t,e,r,n){for(var i={},a=0,o=r.length;a<o;++a){var s=r[a],l=s.name,u=s.type,c=s.locations;switch(u){case\"bool\":case\"int\":case\"float\":R_(t,e,c[0],n,1,i,l);break;default:if(u.indexOf(\"vec\")>=0){var h=u.charCodeAt(u.length-1)-48;if(h<2||h>4)throw new P_(\"\",\"Invalid data type for attribute \"+l+\": \"+u);R_(t,e,c[0],n,h,i,l)}else{if(!(u.indexOf(\"mat\")>=0))throw new P_(\"\",\"Unknown data type for attribute \"+l+\": \"+u);var h=u.charCodeAt(u.length-1)-48;if(h<2||h>4)throw new P_(\"\",\"Invalid data type for attribute \"+l+\": \"+u);F_(t,e,c,n,h,i,l)}}}return i};function D_(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var O_=D_.prototype;function R_(t,e,r,n,i,a,o){for(var s=[\"gl\",\"v\"],l=[],u=0;u<i;++u)s.push(\"x\"+u),l.push(\"x\"+u);s.push(\"if(x0.length===void 0){return gl.vertexAttrib\"+i+\"f(v,\"+l.join()+\")}else{return gl.vertexAttrib\"+i+\"fv(v,x0)}\");var c=Function.apply(null,s),h=new D_(t,e,r,n,i,c);Object.defineProperty(a,o,{set:function(e){return t.disableVertexAttribArray(n[r]),c(t,n[r],e),e},get:function(){return h},enumerable:!0})}function F_(t,e,r,n,i,a,o){for(var s=new Array(i),l=new Array(i),u=0;u<i;++u)R_(t,e,r[u],n,i,s,u),l[u]=s[u];Object.defineProperty(s,\"location\",{set:function(t){if(Array.isArray(t))for(var e=0;e<i;++e)l[e].location=t[e];else for(e=0;e<i;++e)l[e].location=t+e;return t},get:function(){for(var t=new Array(i),e=0;e<i;++e)t[e]=n[r[e]];return t},enumerable:!0}),s.pointer=function(e,a,o,s){e=e||t.FLOAT,a=!!a,o=o||i*i,s=s||0;for(var l=0;l<i;++l){var u=n[r[l]];t.vertexAttribPointer(u,i,e,a,o,s+l*i),t.enableVertexAttribArray(u)}};var c=new Array(i),h=t[\"vertexAttrib\"+i+\"fv\"];Object.defineProperty(a,o,{set:function(e){for(var a=0;a<i;++a){var o=n[r[a]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))h.call(t,o,e[a]);else{for(var s=0;s<i;++s)c[s]=e[i*a+s];h.call(t,o,c)}}return e},get:function(){return s},enumerable:!0})}O_.pointer=function(t,e,r,n){var i=this._gl,a=this._locations[this._index];i.vertexAttribPointer(a,this._dimension,t||i.FLOAT,!!e,r||0,n||0),i.enableVertexAttribArray(a)},O_.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(O_,\"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}});var B_=function(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};var N_=function(t,e,r,n){function i(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 P_(\"\",\"Invalid uniform dimension type for matrix \"+Rd+\": \"+r);return\"gl.uniformMatrix\"+i+\"fv(locations[\"+e+\"],false,obj\"+t+\")\"}throw new P_(\"\",\"Unknown uniform data type for \"+Rd+\": \"+r)}var i=r.charCodeAt(r.length-1)-48;if(i<2||i>4)throw new P_(\"\",\"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 P_(\"\",\"Unrecognized data type for vector \"+Rd+\": \"+r)}}}function a(e){for(var a=[\"return function updateProperty(obj){\"],o=function t(e,r){if(\"object\"!=typeof r)return[[e,r]];var n=[];for(var i in r){var a=r[i],o=e;parseInt(i)+\"\"===i?o+=\"[\"+i+\"]\":o+=\".\"+i,\"object\"==typeof a?n.push.apply(n,t(o,a)):n.push([o,a])}return n}(\"\",e),s=0;s<o.length;++s){var l=o[s],u=l[0],c=l[1];n[c]&&a.push(i(u,c,r[c].type))}a.push(\"return obj}\");var h=new Function(\"gl\",\"locations\",a.join(\"\\n\"));return h(t,n)}function o(i,o,l){if(\"object\"==typeof l){var u=s(l);Object.defineProperty(i,o,{get:j_(u),set:a(l),enumerable:!0,configurable:!1})}else n[l]?Object.defineProperty(i,o,{get:(c=l,new Function(\"gl\",\"wrapper\",\"locations\",\"return function(){return gl.getUniform(wrapper.program,locations[\"+c+\"])}\")(t,e,n)),set:a(l),enumerable:!0,configurable:!1}):i[o]=function(t){switch(t){case\"bool\":return!1;case\"int\":case\"sampler2D\":case\"samplerCube\":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 P_(\"\",\"Invalid data type\");return\"b\"===t.charAt(0)?V_(r,!1):V_(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 P_(\"\",\"Invalid uniform dimension type for matrix \"+Rd+\": \"+t);return V_(r*r,0)}throw new P_(\"\",\"Unknown uniform data type for \"+Rd+\": \"+t)}}(r[l].type);var c}function s(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r<t.length;++r)o(e,r,t[r])}else for(var n in e={},t)o(e,n,t[n]);return e}var l=B_(r,!0);return{get:j_(s(l)),set:a(l),enumerable:!0,configurable:!0}};function j_(t){return new Function(\"y\",\"return function(){return y}\")(t)}function V_(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}var U_={uniforms:function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),n=[],i=0;i<r;++i){var a=t.getActiveUniform(e,i);if(a){var o=G_(t,a.type);if(a.size>1)for(var s=0;s<a.size;++s)n.push({name:a.name.replace(\"[0]\",\"[\"+s+\"]\"),type:o});else n.push({name:a.name,type:o})}}return n},attributes:function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),n=[],i=0;i<r;++i){var a=t.getActiveAttrib(e,i);a&&n.push({name:a.name,type:G_(t,a.type)})}return n}},q_={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\"},H_=null;function G_(t,e){if(!H_){var r=Object.keys(q_);H_={};for(var n=0;n<r.length;++n){var i=r[n];H_[t[i]]=q_[i]}}return H_[e]}var W_,Y_=\"\",X_=function(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(W_!==t||void 0===W_)W_=t,Y_=\"\";else if(Y_.length>=r)return Y_.substr(0,r);for(;r>Y_.length&&e>1;)1&e&&(Y_+=t),e>>=1,t+=t;return Y_=(Y_+=t).substr(0,r)};var Z_=function(t,e,r){return X_(r=void 0!==r?r+\"\":\" \",e)+t},J_=function(t,e,r){e=\"number\"==typeof e?e:1,r=r||\": \";var n=t.split(/\\r?\\n/),i=String(n.length+e-1).length;return n.map(function(t,n){var a=n+e,o=String(a).length,s=Z_(a,i-o);return s+r+t}).join(\"\\n\")};var K_={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\",34000:\"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\"},Q_=function(t){return K_[t]},$_=function(t){return atob(t)},tw=[\"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\"],ew=(tw=tw.slice().filter(function(t){return!/^(gl\\_|texture)/.test(t)})).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\"]),rw=[\"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\"],nw=rw.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\"]),iw=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"],aw=function(t){var e,r,n,i=0,a=0,o=ow,s=[],l=[],u=1,c=0,h=0,f=!1,p=!1,d=\"\",g=tw,v=rw;\"300 es\"===(t=t||{}).version&&(g=ew,v=nw);return function(t){return l=[],null!==t?function(t){var r;i=0,n=(d+=t).length;for(;e=d[i],i<n;){switch(r=i,o){case lw:i=_();break;case uw:case cw:i=b();break;case hw:i=w();break;case fw:i=k();break;case xw:i=A();break;case pw:i=T();break;case sw:i=S();break;case mw:i=x();break;case ow:i=y()}if(r!==i)switch(d[r]){case\"\\n\":c=0,++u;break;default:++c}}return a+=i,d=d.slice(i),l}(t.replace?t.replace(/\\r\\n/g,\"\\n\"):t):function(t){s.length&&m(s.join(\"\"));return o=yw,m(\"(eof)\"),l}()};function m(t){t.length&&l.push({type:bw[o],data:t,position:h,line:u,column:c})}function y(){return s=s.length?[]:s,\"/\"===r&&\"*\"===e?(h=a+i-1,o=lw,r=e,i+1):\"/\"===r&&\"/\"===e?(h=a+i-1,o=uw,r=e,i+1):\"#\"===e?(o=cw,h=a+i,i):/\\s/.test(e)?(o=mw,h=a+i,i):(f=/\\d/.test(e),p=/[^\\w_]/.test(e),h=a+i,o=f?fw:p?hw:sw,i)}function x(){return/[^\\s]/g.test(e)?(m(s.join(\"\")),o=ow,i):(s.push(e),r=e,i+1)}function b(){return\"\\r\"!==e&&\"\\n\"!==e||\"\\\\\"===r?(s.push(e),r=e,i+1):(m(s.join(\"\")),o=ow,i)}function _(){return\"/\"===e&&\"*\"===r?(s.push(e),m(s.join(\"\")),o=ow,i+1):(s.push(e),r=e,i+1)}function w(){if(\".\"===r&&/\\d/.test(e))return o=pw,i;if(\"/\"===r&&\"*\"===e)return o=lw,i;if(\"/\"===r&&\"/\"===e)return o=uw,i;if(\".\"===e&&s.length){for(;M(s););return o=pw,i}if(\";\"===e||\")\"===e||\"(\"===e){if(s.length)for(;M(s););return m(e),o=ow,i+1}var t=2===s.length&&\"=\"!==e;if(/[\\w_\\d\\s]/.test(e)||t){for(;M(s););return o=ow,i}return s.push(e),r=e,i+1}function M(t){for(var e,r,n=0;;){if(e=iw.indexOf(t.slice(0,t.length+n).join(\"\")),r=iw[e],-1===e){if(n--+t.length>0)continue;r=t.slice(0,1).join(\"\")}return m(r),h+=r.length,(s=s.slice(r.length)).length}}function A(){return/[^a-fA-F0-9]/.test(e)?(m(s.join(\"\")),o=ow,i):(s.push(e),r=e,i+1)}function k(){return\".\"===e?(s.push(e),o=pw,r=e,i+1):/[eE]/.test(e)?(s.push(e),o=pw,r=e,i+1):\"x\"===e&&1===s.length&&\"0\"===s[0]?(o=xw,s.push(e),r=e,i+1):/[^\\d]/.test(e)?(m(s.join(\"\")),o=ow,i):(s.push(e),r=e,i+1)}function T(){return\"f\"===e&&(s.push(e),r=e,i+=1),/[eE]/.test(e)?(s.push(e),r=e,i+1):\"-\"===e&&/[eE]/.test(r)?(s.push(e),r=e,i+1):/[^\\d]/.test(e)?(m(s.join(\"\")),o=ow,i):(s.push(e),r=e,i+1)}function S(){if(/[^\\d\\w_]/.test(e)){var t=s.join(\"\");return o=v.indexOf(t)>-1?vw:g.indexOf(t)>-1?gw:dw,m(s.join(\"\")),o=ow,i}return s.push(e),r=e,i+1}},ow=999,sw=9999,lw=0,uw=1,cw=2,hw=3,fw=4,pw=5,dw=6,gw=7,vw=8,mw=9,yw=10,xw=11,bw=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"];var _w=function(t,e){var r=aw(e),n=[];return n=(n=n.concat(r(t))).concat(r(null))};var ww=function(t){for(var e=Array.isArray(t)?t:_w(t),r=0;r<e.length;r++){var n=e[r];if(\"preprocessor\"===n.type){var i=n.data.match(/\\#define\\s+SHADER_NAME(_B64)?\\s+(.+)$/);if(i&&i[2]){var a=i[1],o=i[2];return(a?$_(o):o).trim()}}}};var Mw={};!function(){\"use strict\";var t={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^\\)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[\\+\\-]/};function e(r){return function(r,n){var i,a,o,s,l,u,c,h,f,p=1,d=r.length,g=\"\";for(a=0;a<d;a++)if(\"string\"==typeof r[a])g+=r[a];else if(Array.isArray(r[a])){if((s=r[a])[2])for(i=n[p],o=0;o<s[2].length;o++){if(!i.hasOwnProperty(s[2][o]))throw new Error(e('[sprintf] property \"%s\" does not exist',s[2][o]));i=i[s[2][o]]}else i=s[1]?n[s[1]]:n[p++];if(t.not_type.test(s[8])&&t.not_primitive.test(s[8])&&i instanceof Function&&(i=i()),t.numeric_arg.test(s[8])&&\"number\"!=typeof i&&isNaN(i))throw new TypeError(e(\"[sprintf] expecting number but found %T\",i));switch(t.number.test(s[8])&&(h=i>=0),s[8]){case\"b\":i=parseInt(i,10).toString(2);break;case\"c\":i=String.fromCharCode(parseInt(i,10));break;case\"d\":case\"i\":i=parseInt(i,10);break;case\"j\":i=JSON.stringify(i,null,s[6]?parseInt(s[6]):0);break;case\"e\":i=s[7]?parseFloat(i).toExponential(s[7]):parseFloat(i).toExponential();break;case\"f\":i=s[7]?parseFloat(i).toFixed(s[7]):parseFloat(i);break;case\"g\":i=s[7]?String(Number(i.toPrecision(s[7]))):parseFloat(i);break;case\"o\":i=(parseInt(i,10)>>>0).toString(8);break;case\"s\":i=String(i),i=s[7]?i.substring(0,s[7]):i;break;case\"t\":i=String(!!i),i=s[7]?i.substring(0,s[7]):i;break;case\"T\":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=s[7]?i.substring(0,s[7]):i;break;case\"u\":i=parseInt(i,10)>>>0;break;case\"v\":i=i.valueOf(),i=s[7]?i.substring(0,s[7]):i;break;case\"x\":i=(parseInt(i,10)>>>0).toString(16);break;case\"X\":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}t.json.test(s[8])?g+=i:(!t.number.test(s[8])||h&&!s[3]?f=\"\":(f=h?\"+\":\"-\",i=i.toString().replace(t.sign,\"\")),u=s[4]?\"0\"===s[4]?\"0\":s[4].charAt(1):\" \",c=s[6]-(f+i).length,l=s[6]&&c>0?u.repeat(c):\"\",g+=s[5]?f+i+l:\"0\"===u?f+l+i:l+f+i)}return g}(function(e){if(n[e])return n[e];var r,i=e,a=[],o=0;for(;i;){if(null!==(r=t.text.exec(i)))a.push(r[0]);else if(null!==(r=t.modulo.exec(i)))a.push(\"%\");else{if(null===(r=t.placeholder.exec(i)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(r[2]){o|=1;var s=[],l=r[2],u=[];if(null===(u=t.key.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(s.push(u[1]);\"\"!==(l=l.substring(u[0].length));)if(null!==(u=t.key_access.exec(l)))s.push(u[1]);else{if(null===(u=t.index_access.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");s.push(u[1])}r[2]=s}else o|=2;if(3===o)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");a.push(r)}i=i.substring(r[0].length)}return n[e]=a}(r),arguments)}function r(t,r){return e.apply(null,[t].concat(r||[]))}var n=Object.create(null);void 0!==Mw&&(Mw.sprintf=e,Mw.vsprintf=r),\"undefined\"!=typeof window&&(window.sprintf=e,window.vsprintf=r)}();var Aw=Mw.sprintf,kw=function(t,e,r){\"use strict\";var n=ww(e)||\"of unknown name (see npm glsl-shader-name)\",i=\"unknown type\";void 0!==r&&(i=r===Q_.FRAGMENT_SHADER?\"fragment\":\"vertex\");for(var a=Aw(\"Error compiling %s shader %s:\\n\",i,n),o=Aw(\"%s%s\",a,t),s=t.split(\"\\n\"),l={},u=0;u<s.length;u++){var c=s[u];if(\"\"!==c&&\"\\0\"!==c){var h=parseInt(c.split(\":\")[2]);if(isNaN(h))throw new Error(Aw(\"Could not parse error: %s\",c));l[h]=c}}for(var f=J_(e).split(\"\\n\"),u=0;u<f.length;u++)if(l[u+3]||l[u+2]||l[u+1]){var p=f[u];if(a+=p+\"\\n\",l[u+1]){var d=l[u+1];d=d.substr(d.split(\":\",3).join(\":\").length+1).trim(),a+=Aw(\"^^^ %s\\n\\n\",d)}}return{long:a.trim(),short:o.trim()}};var Tw=function(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};var Sw=function(){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:Tw(e,t)}};var Ew={shader:function(t,e,r){return Dw(t).getShaderReference(e,r)},program:function(t,e,r,n,i){return Dw(t).getProgram(e,r,n,i)}},Cw=new(\"undefined\"==typeof WeakMap?function(){var t=Sw();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}}}:WeakMap),Lw=0;function zw(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 Pw(t){this.gl=t,this.shaders=[{},{}],this.programs={}}zw.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 Iw=Pw.prototype;function Dw(t){var e=Cw.get(t);return e||(e=new Pw(t),Cw.set(t,e)),e}function Ow(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}Iw.getShaderReference=function(t,e){var r=this.gl,n=this.shaders[t===r.FRAGMENT_SHADER|0],i=n[e];if(i&&r.isShader(i.shader))i.count+=1;else{var a=function(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=kw(i,r,e)}catch(t){throw console.warn(\"Failed to format compiler error: \"+t),new P_(i,\"Error compiling shader:\\n\"+i)}throw new P_(i,a.short,a.long)}return n}(r,t,e);i=n[e]=new zw(Lw++,e,t,a,[],1,this)}return i},Iw.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=function(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 P_(s,\"Error linking program: \"+s)}return a}(this.gl,t.shader,e.shader,r,n),t.programs.push(i),e.programs.push(i)),a};var Rw=Ow.prototype;function Fw(t,e){return t.name<e.name?-1:1}Rw.bind=function(){var t;this.program||this._relink();var 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)},Rw.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},Rw.update=function(t,e,r,n){if(!e||1===arguments.length){var i=t;t=i.vertex,e=i.fragment,r=i.uniforms,n=i.attributes}var a=this,o=a.gl,s=a._vref;a._vref=Ew.shader(o,o.VERTEX_SHADER,t),s&&s.dispose(),a.vertShader=a._vref.shader;var l=this._fref;if(a._fref=Ew.shader(o,o.FRAGMENT_SHADER,e),l&&l.dispose(),a.fragShader=a._fref.shader,!r||!n){var u=o.createProgram();if(o.attachShader(u,a.fragShader),o.attachShader(u,a.vertShader),o.linkProgram(u),!o.getProgramParameter(u,o.LINK_STATUS)){var c=o.getProgramInfoLog(u);throw new P_(c,\"Error linking program:\"+c)}r=r||U_.uniforms(o,u),n=n||U_.attributes(o,u),o.deleteProgram(u)}(n=n.slice()).sort(Fw);var h,f=[],p=[],d=[];for(h=0;h<n.length;++h){var g=n[h];if(g.type.indexOf(\"mat\")>=0){for(var v=0|g.type.charAt(g.type.length-1),m=new Array(v),y=0;y<v;++y)m[y]=d.length,p.push(g.name+\"[\"+y+\"]\"),\"number\"==typeof g.location?d.push(g.location+y):Array.isArray(g.location)&&g.location.length===v&&\"number\"==typeof g.location[y]?d.push(0|g.location[y]):d.push(-1);f.push({name:g.name,type:g.type,locations:m})}else f.push({name:g.name,type:g.type,locations:[d.length]}),p.push(g.name),\"number\"==typeof g.location?d.push(0|g.location):d.push(-1)}var x=0;for(h=0;h<d.length;++h)if(d[h]<0){for(;d.indexOf(x)>=0;)x+=1;d[h]=x}var b=new Array(r.length);function _(){a.program=Ew.program(o,a._vref,a._fref,p,d);for(var t=0;t<r.length;++t)b[t]=o.getUniformLocation(a.program,r[t].name)}_(),a._relink=_,a.types={uniforms:B_(r),attributes:B_(n)},a.attributes=I_(o,a,f,d),Object.defineProperty(a,\"uniforms\",N_(o,a,r,b))};var Bw=function(t,e,r,n,i){var a=new Ow(t);return a.update(e,r,n,i),a},Nw=function(t){var e=t.gl,r=S_(e,[0,0,0,1,1,0,1,1]),n=Bw(e,L_.boxVert,L_.lineFrag);return new jw(t,r,n)};function jw(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var Vw,Uw,qw=jw.prototype;function Hw(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 Gw(t,e,r,n){return new Function([Hw(\"A\",\"x\"+t+\"y\",e,[\"y\"],n),Hw(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],n),\"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(\"\"))()}qw.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},qw.drawBox=(Vw=[0,0],Uw=[0,0],function(t,e,r,n,i){var a=this.plot,o=this.shader,s=a.gl;Vw[0]=t,Vw[1]=e,Uw[0]=r,Uw[1]=n,o.uniforms.lo=Vw,o.uniforms.hi=Uw,o.uniforms.color=i,s.drawArrays(s.TRIANGLE_STRIP,0,4)}),qw.dispose=function(){this.vbo.dispose(),this.shader.dispose()};var Ww={ge:Gw(\">=\",!1,\"GE\"),gt:Gw(\">\",!1,\"GT\"),lt:Gw(\"<\",!0,\"LT\"),le:Gw(\"<=\",!0,\"LE\"),eq:Gw(\"-\",!0,\"EQ\",!0)};function Yw(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 Xw(t,e,r,n){return new Function([Yw(\"A\",\"x\"+t+\"y\",e,[\"y\"],n),Yw(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],n),\"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(\"\"))()}var Zw={ge:Xw(\">=\",!1,\"GE\"),gt:Xw(\">\",!1,\"GT\"),lt:Xw(\"<\",!0,\"LT\"),le:Xw(\"<=\",!0,\"LE\"),eq:Xw(\"-\",!0,\"EQ\",!0)},Jw=function(t){var e=t.gl,r=S_(e),n=Bw(e,L_.gridVert,L_.gridFrag),i=Bw(e,L_.tickVert,L_.gridFrag);return new Kw(t,r,n,i)};function Kw(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function Qw(t,e){return t-e}var $w,tM,eM,rM,nM,iM=Kw.prototype;iM.draw=($w=[0,0],tM=[0,0],eM=[0,0],function(){for(var t=this.plot,e=this.vbo,r=this.shader,n=this.ticks,i=t.gl,a=t._tickBounds,o=t.dataBox,s=t.viewBox,l=t.gridLineWidth,u=t.gridLineColor,c=t.gridLineEnable,h=t.pixelRatio,f=0;f<2;++f){var p=a[f],d=a[f+2]-p,g=.5*(o[f+2]+o[f]),v=o[f+2]-o[f];tM[f]=2*d/v,$w[f]=2*(p-g)/v}r.bind(),e.bind(),r.attributes.dataCoord.pointer(),r.uniforms.dataShift=$w,r.uniforms.dataScale=tM;var m=0;for(f=0;f<2;++f){eM[0]=eM[1]=0,eM[f]=1,r.uniforms.dataAxis=eM,r.uniforms.lineWidth=l[f]/(s[f+2]-s[f])*h,r.uniforms.color=u[f];var y=6*n[f].length;c[f]&&y&&i.drawArrays(i.TRIANGLES,m,y),m+=y}}),iM.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],i=[0,0],a=[0,0];return function(){for(var o=this.plot,s=this.vbo,l=this.tickShader,u=this.ticks,c=o.gl,h=o._tickBounds,f=o.dataBox,p=o.viewBox,d=o.pixelRatio,g=o.screenBox,v=g[2]-g[0],m=g[3]-g[1],y=p[2]-p[0],x=p[3]-p[1],b=0;b<2;++b){var _=h[b],w=h[b+2]-_,M=.5*(f[b+2]+f[b]),A=f[b+2]-f[b];e[b]=2*w/A,t[b]=2*(_-M)/A}e[0]*=y/v,t[0]*=y/v,e[1]*=x/m,t[1]*=x/m,l.bind(),s.bind(),l.attributes.dataCoord.pointer();var k=l.uniforms;k.dataShift=t,k.dataScale=e;var T=o.tickMarkLength,S=o.tickMarkWidth,E=o.tickMarkColor,C=6*u[0].length,L=Math.min(Zw.ge(u[0],(f[0]-h[0])/(h[2]-h[0]),Qw),u[0].length),z=Math.min(Zw.gt(u[0],(f[2]-h[0])/(h[2]-h[0]),Qw),u[0].length),P=0+6*L,I=6*Math.max(0,z-L),D=Math.min(Zw.ge(u[1],(f[1]-h[1])/(h[3]-h[1]),Qw),u[1].length),O=Math.min(Zw.gt(u[1],(f[3]-h[1])/(h[3]-h[1]),Qw),u[1].length),R=C+6*D,F=6*Math.max(0,O-D);i[0]=2*(p[0]-T[1])/v-1,i[1]=(p[3]+p[1])/m-1,a[0]=T[1]*d/v,a[1]=S[1]*d/m,F&&(k.color=E[1],k.tickScale=a,k.dataAxis=n,k.screenOffset=i,c.drawArrays(c.TRIANGLES,R,F)),i[0]=(p[2]+p[0])/v-1,i[1]=2*(p[1]-T[0])/m-1,a[0]=S[0]*d/v,a[1]=T[0]*d/m,I&&(k.color=E[0],k.tickScale=a,k.dataAxis=r,k.screenOffset=i,c.drawArrays(c.TRIANGLES,P,I)),i[0]=2*(p[2]+T[3])/v-1,i[1]=(p[3]+p[1])/m-1,a[0]=T[3]*d/v,a[1]=S[3]*d/m,F&&(k.color=E[3],k.tickScale=a,k.dataAxis=n,k.screenOffset=i,c.drawArrays(c.TRIANGLES,R,F)),i[0]=(p[2]+p[0])/v-1,i[1]=2*(p[3]+T[2])/m-1,a[0]=S[2]*d/v,a[1]=T[2]*d/m,I&&(k.color=E[2],k.tickScale=a,k.dataAxis=r,k.screenOffset=i,c.drawArrays(c.TRIANGLES,P,I))}}(),iM.update=(rM=[1,1,-1,-1,1,-1],nM=[1,-1,1,1,-1,-1],function(t){for(var e=t.ticks,r=t.bounds,n=new Float32Array(18*(e[0].length+e[1].length)),i=(this.plot.zeroLineEnable,0),a=[[],[]],o=0;o<2;++o)for(var s=a[o],l=e[o],u=r[o],c=r[o+2],h=0;h<l.length;++h){var f=(l[h].x-u)/(c-u);s.push(f);for(var p=0;p<6;++p)n[i++]=f,n[i++]=rM[p],n[i++]=nM[p]}this.ticks=a,this.vbo.update(n)}),iM.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()};var aM=function(t){var e=t.gl,r=S_(e,[-1,-1,-1,1,1,-1,1,1]),n=Bw(e,L_.lineVert,L_.lineFrag);return new oM(t,r,n)};function oM(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var sM,lM,uM=oM.prototype;uM.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},uM.drawLine=(sM=[0,0],lM=[0,0],function(t,e,r,n,i,a){var o=this.plot,s=this.shader,l=o.gl;sM[0]=t,sM[1]=e,lM[0]=r,lM[1]=n,s.uniforms.start=sM,s.uniforms.end=lM,s.uniforms.width=i*o.pixelRatio,s.uniforms.color=a,l.drawArrays(l.TRIANGLE_STRIP,0,4)}),uM.dispose=function(){this.vbo.dispose(),this.shader.dispose()};var cM=function(t,e,r){var n=t*e,i=hM*t,a=i-(i-t),o=t-a,s=hM*e,l=s-(s-e),u=e-l,c=o*u-(n-a*l-o*l-a*u);if(r)return r[0]=c,r[1]=n,r;return[c,n]},hM=+(Math.pow(2,27)+1);var fM=function(t,e,r){var n=t+e,i=n-t,a=e-i,o=t-(n-i);if(r)return r[0]=o+a,r[1]=n,r;return[o+a,n]};var pM=function(t,e){var r=t.length;if(1===r){var n=cM(t[0],e);return n[0]?n:[n[1]]}var i=new Array(2*r),a=[.1,.1],o=[.1,.1],s=0;cM(t[0],e,a),a[0]&&(i[s++]=a[0]);for(var l=1;l<r;++l){cM(t[l],e,o);var u=a[1];fM(u,o[0],a),a[0]&&(i[s++]=a[0]);var c=o[1],h=a[1],f=c+h,p=f-c,d=h-p;a[1]=f,d&&(i[s++]=d)}a[1]&&(i[s++]=a[1]);0===s&&(i[s++]=0);return i.length=s,i};var dM=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],-e[0]);var i,a,o=new Array(r+n),s=0,l=0,u=0,c=Math.abs,h=t[l],f=c(h),p=-e[u],d=c(p);f<d?(a=h,(l+=1)<r&&(h=t[l],f=c(h))):(a=p,(u+=1)<n&&(p=-e[u],d=c(p)));l<r&&f<d||u>=n?(i=h,(l+=1)<r&&(h=t[l],f=c(h))):(i=p,(u+=1)<n&&(p=-e[u],d=c(p)));var g,v,m=i+a,y=m-i,x=a-y,b=x,_=m;for(;l<r&&u<n;)f<d?(i=h,(l+=1)<r&&(h=t[l],f=c(h))):(i=p,(u+=1)<n&&(p=-e[u],d=c(p))),(x=(a=b)-(y=(m=i+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g;for(;l<r;)(x=(a=b)-(y=(m=(i=h)+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(l+=1)<r&&(h=t[l]);for(;u<n;)(x=(a=b)-(y=(m=(i=p)+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(u+=1)<n&&(p=-e[u]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o};var gM=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],e[0]);var i,a,o=new Array(r+n),s=0,l=0,u=0,c=Math.abs,h=t[l],f=c(h),p=e[u],d=c(p);f<d?(a=h,(l+=1)<r&&(h=t[l],f=c(h))):(a=p,(u+=1)<n&&(p=e[u],d=c(p)));l<r&&f<d||u>=n?(i=h,(l+=1)<r&&(h=t[l],f=c(h))):(i=p,(u+=1)<n&&(p=e[u],d=c(p)));var g,v,m=i+a,y=m-i,x=a-y,b=x,_=m;for(;l<r&&u<n;)f<d?(i=h,(l+=1)<r&&(h=t[l],f=c(h))):(i=p,(u+=1)<n&&(p=e[u],d=c(p))),(x=(a=b)-(y=(m=i+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g;for(;l<r;)(x=(a=b)-(y=(m=(i=h)+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(l+=1)<r&&(h=t[l]);for(;u<n;)(x=(a=b)-(y=(m=(i=p)+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(u+=1)<n&&(p=e[u]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o};var vM={},mM=6;function yM(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 xM(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(\",xM(t.slice(0,e)),\",\",xM(t.slice(e)),\")\"].join(\"\")}function bM(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 bM(e,t)}function _M(t){if(2===t.length)return[[\"diff(\",bM(t[0][0],t[1][1]),\",\",bM(t[1][0],t[0][1]),\")\"].join(\"\")];for(var e=[],r=0;r<t.length;++r)e.push([\"scale(\",xM(_M(yM(t,r))),\",\",(n=r,!0&n?\"-\":\"\"),t[0][r],\")\"].join(\"\"));return e;var n}function wM(t,e){for(var r=[],n=0;n<e-2;++n)r.push([\"prod(m\",t,\"[\",n,\"],m\",t,\"[\",n,\"])\"].join(\"\"));return xM(r)}function MM(t){for(var e=[],r=[],n=function(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}(t),i=0;i<t;++i)n[0][i]=\"1\",n[t-1][i]=\"w\"+i;for(i=0;i<t;++i)0==(1&i)?e.push.apply(e,_M(yM(n,i))):r.push.apply(r,_M(yM(n,i)));var a=xM(e),o=xM(r),s=\"exactInSphere\"+t,l=[];for(i=0;i<t;++i)l.push(\"m\"+i);var u=[\"function \",s,\"(\",l.join(),\"){\"];for(i=0;i<t;++i){u.push(\"var w\",i,\"=\",wM(i,t),\";\");for(var c=0;c<t;++c)c!==i&&u.push(\"var w\",i,\"m\",c,\"=scale(w\",i,\",m\",c,\"[0]);\")}return u.push(\"var p=\",a,\",n=\",o,\",d=diff(p,n);return d[d.length-1];}return \",s),new Function(\"sum\",\"diff\",\"prod\",\"scale\",u.join(\"\"))(gM,dM,cM,pM)}var AM=[function(){return 0},function(){return 0},function(){return 0}];!function(){for(;AM.length<=mM;)AM.push(MM(AM.length));for(var t=[],e=[\"slow\"],r=0;r<=mM;++r)t.push(\"a\"+r),e.push(\"o\"+r);var n=[\"function testInSphere(\",t.join(),\"){switch(arguments.length){case 0:case 1:return 0;\"];for(r=2;r<=mM;++r)n.push(\"case \",r,\":return o\",r,\"(\",t.slice(0,r).join(),\");\");n.push(\"}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere\"),e.push(n.join(\"\"));var i=Function.apply(void 0,e);for(vM=i.apply(void 0,[function(t){var e=AM[t.length];return e||(e=AM[t.length]=MM(t.length)),e.apply(void 0,t)}].concat(AM)),r=0;r<=mM;++r)vM[r]=AM[r]}();var kM=vM[4],TM=function(t,e){for(var r=[],n=t.length,i=e.stars,a=0;a<n;++a)for(var o=i[a],s=1;s<o.length;s+=2){var l=o[s];if(!(l<a)&&!e.isConstraint(a,l)){for(var u=o[s-1],c=-1,h=1;h<o.length;h+=2)if(o[h-1]===l){c=o[h];break}c<0||kM(t[a],t[l],t[u],t[c])<0&&r.push(a,l)}}for(;r.length>0;){for(var l=r.pop(),a=r.pop(),u=-1,c=-1,o=i[a],f=1;f<o.length;f+=2){var p=o[f-1],d=o[f];p===l?c=d:d===l&&(u=p)}u<0||c<0||(kM(t[a],t[l],t[u],t[c])>=0||(e.flip(a,l),SM(t,e,r,u,a,c),SM(t,e,r,a,c,u),SM(t,e,r,c,l,u),SM(t,e,r,l,u,c)))}};function SM(t,e,r,n,i,a){var o=e.opposite(n,i);if(!(o<0)){if(i<n){var s=n;n=i,i=s,s=a,a=o,o=s}e.isConstraint(n,i)||kM(t[n],t[i],t[a],t[o])<0&&r.push(n,i)}}var EM,CM=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i<n;++i){var a=r[i],o=a[0],s=a[1],l=a[2];s<l?s<o&&(a[0]=s,a[1]=l,a[2]=o):l<o&&(a[0]=l,a[1]=o,a[2]=s)}r.sort(zM);for(var u=new Array(n),i=0;i<u.length;++i)u[i]=0;var c=[],h=[],f=new Array(3*n),p=new Array(3*n),d=null;e&&(d=[]);for(var g=new LM(r,f,p,u,c,h,d),i=0;i<n;++i)for(var a=r[i],v=0;v<3;++v){var o=a[v],s=a[(v+1)%3],m=f[3*i+v]=g.locate(s,o,t.opposite(s,o)),y=p[3*i+v]=t.isConstraint(o,s);m<0&&(y?h.push(i):(c.push(i),u[i]=1),e&&d.push([s,o,-1]))}return g}(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;var i=1,a=n.active,o=n.next,s=n.flags,l=n.cells,u=n.constraint,c=n.neighbor;for(;a.length>0||o.length>0;){for(;a.length>0;){var h=a.pop();if(s[h]!==-i){s[h]=i;l[h];for(var f=0;f<3;++f){var p=c[3*h+f];p>=0&&0===s[p]&&(u[3*h+f]?o.push(p):(a.push(p),s[p]=i))}}}var d=o;o=a,a=d,o.length=0,i=-i}var g=function(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}(l,s,e);if(r)return g.concat(n.boundary);return g};function LM(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 zM(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}LM.prototype.locate=(EM=[0,0,0],function(t,e,r){var n=t,i=e,a=r;return e<r?e<t&&(n=e,i=r,a=t):r<t&&(n=r,i=t,a=e),n<0?-1:(EM[0]=n,EM[1]=i,EM[2]=a,Ww.eq(this.cells,EM,zM))});var PM={},IM=5;function DM(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 OM(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(\",OM(t.slice(0,e)),\",\",OM(t.slice(e)),\")\"].join(\"\")}function RM(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(\",OM(RM(DM(t,r))),\",\",(n=r,1&n?\"-\":\"\"),t[0][r],\")\"].join(\"\"));return e;var n}function FM(t){for(var e=[],r=[],n=function(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}(t),i=[],a=0;a<t;++a)0==(1&a)?e.push.apply(e,RM(DM(n,a))):r.push.apply(r,RM(DM(n,a))),i.push(\"m\"+a);var o=OM(e),s=OM(r),l=\"orientation\"+t+\"Exact\",u=[\"function \",l,\"(\",i.join(),\"){var p=\",o,\",n=\",s,\",d=sub(p,n);return d[d.length-1];};return \",l].join(\"\");return new Function(\"sum\",\"prod\",\"scale\",\"sub\",u)(gM,cM,pM,dM)}var BM=FM(3),NM=FM(4),jM=[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:BM(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],p=a*u,d=o*l,g=o*s,v=i*u,m=i*l,y=a*s,x=c*(p-d)+h*(g-v)+f*(m-y),b=7.771561172376103e-16*((Math.abs(p)+Math.abs(d))*Math.abs(c)+(Math.abs(g)+Math.abs(v))*Math.abs(h)+(Math.abs(m)+Math.abs(y))*Math.abs(f));return x>b||-x>b?x:NM(t,e,r,n)}];!function(){for(;jM.length<=IM;)jM.push(FM(jM.length));for(var t=[],e=[\"slow\"],r=0;r<=IM;++r)t.push(\"a\"+r),e.push(\"o\"+r);var n=[\"function getOrientation(\",t.join(),\"){switch(arguments.length){case 0:case 1:return 0;\"];for(r=2;r<=IM;++r)n.push(\"case \",r,\":return o\",r,\"(\",t.slice(0,r).join(),\");\");n.push(\"}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation\"),e.push(n.join(\"\"));var i=Function.apply(void 0,e);for(PM=i.apply(void 0,[function(t){var e=jM[t.length];return e||(e=jM[t.length]=FM(t.length)),e.apply(void 0,t)}].concat(jM)),r=0;r<=IM;++r)PM[r]=jM[r]}();var VM=PM[3],UM=0,qM=1,HM=2,GM=function(t,e){for(var r=t.length,n=e.length,i=[],a=0;a<r;++a)i.push(new YM(t[a],null,UM,a));for(var a=0;a<n;++a){var o=e[a],s=t[o[0]],l=t[o[1]];s[0]<l[0]?i.push(new YM(s,l,HM,a),new YM(l,s,qM,a)):s[0]>l[0]&&i.push(new YM(l,s,HM,a),new YM(s,l,qM,a))}i.sort(XM);for(var u=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),c=[new WM([u,1],[u,0],-1,[],[],[],[])],h=[],a=0,f=i.length;a<f;++a){var p=i[a],d=p.type;d===UM?JM(h,c,t,p.a,p.idx):d===HM?QM(c,t,p):$M(c,t,p)}return h};function WM(t,e,r,n,i){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=i}function YM(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function XM(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(t.type!==UM&&(r=VM(t.a,t.b,e.b))?r:t.idx-e.idx)}function ZM(t,e){return VM(t.a,t.b,e)}function JM(t,e,r,n,i){for(var a=Ww.lt(e,n,ZM),o=Ww.gt(e,n,ZM),s=a;s<o;++s){for(var l=e[s],u=l.lowerIds,c=u.length;c>1&&VM(r[u[c-2]],r[u[c-1]],n)>0;)t.push([u[c-1],u[c-2],i]),c-=1;u.length=c,u.push(i);var h=l.upperIds;for(c=h.length;c>1&&VM(r[h[c-2]],r[h[c-1]],n)<0;)t.push([h[c-2],h[c-1],i]),c-=1;h.length=c,h.push(i)}}function KM(t,e){var r;return(r=t.a[0]<e.a[0]?VM(t.a,t.b,e.a):VM(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?VM(t.a,t.b,e.b):VM(e.b,e.a,t.b))||t.idx-e.idx}function QM(t,e,r){var n=Ww.le(t,r,KM),i=t[n],a=i.upperIds,o=a[a.length-1];i.upperIds=[o],t.splice(n+1,0,new WM(r.a,r.b,r.idx,[o],a))}function $M(t,e,r){var n=r.a;r.a=r.b,r.b=n;var i=Ww.eq(t,r,KM),a=t[i];t[i-1].upperIds=a.upperIds,t.splice(i,1)}var tA=function(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=[];return new eA(r,e)};function eA(t,e){this.stars=t,this.edges=e}var rA=eA.prototype;function nA(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)}rA.isConstraint=function(){var t=[0,0];function e(t,e){return t[0]-e[0]||t[1]-e[1]}return function(r,n){return t[0]=Math.min(r,n),t[1]=Math.max(r,n),Ww.eq(this.edges,t,e)>=0}}(),rA.removeTriangle=function(t,e,r){var n=this.stars;nA(n[t],e,r),nA(n[e],r,t),nA(n[r],t,e)},rA.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},rA.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},rA.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)},rA.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},rA.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};var iA=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var n=!!sA(r,\"delaunay\",!0),i=!!sA(r,\"interior\",!0),a=!!sA(r,\"exterior\",!0),o=!!sA(r,\"infinity\",!1);if(!i&&!a||0===t.length)return[];var s=GM(t,e);if(n||i!==a||o){for(var l=tA(t.length,function(t){return t.map(aA).sort(oA)}(e)),u=0;u<s.length;++u){var c=s[u];l.addTriangle(c[0],c[1],c[2])}return n&&TM(t,l),a?i?o?CM(l,0,o):l.cells():CM(l,1,o):CM(l,-1)}return s};function aA(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function oA(t,e){return t[0]-e[0]||t[1]-e[1]}function sA(t,e,r){return e in t?t[e]:r}var lA=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))};var uA={},cA={exports:{}};!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(i.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&(\"le\"!==e&&\"be\"!==e||(r=e,e=10),this._init(t||0,e||10,r||\"be\"))}var a;\"object\"==typeof t?t.exports=i:e.BN=i,i.BN=i,i.wordSize=26;try{a=uA.Buffer}catch(t){}function o(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 s(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}i.isBN=function(t){return t instanceof i||null!==t&&\"object\"==typeof t&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},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);var i=0;\"-\"===(t=t.toString().replace(/\\s+/g,\"\"))[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),\"-\"===t[0]&&(this.negative=1),this.strip(),\"le\"===n&&this._initArray(this.toArray(),e,n)},i.prototype._initNumber=function(t,e,n){t<0&&(this.negative=1,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,o,s=0;if(\"be\"===n)for(i=t.length-1,a=0;i>=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if(\"le\"===n)for(i=0,a=0;i<t.length;i+=3)o=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);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;var n,i,a=0;for(r=t.length-6,n=0;r>=e;r-=6)i=o(t,r,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303,(a+=24)>=26&&(a-=26,n++);r+6!==e&&(i=o(t,e,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&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,o=a%n,l=Math.min(a,a-o)+r,u=0,c=r;c<l;c+=n)u=s(t,c,c+n,e),this.imuln(i),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==o){var h=1;for(u=s(t,c,t.length,e),c=0;c<o;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.negative=this.negative,t.red=this.red},i.prototype.clone=function(){var t=new i(null);return this.copy(t),t},i.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},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.negative=0),this},i.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var l=[\"\",\"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\"],u=[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],c=[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];function h(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var u=1;u<n;u++){for(var c=l>>>26,h=67108863&l,f=Math.min(u,e.length-1),p=Math.max(0,u-t.length+1);p<=f;p++){var d=u-p|0;c+=(o=(i=0|t.words[d])*(a=0|e.words[p])+h)/67108864|0,h=67108863&o}r.words[u]=0|h,l=0|c}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}i.prototype.toString=function(t,e){var n;if(t=t||10,e=0|e||1,16===t||\"hex\"===t){n=\"\";for(var i=0,a=0,o=0;o<this.length;o++){var s=this.words[o],h=(16777215&(s<<i|a)).toString(16);n=0!==(a=s>>>24-i&16777215)||o!==this.length-1?l[6-h.length]+h+n:h+n,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(n=a.toString(16)+n);n.length%e!=0;)n=\"0\"+n;return 0!==this.negative&&(n=\"-\"+n),n}if(t===(0|t)&&t>=2&&t<=36){var f=u[t],p=c[t];n=\"\";var d=this.clone();for(d.negative=0;!d.isZero();){var g=d.modn(p).toString(t);n=(d=d.idivn(p)).isZero()?g+n:l[f-g.length]+g+n}for(this.isZero()&&(n=\"0\"+n);n.length%e!=0;)n=\"0\"+n;return 0!==this.negative&&(n=\"-\"+n),n}r(!1,\"Base should be between 2 and 36\")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,\"Number can only safely store up to 53 bits\"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(t,e){return r(void 0!==a),this.toArrayLike(a,t,e)},i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,n){var i=this.byteLength(),a=n||Math.max(1,i);r(i<=a,\"byte array longer than desired length\"),r(a>0,\"Requested array length <= 0\"),this.strip();var o,s,l=\"le\"===e,u=new t(a),c=this.clone();if(l){for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[s]=o;for(;s<a;s++)u[s]=0}else{for(s=0;s<a-i;s++)u[s]=0;for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[a-s-1]=o}return u},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=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())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.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},i.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return 0!==this.negative},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(t){for(;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.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},i.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){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.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},i.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){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.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},i.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){r(\"number\"==typeof t&&t>=0);var e=0|Math.ceil(t/26),n=t%26;this._expand(e),n>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return n>0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){r(\"number\"==typeof t&&t>=0);var n=t/26|0,i=t%26;return this._expand(n+1),this.words[n]=e?this.words[n]|1<<i:this.words[n]&~(1<<i),this.strip()},i.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a<n.length;a++)e=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&e,i=e>>>26;for(;0!==i&&a<r.length;a++)e=(0|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){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o<n.length;o++)a=(e=(0|r.words[o])-(0|n.words[o])+a)>>26,this.words[o]=67108863&e;for(;0!==a&&o<r.length;o++)a=(e=(0|r.words[o])+a)>>26,this.words[o]=67108863&e;if(0===a&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},i.prototype.sub=function(t){return this.clone().isub(t)};var f=function(t,e,r){var n,i,a,o=t.words,s=e.words,l=r.words,u=0,c=0|o[0],h=8191&c,f=c>>>13,p=0|o[1],d=8191&p,g=p>>>13,v=0|o[2],m=8191&v,y=v>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],M=8191&w,A=w>>>13,k=0|o[5],T=8191&k,S=k>>>13,E=0|o[6],C=8191&E,L=E>>>13,z=0|o[7],P=8191&z,I=z>>>13,D=0|o[8],O=8191&D,R=D>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],V=8191&j,U=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,W=0|s[2],Y=8191&W,X=W>>>13,Z=0|s[3],J=8191&Z,K=Z>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ut=st>>>13,ct=0|s[8],ht=8191&ct,ft=ct>>>13,pt=0|s[9],dt=8191&pt,gt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var vt=(u+(n=Math.imul(h,V))|0)+((8191&(i=(i=Math.imul(h,U))+Math.imul(f,V)|0))<<13)|0;u=((a=Math.imul(f,U))+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(d,V),i=(i=Math.imul(d,U))+Math.imul(g,V)|0,a=Math.imul(g,U);var mt=(u+(n=n+Math.imul(h,H)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(f,H)|0))<<13)|0;u=((a=a+Math.imul(f,G)|0)+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,V),i=(i=Math.imul(m,U))+Math.imul(y,V)|0,a=Math.imul(y,U),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(g,H)|0,a=a+Math.imul(g,G)|0;var yt=(u+(n=n+Math.imul(h,Y)|0)|0)+((8191&(i=(i=i+Math.imul(h,X)|0)+Math.imul(f,Y)|0))<<13)|0;u=((a=a+Math.imul(f,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,V),i=(i=Math.imul(b,U))+Math.imul(_,V)|0,a=Math.imul(_,U),n=n+Math.imul(m,H)|0,i=(i=i+Math.imul(m,G)|0)+Math.imul(y,H)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(g,Y)|0,a=a+Math.imul(g,X)|0;var xt=(u+(n=n+Math.imul(h,J)|0)|0)+((8191&(i=(i=i+Math.imul(h,K)|0)+Math.imul(f,J)|0))<<13)|0;u=((a=a+Math.imul(f,K)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(M,V),i=(i=Math.imul(M,U))+Math.imul(A,V)|0,a=Math.imul(A,U),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(m,Y)|0,i=(i=i+Math.imul(m,X)|0)+Math.imul(y,Y)|0,a=a+Math.imul(y,X)|0,n=n+Math.imul(d,J)|0,i=(i=i+Math.imul(d,K)|0)+Math.imul(g,J)|0,a=a+Math.imul(g,K)|0;var bt=(u+(n=n+Math.imul(h,$)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(f,$)|0))<<13)|0;u=((a=a+Math.imul(f,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(T,V),i=(i=Math.imul(T,U))+Math.imul(S,V)|0,a=Math.imul(S,U),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(A,H)|0,a=a+Math.imul(A,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(m,J)|0,i=(i=i+Math.imul(m,K)|0)+Math.imul(y,J)|0,a=a+Math.imul(y,K)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(g,$)|0,a=a+Math.imul(g,tt)|0;var _t=(u+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(f,rt)|0))<<13)|0;u=((a=a+Math.imul(f,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(C,V),i=(i=Math.imul(C,U))+Math.imul(L,V)|0,a=Math.imul(L,U),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(A,Y)|0,a=a+Math.imul(A,X)|0,n=n+Math.imul(b,J)|0,i=(i=i+Math.imul(b,K)|0)+Math.imul(_,J)|0,a=a+Math.imul(_,K)|0,n=n+Math.imul(m,$)|0,i=(i=i+Math.imul(m,tt)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(g,rt)|0,a=a+Math.imul(g,nt)|0;var wt=(u+(n=n+Math.imul(h,at)|0)|0)+((8191&(i=(i=i+Math.imul(h,ot)|0)+Math.imul(f,at)|0))<<13)|0;u=((a=a+Math.imul(f,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,V),i=(i=Math.imul(P,U))+Math.imul(I,V)|0,a=Math.imul(I,U),n=n+Math.imul(C,H)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(L,H)|0,a=a+Math.imul(L,G)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(M,J)|0,i=(i=i+Math.imul(M,K)|0)+Math.imul(A,J)|0,a=a+Math.imul(A,K)|0,n=n+Math.imul(b,$)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(m,rt)|0,i=(i=i+Math.imul(m,nt)|0)+Math.imul(y,rt)|0,a=a+Math.imul(y,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(g,at)|0,a=a+Math.imul(g,ot)|0;var Mt=(u+(n=n+Math.imul(h,lt)|0)|0)+((8191&(i=(i=i+Math.imul(h,ut)|0)+Math.imul(f,lt)|0))<<13)|0;u=((a=a+Math.imul(f,ut)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(O,V),i=(i=Math.imul(O,U))+Math.imul(R,V)|0,a=Math.imul(R,U),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(I,H)|0,a=a+Math.imul(I,G)|0,n=n+Math.imul(C,Y)|0,i=(i=i+Math.imul(C,X)|0)+Math.imul(L,Y)|0,a=a+Math.imul(L,X)|0,n=n+Math.imul(T,J)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(A,$)|0,a=a+Math.imul(A,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(m,at)|0,i=(i=i+Math.imul(m,ot)|0)+Math.imul(y,at)|0,a=a+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ut)|0)+Math.imul(g,lt)|0,a=a+Math.imul(g,ut)|0;var At=(u+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,ft)|0)+Math.imul(f,ht)|0))<<13)|0;u=((a=a+Math.imul(f,ft)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,V),i=(i=Math.imul(B,U))+Math.imul(N,V)|0,a=Math.imul(N,U),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(I,Y)|0,a=a+Math.imul(I,X)|0,n=n+Math.imul(C,J)|0,i=(i=i+Math.imul(C,K)|0)+Math.imul(L,J)|0,a=a+Math.imul(L,K)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(A,rt)|0,a=a+Math.imul(A,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(m,lt)|0,i=(i=i+Math.imul(m,ut)|0)+Math.imul(y,lt)|0,a=a+Math.imul(y,ut)|0,n=n+Math.imul(d,ht)|0,i=(i=i+Math.imul(d,ft)|0)+Math.imul(g,ht)|0,a=a+Math.imul(g,ft)|0;var kt=(u+(n=n+Math.imul(h,dt)|0)|0)+((8191&(i=(i=i+Math.imul(h,gt)|0)+Math.imul(f,dt)|0))<<13)|0;u=((a=a+Math.imul(f,gt)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(O,Y)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(P,J)|0,i=(i=i+Math.imul(P,K)|0)+Math.imul(I,J)|0,a=a+Math.imul(I,K)|0,n=n+Math.imul(C,$)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(L,$)|0,a=a+Math.imul(L,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,ot)|0)+Math.imul(A,at)|0,a=a+Math.imul(A,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ut)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ut)|0,n=n+Math.imul(m,ht)|0,i=(i=i+Math.imul(m,ft)|0)+Math.imul(y,ht)|0,a=a+Math.imul(y,ft)|0;var Tt=(u+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,gt)|0)+Math.imul(g,dt)|0))<<13)|0;u=((a=a+Math.imul(g,gt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(B,Y),i=(i=Math.imul(B,X))+Math.imul(N,Y)|0,a=Math.imul(N,X),n=n+Math.imul(O,J)|0,i=(i=i+Math.imul(O,K)|0)+Math.imul(R,J)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(P,$)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(I,$)|0,a=a+Math.imul(I,tt)|0,n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(L,rt)|0,a=a+Math.imul(L,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(A,lt)|0,a=a+Math.imul(A,ut)|0,n=n+Math.imul(b,ht)|0,i=(i=i+Math.imul(b,ft)|0)+Math.imul(_,ht)|0,a=a+Math.imul(_,ft)|0;var St=(u+(n=n+Math.imul(m,dt)|0)|0)+((8191&(i=(i=i+Math.imul(m,gt)|0)+Math.imul(y,dt)|0))<<13)|0;u=((a=a+Math.imul(y,gt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,J),i=(i=Math.imul(B,K))+Math.imul(N,J)|0,a=Math.imul(N,K),n=n+Math.imul(O,$)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(I,rt)|0,a=a+Math.imul(I,nt)|0,n=n+Math.imul(C,at)|0,i=(i=i+Math.imul(C,ot)|0)+Math.imul(L,at)|0,a=a+Math.imul(L,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ut)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ut)|0,n=n+Math.imul(M,ht)|0,i=(i=i+Math.imul(M,ft)|0)+Math.imul(A,ht)|0,a=a+Math.imul(A,ft)|0;var Et=(u+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,gt)|0)+Math.imul(_,dt)|0))<<13)|0;u=((a=a+Math.imul(_,gt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,$),i=(i=Math.imul(B,tt))+Math.imul(N,$)|0,a=Math.imul(N,tt),n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(P,at)|0,i=(i=i+Math.imul(P,ot)|0)+Math.imul(I,at)|0,a=a+Math.imul(I,ot)|0,n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,ut)|0)+Math.imul(L,lt)|0,a=a+Math.imul(L,ut)|0,n=n+Math.imul(T,ht)|0,i=(i=i+Math.imul(T,ft)|0)+Math.imul(S,ht)|0,a=a+Math.imul(S,ft)|0;var Ct=(u+(n=n+Math.imul(M,dt)|0)|0)+((8191&(i=(i=i+Math.imul(M,gt)|0)+Math.imul(A,dt)|0))<<13)|0;u=((a=a+Math.imul(A,gt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,rt),i=(i=Math.imul(B,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(O,at)|0,i=(i=i+Math.imul(O,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(P,lt)|0,i=(i=i+Math.imul(P,ut)|0)+Math.imul(I,lt)|0,a=a+Math.imul(I,ut)|0,n=n+Math.imul(C,ht)|0,i=(i=i+Math.imul(C,ft)|0)+Math.imul(L,ht)|0,a=a+Math.imul(L,ft)|0;var Lt=(u+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,gt)|0)+Math.imul(S,dt)|0))<<13)|0;u=((a=a+Math.imul(S,gt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,at),i=(i=Math.imul(B,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(O,lt)|0,i=(i=i+Math.imul(O,ut)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ut)|0,n=n+Math.imul(P,ht)|0,i=(i=i+Math.imul(P,ft)|0)+Math.imul(I,ht)|0,a=a+Math.imul(I,ft)|0;var zt=(u+(n=n+Math.imul(C,dt)|0)|0)+((8191&(i=(i=i+Math.imul(C,gt)|0)+Math.imul(L,dt)|0))<<13)|0;u=((a=a+Math.imul(L,gt)|0)+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863,n=Math.imul(B,lt),i=(i=Math.imul(B,ut))+Math.imul(N,lt)|0,a=Math.imul(N,ut),n=n+Math.imul(O,ht)|0,i=(i=i+Math.imul(O,ft)|0)+Math.imul(R,ht)|0,a=a+Math.imul(R,ft)|0;var Pt=(u+(n=n+Math.imul(P,dt)|0)|0)+((8191&(i=(i=i+Math.imul(P,gt)|0)+Math.imul(I,dt)|0))<<13)|0;u=((a=a+Math.imul(I,gt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,ht),i=(i=Math.imul(B,ft))+Math.imul(N,ht)|0,a=Math.imul(N,ft);var It=(u+(n=n+Math.imul(O,dt)|0)|0)+((8191&(i=(i=i+Math.imul(O,gt)|0)+Math.imul(R,dt)|0))<<13)|0;u=((a=a+Math.imul(R,gt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Dt=(u+(n=Math.imul(B,dt))|0)+((8191&(i=(i=Math.imul(B,gt))+Math.imul(N,dt)|0))<<13)|0;return u=((a=Math.imul(N,gt))+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,l[0]=vt,l[1]=mt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Mt,l[8]=At,l[9]=kt,l[10]=Tt,l[11]=St,l[12]=Et,l[13]=Ct,l[14]=Lt,l[15]=zt,l[16]=Pt,l[17]=It,l[18]=Dt,0!==u&&(l[19]=u,r.length++),r};function p(t,e,r){return(new d).mulp(t,e,r)}function d(t,e){this.x=t,this.y=e}Math.imul||(f=h),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?f(this,t,e):r<63?h(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a<r.length-1;a++){var o=i;i=0;for(var s=67108863&n,l=Math.min(a,e.length-1),u=Math.max(0,a-t.length+1);u<=l;u++){var c=a-u,h=(0|t.words[c])*(0|e.words[u]),f=67108863&h;s=67108863&(f=f+s|0),i+=(o=(o=o+(h/67108864|0)|0)+(f>>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):p(this,t,e)},d.prototype.makeRBT=function(t){for(var e=new Array(t),r=i.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},d.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},d.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o<a;o++)n[o]=e[t[o]],i[o]=r[t[o]]},d.prototype.transform=function(t,e,r,n,i,a){this.permute(a,t,e,r,n,i);for(var o=1;o<i;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),u=Math.sin(2*Math.PI/s),c=0;c<i;c+=s)for(var h=l,f=u,p=0;p<o;p++){var d=r[c+p],g=n[c+p],v=r[c+p+o],m=n[c+p+o],y=h*v-f*m;m=h*m+f*v,v=y,r[c+p]=d+v,n[c+p]=g+m,r[c+p+o]=d-v,n[c+p+o]=g-m,p!==s&&(y=l*h-u*f,f=l*f+u*h,h=y)}},d.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},d.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},d.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},d.prototype.convert13b=function(t,e,n,i){for(var a=0,o=0;o<e;o++)a+=0|t[o],n[2*o]=8191&a,a>>>=13,n[2*o+1]=8191&a,a>>>=13;for(o=2*e;o<i;++o)n[o]=0;r(0===a),r(0==(-8192&a))},d.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},d.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),a=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),u=new Array(n),c=new Array(n),h=new Array(n),f=r.words;f.length=n,this.convert13b(t.words,t.length,o,n),this.convert13b(e.words,e.length,u,n),this.transform(o,a,s,l,n,i),this.transform(u,a,c,h,n,i);for(var p=0;p<n;p++){var d=s[p]*c[p]-l[p]*h[p];l[p]=s[p]*h[p]+l[p]*c[p],s[p]=d}return this.conjugate(s,l,n),this.transform(s,l,f,a,n,i),this.conjugate(f,a,n),this.normalize13b(f,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},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.mulf=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),p(this,t,e)},i.prototype.imul=function(t){return this.clone().mulTo(t,this)},i.prototype.imuln=function(t){r(\"number\"==typeof t),r(t<67108864);for(var e=0,n=0;n<this.length;n++){var i=(0|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.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var a=r.sqr();n<e.length;n++,a=a.sqr())0!==e[n]&&(r=r.mul(a));return r},i.prototype.iushln=function(t){r(\"number\"==typeof t&&t>=0);var e,n=t%26,i=(t-n)/26,a=67108863>>>26-n<<26-n;if(0!==n){var o=0;for(e=0;e<this.length;e++){var s=this.words[e]&a,l=(0|this.words[e])-s<<n;this.words[e]=l|o,o=s>>>26-n}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},i.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},i.prototype.iushrn=function(t,e,n){var i;r(\"number\"==typeof t&&t>=0),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)for(this.length-=o,u=0;u<this.length;u++)this.words[u]=this.words[u+o];else this.words[0]=0,this.length=1;var c=0;for(u=this.length-1;u>=0&&(0!==c||u>=i);u--){var h=0|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()},i.prototype.ishrn=function(t,e,n){return r(0===this.negative),this.iushrn(t,e,n)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(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(0===this.negative,\"imaskn works only with positive numbers\"),this.length<=n)return this;if(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),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,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),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else 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.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(t,e,n){var i,a,o=t.length+n;this._expand(o);var s=0;for(i=0;i<t.length;i++){a=(0|this.words[i+n])+s;var l=(0|t.words[i])*e;s=((a-=67108863&l)>>26)-(l/67108864|0),this.words[i+n]=67108863&a}for(;i<this.length-n;i++)s=(a=(0|this.words[i+n])+s)>>26,this.words[i+n]=67108863&a;if(0===s)return this.strip();for(r(-1===s),s=0,i=0;i<this.length;i++)s=(a=-(0|this.words[i])+s)>>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),a=t,o=0|a.words[a.length-1];0!==(r=26-this._countBits(o))&&(a=a.ushln(r),n.iushln(r),o=0|a.words[a.length-1]);var s,l=n.length-a.length;if(\"mod\"!==e){(s=new i(null)).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);0===c.negative&&(n=c,s&&(s.words[l]=1));for(var h=l-1;h>=0;h--){var f=67108864*(0|n.words[a.length+h])+(0|n.words[a.length+h-1]);for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(a,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(a,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=f)}return s&&s.strip(),n.strip(),\"div\"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},i.prototype.divmod=function(t,e,n){return r(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),\"mod\"!==e&&(a=s.div.neg()),\"div\"!==e&&(o=s.mod.neg(),n&&0!==o.negative&&o.iadd(t)),{div:a,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),\"mod\"!==e&&(a=s.div.neg()),{div:a,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),\"div\"!==e&&(o=s.mod.neg(),n&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):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);var a,o,s},i.prototype.div=function(t){return this.divmod(t,\"div\",!1).div},i.prototype.mod=function(t){return this.divmod(t,\"mod\",!1).mod},i.prototype.umod=function(t){return this.divmod(t,\"mod\",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?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+(0|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=(0|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(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(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.iushrn(1),n.iushrn(1),++u;for(var c=n.clone(),h=e.clone();!e.isZero();){for(var f=0,p=1;0==(e.words[0]&p)&&f<26;++f,p<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(a.isOdd()||o.isOdd())&&(a.iadd(c),o.isub(h)),a.iushrn(1),o.iushrn(1);for(var d=0,g=1;0==(n.words[0]&g)&&d<26;++d,g<<=1);if(d>0)for(n.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(c),l.isub(h)),s.iushrn(1),l.iushrn(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.iushln(u)}},i.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var a,o=new i(1),s=new i(0),l=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(var u=0,c=1;0==(e.words[0]&c)&&u<26;++u,c<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var h=0,f=1;0==(n.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(n.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(n)>=0?(e.isub(n),o.isub(s)):(n.isub(e),s.isub(o))}return(a=0===e.cmpn(1)?o:s).cmpn(0)<0&&a.iadd(t),a},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(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.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(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)return this._expand(n+1),this.words[n]|=i,this;for(var a=i,o=n;0!==a&&o<this.length;o++){var s=0|this.words[o];a=(s+=a)>>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)e=1;else{n&&(t=-t),r(t<=67108863,\"Number is too big\");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},i.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-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=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new _(t)},i.prototype.toRed=function(t){return r(!this.red,\"Already a number in reduction context\"),r(0===this.negative,\"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 g={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function m(){v.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function y(){v.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function x(){v.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function b(){v.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}function _(t){if(\"string\"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),\"modulus must be greater than 1\"),this.m=t,this.prime=null}function w(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(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=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).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},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},n(m,v),m.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];for(e.words[e.length++]=4194303&i,n=10;n<t.length;n++){var a=0|t.words[n];t.words[n-10]=(4194303&a)<<4|i>>>22,i=a}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},m.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},n(y,v),n(x,v),n(b,v),b.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|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){if(g[t])return g[t];var e;if(\"k256\"===t)e=new m;else if(\"p224\"===t)e=new y;else if(\"p192\"===t)e=new x;else{if(\"p25519\"!==t)throw new Error(\"Unknown prime \"+t);e=new b}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,\"red works only with positives\"),r(t.red,\"red works only with red numbers\")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),\"red works only with positives\"),r(t.red&&t.red===e.red,\"red works only with red numbers\")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.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)},_.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},_.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)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var n=this.m.add(new i(1)).iushrn(2);return this.pow(t,n)}for(var a=this.m.subn(1),o=0;!a.isZero()&&0===a.andln(1);)o++,a.iushrn(1);r(!a.isZero());var s=new i(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new i(2*c*c).toRed(this);0!==this.pow(c,u).cmp(l);)c.redIAdd(l);for(var h=this.pow(c,a),f=this.pow(t,a.addn(1).iushrn(1)),p=this.pow(t,a),d=o;0!==p.cmp(s);){for(var g=p,v=0;0!==g.cmp(s);v++)g=g.redSqr();r(v<d);var m=this.pow(h,new i(1).iushln(d-v-1));f=f.redMul(m),h=m.redSqr(),p=p.redMul(h),d=v}return f},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new i(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new i(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var a=r[0],o=0,s=0,l=e.bitLength()%26;for(0===l&&(l=26),n=e.length-1;n>=0;n--){for(var u=e.words[n],c=l-1;c>=0;c--){var h=u>>c&1;a!==r[0]&&(a=this.sqr(a)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===c)&&(a=this.mul(a,r[o]),s=0,o=0)):s=0}l=26}return a},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new w(t)},n(w,_),w.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},w.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},w.prototype.imul=function(t,e){if(t.isZero()||e.isZero())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).iushrn(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)},w.prototype.mul=function(t,e){if(t.isZero()||e.isZero())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).iushrn(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)},w.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(cA,this),cA=cA.exports;var hA=function(t){return t.cmp(new cA(0))};var fA={};(function(t){var e=!1;if(\"undefined\"!=typeof Float64Array){var r=new Float64Array(1),n=new Uint32Array(r.buffer);if(r[0]=1,e=!0,1072693248===n[1]){(fA=function(t){return r[0]=t,[n[0],n[1]]}).pack=function(t,e){return n[0]=t,n[1]=e,r[0]},fA.lo=function(t){return r[0]=t,n[0]},fA.hi=function(t){return r[0]=t,n[1]}}else if(1072693248===n[0]){(fA=function(t){return r[0]=t,[n[1],n[0]]}).pack=function(t,e){return n[1]=t,n[0]=e,r[0]},fA.lo=function(t){return r[0]=t,n[1]},fA.hi=function(t){return r[0]=t,n[0]}}else e=!1}if(!e){var i=new t(8);(fA=function(t){return i.writeDoubleLE(t,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]}).pack=function(t,e){return i.writeUInt32LE(t,0,!0),i.writeUInt32LE(e,4,!0),i.readDoubleLE(0,!0)},fA.lo=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(0,!0)},fA.hi=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(4,!0)}}fA.sign=function(t){return fA.hi(t)>>>31},fA.exponent=function(t){return(fA.hi(t)<<1>>>21)-1023},fA.fraction=function(t){var e=fA.lo(t),r=fA.hi(t),n=1048575&r;return 2146435072&r&&(n+=1<<20),[e,n]},fA.denormalized=function(t){return!(2146435072&fA.hi(t))}}).call(this,Rb.Buffer);var pA=function(t){var e=fA.exponent(t);return e<52?new cA(t):new cA(t*Math.pow(2,52-e)).ushln(e-52)};var dA=function(t,e){var r=hA(t),n=hA(e);if(0===r)return[pA(0),pA(1)];if(0===n)return[pA(0),pA(0)];n<0&&(t=t.neg(),e=e.neg());var i=t.gcd(e);if(i.cmpn(1))return[t.div(i),e.div(i)];return[t,e]};var gA=function(t,e){return dA(t[0].mul(e[1]),t[1].mul(e[0]))};var vA=function(t){return t&&\"object\"==typeof t&&Boolean(t.words)};var mA=function(t){return Array.isArray(t)&&2===t.length&&vA(t[0])&&vA(t[1])};var yA=function(t){return new cA(t)};var xA=function t(e,r){if(mA(e))return r?gA(e,t(r)):[e[0].clone(),e[1].clone()];var n=0;var i,a;if(vA(e))i=e.clone();else if(\"string\"==typeof e)i=yA(e);else{if(0===e)return[pA(0),pA(1)];if(e===Math.floor(e))i=pA(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),n-=256;i=pA(e)}}if(mA(r))i.mul(r[1]),a=r[0].clone();else if(vA(r))a=r.clone();else if(\"string\"==typeof r)a=yA(r);else if(r)if(r===Math.floor(r))a=pA(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),n+=256;a=pA(r)}else a=pA(1);n>0?i=i.ushln(n):n<0&&(a=a.ushln(-n));return dA(i,a)};var bA=function(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 i=0;i<e;i++){var a=r[i];n+=a*Math.pow(67108864,i)}return hA(t)*n};var _A=Mb.countTrailingZeros,wA=function(t){var e=_A(fA.lo(t));if(e<32)return e;var r=_A(fA.hi(t));if(r>20)return 52;return r+32};var MA=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var n=e.abs().divmod(r.abs()),i=n.div,a=bA(i),o=n.mod,s=e.negative!==r.negative?-1:1;if(0===o.cmpn(0))return s*a;if(a){var l=wA(a)+4,u=bA(o.ushln(l).divRound(r));return s*(a+u*Math.pow(2,-l))}var c=r.bitLength()-o.bitLength()+53,u=bA(o.ushln(c).divRound(r));return c<1023?s*u*Math.pow(2,-c):(u*=Math.pow(2,-1023),s*u*Math.pow(2,1023-c))};var AA={},kA=\"d\",TA=\"ax\",SA=\"vv\",EA=\"fp\",CA=\"es\",LA=\"rs\",zA=\"re\",PA=\"rb\",IA=\"ri\",DA=\"rp\",OA=\"bs\",RA=\"be\",FA=\"bb\",BA=\"bi\",NA=\"bp\",jA=\"rv\",VA=\"Q\",UA=[kA,TA,SA,LA,zA,PA,IA,OA,RA,FA,BA];function qA(t){var e=\"bruteForce\"+(t?\"Full\":\"Partial\"),r=[],n=UA.slice();t||n.splice(3,0,EA);var i=[\"function \"+e+\"(\"+n.join()+\"){\"];function a(e,n){var a=function(t,e,r){var n=\"bruteForce\"+(t?\"Red\":\"Blue\")+(e?\"Flip\":\"\")+(r?\"Full\":\"\"),i=[\"function \",n,\"(\",UA.join(),\"){\",\"var \",CA,\"=2*\",kA,\";\"],a=\"for(var i=\"+LA+\",\"+DA+\"=\"+CA+\"*\"+LA+\";i<\"+zA+\";++i,\"+DA+\"+=\"+CA+\"){var x0=\"+PA+\"[\"+TA+\"+\"+DA+\"],x1=\"+PA+\"[\"+TA+\"+\"+DA+\"+\"+kA+\"],xi=\"+IA+\"[i];\",o=\"for(var j=\"+OA+\",\"+NA+\"=\"+CA+\"*\"+OA+\";j<\"+RA+\";++j,\"+NA+\"+=\"+CA+\"){var y0=\"+FA+\"[\"+TA+\"+\"+NA+\"],\"+(r?\"y1=\"+FA+\"[\"+TA+\"+\"+NA+\"+\"+kA+\"],\":\"\")+\"yi=\"+BA+\"[j];\";return t?i.push(a,VA,\":\",o):i.push(o,VA,\":\",a),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=\"+TA+\"+1;k<\"+kA+\";++k){var r0=\"+PA+\"[k+\"+DA+\"],r1=\"+PA+\"[k+\"+kA+\"+\"+DA+\"],b0=\"+FA+\"[k+\"+NA+\"],b1=\"+FA+\"[k+\"+kA+\"+\"+NA+\"];if(r1<b0||b1<r0)continue \"+VA+\";}var \"+jA+\"=\"+SA+\"(\"),e?i.push(\"yi,xi\"):i.push(\"xi,yi\"),i.push(\");if(\"+jA+\"!==void 0)return \"+jA+\";}}}\"),{name:n,code:i.join(\"\")}}(e,n,t);r.push(a.code),i.push(\"return \"+a.name+\"(\"+UA.join()+\");\")}i.push(\"if(\"+zA+\"-\"+LA+\">\"+RA+\"-\"+OA+\"){\"),t?(a(!0,!1),i.push(\"}else{\"),a(!1,!1)):(i.push(\"if(\"+EA+\"){\"),a(!0,!0),i.push(\"}else{\"),a(!0,!1),i.push(\"}}else{if(\"+EA+\"){\"),a(!1,!0),i.push(\"}else{\"),a(!1,!1),i.push(\"}\")),i.push(\"}}return \"+e);var o=r.join(\"\")+i.join(\"\");return new Function(o)()}AA.partial=qA(!1),AA.full=qA(!0);var HA=function(t,e){var r=\"abcdef\".split(\"\").concat(e),n=[];t.indexOf(\"lo\")>=0&&n.push(\"lo=e[k+n]\");t.indexOf(\"hi\")>=0&&n.push(\"hi=e[k+o]\");return r.push(GA.replace(\"_\",n.join()).replace(\"$\",t)),Function.apply(void 0,r)},GA=\"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\";var WA=function(t,e,r,n,i,a){if(n<=r+1)return r;var o=r,s=n,l=n+r>>>1,u=2*t,c=l,h=i[u*l+e];for(;o<s;){if(s-o<XA){ZA(t,e,o,s,i,a),h=i[u*l+e];break}var f=s-o,p=Math.random()*f+o|0,d=i[u*p+e],g=Math.random()*f+o|0,v=i[u*g+e],m=Math.random()*f+o|0,y=i[u*m+e];d<=v?y>=v?(c=g,h=v):d>=y?(c=p,h=d):(c=m,h=y):v>=y?(c=g,h=v):y>=d?(c=p,h=d):(c=m,h=y);for(var x=u*(s-1),b=u*c,_=0;_<u;++_,++x,++b){var w=i[x];i[x]=i[b],i[b]=w}var M=a[s-1];a[s-1]=a[c],a[c]=M,c=YA(t,e,o,s-1,i,a,h);for(var x=u*(s-1),b=u*c,_=0;_<u;++_,++x,++b){var w=i[x];i[x]=i[b],i[b]=w}var M=a[s-1];if(a[s-1]=a[c],a[c]=M,l<c){for(s=c-1;o<s&&i[u*(s-1)+e]===h;)s-=1;s+=1}else{if(!(c<l))break;for(o=c+1;o<s&&i[u*o+e]===h;)o+=1}}return YA(t,e,r,l,i,a,i[u*l+e])},YA=HA(\"lo<p0\",[\"p0\"]),XA=8;function ZA(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,p=h+o,d=0;d<o;++d,++f,++p){var g=i[f];i[f]=i[p],i[p]=g}var v=a[c];a[c]=a[c-1],a[c-1]=v}}var JA=function(t,e){e<=4*KA?QA(0,e-1,t):function t(e,r,n){var i=(r-e+1)/6|0,a=e+i,o=r-i,s=e+r>>1,l=s-i,u=s+i,c=a,h=l,f=s,p=u,d=o,g=e+1,v=r-1,m=0;nk(c,h,n)&&(m=c,c=h,h=m);nk(p,d,n)&&(m=p,p=d,d=m);nk(c,f,n)&&(m=c,c=f,f=m);nk(h,f,n)&&(m=h,h=f,f=m);nk(c,p,n)&&(m=c,c=p,p=m);nk(f,p,n)&&(m=f,f=p,p=m);nk(h,d,n)&&(m=h,h=d,d=m);nk(h,f,n)&&(m=h,h=f,f=m);nk(p,d,n)&&(m=p,p=d,d=m);var y=n[2*h];var x=n[2*h+1];var b=n[2*p];var _=n[2*p+1];var w=2*c;var M=2*f;var A=2*d;var k=2*a;var T=2*s;var S=2*o;for(var E=0;E<2;++E){var C=n[w+E],L=n[M+E],z=n[A+E];n[k+E]=C,n[T+E]=L,n[S+E]=z}tk(l,e,n);tk(u,r,n);for(var P=g;P<=v;++P)if(ik(P,y,x,n))P!==g&&$A(P,g,n),++g;else if(!ik(P,b,_,n))for(;;){if(ik(v,b,_,n)){ik(v,y,x,n)?(ek(P,g,v,n),++g,--v):($A(P,v,n),--v);break}if(--v<P)break}rk(e,g-1,y,x,n);rk(r,v+1,b,_,n);g-2-e<=KA?QA(e,g-2,n):t(e,g-2,n);r-(v+2)<=KA?QA(v+2,r,n):t(v+2,r,n);v-g<=KA?QA(g,v,n):t(g,v,n)}(0,e-1,t)},KA=32;function QA(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){e*=2;var n=r[t*=2],i=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=i}function tk(t,e,r){e*=2,r[t*=2]=r[e],r[t+1]=r[e+1]}function ek(t,e,r,n){e*=2,r*=2;var i=n[t*=2],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 rk(t,e,r,n,i){e*=2,i[t*=2]=i[e],i[e]=r,i[t+1]=i[e+1],i[e+1]=n}function nk(t,e,r){e*=2;var n=r[t*=2],i=r[e];return!(n<i)&&(n!==i||r[t+1]>r[e+1])}function ik(t,e,r,n){var i=n[t*=2];return i<e||i===e&&n[t+1]<r}var ak={init:function(t){var e=Mb.nextPow2(t);sk.length<e&&(__.free(sk),sk=__.mallocInt32(e));lk.length<e&&(__.free(lk),lk=__.mallocInt32(e));uk.length<e&&(__.free(uk),uk=__.mallocInt32(e));ck.length<e&&(__.free(ck),ck=__.mallocInt32(e));hk.length<e&&(__.free(hk),hk=__.mallocInt32(e));fk.length<e&&(__.free(fk),fk=__.mallocInt32(e));var r=8*e;pk.length<r&&(__.free(pk),pk=__.mallocDouble(r))},sweepBipartite:function(t,e,r,n,i,a,o,s,l,u){for(var c=0,h=2*t,f=t-1,p=h-1,d=r;d<n;++d){var g=a[d],v=h*d;pk[c++]=i[v+f],pk[c++]=-(g+1),pk[c++]=i[v+p],pk[c++]=g}for(var d=o;d<s;++d){var g=u[d]+ok,m=h*d;pk[c++]=l[m+f],pk[c++]=-g,pk[c++]=l[m+p],pk[c++]=g}var y=c>>>1;JA(pk,y);for(var x=0,b=0,d=0;d<y;++d){var _=0|pk[2*d+1];if(_>=ok)dk(uk,ck,b--,_=_-ok|0);else if(_>=0)dk(sk,lk,x--,_);else if(_<=-ok){_=-_-ok|0;for(var w=0;w<x;++w){var M=e(sk[w],_);if(void 0!==M)return M}gk(uk,ck,b++,_)}else{_=-_-1|0;for(var w=0;w<b;++w){var M=e(_,uk[w]);if(void 0!==M)return M}gk(sk,lk,x++,_)}}},sweepComplete:function(t,e,r,n,i,a,o,s,l,u){for(var c=0,h=2*t,f=t-1,p=h-1,d=r;d<n;++d){var g=a[d]+1<<1,v=h*d;pk[c++]=i[v+f],pk[c++]=-g,pk[c++]=i[v+p],pk[c++]=g}for(var d=o;d<s;++d){var g=u[d]+1<<1,m=h*d;pk[c++]=l[m+f],pk[c++]=1|-g,pk[c++]=l[m+p],pk[c++]=1|g}var y=c>>>1;JA(pk,y);for(var x=0,b=0,_=0,d=0;d<y;++d){var w=0|pk[2*d+1],M=1&w;if(d<y-1&&w>>1==pk[2*d+3]>>1&&(M=2,d+=1),w<0){for(var A=-(w>>1)-1,k=0;k<_;++k){var T=e(hk[k],A);if(void 0!==T)return T}if(0!==M)for(var k=0;k<x;++k){var T=e(sk[k],A);if(void 0!==T)return T}if(1!==M)for(var k=0;k<b;++k){var T=e(uk[k],A);if(void 0!==T)return T}0===M?gk(sk,lk,x++,A):1===M?gk(uk,ck,b++,A):2===M&&gk(hk,fk,_++,A)}else{var A=(w>>1)-1;0===M?dk(sk,lk,x--,A):1===M?dk(uk,ck,b--,A):2===M&&dk(hk,fk,_--,A)}}},scanBipartite:function(t,e,r,n,i,a,o,s,l,u,c,h){var f=0,p=2*t,d=e,g=e+t,v=1,m=1;n?m=ok:v=ok;for(var y=i;y<a;++y){var x=y+v,b=p*y;pk[f++]=o[b+d],pk[f++]=-x,pk[f++]=o[b+g],pk[f++]=x}for(var y=l;y<u;++y){var x=y+m,_=p*y;pk[f++]=c[_+d],pk[f++]=-x}var w=f>>>1;JA(pk,w);for(var M=0,y=0;y<w;++y){var A=0|pk[2*y+1];if(A<0){var x=-A,k=!1;if(x>=ok?(k=!n,x-=ok):(k=!!n,x-=1),k)gk(sk,lk,M++,x);else{var T=h[x],S=p*x,E=c[S+e+1],C=c[S+e+1+t];t:for(var L=0;L<M;++L){var z=sk[L],P=p*z;if(!(C<o[P+e+1]||o[P+e+1+t]<E)){for(var I=e+2;I<t;++I)if(c[S+I+t]<o[P+I]||o[P+I+t]<c[S+I])continue t;var D,O=s[z];if(void 0!==(D=n?r(T,O):r(O,T)))return D}}}}else dk(sk,lk,M--,A-v)}},scanComplete:function(t,e,r,n,i,a,o,s,l,u,c){for(var h=0,f=2*t,p=e,d=e+t,g=n;g<i;++g){var v=g+ok,m=f*g;pk[h++]=a[m+p],pk[h++]=-v,pk[h++]=a[m+d],pk[h++]=v}for(var g=s;g<l;++g){var v=g+1,y=f*g;pk[h++]=u[y+p],pk[h++]=-v}var x=h>>>1;JA(pk,x);for(var b=0,g=0;g<x;++g){var _=0|pk[2*g+1];if(_<0){var v=-_;if(v>=ok)sk[b++]=v-ok;else{var w=c[v-=1],M=f*v,A=u[M+e+1],k=u[M+e+1+t];t:for(var T=0;T<b;++T){var S=sk[T],E=o[S];if(E===w)break;var C=f*S;if(!(k<a[C+e+1]||a[C+e+1+t]<A)){for(var L=e+2;L<t;++L)if(u[M+L+t]<a[C+L]||a[C+L+t]<u[M+L])continue t;var z=r(E,w);if(void 0!==z)return z}}}}else{for(var v=_-ok,T=b-1;T>=0;--T)if(sk[T]===v){for(var L=T+1;L<b;++L)sk[L-1]=sk[L];break}--b}}}},ok=1<<28,sk=__.mallocInt32(1024),lk=__.mallocInt32(1024),uk=__.mallocInt32(1024),ck=__.mallocInt32(1024),hk=__.mallocInt32(1024),fk=__.mallocInt32(1024),pk=__.mallocDouble(8192);function dk(t,e,r,n){var i=e[n],a=t[r-1];t[i]=a,e[a]=i}function gk(t,e,r,n){t[r]=n,e[n]=r}var vk=function(t,e,r,n,i,a,o,s,l){!function(t,e){var r=8*Mb.log2(e+1)*(t+1)|0,n=Mb.nextPow2(Ek*r);Lk.length<n&&(__.free(Lk),Lk=__.mallocInt32(n));var i=Mb.nextPow2(Ck*r);zk<i&&(__.free(zk),zk=__.mallocDouble(i))}(t,n+o);var u,c=0,h=2*t;Pk(c++,0,0,n,0,o,r?16:0,-1/0,1/0),r||Pk(c++,0,0,o,0,n,1,-1/0,1/0);for(;c>0;){var f=(c-=1)*Ek,p=Lk[f],d=Lk[f+1],g=Lk[f+2],v=Lk[f+3],m=Lk[f+4],y=Lk[f+5],x=c*Ck,b=zk[x],_=zk[x+1],w=1&y,M=!!(16&y),A=i,k=a,T=s,S=l;if(w&&(A=s,k=l,T=i,S=a),!(2&y&&(g=Ak(t,p,d,g,A,k,_),d>=g)||4&y&&(d=kk(t,p,d,g,A,k,b))>=g)){var E=g-d,C=m-v;if(M){if(t*E*(E+C)<_k){if(void 0!==(u=ak.scanComplete(t,p,e,d,g,A,k,v,m,T,S)))return u;continue}}else{if(t*Math.min(E,C)<xk){if(void 0!==(u=mk(t,p,e,w,d,g,A,k,v,m,T,S)))return u;continue}if(t*E*C<bk){if(void 0!==(u=ak.scanBipartite(t,p,e,w,d,g,A,k,v,m,T,S)))return u;continue}}var L=wk(t,p,d,g,A,k,b,_);if(d<L)if(t*(L-d)<xk){if(void 0!==(u=yk(t,p+1,e,d,L,A,k,v,m,T,S)))return u}else if(p===t-2){if(void 0!==(u=w?ak.sweepBipartite(t,e,v,m,T,S,d,L,A,k):ak.sweepBipartite(t,e,d,L,A,k,v,m,T,S)))return u}else Pk(c++,p+1,d,L,v,m,w,-1/0,1/0),Pk(c++,p+1,v,m,d,L,1^w,-1/0,1/0);if(L<g){var z=WA(t,p,v,m,T,S),P=T[h*z+p],I=Mk(t,p,z,m,T,S,P);if(I<m&&Pk(c++,p,L,g,I,m,(4|w)+(M?16:0),P,_),v<z&&Pk(c++,p,L,g,v,z,(2|w)+(M?16:0),b,P),z+1===I){if(void 0!==(u=M?Dk(t,p,e,L,g,A,k,z,T,S[z]):Ik(t,p,e,w,L,g,A,k,z,T,S[z])))return u}else if(z<I){var D;if(M){if(D=Tk(t,p,L,g,A,k,P),L<D){var O=Mk(t,p,L,D,A,k,P);if(p===t-2){if(L<O&&void 0!==(u=ak.sweepComplete(t,e,L,O,A,k,z,I,T,S)))return u;if(O<D&&void 0!==(u=ak.sweepBipartite(t,e,O,D,A,k,z,I,T,S)))return u}else L<O&&Pk(c++,p+1,L,O,z,I,16,-1/0,1/0),O<D&&(Pk(c++,p+1,O,D,z,I,0,-1/0,1/0),Pk(c++,p+1,z,I,O,D,1,-1/0,1/0))}}else D=w?Sk(t,p,L,g,A,k,P):Tk(t,p,L,g,A,k,P),L<D&&(p===t-2?u=w?ak.sweepBipartite(t,e,z,I,T,S,L,D,A,k):ak.sweepBipartite(t,e,L,D,A,k,z,I,T,S):(Pk(c++,p+1,L,D,z,I,w,-1/0,1/0),Pk(c++,p+1,z,I,L,D,1^w,-1/0,1/0)))}}}}},mk=AA.partial,yk=AA.full,xk=128,bk=1<<22,_k=1<<22,wk=HA(\"!(lo>=p0)&&!(p1>=hi)\",[\"p0\",\"p1\"]),Mk=HA(\"lo===p0\",[\"p0\"]),Ak=HA(\"lo<p0\",[\"p0\"]),kk=HA(\"hi<=p0\",[\"p0\"]),Tk=HA(\"lo<=p0&&p0<=hi\",[\"p0\"]),Sk=HA(\"lo<p0&&p0<=hi\",[\"p0\"]),Ek=6,Ck=2,Lk=__.mallocInt32(1024),zk=__.mallocDouble(1024);function Pk(t,e,r,n,i,a,o,s,l){var u=Ek*t;Lk[u]=e,Lk[u+1]=r,Lk[u+2]=n,Lk[u+3]=i,Lk[u+4]=a,Lk[u+5]=o;var c=Ck*t;zk[c]=s,zk[c+1]=l}function Ik(t,e,r,n,i,a,o,s,l,u,c){var h=2*t,f=l*h,p=u[f+e];t:for(var d=i,g=i*h;d<a;++d,g+=h){var v=o[g+e],m=o[g+e+t];if(!(p<v||m<p)&&(!n||p!==v)){for(var y,x=s[d],b=e+1;b<t;++b){v=o[g+b],m=o[g+b+t];var _=u[f+b],w=u[f+b+t];if(m<_||w<v)continue t}if(void 0!==(y=n?r(c,x):r(x,c)))return y}}}function Dk(t,e,r,n,i,a,o,s,l,u){var c=2*t,h=s*c,f=l[h+e];t:for(var p=n,d=n*c;p<i;++p,d+=c){var g=o[p];if(g!==u){var v=a[d+e],m=a[d+e+t];if(!(f<v||m<f)){for(var y=e+1;y<t;++y){v=a[d+y],m=a[d+y+t];var x=l[h+y],b=l[h+y+t];if(m<x||b<v)continue t}var _=r(g,u);if(void 0!==_)return _}}}}var Ok,Rk=function(t,e,r){switch(arguments.length){case 1:return Ok=[],Nk(n=t,n,jk,!0),Ok;case 2:return\"function\"==typeof e?Nk(t,t,e,!0):function(t,e){return Ok=[],Nk(t,e,jk,!1),Ok}(t,e);case 3:return Nk(t,e,r,!1);default:throw new Error(\"box-intersect: Invalid arguments\")}var n};function Fk(t,e){for(var r=0;r<t;++r)if(!(e[r]<=e[r+t]))return!0;return!1}function Bk(t,e,r,n){for(var i=0,a=0,o=0,s=t.length;o<s;++o){var l=t[o];if(!Fk(e,l)){for(var u=0;u<2*e;++u)r[i++]=l[u];n[a++]=o}}return a}function Nk(t,e,r,n){var i=t.length,a=e.length;if(!(i<=0||a<=0)){var o=t[0].length>>>1;if(!(o<=0)){var s,l=__.mallocDouble(2*o*i),u=__.mallocInt32(i);if((i=Bk(t,o,l,u))>0){if(1===o&&n)ak.init(i),s=ak.sweepComplete(o,r,0,i,l,u,0,i,l,u);else{var c=__.mallocDouble(2*o*a),h=__.mallocInt32(a);(a=Bk(e,o,c,h))>0&&(ak.init(i+a),s=1===o?ak.sweepBipartite(o,r,0,i,l,u,0,a,c,h):vk(o,r,n,i,l,u,a,c,h),__.free(c),__.free(h))}__.free(l),__.free(u)}return s}}}function jk(t,e){Ok.push([t,e])}var Vk=function(t,e){return dA(t[0].mul(e[0]),t[1].mul(e[1]))};var Uk=function(t){return hA(t[0])*hA(t[1])};var qk=function(t,e){return dA(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))};var Hk=function(t,e){return dA(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))};var Gk=function(t,e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=Hk(t[i],e[i]);return n};var Wk=function(t,e){for(var r=xA(e),n=t.length,i=new Array(n),a=0;a<n;++a)i[a]=Vk(t[a],r);return i};var Yk=function(t,e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=qk(t[i],e[i]);return n};var Xk=function(t,e,r,n){var i=Yk(e,t),a=Yk(n,r),o=Zk(i,a);if(0===Uk(o))return null;var s=Yk(t,r),l=Zk(a,s),u=gA(l,o),c=Wk(i,u);return Gk(t,c)};function Zk(t,e){return qk(Vk(t[0],e[1]),Vk(t[1],e[0]))}var Jk=Math.pow(2,-1074),Kk=-1>>>0,Qk=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-Jk:Jk;var r=fA.hi(t),n=fA.lo(t);e>t==t>0?n===Kk?(r+=1,n=0):n+=1:0===n?(n=Kk,r-=1):n-=1;return fA.pack(n,r)};var $k=function(t){for(var e=new Array(t.length),r=0;r<t.length;++r)e[r]=xA(t[r]);return e};var tT=function(t,e,r,n){var i=eT(t,r,n),a=eT(e,r,n);if(i>0&&a>0||i<0&&a<0)return!1;var o=eT(r,t,e),s=eT(n,t,e);if(o>0&&s>0||o<0&&s<0)return!1;if(0===i&&0===a&&0===o&&0===s)return function(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}(t,e,r,n);return!0},eT=PM[3];var rT=nT;function nT(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}var iT=nT.prototype;Object.defineProperty(iT,\"length\",{get:function(){return this.roots.length}}),iT.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},iT.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},iT.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])}};var aT=function(t,e,r){var n;if(r){n=e;for(var i=new Array(e.length),a=0;a<e.length;++a){var o=e[a];i[a]=[o[0],o[1],r[a]]}e=i}var s=function(t,e,r){var n=lT(t,[],sT(t));return hT(e,n,r),!!n}(t,e,!!r);for(;fT(t,e,!!r);)s=!0;if(r&&s){n.length=0,r.length=0;for(var a=0;a<e.length;++a){var o=e[a];n.push([o[0],o[1]]),r.push(o[2])}}return s};function oT(t){var e=MA(t);return[Qk(e,-1/0),Qk(e,1/0)]}function sT(t){for(var e=new Array(t.length),r=0;r<t.length;++r){var n=t[r];e[r]=[Qk(n[0],-1/0),Qk(n[1],-1/0),Qk(n[0],1/0),Qk(n[1],1/0)]}return e}function lT(t,e,r){for(var n=e.length,i=new rT(n),a=[],o=0;o<e.length;++o){var s=e[o],l=oT(s[0]),u=oT(s[1]);a.push([Qk(l[0],-1/0),Qk(u[0],-1/0),Qk(l[1],1/0),Qk(u[1],1/0)])}Rk(a,function(t,e){i.link(t,e)});var c=!0,h=new Array(n);for(o=0;o<n;++o){(p=i.find(o))!==o&&(c=!1,t[p]=[Math.min(t[o][0],t[p][0]),Math.min(t[o][1],t[p][1])])}if(c)return null;var f=0;for(o=0;o<n;++o){var p;(p=i.find(o))===o?(h[o]=f,t[f++]=t[o]):h[o]=-1}t.length=f;for(o=0;o<n;++o)h[o]<0&&(h[o]=h[i.find(o)]);return h}function uT(t,e){return t[0]-e[0]||t[1]-e[1]}function cT(t,e){var r=t[0]-e[0]||t[1]-e[1];return r||(t[2]<e[2]?-1:t[2]>e[2]?1:0)}function hT(t,e,r){if(0!==t.length){if(e)for(var n=0;n<t.length;++n){var i=e[(o=t[n])[0]],a=e[o[1]];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}else for(n=0;n<t.length;++n){var o;i=(o=t[n])[0],a=o[1];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}r?t.sort(cT):t.sort(uT);var s=1;for(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 fT(t,e,r){var n=function(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]=[Qk(Math.min(a[0],o[0]),-1/0),Qk(Math.min(a[1],o[1]),-1/0),Qk(Math.max(a[0],o[0]),1/0),Qk(Math.max(a[1],o[1]),1/0)]}return r}(t,e),i=function(t,e,r){var n=[];return Rk(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]];tT(s,l,u,c)&&n.push([r,i])}}),n}(t,e,n),a=sT(t),o=function(t,e,r,n){var i=[];return Rk(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]];tT(s,l,o,o)&&i.push([r,n])}}),i}(t,e,n,a),s=lT(t,function(t,e,r,n,i){var a,o,s=t.map(function(t){return[xA(t[0]),xA(t[1])]});for(a=0;a<r.length;++a){var l=r[a];o=l[0];var u=l[1],c=e[o],h=e[u],f=Xk($k(t[c[0]]),$k(t[c[1]]),$k(t[h[0]]),$k(t[h[1]]));if(f){var p=t.length;t.push([MA(f[0]),MA(f[1])]),s.push(f),n.push([o,p],[u,p])}}for(n.sort(function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=s[t[1]],n=s[e[1]];return lA(r[0],n[0])||lA(r[1],n[1])}),a=n.length-1;a>=0;--a){var d=e[o=(w=n[a])[0]],g=d[0],v=d[1],m=t[g],y=t[v];if((m[0]-y[0]||m[1]-y[1])<0){var x=g;g=v,v=x}d[0]=g;var b,_=d[1]=w[1];for(i&&(b=d[2]);a>0&&n[a-1][0]===o;){var w,M=(w=n[--a])[1];i?e.push([_,M,b]):e.push([_,M]),_=M}i?e.push([_,v,b]):e.push([_,v])}return s}(t,e,i,o,r));return hT(e,s,r),!!s||(i.length>0||o.length>0)}var pT=function(t,e){var r=t.length;if(\"number\"!=typeof e){e=0;for(var n=0;n<r;++n){var i=t[n];e=Math.max(e,i[0],i[1])}e=1+(0|e)}e|=0;for(var a=new Array(e),n=0;n<e;++n)a[n]=[];for(var n=0;n<r;++n){var i=t[n];a[i[0]].push(i[1]),a[i[1]].push(i[0])}for(var o=0;o<e;++o)Qx(a[o],function(t,e){return t-e});return a};var dT=function(t,e){if(1===t.length)return pM(e,t[0]);if(1===e.length)return pM(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=gM(r,pM(e,t[n]));else for(var n=0;n<e.length;++n)r=gM(r,pM(t,e[n]));return r};var gT=function(t){return t<0?-1:t>0?1:0},vT=function(t,e,r,n){var i=PM(e,r,n);if(0===i){var a=gT(PM(t,e,r)),o=gT(PM(t,e,n));if(a===o){if(0===a){var s=mT(t,e,r),l=mT(t,e,n);return s===l?0:s?1:-1}return 0}return 0===o?a>0?-1:mT(t,e,n)?-1:1:0===a?o>0?1:mT(t,e,r)?1:-1:gT(o-a)}var u=PM(t,e,r);if(u>0)return i>0&&PM(t,e,n)>0?1:-1;if(u<0)return i>0||PM(t,e,n)>0?1:-1;var c=PM(t,e,n);return c>0?1:mT(t,e,r)?1:-1};function mT(t,e,r){var n=fM(t[0],-e[0]),i=fM(t[1],-e[1]),a=fM(r[0],-e[0]),o=fM(r[1],-e[1]),s=gM(dT(n,a),dT(i,o));return s[s.length-1]>=0}var yT=function(t,e){for(var r=0|e.length,n=t.length,i=[new Array(r),new Array(r)],a=0;a<r;++a)i[0][a]=[],i[1][a]=[];for(var a=0;a<n;++a){var o=t[a];i[0][o[0]].push(o),i[1][o[1]].push(o)}for(var s=[],a=0;a<r;++a)i[0][a].length+i[1][a].length===0&&s.push([a]);function l(t,e){var r=i[e][t[e]];r.splice(r.indexOf(t),1)}function u(t,r,n){for(var a,o,s,u=0;u<2;++u)if(i[u][r].length>0){a=i[u][r][0],s=u;break}o=a[1^s];for(var c=0;c<2;++c)for(var h=i[c][r],f=0;f<h.length;++f){var p=h[f],d=p[1^c],g=vT(e[t],e[r],e[o],e[d]);g>0&&(a=p,o=d,s=c)}return n?o:(a&&l(a,s),o)}function c(t,r){var n=i[r][t][0],a=[t];l(n,r);for(var o=n[1^r];;){for(;o!==t;)a.push(o),o=u(a[a.length-2],o,!1);if(i[0][t].length+i[1][t].length===0)break;var s=a[a.length-1],c=t,h=a[1],f=u(s,c,!0);if(vT(e[s],e[c],e[h],e[f])<0)break;a.push(t),o=u(s,c)}return a}function h(t,e){return e[1]===e[e.length-1]}for(var a=0;a<r;++a)for(var f=0;f<2;++f){for(var p=[];i[f][a].length>0;){i[0][a].length;var d=c(a,f);h(p,d)?p.push.apply(p,d):(p.length>0&&s.push(p),p=d)}p.length>0&&s.push(p)}return s};var xT=function(t,e){for(var r=pT(t,e.length),n=new Array(e.length),i=new Array(e.length),a=[],o=0;o<e.length;++o){var s=r[o].length;i[o]=s,n[o]=!0,s<=1&&a.push(o)}for(;a.length>0;){var l=a.pop();n[l]=!1;for(var u=r[l],o=0;o<u.length;++o){var c=u[o];0==--i[c]&&a.push(c)}}for(var h=new Array(e.length),f=[],o=0;o<e.length;++o)if(n[o]){var l=f.length;h[o]=l,f.push(e[o])}else h[o]=-1;for(var p=[],o=0;o<t.length;++o){var d=t[o];n[d[0]]&&n[d[1]]&&p.push([h[d[0]],h[d[1]]])}return[p,f]};function bT(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 _T(t,e,r,n){return new Function([bT(\"A\",\"x\"+t+\"y\",e,[\"y\"],!1,n),bT(\"B\",\"x\"+t+\"y\",e,[\"y\"],!0,n),bT(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],!1,n),bT(\"Q\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],!0,n),\"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(\"\"))()}var wT={ge:_T(\">=\",!1,\"GE\"),gt:_T(\">\",!1,\"GT\"),lt:_T(\"<\",!0,\"LT\"),le:_T(\"<=\",!0,\"LE\"),eq:_T(\"-\",!0,\"EQ\",!0)},MT=0,AT=1,kT=function(t){if(!t||0===t.length)return new NT(null);return new NT(BT(t))};function TT(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}var ST=TT.prototype;function ET(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 CT(t,e){var r=BT(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 LT(t,e){var r=t.intervals([]);r.push(e),CT(t,r)}function zT(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?MT:(r.splice(n,1),CT(t,r),AT)}function PT(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 IT(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 DT(t,e){for(var r=0;r<t.length;++r){var n=e(t[r]);if(n)return n}}function OT(t,e){return t-e}function RT(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function FT(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function BT(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(OT);var n=e[e.length>>1],i=[],a=[],o=[];for(r=0;r<t.length;++r){var s=t[r];s[1]<n?i.push(s):n<s[0]?a.push(s):o.push(s)}var l=o,u=o.slice();return l.sort(RT),u.sort(FT),new TT(n,BT(i),BT(a),l,u)}function NT(t){this.root=t}ST.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},ST.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)?LT(this,t):this.left.insert(t):this.left=BT([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?LT(this,t):this.right.insert(t):this.right=BT([t]);else{var r=wT.ge(this.leftPoints,t,RT),n=wT.ge(this.rightPoints,t,FT);this.leftPoints.splice(r,0,t),this.rightPoints.splice(n,0,t)}},ST.remove=function(t){var e=this.count-this.leftPoints;if(t[1]<this.mid){return this.left?4*(this.right?this.right.count:0)>3*(e-1)?zT(this,t):2===(a=this.left.remove(t))?(this.left=null,this.count-=1,AT):(a===AT&&(this.count-=1),a):MT}else{if(!(t[0]>this.mid)){if(1===this.count)return this.leftPoints[0]===t?2:MT;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,n=this.left;n.right;)r=n,n=n.right;if(r===this)n.right=this.right;else{var i=this.left;a=this.right;r.count-=n.count,r.right=n.left,n.left=i,n.right=a}ET(this,n),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?ET(this,this.left):ET(this,this.right);return AT}for(i=wT.ge(this.leftPoints,t,RT);i<this.leftPoints.length&&this.leftPoints[i][0]===t[0];++i)if(this.leftPoints[i]===t){this.count-=1,this.leftPoints.splice(i,1);for(a=wT.ge(this.rightPoints,t,FT);a<this.rightPoints.length&&this.rightPoints[a][1]===t[1];++a)if(this.rightPoints[a]===t)return this.rightPoints.splice(a,1),AT}return MT}return this.right?4*(this.left?this.left.count:0)>3*(e-1)?zT(this,t):2===(a=this.right.remove(t))?(this.right=null,this.count-=1,AT):(a===AT&&(this.count-=1),a):MT;var a}},ST.queryPoint=function(t,e){if(t<this.mid){if(this.left)if(r=this.left.queryPoint(t,e))return r;return PT(this.leftPoints,t,e)}if(t>this.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return IT(this.rightPoints,t,e)}return DT(this.leftPoints,e)},ST.queryInterval=function(t,e,r){var n;if(t<this.mid&&this.left&&(n=this.left.queryInterval(t,e,r)))return n;if(e>this.mid&&this.right&&(n=this.right.queryInterval(t,e,r)))return n;return e<this.mid?PT(this.leftPoints,e,r):t>this.mid?IT(this.rightPoints,t,r):DT(this.leftPoints,r)};var jT=NT.prototype;jT.insert=function(t){this.root?this.root.insert(t):this.root=new TT(t[0],null,null,[t],[t])},jT.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),e!==MT}return!1},jT.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},jT.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(jT,\"count\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(jT,\"intervals\",{get:function(){return this.root?this.root.intervals([]):[]}});var VT=function(t){return new XT(t||$T,null)},UT=0,qT=1;function HT(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 GT(t){return new HT(t._color,t.key,t.value,t.left,t.right,t._count)}function WT(t,e){return new HT(t,e.key,e.value,e.left,e.right,e._count)}function YT(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function XT(t,e){this._compare=t,this.root=e}var ZT=XT.prototype;function JT(t,e){this.tree=t,this._stack=e}Object.defineProperty(ZT,\"keys\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(ZT,\"values\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(ZT,\"length\",{get:function(){return this.root?this.root._count:0}}),ZT.insert=function(t,e){for(var r=this._compare,n=this.root,i=[],a=[];n;){var o=r(t,n.key);i.push(n),a.push(o),n=o<=0?n.left:n.right}i.push(new HT(UT,t,e,null,null,1));for(var s=i.length-2;s>=0;--s){n=i[s];a[s]<=0?i[s]=new HT(n._color,n.key,n.value,i[s+1],n.right,n._count+1):i[s]=new HT(n._color,n.key,n.value,n.left,i[s+1],n._count+1)}for(s=i.length-1;s>1;--s){var l=i[s-1];n=i[s];if(l._color===qT||n._color===qT)break;var u=i[s-2];if(u.left===l)if(l.left===n){if(!(c=u.right)||c._color!==UT){if(u._color=UT,u.left=l.right,l._color=qT,l.right=u,i[s-2]=l,i[s-1]=n,YT(u),YT(l),s>=3)(h=i[s-3]).left===u?h.left=l:h.right=l;break}l._color=qT,u.right=WT(qT,c),u._color=UT,s-=1}else{if(!(c=u.right)||c._color!==UT){if(l.right=n.left,u._color=UT,u.left=n.right,n._color=qT,n.left=l,n.right=u,i[s-2]=n,i[s-1]=l,YT(u),YT(l),YT(n),s>=3)(h=i[s-3]).left===u?h.left=n:h.right=n;break}l._color=qT,u.right=WT(qT,c),u._color=UT,s-=1}else if(l.right===n){if(!(c=u.left)||c._color!==UT){if(u._color=UT,u.right=l.left,l._color=qT,l.left=u,i[s-2]=l,i[s-1]=n,YT(u),YT(l),s>=3)(h=i[s-3]).right===u?h.right=l:h.left=l;break}l._color=qT,u.left=WT(qT,c),u._color=UT,s-=1}else{var c;if(!(c=u.left)||c._color!==UT){var h;if(l.left=n.right,u._color=UT,u.right=n.left,n._color=qT,n.right=l,n.left=u,i[s-2]=n,i[s-1]=l,YT(u),YT(l),YT(n),s>=3)(h=i[s-3]).right===u?h.right=n:h.left=n;break}l._color=qT,u.left=WT(qT,c),u._color=UT,s-=1}}return i[0]._color=qT,new XT(r,i[0])},ZT.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return function t(e,r){var n;if(r.left&&(n=t(e,r.left)))return n;return(n=e(r.key,r.value))||(r.right?t(e,r.right):void 0)}(t,this.root);case 2:return function t(e,r,n,i){if(r(e,i.key)<=0){var a;if(i.left&&(a=t(e,r,n,i.left)))return a;if(a=n(i.key,i.value))return a}if(i.right)return t(e,r,n,i.right)}(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return function t(e,r,n,i,a){var o,s=n(e,a.key),l=n(r,a.key);if(s<=0){if(a.left&&(o=t(e,r,n,i,a.left)))return o;if(l>0&&(o=i(a.key,a.value)))return o}if(l>0&&a.right)return t(e,r,n,i,a.right)}(e,r,this._compare,t,this.root)}},Object.defineProperty(ZT,\"begin\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new JT(this,t)}}),Object.defineProperty(ZT,\"end\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new JT(this,t)}}),ZT.at=function(t){if(t<0)return new JT(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 JT(this,r);if(t-=1,!e.right)break;if(t>=e.right._count)break;e=e.right}return new JT(this,[])},ZT.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 JT(this,n)},ZT.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 JT(this,n)},ZT.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 JT(this,n)},ZT.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 JT(this,n)},ZT.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 JT(this,n);r=i<=0?r.left:r.right}return new JT(this,[])},ZT.remove=function(t){var e=this.find(t);return e?e.remove():this},ZT.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 KT=JT.prototype;function QT(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 $T(t,e){return t<e?-1:t>e?1:0}Object.defineProperty(KT,\"valid\",{get:function(){return this._stack.length>0}}),Object.defineProperty(KT,\"node\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),KT.clone=function(){return new JT(this.tree,this._stack.slice())},KT.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 HT(r._color,r.key,r.value,r.left,r.right,r._count);for(var n=t.length-2;n>=0;--n){(r=t[n]).left===t[n+1]?e[n]=new HT(r._color,r.key,r.value,e[n+1],r.right,r._count):e[n]=new HT(r._color,r.key,r.value,r.left,e[n+1],r._count)}if((r=e[e.length-1]).left&&r.right){var i=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var a=e[i-1];e.push(new HT(r._color,a.key,a.value,r.left,r.right,r._count)),e[i-1].key=r.key,e[i-1].value=r.value;for(n=e.length-2;n>=i;--n)r=e[n],e[n]=new HT(r._color,r.key,r.value,r.left,e[n+1],r._count);e[i-1].left=e[i]}if((r=e[e.length-1])._color===UT){var o=e[e.length-2];o.left===r?o.left=null:o.right===r&&(o.right=null),e.pop();for(n=0;n<e.length;++n)e[n]._count--;return new XT(this.tree._compare,e[0])}if(r.left||r.right){r.left?QT(r,r.left):r.right&&QT(r,r.right),r._color=qT;for(n=0;n<e.length-1;++n)e[n]._count--;return new XT(this.tree._compare,e[0])}if(1===e.length)return new XT(this.tree._compare,null);for(n=0;n<e.length;++n)e[n]._count--;var s=e[e.length-2];return function(t){for(var e,r,n,i,a=t.length-1;a>=0;--a){if(e=t[a],0===a)return void(e._color=qT);if((r=t[a-1]).left===e){if((n=r.right).right&&n.right._color===UT)return i=(n=r.right=GT(n)).right=GT(n.right),r.right=n.left,n.left=r,n.right=i,n._color=r._color,e._color=qT,r._color=qT,i._color=qT,YT(r),YT(n),a>1&&((o=t[a-2]).left===r?o.left=n:o.right=n),void(t[a-1]=n);if(n.left&&n.left._color===UT)return i=(n=r.right=GT(n)).left=GT(n.left),r.right=i.left,n.left=i.right,i.left=r,i.right=n,i._color=r._color,r._color=qT,n._color=qT,e._color=qT,YT(r),YT(n),YT(i),a>1&&((o=t[a-2]).left===r?o.left=i:o.right=i),void(t[a-1]=i);if(n._color===qT){if(r._color===UT)return r._color=qT,void(r.right=WT(UT,n));r.right=WT(UT,n);continue}n=GT(n),r.right=n.left,n.left=r,n._color=r._color,r._color=UT,YT(r),YT(n),a>1&&((o=t[a-2]).left===r?o.left=n:o.right=n),t[a-1]=n,t[a]=r,a+1<t.length?t[a+1]=e:t.push(e),a+=2}else{if((n=r.left).left&&n.left._color===UT)return i=(n=r.left=GT(n)).left=GT(n.left),r.left=n.right,n.right=r,n.left=i,n._color=r._color,e._color=qT,r._color=qT,i._color=qT,YT(r),YT(n),a>1&&((o=t[a-2]).right===r?o.right=n:o.left=n),void(t[a-1]=n);if(n.right&&n.right._color===UT)return i=(n=r.left=GT(n)).right=GT(n.right),r.left=i.right,n.right=i.left,i.right=r,i.left=n,i._color=r._color,r._color=qT,n._color=qT,e._color=qT,YT(r),YT(n),YT(i),a>1&&((o=t[a-2]).right===r?o.right=i:o.left=i),void(t[a-1]=i);if(n._color===qT){if(r._color===UT)return r._color=qT,void(r.left=WT(UT,n));r.left=WT(UT,n);continue}var o;n=GT(n),r.left=n.right,n.right=r,n._color=r._color,r._color=UT,YT(r),YT(n),a>1&&((o=t[a-2]).right===r?o.right=n:o.left=n),t[a-1]=n,t[a]=r,a+1<t.length?t[a+1]=e:t.push(e),a+=2}}}(e),s.left===r?s.left=null:s.right=null,new XT(this.tree._compare,e[0])},Object.defineProperty(KT,\"key\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(KT,\"value\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(KT,\"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}),KT.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(KT,\"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}}),KT.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),n=e[e.length-1];r[r.length-1]=new HT(n._color,n.key,t,n.left,n.right,n._count);for(var i=e.length-2;i>=0;--i)(n=e[i]).left===e[i+1]?r[i]=new HT(n._color,n.key,n.value,r[i+1],n.right,n._count):r[i]=new HT(n._color,n.key,n.value,n.left,r[i+1],n._count);return new XT(this.tree._compare,r[0])},KT.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(KT,\"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}});var tS=function(t,e){var r,n,i,a;if(e[0][0]<e[1][0])r=e[0],n=e[1];else{if(!(e[0][0]>e[1][0]))return eS(e,t);r=e[1],n=e[0]}if(t[0][0]<t[1][0])i=t[0],a=t[1];else{if(!(t[0][0]>t[1][0]))return-eS(t,e);i=t[1],a=t[0]}var o=PM(r,n,a),s=PM(r,n,i);if(o<0){if(s<=0)return o}else if(o>0){if(s>=0)return o}else if(s)return s;if(o=PM(a,i,n),s=PM(a,i,r),o<0){if(s<=0)return o}else if(o>0){if(s>=0)return o}else if(s)return s;return n[0]-a[0]};function eS(t,e){var r,n,i,a;if(e[0][0]<e[1][0])r=e[0],n=e[1];else{if(!(e[0][0]>e[1][0])){var o=Math.min(t[0][1],t[1][1]),s=Math.max(t[0][1],t[1][1]),l=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return s<l?s-l:o>u?o-u:s-u}r=e[1],n=e[0]}t[0][1]<t[1][1]?(i=t[0],a=t[1]):(i=t[1],a=t[0]);var c=PM(n,r,i);return c||((c=PM(n,r,a))||a-n)}var rS=function(t){for(var e=t.length,r=2*e,n=new Array(r),i=0;i<e;++i){var a=t[i],o=a[0][0]<a[1][0];n[2*i]=new sS(a[0][0],a,o,i),n[2*i+1]=new sS(a[1][0],a,!o,i)}n.sort(function(t,e){var r=t.x-e.x;return r||((r=t.create-e.create)||Math.min(t.segment[0][1],t.segment[1][1])-Math.min(e.segment[0][1],e.segment[1][1]))});for(var s=VT(tS),l=[],u=[],c=[],i=0;i<r;){for(var h=n[i].x,f=[];i<r;){var p=n[i];if(p.x!==h)break;i+=1,p.segment[0][0]===p.x&&p.segment[1][0]===p.x?p.create&&(p.segment[0][1]<p.segment[1][1]?(f.push(new oS(p.segment[0][1],p.index,!0,!0)),f.push(new oS(p.segment[1][1],p.index,!1,!1))):(f.push(new oS(p.segment[1][1],p.index,!0,!1)),f.push(new oS(p.segment[0][1],p.index,!1,!0)))):s=p.create?s.insert(p.segment,p.index):s.remove(p.segment)}l.push(s.root),u.push(h),c.push(f)}return new nS(l,u,c)};function nS(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function iS(t,e){return t.y-e}function aS(t,e){for(var r=null;t;){var n,i,a=t.key;a[0][0]<a[1][0]?(n=a[0],i=a[1]):(n=a[1],i=a[0]);var o=PM(n,i,e);if(o<0)t=t.left;else if(o>0)if(e[0]!==a[1][0])r=t,t=t.right;else{if(s=aS(t.right,e))return s;t=t.left}else{if(e[0]!==a[1][0])return t;var s;if(s=aS(t.right,e))return s;t=t.left}}return r}function oS(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function sS(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}nS.prototype.castUp=function(t){var e=wT.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=aS(this.slabs[e],t),n=-1;if(r&&(n=r.value),this.coordinates[e]===t[0]){var i=null;if(r&&(i=r.key),e>0){var a=aS(this.slabs[e-1],t);a&&(i?tS(a.key,i)>0&&(i=a.key,n=a.value):(n=a.value,i=a.key))}var o=this.horizontal[e];if(o.length>0){var s=wT.ge(o,t[1],iS);if(s<o.length){var l=o[s];if(t[1]===l.y){if(l.closed)return l.index;for(;s<o.length-1&&o[s+1].y===t[1];)if((l=o[s+=1]).closed)return l.index;if(l.y===t[1]&&!l.start){if((s+=1)>=o.length)return n;l=o[s]}}if(l.start)if(i){var u=PM(i[0],i[1],[t[0],l.y]);i[0][0]>i[1][0]&&(u=-u),u>0&&(n=l.index)}else n=l.index;else l.y!==t[1]&&(n=l.index)}}}return n};var lS=function(t){for(var e=t.length,r=[],n=[],i=0;i<e;++i)for(var a=t[i],o=a.length,s=o-1,l=0;l<o;s=l++){var u=a[s],c=a[l];u[0]===c[0]?n.push([u,c]):r.push([u,c])}if(0===r.length)return 0===n.length?fS:(h=hS(n),function(t){return h(t[0],t[1])?0:1});var h;var f=rS(r),p=function(t,e){return function(r){var n=wT.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=uS(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}}(f.slabs,f.coordinates);return 0===n.length?p:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(hS(n),p)},uS=PM[3];function cS(){return!0}function hS(t){for(var e={},r=0;r<t.length;++r){var n=t[r],i=n[0][0],a=n[0][1],o=n[1][1],s=[Math.min(a,o),Math.max(a,o)];i in e?e[i].push(s):e[i]=[s]}var l={},u=Object.keys(e);for(r=0;r<u.length;++r){var c=e[u[r]];l[u[r]]=kT(c)}return function(t){return function(e,r){var n=t[e];return!!n&&!!n.queryPoint(r,cS)}}(l)}function fS(t){return 1}var pS=function(t,e){var r=xT(t,e);t=r[0];for(var n=(e=r[1]).length,i=(t.length,pT(t,e.length)),a=0;a<n;++a)if(i[a].length%2==1)throw new Error(\"planar-graph-to-polyline: graph must be manifold\");var o=yT(t,e);for(var s=(o=o.filter(function(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=cM(-a[0],a[1]),l=cM(-a[0],o[1]),u=cM(o[0],a[1]),c=cM(o[0],o[1]);n=gM(n,gM(gM(s,l),gM(u,c)))}return n[n.length-1]>0})).length,l=new Array(s),u=new Array(s),a=0;a<s;++a){l[a]=a;var c=new Array(s),h=o[a].map(function(t){return e[t]}),f=lS([h]),p=0;t:for(var d=0;d<s;++d)if(c[d]=0,a!==d){for(var g=o[d],v=g.length,m=0;m<v;++m){var y=f(e[g[m]]);if(0!==y){y<0&&(c[d]=1,p+=1);continue t}}c[d]=1,p+=1}u[a]=[p,a,c]}u.sort(function(t,e){return e[0]-t[0]});for(var a=0;a<s;++a)for(var c=u[a],x=c[1],b=c[2],d=0;d<s;++d)b[d]&&(l[d]=x);for(var _=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}(s),a=0;a<s;++a)_[a].push(l[a]),_[l[a]].push(a);for(var w={},M=dS(n,!1),a=0;a<s;++a)for(var g=o[a],v=g.length,d=0;d<v;++d){var A=g[d],k=g[(d+1)%v],T=Math.min(A,k)+\":\"+Math.max(A,k);if(T in w){var S=w[T];_[S].push(a),_[a].push(S),M[A]=M[k]=!0}else w[T]=a}function E(t){for(var e=t.length,r=0;r<e;++r)if(!M[t[r]])return!1;return!0}for(var C=[],L=dS(s,-1),a=0;a<s;++a)l[a]!==a||E(o[a])?L[a]=-1:(C.push(a),L[a]=0);var r=[];for(;C.length>0;){var z=C.pop(),P=_[z];Qx(P,function(t,e){return t-e});var I,D=P.length,O=L[z];if(0===O){var g=o[z];I=[g]}for(var a=0;a<D;++a){var R=P[a];if(!(L[R]>=0)&&(L[R]=1^O,C.push(R),0===O)){var g=o[R];E(g)||(g.reverse(),I.push(g))}}0===O&&r.push(I)}return r};function dS(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}var gS={};function vS(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:return(s=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),u=i(e[0],e[1]);return(s=i(l,t[2])-i(u,e[2]))||i(l+t[2],a)-i(u+e[2],o);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 mS(t,e){return vS(t[0],e[0])}function yS(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(mS);for(i=0;i<r;++i)t[i]=n[i][0],e[i]=n[i][1];return t}return t.sort(vS),t}function xS(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var i=t[n];if(vS(i,t[n-1])){if(n===e){e++;continue}t[e++]=i}}return t.length=e,t}function bS(t,e){for(var r=0,n=t.length-1,i=-1;r<=n;){var a=r+n>>1,o=vS(t[a],e);o<=0?(0===o&&(i=a),r=a+1):o>0&&(n=a-1)}return i}function _S(t,e){for(var r=new Array(t.length),n=0,i=r.length;n<i;++n)r[n]=[];for(var a=[],o=(n=0,e.length);n<o;++n)for(var s=e[n],l=s.length,u=1,c=1<<l;u<c;++u){a.length=Mb.popCount(u);for(var h=0,f=0;f<l;++f)u&1<<f&&(a[h++]=s[f]);var p=bS(t,a);if(!(p<0))for(;r[p++].push(n),!(p>=t.length||0!==vS(t[p],a)););}return r}function wS(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=Mb.nextCombination(o)){for(var s=new Array(e+1),l=0,u=0;u<a.length;++u)o&1<<u&&(s[l++]=a[u]);r.push(s)}return yS(r)}gS.dimension=function(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},gS.countVertices=function(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},gS.cloneCells=function(t){for(var e=new Array(t.length),r=0,n=t.length;r<n;++r)e[r]=t[r].slice(0);return e},gS.compareCells=vS,gS.normalize=yS,gS.unique=xS,gS.findCell=bS,gS.incidence=_S,gS.dual=function(t,e){if(!e)return _S(xS(wS(t,0)),t);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];n=0;for(var 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},gS.explode=function(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 l=[],u=0;u<a;++u)o>>>u&1&&l.push(i[u]);e.push(l)}return yS(e)},gS.skeleton=wS,gS.boundary=function(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),l=0,u=0;l<o;++l)l!==a&&(s[u++]=i[l]);e.push(s)}return yS(e)},gS.connectedComponents=function(t,e){return e?function(t,e){for(var r=new rT(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]);var s=[],l=r.ranks;for(n=0;n<l.length;++n)l[n]=-1;for(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}(t,e):function(t){for(var e=xS(yS(wS(t,0))),r=new rT(e.length),n=0;n<t.length;++n)for(var i=t[n],a=0;a<i.length;++a)for(var o=bS(e,[i[a]]),s=a+1;s<i.length;++s)r.link(o,bS(e,[i[s]]));var l=[],u=r.ranks;for(n=0;n<u.length;++n)u[n]=-1;for(n=0;n<t.length;++n){var c=r.find(bS(e,[t[n][0]]));u[c]<0?(u[c]=l.length,l.push([t[n].slice(0)])):l[u[c]].push(t[n].slice(0))}return l}(t)};var MS={};function AS(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}MS.INT_BITS=32,MS.INT_MAX=2147483647,MS.INT_MIN=-1<<31,MS.sign=function(t){return(t>0)-(t<0)},MS.abs=function(t){var e=t>>31;return(t^e)-e},MS.min=function(t,e){return e^(t^e)&-(t<e)},MS.max=function(t,e){return t^(t^e)&-(t<e)},MS.isPow2=function(t){return!(t&t-1||!t)},MS.log2=function(t){var e,r;return e=(t>65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},MS.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},MS.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},MS.countTrailingZeros=AS,MS.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},MS.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},MS.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var kS=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}}(kS),MS.reverse=function(t){return kS[255&t]<<24|kS[t>>>8&255]<<16|kS[t>>>16&255]<<8|kS[t>>>24&255]},MS.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},MS.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},MS.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},MS.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},MS.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>AS(t)+1};var TS=SS;function SS(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}SS.prototype.length=function(){return this.roots.length},SS.prototype.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},SS.prototype.find=function(t){for(var e=this.roots;e[t]!==t;){var r=e[t];e[t]=e[r],t=r}return t},SS.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])}};var ES={};function CS(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:return(s=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),u=i(e[0],e[1]);return(s=i(l,t[2])-i(u,e[2]))||i(l+t[2],a)-i(u+e[2],o);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 LS(t,e){return CS(t[0],e[0])}function zS(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(LS);for(i=0;i<r;++i)t[i]=n[i][0],e[i]=n[i][1];return t}return t.sort(CS),t}function PS(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var i=t[n];if(CS(i,t[n-1])){if(n===e){e++;continue}t[e++]=i}}return t.length=e,t}function IS(t,e){for(var r=0,n=t.length-1,i=-1;r<=n;){var a=r+n>>1,o=CS(t[a],e);o<=0?(0===o&&(i=a),r=a+1):o>0&&(n=a-1)}return i}function DS(t,e){for(var r=new Array(t.length),n=0,i=r.length;n<i;++n)r[n]=[];for(var a=[],o=(n=0,e.length);n<o;++n)for(var s=e[n],l=s.length,u=1,c=1<<l;u<c;++u){a.length=MS.popCount(u);for(var h=0,f=0;f<l;++f)u&1<<f&&(a[h++]=s[f]);var p=IS(t,a);if(!(p<0))for(;r[p++].push(n),!(p>=t.length||0!==CS(t[p],a)););}return r}function OS(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=MS.nextCombination(o)){for(var s=new Array(e+1),l=0,u=0;u<a.length;++u)o&1<<u&&(s[l++]=a[u]);r.push(s)}return zS(r)}ES.dimension=function(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},ES.countVertices=function(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},ES.cloneCells=function(t){for(var e=new Array(t.length),r=0,n=t.length;r<n;++r)e[r]=t[r].slice(0);return e},ES.compareCells=CS,ES.normalize=zS,ES.unique=PS,ES.findCell=IS,ES.incidence=DS,ES.dual=function(t,e){if(!e)return DS(PS(OS(t,0)),t);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];n=0;for(var 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},ES.explode=function(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 l=[],u=0;u<a;++u)o>>>u&1&&l.push(i[u]);e.push(l)}return zS(e)},ES.skeleton=OS,ES.boundary=function(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),l=0,u=0;l<o;++l)l!==a&&(s[u++]=i[l]);e.push(s)}return zS(e)},ES.connectedComponents=function(t,e){return e?function(t,e){for(var r=new TS(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]);var s=[],l=r.ranks;for(n=0;n<l.length;++n)l[n]=-1;for(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}(t,e):function(t){for(var e=PS(zS(OS(t,0))),r=new TS(e.length),n=0;n<t.length;++n)for(var i=t[n],a=0;a<i.length;++a)for(var o=IS(e,[i[a]]),s=a+1;s<i.length;++s)r.link(o,IS(e,[i[s]]));var l=[],u=r.ranks;for(n=0;n<u.length;++n)u[n]=-1;for(n=0;n<t.length;++n){var c=r.find(IS(e,[t[n][0]]));u[c]<0?(u[c]=l.length,l.push([t[n].slice(0)])):l[u[c]].push(t[n].slice(0))}return l}(t)};var RS=function(t,e,r){for(var n=e.length,i=t.length,a=new Array(n),o=new Array(n),s=new Array(n),l=new Array(n),u=0;u<n;++u)a[u]=o[u]=-1,s[u]=1/0,l[u]=!1;for(var u=0;u<i;++u){var c=t[u];if(2!==c.length)throw new Error(\"Input must be a graph\");var h=c[1],f=c[0];-1!==o[f]?o[f]=-2:o[f]=h,-1!==a[h]?a[h]=-2:a[h]=f}function p(t){if(l[t])return 1/0;var r,n,i,s,u,c=a[t],h=o[t];return c<0||h<0?1/0:(r=e[t],n=e[c],i=e[h],s=Math.abs(PM(r,n,i)),u=Math.sqrt(Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2)),s/u)}function d(t,e){var r=w[t],n=w[e];w[t]=n,w[e]=r,M[r]=e,M[n]=t}function g(t){return s[w[t]]}function v(t){return 1&t?t-1>>1:(t>>1)-1}function m(t){for(var e=g(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n<k){var o=g(n);o<r&&(a=n,r=o)}if(i<k){var s=g(i);s<r&&(a=i)}if(a===t)return t;d(t,a),t=a}}function y(t){for(var e=g(t);t>0;){var r=v(t);if(r>=0){var n=g(r);if(e<n){d(t,r),t=r;continue}}return t}}function x(){if(k>0){var t=w[0];return d(0,k-1),k-=1,m(0),t}return-1}function b(t,e){var r=w[t];return s[r]===e?t:(s[r]=-1/0,y(t),x(),s[r]=e,y((k+=1)-1))}function _(t){if(!l[t]){l[t]=!0;var e=a[t],r=o[t];a[r]>=0&&(a[r]=e),o[e]>=0&&(o[e]=r),M[e]>=0&&b(M[e],p(e)),M[r]>=0&&b(M[r],p(r))}}for(var w=[],M=new Array(n),u=0;u<n;++u){var A=s[u]=p(u);A<1/0?(M[u]=w.length,w.push(u)):M[u]=-1}for(var k=w.length,u=k>>1;u>=0;--u)m(u);for(;;){var T=x();if(T<0||s[T]>r)break;_(T)}for(var S=[],u=0;u<n;++u)l[u]||(M[u]=S.length,S.push(e[u].slice()));S.length;function E(t,e){if(t[e]<0)return e;var r=e,n=e;do{var i=t[n];if(!l[n]||i<0||i===n)break;if(i=t[n=i],!l[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}var C=[];return t.forEach(function(t){var e=E(a,t[0]),r=E(o,t[1]);if(e>=0&&r>=0&&e!==r){var n=M[e],i=M[r];n!==i&&C.push([n,i])}}),ES.unique(ES.normalize(C)),{positions:S,edges:C}};var FS=function(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 function(t,e,r,n,i,a){var o=a.length,s=i.length;if(s<2)throw new Error(\"ndarray-extract-contour: Dimension must be at least 2\");for(var l=\"extractContour\"+i.join(\"_\"),u=[],c=[],h=[],f=0;f<o;++f)h.push(BS(f));for(var f=0;f<n;++f)h.push(HS(f));for(var f=0;f<s;++f)c.push(VS(f)+\"=\"+BS(0)+\".shape[\"+f+\"]|0\");for(var f=0;f<o;++f){c.push(NS(f)+\"=\"+BS(f)+\".data\",qS(f)+\"=\"+BS(f)+\".offset|0\");for(var p=0;p<s;++p)c.push(US(f,p)+\"=\"+BS(f)+\".stride[\"+p+\"]|0\")}for(var f=0;f<o;++f){c.push(GS(f)+\"=\"+qS(f)),c.push(jS(f,0));for(var p=1;p<1<<s;++p){for(var d=[],g=0;g<s;++g)p&1<<g&&d.push(\"-\"+US(f,g));c.push(WS(f,p)+\"=(\"+d.join(\"\")+\")|0\"),c.push(jS(f,p)+\"=0\")}}for(var f=0;f<o;++f)for(var p=0;p<s;++p){var v=[US(f,i[p])];p>0&&v.push(US(f,i[p-1])+\"*\"+VS(i[p-1])),c.push(XS(f,i[p])+\"=(\"+v.join(\"-\")+\")|0\")}for(var f=0;f<s;++f)c.push(YS(f)+\"=0\");c.push(eE+\"=0\");for(var m=[\"2\"],f=s-2;f>=0;--f)m.push(VS(i[f]));c.push(rE+\"=(\"+m.join(\"*\")+\")|0\",tE+\"=mallocUint32(\"+rE+\")\",$S+\"=mallocUint32(\"+rE+\")\",nE+\"=0\"),c.push(ZS(0)+\"=0\");for(var p=1;p<1<<s;++p){for(var y=[],x=[],g=0;g<s;++g)p&1<<g&&(0===x.length?y.push(\"1\"):y.unshift(x.join(\"*\"))),x.push(VS(i[g]));var b=\"\";y[0].indexOf(VS(i[s-2]))<0&&(b=\"-\");var _=aE(s,p,i);c.push(KS(_)+\"=(-\"+y.join(\"-\")+\")|0\",JS(_)+\"=(\"+b+y.join(\"-\")+\")|0\",ZS(_)+\"=0\")}function w(t,e){u.push(\"for(\",YS(i[t]),\"=\",e,\";\",YS(i[t]),\"<\",VS(i[t]),\";\",\"++\",YS(i[t]),\"){\")}function M(t){for(var e=0;e<o;++e)u.push(GS(e),\"+=\",XS(e,i[t]),\";\");u.push(\"}\")}function A(){for(var t=1;t<1<<s;++t)u.push(iE,\"=\",KS(t),\";\",KS(t),\"=\",JS(t),\";\",JS(t),\"=\",iE,\";\")}c.push(QS(0)+\"=0\",iE+\"=0\"),function t(e,r){if(e<0)return void function(t){for(var e=0;e<o;++e)a[e]?u.push(jS(e,0),\"=\",NS(e),\".get(\",GS(e),\");\"):u.push(jS(e,0),\"=\",NS(e),\"[\",GS(e),\"];\");for(var r=[],e=0;e<o;++e)r.push(jS(e,0));for(var e=0;e<n;++e)r.push(HS(e));u.push(ZS(0),\"=\",tE,\"[\",nE,\"]=phase(\",r.join(),\");\");for(var i=1;i<1<<s;++i)u.push(ZS(i),\"=\",tE,\"[\",nE,\"+\",KS(i),\"];\");for(var l=[],i=1;i<1<<s;++i)l.push(\"(\"+ZS(0)+\"!==\"+ZS(i)+\")\");u.push(\"if(\",l.join(\"||\"),\"){\");for(var c=[],e=0;e<s;++e)c.push(YS(e));for(var e=0;e<o;++e){c.push(jS(e,0));for(var i=1;i<1<<s;++i)a[e]?u.push(jS(e,i),\"=\",NS(e),\".get(\",GS(e),\"+\",WS(e,i),\");\"):u.push(jS(e,i),\"=\",NS(e),\"[\",GS(e),\"+\",WS(e,i),\"];\"),c.push(jS(e,i))}for(var e=0;e<1<<s;++e)c.push(ZS(e));for(var e=0;e<n;++e)c.push(HS(e));u.push(\"vertex(\",c.join(),\");\",QS(0),\"=\",$S,\"[\",nE,\"]=\",eE,\"++;\");for(var h=(1<<s)-1,f=ZS(h),i=0;i<s;++i)if(0==(t&~(1<<i))){for(var p=h^1<<i,d=ZS(p),g=[],v=p;v>0;v=v-1&p)g.push($S+\"[\"+nE+\"+\"+KS(v)+\"]\");g.push(QS(0));for(var v=0;v<o;++v)1&i?g.push(jS(v,h),jS(v,p)):g.push(jS(v,p),jS(v,h));1&i?g.push(f,d):g.push(d,f);for(var v=0;v<n;++v)g.push(HS(v));u.push(\"if(\",f,\"!==\",d,\"){\",\"face(\",g.join(),\")}\")}u.push(\"}\",nE,\"+=1;\")}(r);!function(t){for(var e=t-1;e>=0;--e)w(e,0);for(var r=[],e=0;e<o;++e)a[e]?r.push(NS(e)+\".get(\"+GS(e)+\")\"):r.push(NS(e)+\"[\"+GS(e)+\"]\");for(var e=0;e<n;++e)r.push(HS(e));u.push(tE,\"[\",nE,\"++]=phase(\",r.join(),\");\");for(var e=0;e<t;++e)M(e);for(var s=0;s<o;++s)u.push(GS(s),\"+=\",XS(s,i[t]),\";\")}(e);u.push(\"if(\",VS(i[e]),\">0){\",YS(i[e]),\"=1;\");t(e-1,r|1<<i[e]);for(var l=0;l<o;++l)u.push(GS(l),\"+=\",XS(l,i[e]),\";\");e===s-1&&(u.push(nE,\"=0;\"),A());w(e,2);t(e-1,r);e===s-1&&(u.push(\"if(\",YS(i[s-1]),\"&1){\",nE,\"=0;}\"),A());M(e);u.push(\"}\")}(s-1,0),u.push(\"freeUint32(\",$S,\");freeUint32(\",tE,\");\");var k=[\"'use strict';\",\"function \",l,\"(\",h.join(),\"){\",\"var \",c.join(),\";\",u.join(\"\"),\"}\",\"return \",l].join(\"\");return new Function(\"vertex\",\"face\",\"phase\",\"mallocUint32\",\"freeUint32\",k)(t,e,r,__.mallocUint32,__.freeUint32)}(t.vertex,t.cell,t.phase,i,r,o)};function BS(t){return\"a\"+t}function NS(t){return\"d\"+t}function jS(t,e){return\"c\"+t+\"_\"+e}function VS(t){return\"s\"+t}function US(t,e){return\"t\"+t+\"_\"+e}function qS(t){return\"o\"+t}function HS(t){return\"x\"+t}function GS(t){return\"p\"+t}function WS(t,e){return\"d\"+t+\"_\"+e}function YS(t){return\"i\"+t}function XS(t,e){return\"u\"+t+\"_\"+e}function ZS(t){return\"b\"+t}function JS(t){return\"y\"+t}function KS(t){return\"e\"+t}function QS(t){return\"v\"+t}var $S=\"V\",tE=\"P\",eE=\"N\",rE=\"Q\",nE=\"X\",iE=\"T\";function aE(t,e,r){for(var n=0,i=0;i<t;++i)e&1<<i&&(n|=1<<r[i]);return n}var oE={},sE=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],lE=607/128,uE=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function cE(t){if(t<0)return Number(\"0/0\");for(var e=uE[0],r=uE.length-1;r>0;--r)e+=uE[r]/(t+r);var n=t+lE+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}(oE=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(cE(e));e-=1;for(var r=sE[0],n=1;n<9;n++)r+=sE[n]/(e+n);var i=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(i,e+.5)*Math.exp(-i)*r}).log=cE;var hE=function(t){var e=t.length;if(e<fE){for(var r=1,n=0;n<e;++n)for(var i=0;i<n;++i)if(t[n]<t[i])r=-r;else if(t[n]===t[i])return 0;return r}for(var a=__.mallocUint8(e),n=0;n<e;++n)a[n]=0;for(var r=1,n=0;n<e;++n)if(!a[n]){var o=1;a[n]=1;for(var i=t[n];i!==n;i=t[i]){if(a[i])return __.freeUint8(a),0;o+=1,a[i]=1}1&o||(r=-r)}return __.freeUint8(a),r},fE=32;var pE=function(t,e){e=e||new Array(t.length);for(var r=0;r<t.length;++r)e[t[r]]=r;return e},dE={};dE.rank=function(t){var e=t.length;switch(e){case 0:case 1:return 0;case 2:return t[1]}var r,n,i,a=__.mallocUint32(e),o=__.mallocUint32(e),s=0;for(pE(t,o),i=0;i<e;++i)a[i]=t[i];for(i=e-1;i>0;--i)n=o[i],r=a[i],a[i]=a[n],a[n]=r,o[i]=o[r],o[r]=n,s=(s+r)*i;return __.freeUint32(o),__.freeUint32(a),s},dE.unrank=function(t,e,r){switch(t){case 0:return 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]}var n,i,a,o=1;for((r=r||new Array(t))[0]=0,a=1;a<t;++a)r[a]=a,o=o*a|0;for(a=t-1;a>0;--a)e=e-(n=e/o|0)*o|0,o=o/a|0,i=0|r[a],r[a]=0|r[n],r[n]=0|i;return r};var gE=function(t){if(t<0)return[];if(0===t)return[[0]];for(var e=0|Math.round(oE(t+1)),r=[],n=0;n<e;++n){for(var i=dE.unrank(t,n),a=[0],o=0,s=0;s<i.length;++s)o+=1<<i[s],a.push(o);hE(i)<1&&(a[0]=o,a[t]=0),r.push(a)}return r};var vE=nb({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\"}),mE=function(t,e){var r=[];return e=+e||0,vE(t.hi(t.shape[0]-1),r,e),r};var yE=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=mE(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}}(t,e);var r=t.order.join()+\"-\"+t.dtype,n=xE[r],e=+e||0;n||(n=xE[r]=function(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=[],o=[],s=0;s<r;++s)a.push(\"d\"+s),o.push(\"d\"+s);for(var s=0;s<1<<r;++s)a.push(\"v\"+s),o.push(\"v\"+s);for(var s=0;s<1<<r;++s)a.push(\"p\"+s),o.push(\"p\"+s);a.push(\"a\",\"b\",\"c\"),o.push(\"a\",\"c\"),n.push(\"vertex:function vertexFunc(\",a.join(),\"){\");for(var l=[],s=0;s<1<<r;++s)l.push(\"(p\"+s+\"<<\"+s+\")\");n.push(\"var m=(\",l.join(\"+\"),\")|0;if(m===0||m===\",(1<<(1<<r))-1,\"){return}\");var u=[],c=[];1<<(1<<r)<=128?(n.push(\"switch(m){\"),c=n):n.push(\"switch(m>>>7){\");for(var s=0;s<1<<(1<<r);++s){if(1<<(1<<r)>128&&s%128==0){u.length>0&&c.push(\"}}\");var h=\"vExtra\"+u.length;n.push(\"case \",s>>>7,\":\",h,\"(m&0x7f,\",o.join(),\");break;\"),c=[\"function \",h,\"(m,\",o.join(),\"){switch(m){\"],u.push(c)}c.push(\"case \",127&s,\":\");for(var f=new Array(r),p=new Array(r),d=new Array(r),g=new Array(r),v=0,m=0;m<r;++m)f[m]=[],p[m]=[],d[m]=0,g[m]=0;for(var m=0;m<1<<r;++m)for(var y=0;y<r;++y){var x=m^1<<y;if(!(x>m)&&!(s&1<<x)!=!(s&1<<m)){var b=1;s&1<<x?p[y].push(\"v\"+x+\"-v\"+m):(p[y].push(\"v\"+m+\"-v\"+x),b=-b),b<0?(f[y].push(\"-v\"+m+\"-v\"+x),d[y]+=2):(f[y].push(\"v\"+m+\"+v\"+x),d[y]-=2),v+=1;for(var _=0;_<r;++_)_!==y&&(x&1<<_?g[_]+=1:g[_]-=1)}}for(var w=[],y=0;y<r;++y)if(0===f[y].length)w.push(\"d\"+y+\"-0.5\");else{var M=\"\";d[y]<0?M=d[y]+\"*c\":d[y]>0&&(M=\"+\"+d[y]+\"*c\");var A=f[y].length/v*.5,k=.5+g[y]/v*.5;w.push(\"d\"+y+\"-\"+k+\"-\"+A+\"*(\"+f[y].join(\"+\")+M+\")/(\"+p[y].join(\"+\")+\")\")}c.push(\"a.push([\",w.join(),\"]);\",\"break;\")}n.push(\"}},\"),u.length>0&&c.push(\"}}\");for(var T=[],s=0;s<1<<r-1;++s)T.push(\"v\"+s);T.push(\"c0\",\"c1\",\"p0\",\"p1\",\"a\",\"b\",\"c\"),n.push(\"cell:function cellFunc(\",T.join(),\"){\");var S=gE(r-1);n.push(\"if(p0){b.push(\",S.map(function(t){return\"[\"+t.map(function(t){return\"v\"+t})+\"]\"}).join(),\")}else{b.push(\",S.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 s=0;s<u.length;++s)n.push(u[s].join(\"\"));return new Function(\"genContour\",n.join(\"\"))(FS)}(t.order,t.dtype));return n(t,e)};var xE={};var bE={};function _E(t,e,r,n){var i=function(t,e){var r=yE(t,128);return e?RS(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}(t,n),a=function(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 p=1/r;return\"lineHeight\"in e?p*=+e.lineHeight:\"width\"in e?p=e.width/(o[0]-a[0]):\"height\"in e&&(p=e.height/(o[1]-a[1])),t.map(function(t){return[p*(t[0]+h),p*(t[1]+f)]})}(i.positions,e,r),o=i.edges,s=\"ccw\"===e.orientation;if(aT(a,o),e.polygons||e.polygon||e.polyline){for(var l=pS(o,a),u=new Array(l.length),c=0;c<l.length;++c){for(var h=l[c],f=new Array(h.length),p=0;p<h.length;++p){for(var d=h[p],g=new Array(d.length),v=0;v<d.length;++v)g[v]=a[d[v]].slice();s&&g.reverse(),f[p]=g}u[c]=f}return u}return e.triangles||e.triangulate||e.triangle?{cells:iA(a,o,{delaunay:!1,exterior:!1,interior:!0}),positions:a}:{edges:o,positions:a}}function wE(t,e,r){try{return _E(t,e,r,!0)}catch(t){}try{return _E(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}(bE=function(t,e,r,n){var i=n.size||64,a=n.font||\"normal\";return r.font=i+\"px \"+a,r.textAlign=\"start\",r.textBaseline=\"alphabetic\",r.direction=\"ltr\",wE(function(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);return wb(o.data,[a,i,4]).pick(-1,-1,0).transpose(1,0)}(e,r,t,i),n,i)}).processPixels=wE;var ME=function(t,e){\"object\"==typeof e&&null!==e||(e={});return bE(t,e.canvas||AE,e.context||kE,e)},AE=null,kE=null;\"undefined\"!=typeof document&&((AE=document.createElement(\"canvas\")).width=8192,AE.height=1024,kE=AE.getContext(\"2d\"));var TE={};(function(t){\"use strict\";TE=function t(e,n,i){var i=i||{};var a=r[e];a||(a=r[e]={\" \":{data:new Float32Array(0),shape:.2}});var o=a[n];if(!o)if(n.length<=1||!/\\d/.test(n))o=a[n]=function(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}}(ME(n,{triangles:!0,font:e,textAlign:i.textAlign||\"left\",textBaseline:\"alphabetic\"}));else{for(var s=n.split(/(\\d|\\s)/),l=new Array(s.length),u=0,c=0,h=0;h<s.length;++h)l[h]=t(e,s[h]),u+=l[h].data.length,c+=l[h].shape,h>0&&(c+=.02);for(var f=new Float32Array(u),p=0,d=-.5*c,h=0;h<l.length;++h){for(var g=l[h].data,v=0;v<g.length;v+=2)f[p++]=g[v]+d,f[p++]=g[v+1];d+=l[h].shape+.02}o=a[n]={data:f,shape:c}}return o};var e=window||t.global||{},r=e.__TEXT_CACHE||{};e.__TEXT_CACHE={}}).call(this,Pp);var SE=function(t){var e=t.gl,r=S_(e),n=Bw(e,L_.textVert,L_.textFrag);return new EE(t,r,n)};function EE(t,e,r){this.plot=t,this.vbo=e,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}var CE=EE.prototype;CE.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],l=i.gl,u=i.viewBox,c=i.dataBox,h=i.screenBox,f=i.pixelRatio,p=i.tickEnable,d=i.tickPad,g=i.tickColor,v=i.tickAngle,m=i.labelEnable,y=i.labelPad,x=i.labelColor,b=i.labelAngle,_=this.labelOffset[n],w=this.labelCount[n],M=Zw.lt(o,c[n]),A=Zw.le(o,c[n+2]);t[0]=t[1]=0,t[n]=1,e[n]=(u[2+n]+u[n])/(h[2+n]-h[n])-1;var k=2/h[2+(1^n)]-h[1^n];e[1^n]=k*u[1^n]-1,p[n]&&(e[1^n]-=k*f*d[n],M<A&&s[A]>s[M]&&(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=g[n],a.uniforms.angle=v[n],l.drawArrays(l.TRIANGLES,s[M],s[A]-s[M]))),m[n]&&w&&(e[1^n]-=k*f*y[n],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=x[n],a.uniforms.angle=b[n],l.drawArrays(l.TRIANGLES,_,w)),e[1^n]=k*u[2+(1^n)]-1,p[n+2]&&(e[1^n]+=k*f*d[n+2],M<A&&s[A]>s[M]&&(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=g[n+2],a.uniforms.angle=v[n+2],l.drawArrays(l.TRIANGLES,s[M],s[A]-s[M]))),m[n+2]&&w&&(e[1^n]+=k*f*y[n+2],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=x[n+2],a.uniforms.angle=b[n+2],l.drawArrays(l.TRIANGLES,_,w))}}(),CE.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)}}}(),CE.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]-c,f=.5*(o[u+2]+o[u]),p=o[u+2]-o[u],d=l[u],g=l[u+2]-d,v=s[u],m=s[u+2]-v;e[u]=2*h/p*g/m,t[u]=2*(c-f)/p*g/m}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()}}(),CE.update=function(t){var e,r,n,i,a,o=[],s=t.ticks,l=t.bounds;for(a=0;a<2;++a){var u=[Math.floor(o.length/3)],c=[-1/0],h=s[a];for(e=0;e<h.length;++e){var f=h[e],p=f.x,d=f.text,g=f.font||\"sans-serif\";i=f.fontSize||12;for(var v=1/(l[a+2]-l[a]),m=l[a],y=d.split(\"\\n\"),x=0;x<y.length;x++)for(n=TE(g,y[x]).data,r=0;r<n.length;r+=2)o.push(n[r]*i,-n[r+1]*i-x*i*1.2,(p-m)*v);u.push(Math.floor(o.length/3)),c.push(p)}this.tickOffset[a]=u,this.tickX[a]=c}for(a=0;a<2;++a){for(this.labelOffset[a]=Math.floor(o.length/3),n=TE(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=TE(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)},CE.dispose=function(){this.vbo.dispose(),this.shader.dispose()};var LE=nb,zE=function(t){if(arguments.length<=1)throw new Error(\"gl-texture2d: Missing arguments for texture2d constructor\");PE||function(t){PE=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],IE=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],DE=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}(t);if(\"number\"==typeof arguments[1])return UE(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return UE(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=OE(e)?e:e.raw;if(r)return function(t,e,r,n,i,a){var o=VE(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new BE(t,o,r,n,i,a)}(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 function(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=jE(n,e.stride.slice()),o=0;\"float32\"===r?o=t.FLOAT:\"float64\"===r?(o=t.FLOAT,a=!1,r=\"float32\"):\"uint8\"===r?o=t.UNSIGNED_BYTE:(o=t.UNSIGNED_BYTE,a=!1,r=\"uint8\");var s,l,u=0;if(2===n.length)u=t.LUMINANCE,n=[n[0],n[1],1],e=wb(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])u=t.ALPHA;else if(2===n[2])u=t.LUMINANCE_ALPHA;else if(3===n[2])u=t.RGB;else{if(4!==n[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");u=t.RGBA}}o!==t.FLOAT||t.getExtension(\"OES_texture_float\")||(o=t.UNSIGNED_BYTE,a=!1);var c=e.size;if(a)s=0===e.offset&&e.data.length===c?e.data:e.data.subarray(e.offset,e.offset+c);else{var h=[n[2],n[2]*n[0],1];l=__.malloc(c,r);var f=wb(l,n,h,0);\"float32\"!==r&&\"float64\"!==r||o!==t.UNSIGNED_BYTE?ib.assign(f,e):RE(f,e),s=l.subarray(0,c)}var p=VE(t);t.texImage2D(t.TEXTURE_2D,0,u,n[0],n[1],0,u,o,s),a||__.free(l);return new BE(t,p,n[0],n[1],u,o)}(t,e)}throw new Error(\"gl-texture2d: Invalid arguments for texture2d constructor\")},PE=null,IE=null,DE=null;function OE(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}var RE=function(t,e){ib.muls(t,e,255)};function FE(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 BE(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}var NE=BE.prototype;function jE(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 VE(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 UE(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 o=VE(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new BE(t,o,e,r,n,i)}Object.defineProperties(NE,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&PE.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),IE.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&&PE.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),IE.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(),DE.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(),DE.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(DE.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 FE(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return FE(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,FE(this,this._shape[0],t),t}}}),NE.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},NE.dispose=function(){this.gl.deleteTexture(this.handle)},NE.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)},NE.setPixels=function(t,e,r,n){var i=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 a=OE(t)?t:t.raw;if(a){this._mipLevels.indexOf(n)<0?(i.texImage2D(i.TEXTURE_2D,0,this.format,this.format,this.type,a),this._mipLevels.push(n)):i.texSubImage2D(i.TEXTURE_2D,n,e,r,this.format,this.type,a)}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\");!function(t,e,r,n,i,a,o,s){var l=s.dtype,u=s.shape.slice();if(u.length<2||u.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var c=0,h=0,f=jE(u,s.stride.slice());\"float32\"===l?c=t.FLOAT:\"float64\"===l?(c=t.FLOAT,f=!1,l=\"float32\"):\"uint8\"===l?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,f=!1,l=\"uint8\");if(2===u.length)h=t.LUMINANCE,u=[u[0],u[1],1],s=wb(s.data,u,[s.stride[0],s.stride[1],1],s.offset);else{if(3!==u.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===u[2])h=t.ALPHA;else if(2===u[2])h=t.LUMINANCE_ALPHA;else if(3===u[2])h=t.RGB;else{if(4!==u[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");h=t.RGBA}u[2]}h!==t.LUMINANCE&&h!==t.ALPHA||i!==t.LUMINANCE&&i!==t.ALPHA||(h=i);if(h!==i)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var p=s.size,d=o.indexOf(n)<0;d&&o.push(n);if(c===a&&f)0===s.offset&&s.data.length===p?d?t.texImage2D(t.TEXTURE_2D,n,i,u[0],u[1],0,i,a,s.data):t.texSubImage2D(t.TEXTURE_2D,n,e,r,u[0],u[1],i,a,s.data):d?t.texImage2D(t.TEXTURE_2D,n,i,u[0],u[1],0,i,a,s.data.subarray(s.offset,s.offset+p)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,u[0],u[1],i,a,s.data.subarray(s.offset,s.offset+p));else{var g;g=a===t.FLOAT?__.mallocFloat32(p):__.mallocUint8(p);var v=wb(g,u,[u[2],u[2]*u[0],1]);c===t.FLOAT&&a===t.UNSIGNED_BYTE?RE(v,s):ib.assign(v,s),d?t.texImage2D(t.TEXTURE_2D,n,i,u[0],u[1],0,i,a,g.subarray(0,p)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,u[0],u[1],i,a,g.subarray(0,p)),a===t.FLOAT?__.freeFloat32(g):__.freeUint8(g)}}(i,e,r,n,this.format,this.type,this._mipLevels,t)}};var qE,HE,GE,WE,YE=function(t,e,r,n){qE||(qE=t.FRAMEBUFFER_UNSUPPORTED,HE=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,GE=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,WE=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var i=t.getExtension(\"WEBGL_draw_buffers\");!XE&&i&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);XE=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;XE[n]=i}}(t,i);Array.isArray(e)&&(n=r,r=0|e[1],e=0|e[0]);if(\"number\"!=typeof e)throw new Error(\"gl-fbo: Missing shape parameter\");var a=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e<0||e>a||r<0||r>a)throw new Error(\"gl-fbo: Parameters are too large for FBO\");var o=1;if(\"color\"in(n=n||{})){if((o=Math.max(0|n.color,0))<0)throw new Error(\"gl-fbo: Must specify a nonnegative number of colors\");if(o>1){if(!i)throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\");if(o>t.getParameter(i.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\"gl-fbo: Context does not support \"+o+\" draw buffers\")}}var s=t.UNSIGNED_BYTE,l=t.getExtension(\"OES_texture_float\");if(n.float&&o>0){if(!l)throw new Error(\"gl-fbo: Context does not support floating point textures\");s=t.FLOAT}else n.preferFloat&&o>0&&l&&(s=t.FLOAT);var u=!0;\"depth\"in n&&(u=!!n.depth);var c=!1;\"stencil\"in n&&(c=!!n.stencil);return new tC(t,e,r,s,o,u,c,i)},XE=null;function ZE(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function JE(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function KE(t){switch(t){case qE:throw new Error(\"gl-fbo: Framebuffer unsupported\");case HE:throw new Error(\"gl-fbo: Framebuffer incomplete attachment\");case GE:throw new Error(\"gl-fbo: Framebuffer incomplete dimensions\");case WE:throw new Error(\"gl-fbo: Framebuffer incomplete missing attachment\");default:throw new Error(\"gl-fbo: Framebuffer failed for unspecified reason\")}}function QE(t,e,r,n,i,a){if(!n)return null;var o=zE(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 $E(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 tC(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 u=this,c=[0|e,0|r];Object.defineProperties(c,{0:{get:function(){return u._shape[0]},set:function(t){return u.width=t}},1:{get:function(){return u._shape[1]},set:function(t){return u.height=t}}}),this._shapeVector=c,function(t){var e=ZE(t.gl),r=t.gl,n=t.handle=r.createFramebuffer(),i=t._shape[0],a=t._shape[1],o=t.color.length,s=t._ext,l=t._useStencil,u=t._useDepth,c=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,n);for(var h=0;h<o;++h)t.color[h]=QE(r,i,a,c,r.RGBA,r.COLOR_ATTACHMENT0+h);0===o?(t._color_rb=$E(r,i,a,r.RGBA4,r.COLOR_ATTACHMENT0),s&&s.drawBuffersWEBGL(XE[0])):o>1&&s.drawBuffersWEBGL(XE[o]);var f=r.getExtension(\"WEBGL_depth_texture\");f?l?t.depth=QE(r,i,a,f.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):u&&(t.depth=QE(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):u&&l?t._depth_rb=$E(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):u?t._depth_rb=$E(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):l&&(t._depth_rb=$E(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var p=r.checkFramebufferStatus(r.FRAMEBUFFER);if(p!==r.FRAMEBUFFER_COMPLETE){for(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),h=0;h<t.color.length;++h)t.color[h].dispose(),t.color[h]=null;t._color_rb&&(r.deleteRenderbuffer(t._color_rb),t._color_rb=null),JE(r,e),KE(p)}JE(r,e)}(this)}var eC=tC.prototype;function rC(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 n=t.gl,i=n.getParameter(n.MAX_RENDERBUFFER_SIZE);if(e<0||e>i||r<0||r>i)throw new Error(\"gl-fbo: Can't resize FBO, invalid dimensions\");t._shape[0]=e,t._shape[1]=r;for(var a=ZE(n),o=0;o<t.color.length;++o)t.color[o].shape=t._shape;t._color_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._color_rb),n.renderbufferStorage(n.RENDERBUFFER,n.RGBA4,t._shape[0],t._shape[1])),t.depth&&(t.depth.shape=t._shape),t._depth_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._depth_rb),t._useDepth&&t._useStencil?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,t._shape[0],t._shape[1]):t._useDepth?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT16,t._shape[0],t._shape[1]):t._useStencil&&n.renderbufferStorage(n.RENDERBUFFER,n.STENCIL_INDEX,t._shape[0],t._shape[1])),n.bindFramebuffer(n.FRAMEBUFFER,t.handle);var s=n.checkFramebufferStatus(n.FRAMEBUFFER);s!==n.FRAMEBUFFER_COMPLETE&&(t.dispose(),JE(n,a),KE(s)),JE(n,a)}}Object.defineProperties(eC,{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 rC(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return rC(this,t|=0,this._shape[1]),t},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(t){return t|=0,rC(this,this._shape[0],t),t},enumerable:!1}}),eC.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])}},eC.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)}};var nC=function(t,e){var r=YE(t,e),n=__.mallocUint8(e[0]*e[1]*4);return new oC(t,r,n)},iC=Mb.nextPow2,aC=LE({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_16_arg0_<255||_inline_16_arg1_<255||_inline_16_arg2_<255||_inline_16_arg3_<255){var _inline_16_l=_inline_16_arg4_-_inline_16_arg6_[0],_inline_16_a=_inline_16_arg5_-_inline_16_arg6_[1],_inline_16_f=_inline_16_l*_inline_16_l+_inline_16_a*_inline_16_a;_inline_16_f<this_closestD2&&(this_closestD2=_inline_16_f,this_closestX=_inline_16_arg6_[0],this_closestY=_inline_16_arg6_[1])}}\",args:[{name:\"_inline_16_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg1_\",lvalue:!1,rvalue:!0,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},{name:\"_inline_16_arg5_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg6_\",lvalue:!1,rvalue:!0,count:4}],thisVars:[\"this_closestD2\",\"this_closestX\",\"this_closestY\"],localVars:[\"_inline_16_a\",\"_inline_16_f\",\"_inline_16_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});function oC(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)}}var sC=oC.prototype;Object.defineProperty(sC,\"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){__.free(this.buffer);for(var n=this.buffer=__.mallocUint8(iC(r*e*4)),i=0;i<r*e*4;++i)n[i]=255}return t}}}),sC.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))},sC.end=function(){var t=this.gl;t&&(t.bindFramebuffer(t.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},sC.query=function(t,e,r){if(!this.gl)return null;var n=this.fbo.shape.slice();t|=0,e|=0,\"number\"!=typeof r&&(r=1);var i=0|Math.min(Math.max(t-r,0),n[0]),a=0|Math.min(Math.max(t+r,0),n[0]),o=0|Math.min(Math.max(e-r,0),n[1]),s=0|Math.min(Math.max(e+r,0),n[1]);if(a<=i||s<=o)return null;var l=[a-i,s-o],u=wb(this.buffer,[l[0],l[1],4],[4,4*n[0],1],4*(i+n[0]*o)),c=aC(u.hi(l[0],l[1],1),r,r),h=c[0],f=c[1];return h<0||Math.pow(this.radius,2)<c[2]?null:new function(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}(h+i|0,f+o|0,u.get(h,f,0),[u.get(h,f,1),u.get(h,f,2),u.get(h,f,3)],Math.sqrt(c[2]))},sC.dispose=function(){this.gl&&(this.fbo.dispose(),__.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))};var lC=function(t){var e=t.gl,r=nC(e,[e.drawingBufferWidth,e.drawingBufferHeight]),n=new uC(e,r);return n.grid=Jw(n),n.text=SE(n),n.line=aM(n),n.box=Nw(n),n.update(t),n};function uC(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}var cC=uC.prototype;function hC(t){for(var e=t.slice(),r=0;r<e.length;++r)e[r]=e[r].slice();return e}function fC(t,e){return t.x-e.x}cC.setDirty=function(){this.dirty=this.pickDirty=!0},cC.setOverlayDirty=function(){this.dirty=!0},cC.nextDepthValue=function(){return this._depthCounter++/65536},cC.draw=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){if(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),this.borderColor){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,p=this.zeroLineWidth;if(h[0]||h[1]){o.bind();for(var d=0;d<2;++d)if(h[d]&&n[d]<=0&&n[d+2]>=0){var g=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(g,e[1],g,e[3],p[d],f[d]):o.drawLine(e[0],g,e[2],g,p[d],f[d])}}for(d=0;d<l.length;++d)l[d].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 v=this.borderLineEnable,m=this.borderLineWidth,y=this.borderLineColor;for(v[1]&&o.drawLine(r[0],r[1]-.5*m[1]*i,r[0],r[3]+.5*m[3]*i,m[1],y[1]),v[0]&&o.drawLine(r[0]-.5*m[0]*i,r[1],r[2]+.5*m[2]*i,r[1],m[0],y[0]),v[3]&&o.drawLine(r[2],r[1]-.5*m[1]*i,r[2],r[3]+.5*m[3]*i,m[3],y[3]),v[2]&&o.drawLine(r[0]-.5*m[0]*i,r[3],r[2]+.5*m[2]*i,r[3],m[2],y[2]),s.bind(),d=0;d<2;++d)s.drawTicks(d);this.titleEnable&&s.drawTitle();var x=this.overlays;for(d=0;d<x.length;++d)x[d].draw();t.disable(t.SCISSOR_TEST),t.disable(t.BLEND),t.depthMask(!0)}},cC.drawPick=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()}},cC.pick=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}},cC.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()},cC.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())},cC.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()},cC.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,i=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/i,10,10/i]),this.borderColor=!1!==t.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=hC(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=hC(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=hC(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=hC(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=hC(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=hC(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var a=t.ticks||[[],[]],o=this._tickBounds;o[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(var s=0;s<2;++s){var l=a[s].slice(0);0!==l.length&&(l.sort(fC),o[s]=Math.min(o[s],l[0].x),o[s+2]=Math.max(o[s+2],l[l.length-1].x))}this.grid.update({bounds:o,ticks:a}),this.text.update({bounds:o,ticks:a,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()},cC.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(t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},cC.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},cC.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}},cC.addOverlay=function(t){this.overlays.indexOf(t)<0&&(this.overlays.push(t),this.setOverlayDirty())},cC.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}};var pC={};pC.boxVertex=E_([\"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\"]),pC.boxFragment=E_([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\n\\nvoid main() {\\n  gl_FragColor = color;\\n}\\n\"]);var dC=function(t,e){var r=t.gl,n=S_(r,[0,0,0,1,1,0,1,1]),i=Bw(r,pC.boxVertex,pC.boxFragment),a=new gC(t,n,i);return a.update(e),t.addOverlay(a),a};function gC(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}var vC=gC.prototype;vC.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],p=(e[2]-l[0])*(u[2]-u[0])/(l[2]-l[0])+u[0],d=(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]),p=Math.min(p,u[2]),d=Math.min(d,u[3]),!(p<h||d<f)){o.bind();var g=s[2]-s[0],v=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,g,f,i),o.drawBox(0,f,h,d,i),o.drawBox(0,d,g,v,i),o.drawBox(p,f,g,d,i)),this.innerFill&&o.drawBox(h,f,p,d,n),r>0){var m=r*c;o.drawBox(h-m,f-m,p+m,f+m,a),o.drawBox(h-m,d-m,p+m,d+m,a),o.drawBox(h-m,f-m,h+m,d+m,a),o.drawBox(p-m,f-m,p+m,d+m,a)}}}},vC.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()},vC.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)};var mC=function(t,e){var r=new yC(t);return r.update(e),t.addOverlay(r),r};function yC(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]}var xC=yC.prototype;xC.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()},xC.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])}},xC.dispose=function(){this.plot.removeOverlay(this)};var bC=function(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};var _C=function(t){return bC(\"webgl\",t)},wC=function(t){return t.split(\"\").map(function(t){return t in MC?MC[t]:\"\"}).join(\"\")},MC={\" \":\" \",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\"};var AC=function(t){return\"\"+function(t){for(var e=tr.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(t){return t.replace(/\\<.*\\>/g,\"\")}(function(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)+wC(t.slice(e+5,r))+t.slice(r+6)}return t}(t.replace(/\\<br\\>/g,\"\\n\"))))},kC=function(){},TC=function(t){for(var e in t)\"function\"==typeof t[e]&&(t[e]=kC);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=Oe.defaults[0],t.container.appendChild(r),t.container.style.background=\"#FFFFFF\",t.container.onclick=function(){window.open(\"http://get.webgl.org\")},!1},SC={};function EC(t){return t.target||t.srcElement||window}SC.buttons=function(t){if(\"object\"==typeof t){if(\"buttons\"in t)return t.buttons;if(\"which\"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<<e-1}else if(\"button\"in t){var e;if(1===(e=t.button))return 4;if(2===e)return 2;if(e>=0)return 1<<e}}return 0},SC.element=EC,SC.x=function(t){if(\"object\"==typeof t){if(\"offsetX\"in t)return t.offsetX;var e=EC(t).getBoundingClientRect();return t.clientX-e.left}return 0},SC.y=function(t){if(\"object\"==typeof t){if(\"offsetY\"in t)return t.offsetY;var e=EC(t).getBoundingClientRect();return t.clientY-e.top}return 0};var CC=function(t,e){e||(e=t,t=window);var r=0,n=0,i=0,a={shift:!1,alt:!1,control:!1,meta:!1},o=!1;function s(t){var e=!1;return\"altKey\"in t&&(e=e||t.altKey!==a.alt,a.alt=!!t.altKey),\"shiftKey\"in t&&(e=e||t.shiftKey!==a.shift,a.shift=!!t.shiftKey),\"ctrlKey\"in t&&(e=e||t.ctrlKey!==a.control,a.control=!!t.ctrlKey),\"metaKey\"in t&&(e=e||t.metaKey!==a.meta,a.meta=!!t.metaKey),e}function l(t,o){var l=SC.x(o),u=SC.y(o);\"buttons\"in o&&(t=0|o.buttons),(t!==r||l!==n||u!==i||s(o))&&(r=0|t,n=l||0,i=u||0,e&&e(r,n,i,a))}function u(t){l(0,t)}function c(){(r||n||i||a.shift||a.alt||a.meta||a.control)&&(n=i=0,r=0,a.shift=a.alt=a.control=a.meta=!1,e&&e(0,0,0,a))}function h(t){s(t)&&e&&e(r,n,i,a)}function f(t){0===SC.buttons(t)?l(0,t):l(r,t)}function p(t){l(r|SC.buttons(t),t)}function d(t){l(r&~SC.buttons(t),t)}function g(){o||(o=!0,t.addEventListener(\"mousemove\",f),t.addEventListener(\"mousedown\",p),t.addEventListener(\"mouseup\",d),t.addEventListener(\"mouseleave\",u),t.addEventListener(\"mouseenter\",u),t.addEventListener(\"mouseout\",u),t.addEventListener(\"mouseover\",u),t.addEventListener(\"blur\",c),t.addEventListener(\"keyup\",h),t.addEventListener(\"keydown\",h),t.addEventListener(\"keypress\",h),t!==window&&(window.addEventListener(\"blur\",c),window.addEventListener(\"keyup\",h),window.addEventListener(\"keydown\",h),window.addEventListener(\"keypress\",h)))}g();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return o},set:function(e){e?g():o&&(o=!1,t.removeEventListener(\"mousemove\",f),t.removeEventListener(\"mousedown\",p),t.removeEventListener(\"mouseup\",d),t.removeEventListener(\"mouseleave\",u),t.removeEventListener(\"mouseenter\",u),t.removeEventListener(\"mouseout\",u),t.removeEventListener(\"mouseover\",u),t.removeEventListener(\"blur\",c),t.removeEventListener(\"keyup\",h),t.removeEventListener(\"keydown\",h),t.removeEventListener(\"keypress\",h),t!==window&&(window.removeEventListener(\"blur\",c),window.removeEventListener(\"keyup\",h),window.removeEventListener(\"keydown\",h),window.removeEventListener(\"keypress\",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return n},enumerable:!0},y:{get:function(){return i},enumerable:!0},mods:{get:function(){return a},enumerable:!0}}),v};var LC=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},zC=DC,PC=96;function IC(t,e){var r=LC(getComputedStyle(t).getPropertyValue(e));return r[0]*DC(r[1],t)}function DC(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 function(t,e){var r=document.createElement(\"div\");r.style[\"font-size\"]=\"128\"+t,e.appendChild(r);var n=IC(r,\"font-size\")/128;return e.removeChild(r),n}(t,e);case\"em\":return IC(e,\"font-size\");case\"rem\":return IC(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 PC;case\"cm\":return PC/2.54;case\"mm\":return PC/25.4;case\"pt\":return PC/72;case\"pc\":return PC/6}return 1}var OC=function(t,e,r){\"function\"==typeof t&&(r=!!e,e=t,t=window);var n=zC(\"ex\",t),i=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(a*=l,o*=l,(i*=l)||a||o)return e(i,a,o,t)};return t.addEventListener(\"wheel\",i),i};var RC=function(t){var e=t.mouseContainer,r=t.glplot,n=new function(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.boxInited=!1,this.boxStart=[0,0],this.boxEnd=[0,0],this.dragStart=[0,0]}(e,r);function i(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function a(e,a,o){var s,l,u=t.calcDataBox(),c=r.viewBox,h=n.lastPos[0],f=n.lastPos[1],p=Te.MINDRAG*r.pixelRatio,d=Te.MINZOOM*r.pixelRatio;function g(e,r,i){var a=Math.min(r,i),o=Math.max(r,i);a!==o?(u[e]=a,u[e+2]=o,n.dataBox=u,t.setRanges(u)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}switch(a*=r.pixelRatio,o*=r.pixelRatio,o=c[3]-c[1]-o,t.fullLayout.dragmode){case\"zoom\":if(e){var v=a/(c[2]-c[0])*(u[2]-u[0])+u[0],m=o/(c[3]-c[1])*(u[3]-u[1])+u[1];n.boxInited||(n.boxStart[0]=v,n.boxStart[1]=m,n.dragStart[0]=a,n.dragStart[1]=o),n.boxEnd[0]=v,n.boxEnd[1]=m,n.boxInited=!0,n.boxEnabled||n.boxStart[0]===n.boxEnd[0]&&n.boxStart[1]===n.boxEnd[1]||(n.boxEnabled=!0);var y=Math.abs(n.dragStart[0]-a)<d,x=Math.abs(n.dragStart[1]-o)<d;if(!function(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,i=0;i<e.length;i++)if(-1!==e[i][r]){if(-1!==e[i][n])return!0;break}return!1}()||y&&x)y&&(n.boxEnd[0]=n.boxStart[0]),x&&(n.boxEnd[1]=n.boxStart[1]);else{s=n.boxEnd[0]-n.boxStart[0],l=n.boxEnd[1]-n.boxStart[1];var b=(u[3]-u[1])/(u[2]-u[0]);Math.abs(s*b)>Math.abs(l)?(n.boxEnd[1]=n.boxStart[1]+Math.abs(s)*b*(l>=0?1:-1),n.boxEnd[1]<u[1]?(n.boxEnd[1]=u[1],n.boxEnd[0]=n.boxStart[0]+(u[1]-n.boxStart[1])/Math.abs(b)):n.boxEnd[1]>u[3]&&(n.boxEnd[1]=u[3],n.boxEnd[0]=n.boxStart[0]+(u[3]-n.boxStart[1])/Math.abs(b))):(n.boxEnd[0]=n.boxStart[0]+Math.abs(l)/b*(s>=0?1:-1),n.boxEnd[0]<u[0]?(n.boxEnd[0]=u[0],n.boxEnd[1]=n.boxStart[1]+(u[0]-n.boxStart[0])*Math.abs(b)):n.boxEnd[0]>u[2]&&(n.boxEnd[0]=u[2],n.boxEnd[1]=n.boxStart[1]+(u[2]-n.boxStart[0])*Math.abs(b)))}}else n.boxEnabled?(s=n.boxStart[0]!==n.boxEnd[0],l=n.boxStart[1]!==n.boxEnd[1],s||l?(s&&(g(0,n.boxStart[0],n.boxEnd[0]),t.xaxis.autorange=!1),l&&(g(1,n.boxStart[1],n.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),n.boxEnabled=!1,n.boxInited=!1):n.boxInited&&(n.boxInited=!1);break;case\"pan\":n.boxEnabled=!1,n.boxInited=!1,e?(n.panning||(n.dragStart[0]=a,n.dragStart[1]=o),Math.abs(n.dragStart[0]-a)<p&&(a=n.dragStart[0]),Math.abs(n.dragStart[1]-o)<p&&(o=n.dragStart[1]),s=(h-a)*(u[2]-u[0])/(r.viewBox[2]-r.viewBox[0]),l=(f-o)*(u[3]-u[1])/(r.viewBox[3]-r.viewBox[1]),u[0]+=s,u[2]+=s,u[1]+=l,u[3]+=l,t.setRanges(u),n.panning=!0,n.lastInputTime=Date.now(),i(),t.cameraChanged(),t.handleAnnotations()):n.panning&&(n.panning=!1,t.relayoutCallback())}n.lastPos[0]=a,n.lastPos[1]=o}return n.mouseListener=CC(e,a),e.addEventListener(\"touchstart\",function(t){var r=La(t.changedTouches[0],e);a(0,r[0],r[1]),a(1,r[0],r[1]),t.preventDefault()},!!Ea&&{passive:!1}),e.addEventListener(\"touchmove\",function(t){t.preventDefault();var r=La(t.changedTouches[0],e);a(1,r[0],r[1]),t.preventDefault()},!!Ea&&{passive:!1}),e.addEventListener(\"touchend\",function(t){a(0,n.lastPos[0],n.lastPos[1]),t.preventDefault()},!!Ea&&{passive:!1}),n.wheelListener=OC(e,function(e,a){if(!t.scrollZoom)return!1;var o=t.calcDataBox(),s=r.viewBox,l=n.lastPos[0],u=n.lastPos[1],c=Math.exp(5*a/(s[3]-s[1])),h=l/(s[2]-s[0])*(o[2]-o[0])+o[0],f=u/(s[3]-s[1])*(o[3]-o[1])+o[1];return o[0]=(o[0]-h)*c+h,o[2]=(o[2]-h)*c+h,o[1]=(o[1]-f)*c+f,o[3]=(o[3]-f)*c+f,t.setRanges(o),n.lastInputTime=Date.now(),i(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback(),!0},!0),n};var FC=function(t,e,r){return e<r?t<e?e:t>r?r:t:t<r?r:t>e?e:t};var BC={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]},NC=function(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]},jC=Object.prototype.toString,VC=function(t){var e;return\"[object Object]\"===jC.call(t)&&(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))},UC={};(function(t){\"use strict\";UC=function(r){var n,i,a=[],o=1;if(\"string\"==typeof r)if(BC[r])a=BC[r].slice(),i=\"rgb\";else if(\"transparent\"===r)o=0,i=\"rgb\",a=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(r)){var s=r.slice(1),l=s.length,u=l<=4;o=1,u?(a=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===l&&(o=parseInt(s[3]+s[3],16)/255)):(a=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===l&&(o=parseInt(s[6]+s[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[2]=0),i=\"rgb\"}else if(n=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(r)){var c=n[1],s=c.replace(/a$/,\"\");i=s;var l=\"cmyk\"===s?4:\"gray\"===s?1:3;a=n[2].trim().split(/\\s*,\\s*/).map(function(t,r){if(/%$/.test(t))return r===l?parseFloat(t)/100:\"rgb\"===s?255*parseFloat(t)/100:parseFloat(t);if(\"h\"===s[r]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==e[t])return e[t]}return parseFloat(t)}),c===s&&a.push(1),o=void 0===a[l]?1:a[l],a=a.slice(0,l)}else r.length>10&&/[0-9](?:\\s|\\/)/.test(r)&&(a=r.match(/([0-9]+)/g).map(function(t){return parseFloat(t)}),i=r.match(/([a-z])/gi).join(\"\").toLowerCase());else if(\"number\"==typeof r)i=\"rgb\",a=[r>>>16,(65280&r)>>>8,255&r];else if(VC(r)){var h=NC(r.r,r.red,r.R,null);null!==h?(i=\"rgb\",a=[h,NC(r.g,r.green,r.G),NC(r.b,r.blue,r.B)]):(i=\"hsl\",a=[NC(r.h,r.hue,r.H),NC(r.s,r.saturation,r.S),NC(r.l,r.lightness,r.L,r.b,r.brightness)]),o=NC(r.a,r.alpha,r.opacity,1),null!=r.opacity&&(o/=100)}else(Array.isArray(r)||t.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(r))&&(a=[r[0],r[1],r[2]],i=\"rgb\",o=4===r.length?r[3]:1);return{space:i,values:a,alpha:o}};var e={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{});var qC=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];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var u=0;u<3;u++)(n=o+1/3*-(u-1))<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},HC=function(t){switch(t){case\"int8\":return Int8Array;case\"int16\":return Int16Array;case\"int32\":return Int32Array;case\"uint8\":return Uint8Array;case\"uint16\":return Uint16Array;case\"uint32\":return Uint32Array;case\"float32\":return Float32Array;case\"float64\":return Float64Array;case\"array\":return Array;case\"uint8_clamped\":return Uint8ClampedArray}},GC=function(t,e){\"float\"!==e&&e||(e=\"array\"),\"uint\"===e&&(e=\"uint8\"),\"uint_clamped\"===e&&(e=\"uint8_clamped\");var r=HC(e),n=new r(4);if(t instanceof r)return Array.isArray(t)?t.slice():(n.set(t),n);var i=\"uint8\"!==e&&\"uint8_clamped\"!==e;return t instanceof Uint8Array||t instanceof Uint8ClampedArray?(n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=null!=t[3]?t[3]:255,i&&(n[0]/=255,n[1]/=255,n[2]/=255,n[3]/=255),n):(t.length&&\"string\"!=typeof t||((t=function(t){var e;if(\"string\"!=typeof t)throw Error(\"Argument should be a string\");var r=UC(t);return r.space?((e=Array(3))[0]=FC(r.values[0],0,255),e[1]=FC(r.values[1],0,255),e[2]=FC(r.values[2],0,255),\"h\"===r.space[0]&&(e=qC(e)),e.push(FC(r.alpha,0,1)),e):[]}(t))[0]/=255,t[1]/=255,t[2]/=255),i?(n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=null!=t[3]?t[3]:1):(n[0]=FC(Math.round(255*t[0]),0,255),n[1]=FC(Math.round(255*t[1]),0,255),n[2]=FC(Math.round(255*t[2]),0,255),n[3]=null==t[3]?255:FC(Math.floor(255*t[3]),0,255)),n)};var WC=function(t){return t?GC(t):[0,0,0,1]};function YC(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=!1,this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var XC=YC.prototype,ZC=[\"xaxis\",\"yaxis\"];XC.merge=function(t){var e,r,n,i,a,o,s,l,u,c,h;for(this.titleEnable=!1,this.backgroundColor=WC(t.plot_bgcolor),c=0;c<2;++c){var f=(e=ZC[c]).charAt(0);for(n=(r=t[this.scene[e]._name]).title===this.scene.fullLayout._dfltTitle[f]?\"\":r.title,h=0;h<=2;h+=2)this.labelEnable[c+h]=!1,this.labels[c+h]=AC(n),this.labelColor[c+h]=WC(r.titlefont.color),this.labelFont[c+h]=r.titlefont.family,this.labelSize[c+h]=r.titlefont.size,this.labelPad[c+h]=this.getLabelPad(e,r),this.tickEnable[c+h]=!1,this.tickColor[c+h]=WC((r.tickfont||{}).color),this.tickAngle[c+h]=\"auto\"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[c+h]=this.getTickPad(r),this.tickMarkLength[c+h]=0,this.tickMarkWidth[c+h]=r.tickwidth||0,this.tickMarkColor[c+h]=WC(r.tickcolor),this.borderLineEnable[c+h]=!1,this.borderLineColor[c+h]=WC(r.linecolor),this.borderLineWidth[c+h]=r.linewidth||0;s=this.hasSharedAxis(r),a=this.hasAxisInDfltPos(e,r)&&!s,o=this.hasAxisInAltrPos(e,r)&&!s,i=r.mirror||!1,l=s?-1!==String(i).indexOf(\"all\"):!!i,u=s?\"allticks\"===i:-1!==String(i).indexOf(\"ticks\"),a?this.labelEnable[c]=!0:o&&(this.labelEnable[c+2]=!0),a?this.tickEnable[c]=r.showticklabels:o&&(this.tickEnable[c+2]=r.showticklabels),(a||l)&&(this.borderLineEnable[c]=r.showline),(o||l)&&(this.borderLineEnable[c+2]=r.showline),(a||u)&&(this.tickMarkLength[c]=this.getTickMarkLength(r)),(o||u)&&(this.tickMarkLength[c+2]=this.getTickMarkLength(r)),this.gridLineEnable[c]=r.showgrid,this.gridLineColor[c]=WC(r.gridcolor),this.gridLineWidth[c]=r.gridwidth,this.zeroLineEnable[c]=r.zeroline,this.zeroLineColor[c]=WC(r.zerolinecolor),this.zeroLineWidth[c]=r.zerolinewidth}},XC.hasSharedAxis=function(t){var e=this.scene,r=e.fullLayout._subplots.gl2d;return 0!==ri.findSubplotsWithAxis(r,t).indexOf(e.id)},XC.hasAxisInDfltPos=function(t,e){var r=e.side;return\"xaxis\"===t?\"bottom\"===r:\"yaxis\"===t?\"left\"===r:void 0},XC.hasAxisInAltrPos=function(t,e){var r=e.side;return\"xaxis\"===t?\"top\"===r:\"yaxis\"===t?\"right\"===r:void 0},XC.getLabelPad=function(t,e){var 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},XC.getTickPad=function(t){return\"outside\"===t.ticks?10+t.ticklen:15},XC.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return\"inside\"===t.ticks?-e:e};var JC,KC,QC=function(t){return new YC(t)},$C=Gm.enforce,tL=Gm.clean,eL=Nn,rL=[\"xaxis\",\"yaxis\"],nL=Te.SUBPLOT_PATTERN;function iL(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.scrollZoom=this.graphDiv._context.scrollZoom,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.glplotOptions=QC(this),this.glplotOptions.merge(e),this.glplot=lC(this.glplotOptions),this.camera=RC(this),this.traces={},this.spikes=mC(this.glplot),this.selectBox=dC(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.isMouseOver=!0,this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw()}var aL=iL,oL=iL.prototype;oL.makeFramework=function(){if(this.staticPlot){if(!(KC||(JC=document.createElement(\"canvas\"),KC=_C({canvas:JC,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\"Error creating static canvas/context for image server\");this.canvas=JC,this.gl=KC}else{var t=this.container.querySelector(\".gl-canvas-focus\"),e=_C({canvas:t,preserveDrawingBuffer:!0,premultipliedAlpha:!0});e||TC(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\",i.style[\"pointer-events\"]=\"auto\",this.pickCanvas=this.container.querySelector(\".gl-canvas-pick\");var a=this.container;a.appendChild(n),a.appendChild(i);var o=this;i.addEventListener(\"mouseout\",function(){o.isMouseOver=!1,o.unhover()}),i.addEventListener(\"mouseover\",function(){o.isMouseOver=!0})},oL.toImage=function(t){t||(t=\"png\"),this.stopped=!0,this.staticPlot&&this.container.appendChild(JC),this.updateSize(this.canvas);var e=this.glplot.gl,r=e.drawingBufferWidth,n=e.drawingBufferHeight;e.clearColor(1,1,1,0),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT),this.glplot.setDirty(),this.glplot.draw(),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 c=document.createElement(\"canvas\");c.width=r,c.height=n;var h,f=c.getContext(\"2d\"),p=f.createImageData(r,n);switch(p.data.set(i),f.putImageData(p,0,0),t){case\"jpeg\":h=c.toDataURL(\"image/jpeg\");break;case\"webp\":h=c.toDataURL(\"image/webp\");break;default:h=c.toDataURL(\"image/png\")}return this.staticPlot&&this.container.removeChild(JC),h},oL.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},oL.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var t=[ri.calcTicks(this.xaxis),ri.calcTicks(this.yaxis)],e=0;e<2;++e)for(var r=0;r<t[e].length;++r)t[e][r].text=AC(t[e][r].text+\"\");return t},oL.updateRefs=function(t){this.fullLayout=t;var e=this.id.match(nL),r=\"xaxis\"+e[1],n=\"yaxis\"+e[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},oL.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)},oL.cameraChanged=function(){var t=this.camera;this.glplot.setDataBox(this.calcDataBox());var e=this.computeTickMarks();(function(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})(e,this.glplotOptions.ticks)&&(this.glplotOptions.ticks=e,this.glplotOptions.dataBox=t.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())},oL.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&&P.getComponentMethod(\"annotations\",\"drawOne\")(t,r)}},oL.destroy=function(){if(this.glplot){var t=this.traces;t&&Object.keys(t).map(function(e){t[e].dispose(),delete t[e]}),this.glplot.dispose(),this.container.removeChild(this.svgContainer),this.container.removeChild(this.mouseContainer),this.fullData=null,this.glplot=null,this.stopped=!0,this.camera.mouseListener.enabled=!1,this.mouseContainer.removeEventListener(\"wheel\",this.camera.wheelListener),this.camera=null}},oL.plot=function(t,e,r){var n=this.glplot;this.updateRefs(r),this.xaxis.clearCalc(),this.yaxis.clearCalc(),this.updateTraces(t,e),this.updateFx(r.dragmode);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={_fullLayout:{_axisConstraintGroups:this.graphDiv._fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis}};tL(s,this.xaxis),tL(s,this.yaxis);var l,u,c=r._size,h=this.xaxis.domain,f=this.yaxis.domain;for(o.viewBox=[c.l+h[0]*c.w,c.b+f[0]*c.h,i-c.r-(1-h[1])*c.w,a-c.t-(1-f[1])*c.h],this.mouseContainer.style.width=c.w*(h[1]-h[0])+\"px\",this.mouseContainer.style.height=c.h*(f[1]-f[0])+\"px\",this.mouseContainer.height=c.h*(f[1]-f[0]),this.mouseContainer.style.left=c.l+h[0]*c.w+\"px\",this.mouseContainer.style.top=c.t+(1-f[1])*c.h+\"px\",u=0;u<2;++u)(l=this[rL[u]])._length=o.viewBox[u+2]-o.viewBox[u],eL(l),l.setScale();$C(s),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},oL.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])]},oL.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])]},oL.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]).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})},oL.updateFx=function(t){\"lasso\"===t||\"select\"===t?(this.pickCanvas.style[\"pointer-events\"]=\"none\",this.mouseContainer.style[\"pointer-events\"]=\"none\"):(this.pickCanvas.style[\"pointer-events\"]=\"auto\",this.mouseContainer.style[\"pointer-events\"]=\"auto\"),this.mouseContainer.style.cursor=\"pan\"===t?\"move\":\"zoom\"===t?\"crosshair\":null},oL.emitPointAction=function(t,e){for(var r,n=t.trace.uid,i=t.pointIndex,a=0;a<this.fullData.length;a++)this.fullData[a].uid===n&&(r=this.fullData[a]);var o={x:t.traceCoord[0],y:t.traceCoord[1],curveNumber:r.index,pointNumber:i,data:r._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};yo.appendArrayPointValue(o,r,i),this.graphDiv.emit(e,{points:[o]})},oL.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,o=r.x*t.pixelRatio,s=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&&\"zoom\"===i.dragmode){this.selectBox.enabled=!0;for(var l=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])],u=0;u<2;u++)e.boxStart[u]===e.boxEnd[u]&&(l[u]=t.dataBox[u],l[u+2]=t.dataBox[u+2]);t.setDirty()}else if(!e.panning&&this.isMouseOver){this.selectBox.enabled=!1;var c=i._size,h=this.xaxis.domain,f=this.yaxis.domain,p=(a=t.pick(o/t.pixelRatio+c.l+h[0]*c.w,s/t.pixelRatio-(c.t+(1-f[1])*c.h)))&&a.object._trace.handlePick(a);if(p&&n&&this.emitPointAction(p,\"plotly_click\"),a&&\"skip\"!==a.object._trace.hoverinfo&&i.hovermode&&p&&(!this.lastPickResult||this.lastPickResult.traceUid!==p.trace.uid||this.lastPickResult.dataCoord[0]!==p.dataCoord[0]||this.lastPickResult.dataCoord[1]!==p.dataCoord[1])){var d=p;this.lastPickResult={traceUid:p.trace?p.trace.uid:null,dataCoord:p.dataCoord.slice()},this.spikes.update({center:a.dataCoord}),d.screenCoord=[((t.viewBox[2]-t.viewBox[0])*(a.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])*(a.dataCoord[1]-t.dataBox[1])/(t.dataBox[3]-t.dataBox[1])-t.viewBox[1])/t.pixelRatio],this.emitPointAction(p,\"plotly_hover\");var g=this.fullData[d.trace.index]||{},v=d.pointIndex,m=yo.castHoverinfo(g,i,v);if(m&&\"all\"!==m){var y=m.split(\"+\");-1===y.indexOf(\"x\")&&(d.traceCoord[0]=void 0),-1===y.indexOf(\"y\")&&(d.traceCoord[1]=void 0),-1===y.indexOf(\"z\")&&(d.traceCoord[2]=void 0),-1===y.indexOf(\"text\")&&(d.textLabel=void 0),-1===y.indexOf(\"name\")&&(d.name=void 0)}yo.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:yo.castHoverOption(g,v,\"bgcolor\")||d.color,borderColor:yo.castHoverOption(g,v,\"bordercolor\"),fontFamily:yo.castHoverOption(g,v,\"font.family\"),fontSize:yo.castHoverOption(g,v,\"font.size\"),fontColor:yo.castHoverOption(g,v,\"font.color\")},{container:this.svgContainer,gd:this.graphDiv})}}a||this.unhover(),t.draw()}},oL.unhover=function(){this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit(\"plotly_unhover\"),yo.loneUnhover(this.svgContainer))},oL.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return ri.tickText(r,r.c2l(e),\"hover\").text}};var sL={},lL=ye.overrideAll,uL=sa.getSubplotData;sL.name=\"gl2d\",sL.attr=[\"xaxis\",\"yaxis\"],sL.idRoot=[\"x\",\"y\"],sL.idRegex=Te.idRegex,sL.attrRegex=Te.attrRegex,sL.attributes=Gi,sL.supplyLayoutDefaults=function(t,e,r){e._has(\"cartesian\")||ua.supplyLayoutDefaults(t,e,r)},sL.layoutAttrOverrides=lL(ua.layoutAttributes,\"plot\",\"from-root\"),sL.baseLayoutAttrOverrides=lL({plot_bgcolor:z.plot_bgcolor,hoverlabel:mo.hoverlabel},\"plot\",\"nested\"),sL.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl2d,i=0;i<n.length;i++){var a=n[i],o=e._plots[a],s=uL(r,\"gl2d\",a),l=o._scene2d;void 0===l&&(l=new aL({id:a,graphDiv:t,container:t.querySelector(\".gl-container\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),o._scene2d=l),l.plot(s,t.calcdata,e,t.layout)}},sL.clean=function(t,e,r,n){for(var i=n._subplots.gl2d||[],a=0;a<i.length;a++){var o=i[a],s=n._plots[o];if(s._scene2d)0===uL(t,\"gl2d\",o).length&&(s._scene2d.destroy(),delete n._plots[o])}ua.clean.apply(this,arguments)},sL.drawFramework=function(t){t._context.staticPlot||ua.drawFramework(t)},sL.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){var i=e._plots[r[n]]._scene2d,a=i.toImage(\"png\");e._glimages.append(\"svg:image\").attr({xmlns:$e.svg,\"xlink:href\":a,x:0,y:0,width:\"100%\",height:\"100%\",preserveAspectRatio:\"none\"}),i.destroy()}},sL.updateFx=function(t){for(var e=t._subplots.gl2d,r=0;r<e.length;r++){t._plots[e[r]]._scene2d.updateFx(t.dragmode)}};for(var cL=m.extendFlat,hL=ye.overrideAll,fL=[\"z\",\"x\",\"x0\",\"dx\",\"y\",\"y0\",\"dy\",\"text\",\"transpose\",\"xtype\",\"ytype\"],pL={},dL=0;dL<fL.length;dL++){var gL=fL[dL];pL[gL]=Lh[gL]}cL(pL,Pe,{autocolorscale:cL({},Pe.autocolorscale,{dflt:!1})},{colorbar:ze});var vL=hL(pL,\"calc\",\"nested\"),mL={fragment:E_([\"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:E_([\"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:E_([\"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:E_([\"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\"])};function yL(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 xL(t,e,r,n){return new Function([yL(\"A\",\"x\"+t+\"y\",e,[\"y\"],n),yL(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],n),\"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(\"\"))()}var bL={ge:xL(\">=\",!1,\"GE\"),gt:xL(\">\",!1,\"GT\"),lt:xL(\"<\",!0,\"LT\"),le:xL(\"<=\",!0,\"LE\"),eq:xL(\"-\",!0,\"EQ\",!0)},_L=function(t,e){var r=t.gl,n=Bw(r,mL.vertex,mL.fragment),i=Bw(r,mL.pickVertex,mL.pickFragment),a=S_(r),o=S_(r),s=S_(r),l=S_(r),u=new wL(t,n,i,a,o,s,l);return u.update(e),t.addObject(u),u};function wL(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}var ML,AL=wL.prototype,kL=[0,0,1,0,0,1,1,0,1,1,0,1];function TL(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=_L(t.glplot,this.options),this.heatmap._trace=this}AL.draw=(ML=[1,0,0,0,1,0,0,0,1],function(){var t=this.plot,e=this.shader,r=this.bounds,n=this.numVertices;if(!(n<=0)){var i=t.gl,a=t.dataBox,o=r[2]-r[0],s=r[3]-r[1],l=a[2]-a[0],u=a[3]-a[1];ML[0]=2*o/l,ML[4]=2*s/u,ML[6]=2*(r[0]-a[0])/l-1,ML[7]=2*(r[1]-a[1])/u-1,e.bind();var c=e.uniforms;c.viewTransform=ML,c.shape=this.shape;var h=e.attributes;this.positionBuffer.bind(),h.position.pointer(),this.weightBuffer.bind(),h.weight.pointer(i.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),h.color.pointer(i.UNSIGNED_BYTE,!0),i.drawArrays(i.TRIANGLES,0,n)}}),AL.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 p=0;p<4;++p)e[p]=r>>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var g=i.attributes;return this.positionBuffer.bind(),g.position.pointer(),this.weightBuffer.bind(),g.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),g.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),AL.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]]}},AL.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||db(e[0]),n=t.y||db(e[1]),i=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=n;var a=t.colorLevels||[0],o=t.colorValues||[0,0,0,1],s=a.length,l=this.bounds,u=l[0]=r[0],c=l[1]=n[0],h=1/((l[2]=r[r.length-1])-u),f=1/((l[3]=n[n.length-1])-c),p=e[0],d=e[1];this.shape=[p,d];var g=(p-1)*(d-1)*(kL.length>>>1);this.numVertices=g;for(var v=__.mallocUint8(4*g),m=__.mallocFloat32(2*g),y=__.mallocUint8(2*g),x=__.mallocUint32(g),b=0,_=0;_<d-1;++_)for(var w=f*(n[_]-c),M=f*(n[_+1]-c),A=0;A<p-1;++A)for(var k=h*(r[A]-u),T=h*(r[A+1]-u),S=0;S<kL.length;S+=2){var E,C,L,z,P=kL[S],I=kL[S+1],D=i[(_+I)*p+(A+P)],O=bL.le(a,D);if(O<0)E=o[0],C=o[1],L=o[2],z=o[3];else if(O===s-1)E=o[4*s-4],C=o[4*s-3],L=o[4*s-2],z=o[4*s-1];else{var R=(D-a[O])/(a[O+1]-a[O]),F=1-R,B=4*O,N=4*(O+1);E=F*o[B]+R*o[N],C=F*o[B+1]+R*o[N+1],L=F*o[B+2]+R*o[N+2],z=F*o[B+3]+R*o[N+3]}v[4*b]=255*E,v[4*b+1]=255*C,v[4*b+2]=255*L,v[4*b+3]=255*z,m[2*b]=.5*k+.5*T,m[2*b+1]=.5*w+.5*M,y[2*b]=P,y[2*b+1]=I,x[b]=_*p+A,b+=1}this.positionBuffer.update(m),this.weightBuffer.update(y),this.colorBuffer.update(v),this.idBuffer.update(x),__.free(m),__.free(v),__.free(y),__.free(x)},AL.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)};var SL=TL.prototype;SL.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:[a,i],hoverinfo:this.hoverinfo}},SL.update=function(t,e){var r=e[0];this.index=t.index,this.name=t.name,this.hoverinfo=t.hoverinfo;var n=r.z;this.options.z=[].concat.apply([],n);var i=n[0].length,a=n.length;this.options.shape=[i,a],this.options.x=r.x,this.options.y=r.y;var o=function(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 l=e[s],u=WC(l[1]);a[s]=r+l[0]*(n-r);for(var c=0;c<4;c++)o[4*s+c]=u[c]}return{colorLevels:a,colorValues:o}}(t);this.options.colorLevels=o.colorLevels,this.options.colorValues=o.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options),ri.expand(this.scene.xaxis,r.x),ri.expand(this.scene.yaxis,r.y)},SL.dispose=function(){this.heatmap.dispose()};var EL=function(t,e,r){var n=new TL(t,e.uid);return n.update(e,r),n},CL={};CL.attributes=vL,CL.supplyDefaults=Zx,CL.colorbar=kh,CL.calc=bf,CL.plot=EL,CL.moduleType=\"trace\",CL.name=\"heatmapgl\",CL.basePlotModule=sL,CL.categories=[\"gl\",\"gl2d\",\"2dMap\"],CL.meta={};var LL=CL,zL={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},text:wa.text,orientation:wa.orientation,histfunc:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"min\",\"max\"],dflt:\"count\",editType:\"calc\"},histnorm:{valType:\"enumerated\",values:[\"\",\"percent\",\"probability\",\"density\",\"probability density\"],dflt:\"\",editType:\"calc\"},cumulative:{enabled:{valType:\"boolean\",dflt:!1,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"increasing\",\"decreasing\"],dflt:\"increasing\",editType:\"calc\"},currentbin:{valType:\"enumerated\",values:[\"include\",\"exclude\",\"half\"],dflt:\"include\",editType:\"calc\"},editType:\"calc\"},autobinx:{valType:\"boolean\",dflt:null,editType:\"calc\",impliedEdits:{\"xbins.start\":void 0,\"xbins.end\":void 0,\"xbins.size\":void 0}},nbinsx:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},xbins:PL(\"x\"),autobiny:{valType:\"boolean\",dflt:null,editType:\"calc\",impliedEdits:{\"ybins.start\":void 0,\"ybins.end\":void 0,\"ybins.size\":void 0}},nbinsy:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},ybins:PL(\"y\"),marker:wa.marker,selected:wa.selected,unselected:wa.unselected,_deprecated:{bardir:wa._deprecated.bardir}};function PL(t){var e={};e[\"autobin\"+t]=!1;var r={};return r[\"^autobin\"+t]=!1,{start:{valType:\"any\",dflt:null,editType:\"calc\",impliedEdits:r},end:{valType:\"any\",dflt:null,editType:\"calc\",impliedEdits:r},size:{valType:\"any\",dflt:null,editType:\"calc\",impliedEdits:r},editType:\"calc\",impliedEdits:e}}var IL=t.ONEAVGMONTH;function DL(t,e,n,i,a){var o,s,l,u,c,h=i+\"bins\",f=\"overlay\"===t._fullLayout.barmode;if(e._autoBinFinished)delete e._autoBinFinished;else{var p=f?[e]:RL(t,e),d=[],g=1/0,v=1/0,m=-1/0,y=\"autobin\"+i;for(o=0;o<p.length;o++){c=(s=p[o])._pos0=n.makeCalcdata(s,i);var x=s[h];if(s[y]||!x||null===x.start||null===x.end){l=s[i+\"calendar\"];var b=s.cumulative;if(x=ri.autoBin(c,n,s[\"nbins\"+i],!1,l),f&&0===x._dataSpan&&\"category\"!==n.type){if(a)return[x,c,!0];x=OL(t,e,n,i,h)}b.enabled&&\"include\"!==b.currentbin&&(\"decreasing\"===b.direction?v=Math.min(v,n.r2c(x.start,0,l)-x.size):m=Math.max(m,n.r2c(x.end,0,l)+x.size)),d.push(s)}else u||(u={size:x.size,start:n.r2c(x.start,0,l),end:n.r2c(x.end,0,l)});g=FL(g,x.size),v=Math.min(v,n.r2c(x.start,0,l)),m=Math.max(m,n.r2c(x.end,0,l)),o&&(s._autoBinFinished=1)}if(u&&r(u.size)&&r(g)){g=g>u.size/1.9?u.size:u.size/Math.ceil(u.size/g);var _=u.start+(u.size-g)/2;v=_-g*Math.ceil((_-v)/g)}for(o=0;o<d.length;o++)l=(s=d[o])[i+\"calendar\"],s._input[h]=s[h]={start:n.c2r(v,0,l),end:n.c2r(m,0,l),size:g},s._input[y]=s[y]}return c=e._pos0,delete e._pos0,[e[h],c]}function OL(t,e,r,n,i){var a,o,s=RL(t,e),l=!1,u=1/0,c=[e];for(a=0;a<s.length;a++)if((o=s[a])===e)l=!0;else if(l){var h=DL(t,o,r,n,!0),f=h[0],p=h[2];o._autoBinFinished=1,o._pos0=h[1],p?c.push(o):u=Math.min(u,f.size)}else u=Math.min(u,o[i].size);var d=new Array(c.length);for(a=0;a<c.length;a++)for(var g=c[a]._pos0,v=0;v<g.length;v++)if(void 0!==g[v]){d[a]=g[v];break}for(isFinite(u)||(u=ne.distinctVals(d).minDiff),a=0;a<c.length;a++){var m=(o=c[a])[n+\"calendar\"];o._input[i]=o[i]={start:r.c2r(d[a]-u/2,0,m),end:r.c2r(d[a]+u/2,0,m),size:u}}return e[i]}function RL(t,e){for(var r=e.xaxis,n=e.yaxis,i=e.orientation,a=[],o=t._fullData,s=0;s<o.length;s++){var l=o[s];\"histogram\"===l.type&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}function FL(t,e){if(t===1/0)return e;var r=BL(t);return BL(e)<r?e:t}function BL(t){return r(t)?t:\"string\"==typeof t&&\"M\"===t.charAt(0)?IL*+t.substr(1):1/0}var NL=function(t,e,r,n){return r(\"histnorm\"),n.forEach(function(t){r(t+\"bins.start\"),r(t+\"bins.end\"),r(t+\"bins.size\"),!1!==r(\"autobin\"+t)&&r(\"nbins\"+t)}),e},jL=function(t,e,r,n,i){if(t.x=\"xVal\"in e?e.xVal:e.x,t.y=\"yVal\"in e?e.yVal:e.y,e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),!(r.cumulative||{}).enabled){var a,o=Array.isArray(i)?n[0].pts[i[0]][i[1]]:n[i].pts;if(t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex,r._indexToPoints){a=[];for(var s=0;s<o.length;s++)a=a.concat(r._indexToPoints[o[s]])}else a=o;t.pointIndices=a}return t},VL=ri.hoverLabelText,UL={};UL.attributes=zL,UL.layoutAttributes=wo,UL.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,zL,r,n)}var a=i(\"x\"),o=i(\"y\");i(\"cumulative.enabled\")&&(i(\"cumulative.direction\"),i(\"cumulative.currentbin\")),i(\"text\");var s=i(\"orientation\",o&&!a?\"h\":\"v\"),l=e[\"v\"===s?\"x\":\"y\"];if(l&&l.length){P.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],n),e[\"h\"===s?\"x\":\"y\"]&&i(\"histfunc\"),NL(0,e,i,\"h\"===s?[\"y\"]:[\"x\"]),ka(t,e,i,r,n);var u=P.getComponentMethod(\"errorbars\",\"supplyDefaults\");u(t,e,Oe.defaultLine,{axis:\"y\"}),u(t,e,Oe.defaultLine,{axis:\"x\",inherit:\"y\"}),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},UL.supplyLayoutDefaults=Mo,UL.calc=function(t,e){if(!0===e.visible){var n,i=[],a=[],o=ri.getFromId(t,\"h\"===e.orientation?e.yaxis||\"y\":e.xaxis||\"x\"),s=\"h\"===e.orientation?\"y\":\"x\",l={x:\"y\",y:\"x\"}[s],u=e[s+\"calendar\"],c=e.cumulative;df(e,o,s);var h,f,p,d=DL(t,e,o,s),g=d[0],v=d[1],m=\"string\"==typeof g.size,y=[],x=m?y:g,b=[],_=[],w=[],M=0,A=e.histnorm,k=e.histfunc,T=-1!==A.indexOf(\"density\");c.enabled&&T&&(A=A.replace(/ ?density$/,\"\"),T=!1);var S,E=\"max\"===k||\"min\"===k?null:0,C=Kh.count,L=gf[A],z=!1,P=function(t){return o.r2c(t,0,u)};for(ne.isArrayOrTypedArray(e[l])&&\"count\"!==k&&(S=e[l],z=\"avg\"===k,C=Kh[k]),n=P(g.start),f=P(g.end)+(n-ri.tickIncrement(n,g.size,!1,u))/1e6;n<f&&i.length<1e6&&(h=ri.tickIncrement(n,g.size,!1,u),i.push((n+h)/2),a.push(E),w.push([]),y.push(n),T&&b.push(1/(h-n)),z&&_.push(0),!(h<=n));)n=h;y.push(n),m||\"date\"!==o.type||(x={start:P(x.start),end:P(x.end),size:x.size});var I,D=a.length,O=!0,R=1/0,F=1/0,B={};for(n=0;n<v.length;n++){var N=v[n];(p=ne.findBin(N,x))>=0&&p<D&&(M+=C(p,n,a,S,_),O&&w[p].length&&N!==v[w[p][0]]&&(O=!1),w[p].push(n),B[n]=p,R=Math.min(R,N-y[p]),F=Math.min(F,y[p+1]-N))}O||(I=of(R,F,y,o,u)),z&&(M=Jh(a,_)),L&&L(a,M,b),c.enabled&&function(t,e,r){var n,i,a;function o(e){a=t[e],t[e]/=2}function s(e){i=t[e],t[e]=a+i/2,a+=i}if(\"half\"===r)if(\"increasing\"===e)for(o(0),n=1;n<t.length;n++)s(n);else for(o(t.length-1),n=t.length-2;n>=0;n--)s(n);else if(\"increasing\"===e){for(n=1;n<t.length;n++)t[n]+=t[n-1];\"exclude\"===r&&(t.unshift(0),t.pop())}else{for(n=t.length-2;n>=0;n--)t[n]+=t[n+1];\"exclude\"===r&&(t.push(0),t.shift())}}(a,c.direction,c.currentbin);var j=Math.min(i.length,a.length),V=[],U=0,q=j-1;for(n=0;n<j;n++)if(a[n]){U=n;break}for(n=j-1;n>=U;n--)if(a[n]){q=n;break}for(n=U;n<=q;n++)if(r(i[n])&&r(a[n])){var H={p:i[n],s:a[n],b:0};c.enabled||(H.pts=w[n],O?H.p0=H.p1=w[n].length?v[w[n][0]]:i[n]:(H.p0=I(y[n]),H.p1=I(y[n+1],!0))),V.push(H)}return 1===V.length&&(V[0].width1=ri.tickIncrement(V[0].p,g.size,!1,u)-V[0].p),ma(V,e),ne.isArrayOrTypedArray(e.selectedpoints)&&ne.tagSelected(V,e,B),V}},UL.setPositions=Vo,UL.plot=Lo,UL.style=$o,UL.colorbar=is,UL.hoverPoints=function(t,e,r,n){var i=_o(t,e,r,n);if(i){var a=(t=i[0]).cd[t.index],o=t.cd[0].trace;if(!o.cumulative.enabled){var s=\"h\"===o.orientation?\"y\":\"x\";t[s+\"Label\"]=VL(t[s+\"a\"],a.p0,a.p1)}return i}},UL.selectPoints=Oo,UL.eventData=jL,UL.moduleType=\"trace\",UL.name=\"histogram\",UL.basePlotModule=ua,UL.categories=[\"cartesian\",\"bar\",\"histogram\",\"oriented\",\"errorBarsOK\",\"showLegend\"],UL.meta={};var qL=UL,HL=m.extendFlat,GL=HL({},{x:zL.x,y:zL.y,z:{valType:\"data_array\",editType:\"calc\"},marker:{color:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},histnorm:zL.histnorm,histfunc:zL.histfunc,autobinx:zL.autobinx,nbinsx:zL.nbinsx,xbins:zL.xbins,autobiny:zL.autobiny,nbinsy:zL.nbinsy,ybins:zL.ybins,xgap:Lh.xgap,ygap:Lh.ygap,zsmooth:Lh.zsmooth,zhoverformat:Lh.zhoverformat},Pe,{autocolorscale:HL({},Pe.autocolorscale,{dflt:!1})},{colorbar:ze}),WL=function(t,e,r,n){var i=r(\"x\"),a=r(\"y\");if(i&&i.length&&a&&a.length){P.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],n),(r(\"z\")||r(\"marker.color\"))&&r(\"histfunc\");NL(0,e,r,[\"x\",\"y\"])}else e.visible=!1},YL=ri.hoverLabelText,XL={};XL.attributes=GL,XL.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,GL,r,n)}WL(t,e,i,n),!1!==e.visible&&(Xx(0,0,i),Ye(t,e,n,i,{prefix:\"\",cLetter:\"z\"}))},XL.calc=bf,XL.plot=$f,XL.colorbar=kh,XL.style=up,XL.hoverPoints=function(t,e,r,n,i,a){var o=Rf(t,e,r,0,0,a);if(o){var s=(t=o[0]).index,l=s[0],u=s[1],c=t.cd[0],h=c.xRanges[u],f=c.yRanges[l];return t.xLabel=YL(t.xa,h[0],h[1]),t.yLabel=YL(t.ya,f[0],f[1]),o}},XL.eventData=jL,XL.moduleType=\"trace\",XL.name=\"histogram2d\",XL.basePlotModule=ua,XL.categories=[\"cartesian\",\"2dMap\",\"histogram\"],XL.meta={};var ZL=XL,JL=m.extendFlat,KL=JL({x:GL.x,y:GL.y,z:GL.z,marker:GL.marker,histnorm:GL.histnorm,histfunc:GL.histfunc,autobinx:GL.autobinx,nbinsx:GL.nbinsx,xbins:GL.xbins,autobiny:GL.autobiny,nbinsy:GL.nbinsy,ybins:GL.ybins,autocontour:Rh.autocontour,ncontours:Rh.ncontours,contours:Rh.contours,line:Rh.line,zhoverformat:GL.zhoverformat},Pe,{zmin:JL({},Pe.zmin,{editType:\"calc\"}),zmax:JL({},Pe.zmax,{editType:\"calc\"})},{colorbar:ze}),QL={};QL.attributes=KL,QL.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,KL,r,n)}WL(t,e,i,n),!1!==e.visible&&(zf(0,e,i,function(r){return ne.coerce2(t,e,KL,r)}),Pf(t,e,i,n))},QL.calc=_f,QL.plot=ip.plot,QL.style=cp,QL.colorbar=Af,QL.hoverPoints=Ff,QL.moduleType=\"trace\",QL.name=\"histogram2dcontour\",QL.basePlotModule=ua,QL.categories=[\"cartesian\",\"2dMap\",\"contour\",\"histogram\"],QL.meta={};var $L=QL,tz=m.extendFlat,ez=(0,ye.overrideAll)({visible:Ce.visible,showspikes:{valType:\"boolean\",dflt:!0},spikesides:{valType:\"boolean\",dflt:!0},spikethickness:{valType:\"number\",min:0,dflt:2},spikecolor:{valType:\"color\",dflt:Oe.defaultLine},showbackground:{valType:\"boolean\",dflt:!1},backgroundcolor:{valType:\"color\",dflt:\"rgba(204, 204, 204, 0.5)\"},showaxeslabels:{valType:\"boolean\",dflt:!0},color:Ce.color,categoryorder:Ce.categoryorder,categoryarray:Ce.categoryarray,title:Ce.title,titlefont:Ce.titlefont,type:Ce.type,autorange:Ce.autorange,rangemode:Ce.rangemode,range:Ce.range,tickmode:Ce.tickmode,nticks:Ce.nticks,tick0:Ce.tick0,dtick:Ce.dtick,tickvals:Ce.tickvals,ticktext:Ce.ticktext,ticks:Ce.ticks,mirror:Ce.mirror,ticklen:Ce.ticklen,tickwidth:Ce.tickwidth,tickcolor:Ce.tickcolor,showticklabels:Ce.showticklabels,tickfont:Ce.tickfont,tickangle:Ce.tickangle,tickprefix:Ce.tickprefix,showtickprefix:Ce.showtickprefix,ticksuffix:Ce.ticksuffix,showticksuffix:Ce.showticksuffix,showexponent:Ce.showexponent,exponentformat:Ce.exponentformat,separatethousands:Ce.separatethousands,tickformat:Ce.tickformat,tickformatstops:Ce.tickformatstops,hoverformat:Ce.hoverformat,showline:Ce.showline,linecolor:Ce.linecolor,linewidth:Ce.linewidth,showgrid:Ce.showgrid,gridcolor:tz({},Ce.gridcolor,{dflt:\"rgb(204, 204, 204)\"}),gridwidth:Ce.gridwidth,zeroline:Ce.zeroline,zerolinecolor:Ce.zerolinecolor,zerolinewidth:Ce.zerolinewidth},\"plot\",\"from-root\"),rz=s.mix,nz=[\"xaxis\",\"yaxis\",\"zaxis\"],iz=function(t,e,r){var n,i;function a(t,e){return ne.coerce(n,i,ez,t,e)}for(var o=0;o<nz.length;o++){var s=nz[o];n=t[s]||{},i=e[s]={_id:s[0]+r.scene,_name:s},na(n,i,a,r.data),Qi(n,i,a,{font:r.font,letter:s[0],data:r.data,showGrid:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),a(\"gridcolor\",rz(i.color,r.bgColor,13600/187).toRgbString()),a(\"title\",s[0]),i.setScale=ne.noop,a(\"showspikes\")&&(a(\"spikesides\"),a(\"spikethickness\"),a(\"spikecolor\",i.color)),a(\"showaxeslabels\"),a(\"showbackground\")&&a(\"backgroundcolor\")}},az=qc.attributes,oz=m.extendFlat;function sz(t,e,r){return{x:{valType:\"number\",dflt:t,editType:\"camera\"},y:{valType:\"number\",dflt:e,editType:\"camera\"},z:{valType:\"number\",dflt:r,editType:\"camera\"},editType:\"camera\"}}var lz={_arrayAttrRegexps:[(0,ne.counterRegex)(\"scene\",\".annotations\",!0)],bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"plot\"},camera:{up:oz(sz(0,0,1),{}),center:oz(sz(0,0,0),{}),eye:oz(sz(1.25,1.25,1.25),{}),editType:\"camera\"},domain:az({name:\"scene\",editType:\"plot\"}),aspectmode:{valType:\"enumerated\",values:[\"auto\",\"cube\",\"data\",\"manual\"],dflt:\"auto\",editType:\"plot\",impliedEdits:{\"aspectratio.x\":void 0,\"aspectratio.y\":void 0,\"aspectratio.z\":void 0}},aspectratio:{x:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},y:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},z:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},editType:\"plot\",impliedEdits:{aspectmode:\"manual\"}},xaxis:ez,yaxis:ez,zaxis:ez,dragmode:{valType:\"enumerated\",values:[\"orbit\",\"turntable\",\"zoom\",\"pan\",!1],dflt:\"turntable\",editType:\"plot\"},hovermode:{valType:\"enumerated\",values:[\"closest\",!1],dflt:\"closest\",editType:\"modebar\"},editType:\"plot\",_deprecated:{cameraposition:{valType:\"info_array\",editType:\"camera\"}}};function uz(t,e,r,n){for(var i=r(\"bgcolor\"),a=Oe.combine(i,n.paper_bgcolor),o=[\"up\",\"center\",\"eye\"],s=0;s<o.length;s++)r(\"camera.\"+o[s]+\".x\"),r(\"camera.\"+o[s]+\".y\"),r(\"camera.\"+o[s]+\".z\");var l=!!r(\"aspectratio.x\")&&!!r(\"aspectratio.y\")&&!!r(\"aspectratio.z\"),u=r(\"aspectmode\",l?\"manual\":\"auto\");l||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},\"manual\"===u&&(e.aspectmode=\"auto\"),t.aspectmode=e.aspectmode),iz(t,e,{font:n.font,scene:n.id,data:n.fullData,bgColor:a,calendar:n.calendar,fullLayout:n.fullLayout}),P.getComponentMethod(\"annotations3d\",\"handleDefaults\")(t,e,n),r(\"dragmode\",n.getDfltFromLayout(\"dragmode\")),r(\"hovermode\",n.getDfltFromLayout(\"hovermode\"))}var cz=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],p=e[11],d=e[12],g=e[13],v=e[14],m=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*d,k=c*v-f*d,T=c*m-p*d,S=h*v-f*g,E=h*m-p*g,C=f*m-p*v,L=y*C-x*E+b*S+_*T-w*k+M*A;if(!L)return null;return L=1/L,t[0]=(s*C-l*E+u*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(g*M-v*w+m*_)*L,t[3]=(f*w-h*M-p*_)*L,t[4]=(l*T-o*C-u*k)*L,t[5]=(r*C-i*T+a*k)*L,t[6]=(v*b-d*M-m*x)*L,t[7]=(c*M-f*b+p*x)*L,t[8]=(o*E-s*T+u*A)*L,t[9]=(n*T-r*E-a*A)*L,t[10]=(d*w-g*b+m*y)*L,t[11]=(h*b-c*w-p*y)*L,t[12]=(s*k-o*S-l*A)*L,t[13]=(r*S-n*k+i*A)*L,t[14]=(g*x-d*_-v*y)*L,t[15]=(c*_-h*x+f*y)*L,t};var hz=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};var fz=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d=e[0],g=e[1],v=e[2],m=n[0],y=n[1],x=n[2],b=r[0],_=r[1],w=r[2];if(Math.abs(d-b)<1e-6&&Math.abs(g-_)<1e-6&&Math.abs(v-w)<1e-6)return hz(t);c=d-b,h=g-_,f=v-w,p=1/Math.sqrt(c*c+h*h+f*f),i=y*(f*=p)-x*(h*=p),a=x*(c*=p)-m*f,o=m*h-y*c,(p=Math.sqrt(i*i+a*a+o*o))?(i*=p=1/p,a*=p,o*=p):(i=0,a=0,o=0);s=h*o-f*a,l=f*i-c*o,u=c*a-h*i,(p=Math.sqrt(s*s+l*l+u*u))?(s*=p=1/p,l*=p,u*=p):(s=0,l=0,u=0);return t[0]=i,t[1]=s,t[2]=c,t[3]=0,t[4]=a,t[5]=l,t[6]=h,t[7]=0,t[8]=o,t[9]=u,t[10]=f,t[11]=0,t[12]=-(i*d+a*g+o*v),t[13]=-(s*d+l*g+u*v),t[14]=-(c*d+h*g+f*v),t[15]=1,t};var pz=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];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]);return 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};var dz=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];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]);return 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};var gz=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];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]);return 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};var vz=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};var mz=function(t,e,r){var n,i,a,o,s,l,u,c,h,f,p,d,g=r[0],v=r[1],m=r[2];e===t?(t[12]=e[0]*g+e[4]*v+e[8]*m+e[12],t[13]=e[1]*g+e[5]*v+e[9]*m+e[13],t[14]=e[2]*g+e[6]*v+e[10]*m+e[14],t[15]=e[3]*g+e[7]*v+e[11]*m+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],p=e[10],d=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]=p,t[11]=d,t[12]=n*g+s*v+h*m+e[12],t[13]=i*g+l*v+f*m+e[13],t[14]=a*g+u*v+p*m+e[14],t[15]=o*g+c*v+d*m+e[15]);return t};var yz=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a);return t};var xz=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],p=t[12],d=t[13],g=t[14],v=t[15];return(e*o-r*a)*(h*v-f*g)-(e*s-n*a)*(c*v-f*d)+(e*l-i*a)*(c*g-h*d)+(r*s-n*o)*(u*v-f*p)-(r*l-i*o)*(u*g-h*p)+(n*l-i*s)*(u*d-c*p)};var bz=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};var _z=function(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};var wz=function(){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};var Mz=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};var Az=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};var kz=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]};var Tz={length:function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)},normalize:yz,dot:kz,cross:Az},Sz=wz(),Ez=wz(),Cz=[0,0,0,0],Lz=[[0,0,0],[0,0,0],[0,0,0]],zz=[0,0,0],Pz=function(t,e,r,n,i,a){if(e||(e=[0,0,0]),r||(r=[0,0,0]),n||(n=[0,0,0]),i||(i=[0,0,0,1]),a||(a=[0,0,0,1]),!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}(Sz,t))return!1;if(_z(Ez,Sz),Ez[3]=0,Ez[7]=0,Ez[11]=0,Ez[15]=1,Math.abs(xz(Ez)<1e-8))return!1;var o,s,l,u,c,h,f,p=Sz[3],d=Sz[7],g=Sz[11],v=Sz[12],m=Sz[13],y=Sz[14],x=Sz[15];if(0!==p||0!==d||0!==g){if(Cz[0]=p,Cz[1]=d,Cz[2]=g,Cz[3]=x,!cz(Ez,Ez))return!1;Mz(Ez,Ez),o=i,l=Ez,u=(s=Cz)[0],c=s[1],h=s[2],f=s[3],o[0]=l[0]*u+l[4]*c+l[8]*h+l[12]*f,o[1]=l[1]*u+l[5]*c+l[9]*h+l[13]*f,o[2]=l[2]*u+l[6]*c+l[10]*h+l[14]*f,o[3]=l[3]*u+l[7]*c+l[11]*h+l[15]*f}else i[0]=i[1]=i[2]=0,i[3]=1;if(e[0]=v,e[1]=m,e[2]=y,function(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]}(Lz,Sz),r[0]=Tz.length(Lz[0]),Tz.normalize(Lz[0],Lz[0]),n[0]=Tz.dot(Lz[0],Lz[1]),Iz(Lz[1],Lz[1],Lz[0],1,-n[0]),r[1]=Tz.length(Lz[1]),Tz.normalize(Lz[1],Lz[1]),n[0]/=r[1],n[1]=Tz.dot(Lz[0],Lz[2]),Iz(Lz[2],Lz[2],Lz[0],1,-n[1]),n[2]=Tz.dot(Lz[1],Lz[2]),Iz(Lz[2],Lz[2],Lz[1],1,-n[2]),r[2]=Tz.length(Lz[2]),Tz.normalize(Lz[2],Lz[2]),n[1]/=r[2],n[2]/=r[2],Tz.cross(zz,Lz[1],Lz[2]),Tz.dot(Lz[0],zz)<0)for(var b=0;b<3;b++)r[b]*=-1,Lz[b][0]*=-1,Lz[b][1]*=-1,Lz[b][2]*=-1;return a[0]=.5*Math.sqrt(Math.max(1+Lz[0][0]-Lz[1][1]-Lz[2][2],0)),a[1]=.5*Math.sqrt(Math.max(1-Lz[0][0]+Lz[1][1]-Lz[2][2],0)),a[2]=.5*Math.sqrt(Math.max(1-Lz[0][0]-Lz[1][1]+Lz[2][2],0)),a[3]=.5*Math.sqrt(Math.max(1+Lz[0][0]+Lz[1][1]+Lz[2][2],0)),Lz[2][1]>Lz[1][2]&&(a[0]=-a[0]),Lz[0][2]>Lz[2][0]&&(a[1]=-a[1]),Lz[1][0]>Lz[0][1]&&(a[2]=-a[2]),!0};function Iz(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 Dz=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],p=e[10],d=e[11],g=e[12],v=e[13],m=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*v,t[2]=x*a+b*u+_*p+w*m,t[3]=x*o+b*c+_*d+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*v,t[6]=x*a+b*u+_*p+w*m,t[7]=x*o+b*c+_*d+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*v,t[10]=x*a+b*u+_*p+w*m,t[11]=x*o+b*c+_*d+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*v,t[14]=x*a+b*u+_*p+w*m,t[15]=x*o+b*c+_*d+w*y,t};var Oz={identity:hz,translate:mz,multiply:Dz,create:wz,scale:vz,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,p=i*l,d=i*u,g=a*u,v=o*s,m=o*l,y=o*u;return t[0]=1-(p+g),t[1]=h+y,t[2]=f-m,t[3]=0,t[4]=h-y,t[5]=1-(c+g),t[6]=d+v,t[7]=0,t[8]=f+m,t[9]=d-v,t[10]=1-(c+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},Rz=(Oz.create(),Oz.create()),Fz=function(t,e,r,n,i,a){return Oz.identity(t),Oz.fromRotationTranslation(t,a,e),t[3]=i[0],t[7]=i[1],t[11]=i[2],t[15]=i[3],Oz.identity(Rz),0!==n[2]&&(Rz[9]=n[2],Oz.multiply(t,t,Rz)),0!==n[1]&&(Rz[9]=0,Rz[8]=n[1],Oz.multiply(t,t,Rz)),0!==n[0]&&(Rz[8]=0,Rz[4]=n[0],Oz.multiply(t,t,Rz)),Oz.scale(t,t,r),t};var Bz=function(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],h=e[2],f=e[3],p=r[0],d=r[1],g=r[2],v=r[3];(a=u*p+c*d+h*g+f*v)<0&&(a=-a,p=-p,d=-d,g=-g,v=-v);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);return t[0]=s*u+l*p,t[1]=s*c+l*d,t[2]=s*h+l*g,t[3]=s*f+l*v,t},Nz=qz(),jz=qz(),Vz=qz(),Uz=function(t,e,r,n){if(0===xz(e)||0===xz(r))return!1;var i=Pz(e,Nz.translate,Nz.scale,Nz.skew,Nz.perspective,Nz.quaternion),a=Pz(r,jz.translate,jz.scale,jz.skew,jz.perspective,jz.quaternion);return!(!i||!a||(bz(Vz.translate,Nz.translate,jz.translate,n),bz(Vz.skew,Nz.skew,jz.skew,n),bz(Vz.scale,Nz.scale,jz.scale,n),bz(Vz.perspective,Nz.perspective,jz.perspective,n),Bz(Vz.quaternion,Nz.quaternion,jz.quaternion,n),Fz(t,Vz.translate,Vz.scale,Vz.skew,Vz.perspective,Vz.quaternion),0))};function qz(){return{translate:Hz(),scale:Hz(1),skew:Hz(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function Hz(t){return[t||0,t||0,t||0]}var Gz=[0,0,0],Wz=function(t){return new Yz((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};function Yz(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]}var Xz=Yz.prototype;Xz.recalcMatrix=function(t){var e=this._time,r=wT.le(e,t),n=this.computedMatrix;if(!(r<0)){var i=this._components;if(r===e.length-1)for(var a=16*r,o=0;o<16;++o)n[o]=i[a++];else{var s=e[r+1]-e[r],l=(a=16*r,this.prevMatrix),u=!0;for(o=0;o<16;++o)l[o]=i[a++];var c=this.nextMatrix;for(o=0;o<16;++o)c[o]=i[a++],u=u&&l[o]===c[o];if(s<1e-6||u)for(o=0;o<16;++o)n[o]=l[o];else Uz(n,l,c,(t-e[r])/s)}var h=this.computedUp;h[0]=n[1],h[1]=n[5],h[2]=n[9],yz(h,h);var f=this.computedInverse;cz(f,n);var p=this.computedEye,d=f[15];p[0]=f[12]/d,p[1]=f[13]/d,p[2]=f[14]/d;var g=this.computedCenter,v=Math.exp(this.computedRadius[0]);for(o=0;o<3;++o)g[o]=p[o]-n[2+4*o]*v}},Xz.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)}},Xz.flush=function(t){var e=wT.gt(this._time,t)-2;e<0||(this._time.splice(0,e),this._components.splice(0,16*e))},Xz.lastT=function(){return this._time[this._time.length-1]},Xz.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||Gz,n=n||this.computedUp,this.setMatrix(t,fz(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},Xz.rotate=function(t,e,r,n){this.recalcMatrix(t);var i=this.computedInverse;e&&dz(i,i,e),r&&pz(i,i,r),n&&gz(i,i,n),this.setMatrix(t,cz(this.computedMatrix,i))};var Zz=[0,0,0];Xz.pan=function(t,e,r,n){Zz[0]=-(e||0),Zz[1]=-(r||0),Zz[2]=-(n||0),this.recalcMatrix(t);var i=this.computedInverse;mz(i,i,Zz),this.setMatrix(t,cz(i,i))},Xz.translate=function(t,e,r,n){Zz[0]=e||0,Zz[1]=r||0,Zz[2]=n||0,this.recalcMatrix(t);var i=this.computedMatrix;mz(i,i,Zz),this.setMatrix(t,i)},Xz.setMatrix=function(t,e){if(!(t<this.lastT())){this._time.push(t);for(var r=0;r<16;++r)this._components.push(e[r])}},Xz.setDistance=function(t,e){this.computedRadius[0]=e},Xz.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},Xz.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e};var Jz={};(Jz=function(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 p=t.length-1;p>=0;--p)a[p]=u*t[p]+c*e[p]+h*r[p]+f*n[p];return a}return u*t+c*e+h*r+f*n}).derivative=function(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};var Kz=function(t,e,r){switch(arguments.length){case 0:return new $z([0],[0],0);case 1:if(\"number\"==typeof t){var n=eP(t);return new $z(n,n,0)}return new $z(t,eP(t.length),0);case 2:if(\"number\"==typeof e){var n=eP(t.length);return new $z(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error(\"state and velocity lengths must match\");return new $z(t,e,r)}};function Qz(t,e,r){return Math.min(e,Math.max(t,r))}function $z(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()]}var tP=$z.prototype;function eP(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=0;return e}tP.flush=function(t){var e=wT.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))},tP.curve=function(t){var e=this._time,r=e.length,n=wT.le(e,t),i=this._scratch[0],a=this._state,o=this._velocity,s=this.dimension,l=this.bounds;if(n<0)for(var u=s-1,c=0;c<s;++c,--u)i[c]=a[u];else if(n>=r-1){u=a.length-1;var h=t-e[r-1];for(c=0;c<s;++c,--u)i[c]=a[u]+h*o[u]}else{u=s*(n+1)-1;var f=e[n],p=e[n+1]-f||1,d=this._scratch[1],g=this._scratch[2],v=this._scratch[3],m=this._scratch[4],y=!0;for(c=0;c<s;++c,--u)d[c]=a[u],v[c]=o[u]*p,g[c]=a[u+s],m[c]=o[u+s]*p,y=y&&d[c]===g[c]&&v[c]===m[c]&&0===v[c];if(y)for(c=0;c<s;++c)i[c]=d[c];else Jz(d,v,g,m,(t-f)/p,i)}var x=l[0],b=l[1];for(c=0;c<s;++c)i[c]=Qz(x[c],b[c],i[c]);return i},tP.dcurve=function(t){var e=this._time,r=e.length,n=wT.le(e,t),i=this._scratch[0],a=this._state,o=this._velocity,s=this.dimension;if(n>=r-1)for(var l=a.length-1,u=(e[r-1],0);u<s;++u,--l)i[u]=o[l];else{l=s*(n+1)-1;var c=e[n],h=e[n+1]-c||1,f=this._scratch[1],p=this._scratch[2],d=this._scratch[3],g=this._scratch[4],v=!0;for(u=0;u<s;++u,--l)f[u]=a[l],d[u]=o[l]*h,p[u]=a[l+s],g[u]=o[l+s]*h,v=v&&f[u]===p[u]&&d[u]===g[u]&&0===d[u];if(v)for(u=0;u<s;++u)i[u]=0;else{Jz.derivative(f,d,p,g,(t-c)/h,i);for(u=0;u<s;++u)i[u]/=h}}return i},tP.lastT=function(){var t=this._time;return t[t.length-1]},tP.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r>=0;--r)if(t[--e])return!1;return!0},tP.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,a=n.length-this.dimension,o=this.bounds,s=o[0],l=o[1];this._time.push(e,t);for(var u=0;u<2;++u)for(var c=0;c<r;++c)n.push(n[a++]),i.push(0);this._time.push(t);for(c=r;c>0;--c)n.push(Qz(s[c-1],l[c-1],arguments[c])),i.push(0)}},tP.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,a=n.length-this.dimension,o=t-e,s=this.bounds,l=s[0],u=s[1],c=o>1e-6?1/o:0;this._time.push(t);for(var h=r;h>0;--h){var f=Qz(l[h-1],u[h-1],arguments[h]);n.push(f),i.push((f-n[a++])*c)}}},tP.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,n=this._velocity,i=this.bounds,a=i[0],o=i[1];this._time.push(t);for(var s=e;s>0;--s)r.push(Qz(a[s-1],o[s-1],arguments[s])),n.push(0)}},tP.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,a=n.length-this.dimension,o=this.bounds,s=o[0],l=o[1],u=t-e,c=u>1e-6?1/u:0;this._time.push(t);for(var h=r;h>0;--h){var f=arguments[h];n.push(Qz(s[h-1],l[h-1],n[a++]+f)),i.push(f*c)}}},tP.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,n=this._state,i=this._velocity,a=n.length-r,o=this.bounds,s=o[0],l=o[1],u=t-e;this._time.push(t);for(var c=r-1;c>=0;--c)n.push(Qz(s[c],l[c],n[a]+u*i[a])),i.push(0),a+=1}};var rP=function(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};var nP=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),oP(r=[].slice.call(r,0,4),r);var i=new sP(r,e,Math.log(n));i.setDistanceLimits(t.zoomMin,t.zoomMax),(\"eye\"in t||\"up\"in t)&&i.lookAt(0,t.eye,t.center,t.up);return i};function iP(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function aP(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function oP(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=aP(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function sP(t,e,r){this.radius=Kz([r]),this.center=Kz(e),this.rotation=Kz(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)}var lP=sP.prototype;lP.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},lP.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;oP(e,e);var r=this.computedMatrix;jv(r,e);var n=this.computedCenter,i=this.computedEye,a=this.computedUp,o=Math.exp(this.computedRadius[0]);i[0]=n[0]+o*r[2],i[1]=n[1]+o*r[6],i[2]=n[2]+o*r[10],a[0]=r[1],a[1]=r[5],a[2]=r[9];for(var s=0;s<3;++s){for(var l=0,u=0;u<3;++u)l+=r[s+4*u]*i[u];r[12+s]=-l}},lP.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},lP.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},lP.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},lP.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],l=iP(a,o,s);a/=l,o/=l,s/=l;var u=i[0],c=i[4],h=i[8],f=u*a+c*o+h*s,p=iP(u-=a*f,c-=o*f,h-=s*f);u/=p,c/=p,h/=p;var d=i[2],g=i[6],v=i[10],m=d*a+g*o+v*s,y=d*u+g*c+v*h,x=iP(d-=m*a+y*u,g-=m*o+y*c,v-=m*s+y*h);d/=x,g/=x,v/=x;var b=u*e+a*r,_=c*e+o*r,w=h*e+s*r;this.center.move(t,b,_,w);var M=Math.exp(this.computedRadius[0]);M=Math.max(1e-4,M+n),this.radius.set(t,Math.log(M))},lP.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],l=i[1],u=i[5],c=i[9],h=i[2],f=i[6],p=i[10],d=e*a+r*l,g=e*o+r*u,v=e*s+r*c,m=-(f*v-p*g),y=-(p*d-h*v),x=-(h*g-f*d),b=Math.sqrt(Math.max(0,1-Math.pow(m,2)-Math.pow(y,2)-Math.pow(x,2))),_=aP(m,y,x,b);_>1e-6?(m/=_,y/=_,x/=_,b/=_):(m=y=x=0,b=1);var w=this.computedRotation,M=w[0],A=w[1],k=w[2],T=w[3],S=M*b+T*m+A*x-k*y,E=A*b+T*y+k*m-M*x,C=k*b+T*x+M*y-A*m,L=T*b-M*m-A*y-k*x;if(n){m=h,y=f,x=p;var z=Math.sin(n)/iP(m,y,x);m*=z,y*=z,x*=z,L=L*(b=Math.cos(e))-(S=S*b+L*m+E*x-C*y)*m-(E=E*b+L*y+C*m-S*x)*y-(C=C*b+L*x+S*y-E*m)*x}var P=aP(S,E,C,L);P>1e-6?(S/=P,E/=P,C/=P,L/=P):(S=E=C=0,L=1),this.rotation.set(t,S,E,C,L)},lP.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;fz(i,e,r,n);var a=this.computedRotation;rP(a,i[0],i[1],i[2],i[4],i[5],i[6],i[8],i[9],i[10]),oP(a,a),this.rotation.set(t,a[0],a[1],a[2],a[3]);for(var o=0,s=0;s<3;++s)o+=Math.pow(r[s]-e[s],2);this.radius.set(t,.5*Math.log(Math.max(o,1e-6))),this.center.set(t,r[0],r[1],r[2])},lP.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},lP.setMatrix=function(t,e){var r=this.computedRotation;rP(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),oP(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;cz(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,o=n[13]/i,s=n[14]/i;this.recalcMatrix(t);var l=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*l,o-n[6]*l,s-n[10]*l),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},lP.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},lP.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},lP.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])]},lP.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]}},lP.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)};var uP=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d,g,v,m,y,x,b,_,w,M,A,k,T,S,E=n[0],C=n[1],L=n[2],z=Math.sqrt(E*E+C*C+L*L);if(Math.abs(z)<1e-6)return null;E*=z=1/z,C*=z,L*=z,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],p=e[6],d=e[7],g=e[8],v=e[9],m=e[10],y=e[11],x=E*E*o+a,b=C*E*o+L*i,_=L*E*o-C*i,w=E*C*o-L*i,M=C*C*o+a,A=L*C*o+E*i,k=E*L*o+C*i,T=C*L*o-E*i,S=L*L*o+a,t[0]=s*x+h*b+g*_,t[1]=l*x+f*b+v*_,t[2]=u*x+p*b+m*_,t[3]=c*x+d*b+y*_,t[4]=s*w+h*M+g*A,t[5]=l*w+f*M+v*A,t[6]=u*w+p*M+m*A,t[7]=c*w+d*M+y*A,t[8]=s*k+h*T+g*S,t[9]=l*k+f*T+v*S,t[10]=u*k+p*T+m*S,t[11]=c*k+d*T+y*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t};var cP=function(t){var e=(t=t||{}).center||[0,0,0],r=t.up||[0,1,0],n=t.right||pP(r),i=t.radius||1,a=t.theta||0,o=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),yz(r,r),n=[].slice.call(n,0,3),yz(n,n),\"eye\"in t){var s=t.eye,l=[s[0]-e[0],s[1]-e[1],s[2]-e[2]];Az(n,l,r),hP(n[0],n[1],n[2])<1e-6?n=pP(r):yz(n,n),i=hP(l[0],l[1],l[2]);var u=kz(r,l)/i,c=kz(n,l)/i;o=Math.acos(u),a=Math.acos(c)}return i=Math.log(i),new dP(t.zoomMin,t.zoomMax,e,r,n,i,a,o)};function hP(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function fP(t){return Math.min(1,Math.max(-1,t))}function pP(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(s=0;s<3;++s)i[s]-=o/a*t[s];return yz(i,i),i}function dP(t,e,r,n,i,a,o,s){this.center=Kz(r),this.up=Kz(n),this.right=Kz(i),this.radius=Kz([a]),this.angle=Kz([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 l=0;l<16;++l)this.computedMatrix[l]=.5;this.recalcMatrix(0)}var gP=dP.prototype;gP.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},gP.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])]},gP.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,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var o=Math.sqrt(n),s=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,s+=r[a]*r[a],e[a]/=o;var l=Math.sqrt(s);for(a=0;a<3;++a)r[a]/=l;var u=this.computedToward;Az(u,e,r),yz(u,u);var c=Math.exp(this.computedRadius[0]),h=this.computedAngle[0],f=this.computedAngle[1],p=Math.cos(h),d=Math.sin(h),g=Math.cos(f),v=Math.sin(f),m=this.computedCenter,y=p*g,x=d*g,b=v,_=-p*v,w=-d*v,M=g,A=this.computedEye,k=this.computedMatrix;for(a=0;a<3;++a){var T=y*r[a]+x*u[a]+b*e[a];k[4*a+1]=_*r[a]+w*u[a]+M*e[a],k[4*a+2]=T,k[4*a+3]=0}var S=k[1],E=k[5],C=k[9],L=k[2],z=k[6],P=k[10],I=E*P-C*z,D=C*L-S*P,O=S*z-E*L,R=hP(I,D,O);I/=R,D/=R,O/=R,k[0]=I,k[4]=D,k[8]=O;for(a=0;a<3;++a)A[a]=m[a]+k[2+4*a]*c;for(a=0;a<3;++a){s=0;for(var F=0;F<3;++F)s+=k[a+4*F]*A[F];k[12+a]=-s}k[15]=1},gP.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 vP=[0,0,0];gP.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;vP[0]=i[2],vP[1]=i[6],vP[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];uP(i,i,n,vP);for(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])}},gP.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=hP(a,o,s);a/=l,o/=l,s/=l;var u=i[0],c=i[4],h=i[8],f=u*a+c*o+h*s,p=hP(u-=a*f,c-=o*f,h-=s*f),d=(u/=p)*e+a*r,g=(c/=p)*e+o*r,v=(h/=p)*e+s*r;this.center.move(t,d,g,v);var m=Math.exp(this.computedRadius[0]);m=Math.max(1e-4,m+n),this.radius.set(t,Math.log(m))},gP.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},gP.setMatrix=function(t,e,r,n){var i=1;\"number\"==typeof r&&(i=0|r),(i<0||i>3)&&(i=1);var a=(i+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var o=e[i],s=e[i+4],l=e[i+8];if(n){var u=Math.abs(o),c=Math.abs(s),h=Math.abs(l),f=Math.max(u,c,h);u===f?(o=o<0?-1:1,s=l=0):h===f?(l=l<0?-1:1,o=s=0):(s=s<0?-1:1,o=l=0)}else{var p=hP(o,s,l);o/=p,s/=p,l/=p}var d,g,v=e[a],m=e[a+4],y=e[a+8],x=v*o+m*s+y*l,b=hP(v-=o*x,m-=s*x,y-=l*x),_=s*(y/=b)-l*(m/=b),w=l*(v/=b)-o*y,M=o*m-s*v,A=hP(_,w,M);if(_/=A,w/=A,M/=A,this.center.jump(t,V,U,q),this.radius.idle(t),this.up.jump(t,o,s,l),this.right.jump(t,v,m,y),2===i){var k=e[1],T=e[5],S=e[9],E=k*v+T*m+S*y,C=k*_+T*w+S*M;d=I<0?-Math.PI/2:Math.PI/2,g=Math.atan2(C,E)}else{var L=e[2],z=e[6],P=e[10],I=L*o+z*s+P*l,D=L*v+z*m+P*y,O=L*_+z*w+P*M;d=Math.asin(fP(I)),g=Math.atan2(O,D)}this.angle.jump(t,g,d),this.recalcMatrix(t);var R=e[2],F=e[6],B=e[10],N=this.computedMatrix;cz(N,e);var j=N[15],V=N[12]/j,U=N[13]/j,q=N[14]/j,H=Math.exp(this.computedRadius[0]);this.center.jump(t,V-R*H,U-F*H,q-B*H)},gP.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},gP.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},gP.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},gP.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},gP.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=hP(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],u=e[1]-r[1],c=e[2]-r[2],h=hP(l,u,c);if(!(h<1e-6)){l/=h,u/=h,c/=h;var f=this.computedRight,p=f[0],d=f[1],g=f[2],v=i*p+a*d+o*g,m=hP(p-=v*i,d-=v*a,g-=v*o);if(!(m<.01&&(m=hP(p=a*c-o*u,d=o*l-i*c,g=i*u-a*l))<1e-6)){p/=m,d/=m,g/=m,this.up.set(t,i,a,o),this.right.set(t,p,d,g),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(h));var y=a*g-o*d,x=o*p-i*g,b=i*d-a*p,_=hP(y,x,b),w=i*l+a*u+o*c,M=p*l+d*u+g*c,A=(y/=_)*l+(x/=_)*u+(b/=_)*c,k=Math.asin(fP(w)),T=Math.atan2(A,M),S=this.angle._state,E=S[S.length-1],C=S[S.length-2];E%=2*Math.PI;var L=Math.abs(E+2*Math.PI-T),z=Math.abs(E-T),P=Math.abs(E-2*Math.PI-T);L<z&&(E+=2*Math.PI),P<z&&(E-=2*Math.PI),this.angle.jump(this.angle.lastT(),E,C),this.angle.set(t,T,k)}}}};var mP=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],n=t.up||[0,1,0],i=t.distanceLimits||[0,1/0],a=t.mode||\"turntable\",o=cP(),s=nP(),l=Wz();return o.setDistanceLimits(i[0],i[1]),o.lookAt(0,e,r,n),s.setDistanceLimits(i[0],i[1]),s.lookAt(0,e,r,n),l.setDistanceLimits(i[0],i[1]),l.lookAt(0,e,r,n),new yP({turntable:o,orbit:s,matrix:l},a)};function yP(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}var xP=yP.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()+\")}\";xP[e]=Function.apply(null,r.concat(i))}),xP.recalcMatrix=function(t){this._active.recalcMatrix(t)},xP.getDistance=function(t){return this._active.getDistance(t)},xP.getDistanceLimits=function(t){return this._active.getDistanceLimits(t)},xP.lastT=function(){return this._active.lastT()},xP.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}}},xP.getMode=function(){return this._mode};var bP={};(function(t){bP=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:{});var _P=function(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=mP({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\"orbit\",distanceLimits:r}),i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],a=0,o=t.clientWidth,s=t.clientHeight,l={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=bP(),r=this.delay;n.idle(e-r),n.flush(e-(100+2*r));var l=e-2*r;n.recalcMatrix(l);for(var u=!0,c=n.computedMatrix,h=0;h<16;++h)u=u&&i[h]===c[h],i[h]=c[h];var f=t.clientWidth===o&&t.clientHeight===s;return o=t.clientWidth,s=t.clientHeight,u?!f:(a=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(l,{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 a},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 u=0,c=0,h={shift:!1,control:!1,alt:!1,meta:!1};function f(e,r,i,o){var s=1/t.clientHeight,f=s*(r-u),p=s*(i-c),d=l.flipX?1:-1,g=l.flipY?1:-1,v=Math.PI*l.rotateSpeed,m=bP();if(1&e)o.shift?n.rotate(m,0,0,-f*v):n.rotate(m,d*v*f,-g*v*p,0);else if(2&e)n.pan(m,-l.translateSpeed*f*a,l.translateSpeed*p*a,0);else if(4&e){var y=l.zoomSpeed*p/window.innerHeight*(m-n.lastT())*50;n.pan(m,0,0,a*(Math.exp(y)-1))}u=r,c=i,h=o}return CC(t,f),t.addEventListener(\"touchstart\",function(e){var r=La(e.changedTouches[0],t);f(0,r[0],r[1],h),f(1,r[0],r[1],h),e.preventDefault()},!!Ea&&{passive:!1}),t.addEventListener(\"touchmove\",function(e){var r=La(e.changedTouches[0],t);f(1,r[0],r[1],h),e.preventDefault()},!!Ea&&{passive:!1}),t.addEventListener(\"touchend\",function(e){La(e.changedTouches[0],t),f(0,u,c,h),e.preventDefault()},!!Ea&&{passive:!1}),OC(t,function(t,e,r){var i=l.flipX?1:-1,o=l.flipY?1:-1,s=bP();if(Math.abs(t)>Math.abs(e))n.rotate(s,0,0,-t*i*Math.PI*l.rotateSpeed/window.innerWidth);else{var u=l.zoomSpeed*o*e/window.innerHeight*(s-n.lastT())/100;n.pan(s,0,0,a*(Math.exp(u)-1))}},!0),l};var wP=function(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 for(t.bindBuffer(t.ARRAY_BUFFER,null),i=0;i<n;++i)t.disableVertexAttribArray(i)};function MP(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}MP.prototype.bind=function(){wP(this.gl,this._elements,this._attributes)},MP.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},MP.prototype.dispose=function(){},MP.prototype.unbind=function(){},MP.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)};var AP=function(t){return new MP(t)};function kP(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 TP(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}kP.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)}},TP.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t<this._attribs.length;++t)this._attribs[t].bind(this.gl)},TP.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},TP.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},TP.prototype.update=function(t,e,r){if(this.bind(),wP(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var n=0;n<t.length;++n){var i=t[n];\"number\"==typeof i?this._attribs.push(new kP(n,1,i)):Array.isArray(i)&&this._attribs.push(new kP(n,i.length,i[0],i[1],i[2],i[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},TP.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)};var SP=function(t,e){return new TP(t,e,e.createVertexArrayOES())};var EP=function(t,e,r,n){var i,a=t.createVertexArray?new function(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}(t):t.getExtension(\"OES_vertex_array_object\");return(i=a?SP(t,a):AP(t)).update(e,r,n),i},CP={};!function(){\"use strict\";if(\"undefined\"==typeof ses||!ses.ok||ses.ok()){\"undefined\"!=typeof ses&&(ses.weakMapPermitHostObjects=g);var t=!1;if(\"function\"==typeof WeakMap){var e=WeakMap;if(\"undefined\"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var r=new e,n=Object.freeze({});if(r.set(n,1),1===r.get(n))return void(CP=WeakMap);t=!0}}Object.prototype.hasOwnProperty;var i=Object.getOwnPropertyNames,a=Object.defineProperty,o=Object.isExtensible,s=\"weakmap:\",l=s+\"ident:\"+Math.random()+\"___\";if(\"undefined\"!=typeof crypto&&\"function\"==typeof crypto.getRandomValues&&\"function\"==typeof ArrayBuffer&&\"function\"==typeof Uint8Array){var u=new ArrayBuffer(25),c=new Uint8Array(u);crypto.getRandomValues(c),l=s+\"rand:\"+Array.prototype.map.call(c,function(t){return(t%36).toString(36)}).join(\"\")+\"___\"}if(a(Object,\"getOwnPropertyNames\",{value:function(t){return i(t).filter(v)}}),\"getPropertyNames\"in Object){var h=Object.getPropertyNames;a(Object,\"getPropertyNames\",{value:function(t){return h(t).filter(v)}})}!function(){var t=Object.freeze;a(Object,\"freeze\",{value:function(e){return m(e),t(e)}});var e=Object.seal;a(Object,\"seal\",{value:function(t){return m(t),e(t)}});var r=Object.preventExtensions;a(Object,\"preventExtensions\",{value:function(t){return m(t),r(t)}})}();var f=!1,p=0,d=function(){this instanceof d||x();var t=[],e=[],r=p++;return Object.create(d.prototype,{get___:{value:y(function(n,i){var a,o=m(n);return o?r in o?o[r]:i:(a=t.indexOf(n))>=0?e[a]:i})},has___:{value:y(function(e){var n=m(e);return n?r in n:t.indexOf(e)>=0})},set___:{value:y(function(n,i){var a,o=m(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this})},delete___:{value:y(function(n){var i,a,o=m(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,0))})}})};d.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 e?function(){function r(){this instanceof d||x();var r,n=new e,i=void 0,a=!1;return r=t?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new d),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new d),i.set___(t,e)}else n.set(t,e);return this},Object.create(d.prototype,{get___:{value:y(function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)})},has___:{value:y(function(t){return n.has(t)||!!i&&i.has___(t)})},set___:{value:y(r)},delete___:{value:y(function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e})},permitHostObjects___:{value:y(function(t){if(t!==g)throw new Error(\"bogus call to permitHostObjects___\");a=!0})}})}t&&\"undefined\"!=typeof Proxy&&(Proxy=void 0),r.prototype=d.prototype,CP=r,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(\"undefined\"!=typeof Proxy&&(Proxy=void 0),CP=d)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function v(t){return!(t.substr(0,s.length)==s&&\"___\"===t.substr(t.length-3))}function m(t){if(t!==Object(t))throw new TypeError(\"Not an object: \"+t);var e=t[l];if(e&&e.key===t)return e;if(o(t)){e={key:t};try{return a(t,l,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function y(t){return t.prototype=null,Object.freeze(t)}function x(){f||\"undefined\"==typeof console||(f=!0,console.warn(\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\"))}}();var LP=new(\"undefined\"==typeof WeakMap?CP:WeakMap);var zP=function(t){var e=LP.get(t),r=e&&(e._triangleBuffer.handle||e._triangleBuffer.buffer);if(!r||!t.isBuffer(r)){var n=S_(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=EP(t,[{buffer:n,type:t.FLOAT,size:2}]))._triangleBuffer=n,LP.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()},PP={},IP=E_([\"#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\"]),DP=E_([\"precision mediump float;\\n#define GLSLIFY 1\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = color;\\n}\"]);PP.line=function(t){return Bw(t,IP,DP,null,[{name:\"position\",type:\"vec3\"}])};var OP=E_([\"#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}\"]),RP=E_([\"precision mediump float;\\n#define GLSLIFY 1\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = color;\\n}\"]);PP.text=function(t){return Bw(t,OP,RP,null,[{name:\"position\",type:\"vec3\"}])};var FP=E_([\"#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}\"]),BP=E_([\"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}\"]);PP.bg=function(t){return Bw(t,FP,BP,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])};var NP=function(t){for(var e=[],r=[],n=0,i=0;i<3;++i)for(var a=(i+1)%3,o=(i+2)%3,s=[0,0,0],l=[0,0,0],u=-1;u<=1;u+=2){r.push(n,n+2,n+1,n+1,n+2,n+3),s[i]=u,l[i]=u;for(var c=-1;c<=1;c+=2){s[a]=c;for(var h=-1;h<=1;h+=2)s[o]=h,e.push(s[0],s[1],s[2],l[0],l[1],l[2]),n+=1}var f=a;a=o,o=f}var p=S_(t,new Float32Array(e)),d=S_(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),g=EP(t,[{buffer:p,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:p,type:t.FLOAT,size:3,offset:12,stride:24}],d),v=jP(t);return v.attributes.position.location=0,v.attributes.normal.location=1,new VP(t,p,g,v)},jP=PP.bg;function VP(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var UP=VP.prototype;UP.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),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},UP.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};var qP=function(t,e){for(var r=cM(t[0],e[0]),n=1;n<t.length;++n)r=gM(r,cM(t[n],e[n]));return r};var HP={};function GP(t,e){var r=gM(qP(t,e),[e[e.length-1]]);return r[r.length-1]}function WP(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l<o;++l)s[l]=i*t[l]+a*r[l];return s}(HP=function(t,e){for(var r=[],n=[],i=GP(t[t.length-1],e),a=t[t.length-1],o=t[0],s=0;s<t.length;++s,a=o){var l=GP(o=t[s],e);if(i<0&&l>0||i>0&&l<0){var u=WP(a,l,o,i);r.push(u),n.push(u.slice())}l<0?n.push(o.slice()):l>0?r.push(o.slice()):(r.push(o.slice()),n.push(o.slice())),i=l}return{positive:r,negative:n}}).positive=function(t,e){for(var r=[],n=GP(t[t.length-1],e),i=t[t.length-1],a=t[0],o=0;o<t.length;++o,i=a){var s=GP(a=t[o],e);(n<0&&s>0||n>0&&s<0)&&r.push(WP(i,s,a,n)),s>=0&&r.push(a.slice()),n=s}return r},HP.negative=function(t,e){for(var r=[],n=GP(t[t.length-1],e),i=t[t.length-1],a=t[0],o=0;o<t.length;++o,i=a){var s=GP(a=t[o],e);(n<0&&s>0||n>0&&s<0)&&r.push(WP(i,s,a,n)),s<=0&&r.push(a.slice()),n=s}return r};var YP=function(t,e,r,n){Dz(XP,e,t),Dz(XP,r,XP);for(var i=0,a=0;a<2;++a){KP[2]=n[a][2];for(var o=0;o<2;++o){KP[1]=n[o][1];for(var s=0;s<2;++s)KP[0]=n[s][0],$P(ZP[i],KP,XP),i+=1}}for(var l=-1,a=0;a<8;++a){for(var u=ZP[a][3],c=0;c<3;++c)JP[a][c]=ZP[a][c]/u;u<0&&(l<0?l=a:JP[a][2]<JP[l][2]&&(l=a))}if(l<0){l=0;for(var h=0;h<3;++h){for(var f=(h+2)%3,p=(h+1)%3,d=-1,g=-1,v=0;v<2;++v){var m=v<<h,y=m+(v<<f)+(1-v<<p),x=m+(1-v<<f)+(v<<p);PM(JP[m],JP[y],JP[x],QP)<0||(v?d=1:g=1)}if(d<0||g<0)g>d&&(l|=1<<h);else{for(var v=0;v<2;++v){var m=v<<h,y=m+(v<<f)+(1-v<<p),x=m+(1-v<<f)+(v<<p),b=eI([ZP[m],ZP[y],ZP[x],ZP[m+(1<<f)+(1<<p)]]);v?d=b:g=b}g>d&&(l|=1<<h)}}}for(var _=7^l,w=-1,a=0;a<8;++a)a!==l&&a!==_&&(w<0?w=a:JP[w][1]>JP[a][1]&&(w=a));for(var M=-1,a=0;a<3;++a){var A=w^1<<a;if(A!==l&&A!==_){M<0&&(M=A);var p=JP[A];p[0]<JP[M][0]&&(M=A)}}for(var k=-1,a=0;a<3;++a){var A=w^1<<a;if(A!==l&&A!==_&&A!==M){k<0&&(k=A);var p=JP[A];p[0]>JP[k][0]&&(k=A)}}var T=rI;T[0]=T[1]=T[2]=0,T[Mb.log2(M^w)]=w&M,T[Mb.log2(w^k)]=w&k;var S=7^k;S===l||S===_?(S=7^M,T[Mb.log2(k^S)]=S&k):T[Mb.log2(M^S)]=S&M;for(var E=nI,C=l,h=0;h<3;++h)E[h]=C&1<<h?-1:1;return iI},XP=new Array(16),ZP=(new Array(16),new Array(8)),JP=new Array(8),KP=new Array(3),QP=[0,0,0];function $P(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(){for(var t=0;t<8;++t)ZP[t]=[1,1,1,1],JP[t]=[1,1,1]}();var tI=[[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]];function eI(t){for(var e=0;e<tI.length;++e)if((t=HP.positive(t,tI[e])).length<3)return 0;var r=t[0],n=r[0]/r[3],i=r[1]/r[3],a=0;for(e=1;e+1<t.length;++e){var o=t[e],s=t[e+1],l=o[0]/o[3]-n,u=o[1]/o[3]-i,c=s[0]/s[3]-n,h=s[1]/s[3]-i;a+=Math.abs(l*h-u*c)}return a}var rI=[1,1,1],nI=[0,0,0],iI={cubeEdges:rI,axis:nI};var aI=function(t,e,r){var n=[],i=[0,0,0],a=[0,0,0],o=[0,0,0],s=[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 l=0;l<3;++l){for(var u=n.length/3|0,c=0;c<r[l].length;++c){var h=+r[l][c].x;n.push(h,0,1,h,1,1,h,0,-1,h,0,-1,h,1,1,h,1,-1)}var f=n.length/3|0;i[l]=u,a[l]=f-u;for(var u=n.length/3|0,p=0;p<r[l].length;++p){var h=+r[l][p].x;n.push(h,0,1,h,1,1,h,0,-1,h,0,-1,h,1,1,h,1,-1)}var f=n.length/3|0;o[l]=u,s[l]=f-u}var d=S_(t,new Float32Array(n)),g=EP(t,[{buffer:d,type:t.FLOAT,size:3,stride:0,offset:0}]),v=oI(t);return v.attributes.position.location=0,new dI(t,d,g,v,a,i,s,o)},oI=PP.line,sI=[0,0,0],lI=[0,0,0],uI=[0,0,0],cI=[0,0,0],hI=[1,1];function fI(t){return t[0]=t[1]=t[2]=0,t}function pI(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function dI(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}var gI=dI.prototype;gI.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,hI[0]=this.gl.drawingBufferWidth,hI[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=hI,this.vao.bind()},gI.unbind=function(){this.vao.unbind()},gI.drawAxisLine=function(t,e,r,n,i){var a=fI(lI);this.shader.uniforms.majorAxis=lI,a[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=a;var o,s=pI(cI,r);s[t]+=e[0][t],this.shader.uniforms.offset=s,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=n,(o=fI(uI))[(t+2)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6),(o=fI(uI))[(t+1)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6)},gI.drawAxisTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=fI(sI);a[t]=1,this.shader.uniforms.majorAxis=a,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=n,this.shader.uniforms.lineWidth=i;var o=fI(uI);o[t]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},gI.drawGrid=function(t,e,r,n,i,a){if(this.gridCount[t]){var o=fI(lI);o[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=o;var s=pI(cI,n);s[e]+=r[0][e],this.shader.uniforms.offset=s;var l=fI(sI);l[t]=1,this.shader.uniforms.majorAxis=l;var u=fI(uI);u[t]=1,this.shader.uniforms.screenAxis=u,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},gI.drawZero=function(t,e,r,n,i,a){var o=fI(lI);this.shader.uniforms.majorAxis=o,o[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=o;var s=pI(cI,n);s[t]+=r[0][t],this.shader.uniforms.offset=s;var l=fI(uI);l[e]=1,this.shader.uniforms.screenAxis=l,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,6)},gI.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()};var vI={};(function(t){\"use strict\";vI=function(t,r,n,a,o,s){var l=S_(t),u=EP(t,[{buffer:l,size:3}]),c=e(t);c.attributes.position.location=0;var h=new i(t,c,l,u);return h.update(r,n,a,o,s),h};var e=PP.text,r=window||t.global||{},n=r.__TEXT_CACHE||{};r.__TEXT_CACHE={};function i(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}var a=i.prototype,o=[0,0];a.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,o[0]=this.gl.drawingBufferWidth,o[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=o},a.unbind=function(){this.vao.unbind()},a.update=function(t,e,r,i,a){this.gl;var o=[];function s(t,e,r,i){var a=n[r];a||(a=n[r]={});var s=a[e];s||(s=a[e]=function(t,e){try{return ME(t,e)}catch(t){return console.warn(\"error vectorizing text:\",t),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:\"center\",textBaseline:\"middle\"}));for(var l=(i||12)/12,u=s.positions,c=s.cells,h=0,f=c.length;h<f;++h)for(var p=c[h],d=2;d>=0;--d){var g=u[p[d]];o.push(l*g[0],-l*g[1],t)}}for(var l=[0,0,0],u=[0,0,0],c=[0,0,0],h=[0,0,0],f=0;f<3;++f){c[f]=o.length/3|0,s(.5*(t[0][f]+t[1][f]),e[f],r),h[f]=(o.length/3|0)-c[f],l[f]=o.length/3|0;for(var p=0;p<i[f].length;++p)i[f][p].text&&s(i[f][p].x,i[f][p].text,i[f][p].font||a,i[f][p].fontSize||12);u[f]=(o.length/3|0)-l[f]}this.buffer.update(o),this.tickOffset=l,this.tickCount=u,this.labelOffset=c,this.labelCount=h};var s=[0,0,0];a.drawTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=s;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 l=[0,0,0];a.drawLabel=function(t,e,r,n,i){this.labelCount[t]&&(this.shader.uniforms.axis=l,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]))},a.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()}}).call(this,Pp);var mI={};function yI(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}mI.create=function(t,e){for(var r=[],n=0;n<3;++n){for(var i=[],a=(t[0][n],t[1][n],0);a*e[n]<=t[1][n];++a)i.push({x:a*e[n],text:yI(e[n],a)});for(var a=-1;a*e[n]>=t[0][n];--a)i.push({x:a*e[n],text:yI(e[n],a)});r.push(i)}return r},mI.equal=function(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};var xI=function(t,e){var r=new wI(t);return r.update(e),r},bI=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function _I(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function wI(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=NP(t)}var MI=wI.prototype;function AI(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}MI.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,l=!1;if(\"bounds\"in t)for(var u=t.bounds,c=0;c<2;++c)for(var h=0;h<3;++h)u[c][h]!==this.bounds[c][h]&&(l=!0),this.bounds[c][h]=u[c][h];if(\"ticks\"in t){r=t.ticks,s=!0,this.autoTicks=!1;for(c=0;c<3;++c)this.tickSpacing[c]=0}else n(\"tickSpacing\")&&(this.autoTicks=!0,l=!0);if(this._firstInit&&(\"ticks\"in t||\"tickSpacing\"in t||(this.autoTicks=!0),l=!0,s=!0,this._firstInit=!1),l&&this.autoTicks&&(r=mI.create(this.bounds,this.tickSpacing),s=!0),s){for(c=0;c<3;++c)r[c].sort(function(t,e){return t.x-e.x});mI.equal(r,this.ticks)?s=!1:this.ticks=r}i(\"tickEnable\"),a(\"tickFont\")&&(s=!0),n(\"tickSize\"),n(\"tickAngle\"),n(\"tickPad\"),o(\"tickColor\");var f=a(\"labels\");a(\"labelFont\")&&(f=!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&&(f||s)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=vI(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=aI(this.gl,this.bounds,this.ticks))};var kI=[new AI,new AI,new AI];function TI(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,p=o,d=l;u&1<<c&&(h=s,f=a,p=l,d=o),h[c]=r[0][c],f[c]=r[1][c],i[c]>0?(p[c]=-1,d[c]=0):(p[c]=0,d[c]=1)}}var SI=[0,0,0],EI={model:bI,view:bI,projection:bI};MI.isOpaque=function(){return!0},MI.isTransparent=function(){return!1},MI.drawTransparent=function(t){};var CI=[0,0,0],LI=[0,0,0],zI=[0,0,0];MI.draw=function(t){t=t||EI;for(var e=this.gl,r=t.model||bI,n=t.view||bI,i=t.projection||bI,a=this.bounds,o=YP(r,n,i,a),s=o.cubeEdges,l=o.axis,u=n[12],c=n[13],h=n[14],f=n[15],p=this.pixelRatio*(i[3]*u+i[7]*c+i[11]*h+i[15]*f)/e.drawingBufferHeight,d=0;d<3;++d)this.lastCubeProps.cubeEdges[d]=s[d],this.lastCubeProps.axis[d]=l[d];var g=kI;for(d=0;d<3;++d)TI(kI[d],d,this.bounds,s,l);e=this.gl;var v=SI;for(d=0;d<3;++d)this.backgroundEnable[d]?v[d]=l[d]:v[d]=0;this._background.draw(r,n,i,a,v,this.backgroundColor),this._lines.bind(r,n,i,this);for(d=0;d<3;++d){var m=[0,0,0];l[d]>0?m[d]=a[1][d]:m[d]=a[0][d];for(var y=0;y<2;++y){var x=(d+1+y)%3,b=(d+1+(1^y))%3;this.gridEnable[x]&&this._lines.drawGrid(x,b,this.bounds,m,this.gridColor[x],this.gridWidth[x]*this.pixelRatio)}for(y=0;y<2;++y){x=(d+1+y)%3,b=(d+1+(1^y))%3;this.zeroEnable[b]&&a[0][b]<=0&&a[1][b]>=0&&this._lines.drawZero(x,b,this.bounds,m,this.zeroLineColor[b],this.zeroLineWidth[b]*this.pixelRatio)}}for(d=0;d<3;++d){this.lineEnable[d]&&this._lines.drawAxisLine(d,this.bounds,g[d].primalOffset,this.lineColor[d],this.lineWidth[d]*this.pixelRatio),this.lineMirror[d]&&this._lines.drawAxisLine(d,this.bounds,g[d].mirrorOffset,this.lineColor[d],this.lineWidth[d]*this.pixelRatio);var _=_I(CI,g[d].primalMinor),w=_I(LI,g[d].mirrorMinor),M=this.lineTickLength;for(y=0;y<3;++y){var A=p/r[5*y];_[y]*=M[y]*A,w[y]*=M[y]*A}this.lineTickEnable[d]&&this._lines.drawAxisTicks(d,g[d].primalOffset,_,this.lineTickColor[d],this.lineTickWidth[d]*this.pixelRatio),this.lineTickMirror[d]&&this._lines.drawAxisTicks(d,g[d].mirrorOffset,w,this.lineTickColor[d],this.lineTickWidth[d]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio);for(d=0;d<3;++d){var k=g[d].primalMinor,T=_I(zI,g[d].primalOffset);for(y=0;y<3;++y)this.lineTickEnable[d]&&(T[y]+=p*k[y]*Math.max(this.lineTickLength[y],0)/r[5*y]);if(this.tickEnable[d]){for(y=0;y<3;++y)T[y]+=p*k[y]*this.tickPad[y]/r[5*y];this._text.drawTicks(d,this.tickSize[d],this.tickAngle[d],T,this.tickColor[d])}if(this.labelEnable[d]){for(y=0;y<3;++y)T[y]+=p*k[y]*this.labelPad[y]/r[5*y];T[d]+=.5*(a[0][d]+a[1][d]),this._text.drawLabel(d,this.labelSize[d],this.labelAngle[d],T,this.labelColor[d])}}this._text.unbind()},MI.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null};var PI=function(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]]]};var II=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};var DI=function(t,e,r,n,i){var a=e.model||OI,o=e.view||OI,s=e.projection||OI,l=t.bounds,u=(i=i||YP(a,o,s,l)).axis;i.edges;Dz(RI,o,a),Dz(RI,s,RI);for(var c=VI,h=0;h<3;++h)c[h].lo=1/0,c[h].hi=-1/0,c[h].pixelsPerDataUnit=1/0;var f=PI(Mz(RI,RI));Mz(RI,RI);for(var p=0;p<3;++p){var d=(p+1)%3,g=(p+2)%3,v=UI;t:for(var h=0;h<2;++h){var m=[];if(u[p]<0!=!!h){v[p]=l[h][p];for(var y=0;y<2;++y){v[d]=l[y^h][d];for(var x=0;x<2;++x)v[g]=l[x^y^h][g],m.push(v.slice())}for(var y=0;y<f.length;++y){if(0===m.length)continue t;m=HP.positive(m,f[y])}for(var y=0;y<m.length;++y)for(var g=m[y],b=jI(UI,RI,g,r,n),x=0;x<3;++x)c[x].lo=Math.min(c[x].lo,g[x]),c[x].hi=Math.max(c[x].hi,g[x]),x!==p&&(c[x].pixelsPerDataUnit=Math.min(c[x].pixelsPerDataUnit,Math.abs(b[x])))}}}return c},OI=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),RI=new Float32Array(16);function FI(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}var BI=[0,0,0,1],NI=[0,0,0,1];function jI(t,e,r,n,i){for(var a=0;a<3;++a){for(var o=BI,s=NI,l=0;l<3;++l)s[l]=o[l]=r[l];s[3]=o[3]=1,s[a]+=1,II(s,s,e),s[3]<0&&(t[a]=1/0),o[a]-=1,II(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}var VI=[new FI(1/0,-1/0,1/0),new FI(1/0,-1/0,1/0),new FI(1/0,-1/0,1/0)],UI=[0,0,0];var qI=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};var HI=E_([\"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}\"]),GI=E_([\"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}\"]),WI=function(t){return Bw(t,HI,GI,null,[{name:\"position\",type:\"vec2\"}])},YI=E_([\"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\"]),XI=E_([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  gl_FragColor = fragColor;\\n}\"]),ZI=function(t){return Bw(t,YI,XI,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec3\"},{name:\"weight\",type:\"float\"}])},JI=function(t,e){var r=[];function n(t,e,n,i,a,o){var s=[t,e,n,0,0,0,1];s[i+3]=1,s[i]=a,r.push.apply(r,s),s[6]=-1,r.push.apply(r,s),s[i]=o,r.push.apply(r,s),r.push.apply(r,s),s[6]=1,r.push.apply(r,s),s[i]=a,r.push.apply(r,s)}n(0,0,0,0,0,1),n(0,0,0,1,0,1),n(0,0,0,2,0,1),n(1,0,0,1,-1,1),n(1,0,0,2,-1,1),n(0,1,0,0,-1,1),n(0,1,0,2,-1,1),n(0,0,1,0,-1,1),n(0,0,1,1,-1,1);var i=S_(t,r),a=EP(t,[{type:t.FLOAT,buffer:i,size:3,offset:0,stride:28},{type:t.FLOAT,buffer:i,size:3,offset:12,stride:28},{type:t.FLOAT,buffer:i,size:1,offset:24,stride:28}]),o=ZI(t);o.attributes.position.location=0,o.attributes.color.location=1,o.attributes.weight.location=2;var s=new QI(t,i,a,o);return s.update(e),s},KI=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function QI(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}var $I=QI.prototype,tD=[0,0,0],eD=[0,0,0],rD=[0,0];$I.isTransparent=function(){return!1},$I.drawTransparent=function(t){},$I.draw=function(t){var e=this.gl,r=this.vao,n=this.shader;r.bind(),n.bind();var i,a=t.model||KI,o=t.view||KI,s=t.projection||KI;this.axes&&(i=this.axes.lastCubeProps.axis);for(var l=tD,u=eD,c=0;c<3;++c)i&&i[c]<0?(l[c]=this.bounds[0][c],u[c]=this.bounds[1][c]):(l[c]=this.bounds[1][c],u[c]=this.bounds[0][c]);rD[0]=e.drawingBufferWidth,rD[1]=e.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=o,n.uniforms.projection=s,n.uniforms.coordinates=[this.position,l,u],n.uniforms.colors=this.colors,n.uniforms.screenShape=rD;for(c=0;c<3;++c)n.uniforms.lineWidth=this.lineWidth[c]*this.pixelRatio,this.enabled[c]&&(r.draw(e.TRIANGLES,6,6*c),this.drawSides[c]&&r.draw(e.TRIANGLES,12,18+12*c));r.unbind()},$I.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))},$I.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};var nD=function(t){var e=!1,r=((t=t||{}).pixelRatio||parseFloat(window.devicePixelRatio),t.canvas);if(!r)if(r=document.createElement(\"canvas\"),t.container){var n=t.container;n.appendChild(r)}else document.body.appendChild(r);var i=t.gl;i||(i=function(t,e){var r=null;try{(r=t.getContext(\"webgl\",e))||(r=t.getContext(\"experimental-webgl\",e))}catch(t){return null}return r}(r,t.glOptions||{premultipliedAlpha:!0,antialias:!0}));if(!i)throw new Error(\"webgl not supported\");var a=t.bounds||[[-10,-10,-10],[10,10,10]],o=new function(){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},s=YE(i,[i.drawingBufferWidth,i.drawingBufferHeight],{preferFloat:!iD}),l=WI(i),u=t.camera||{eye:[2,0,0],center:[0,0,0],up:[0,1,0],zoomMin:.1,zoomMax:100,mode:\"turntable\"},c=t.axes||{},h=xI(i,c);h.enable=!c.disable;var f=t.spikes||{},p=JI(i,f),d=[],g=[],v=[],m=[],y=!0,x=!0,b=new Array(16),_=new Array(16),w={view:null,projection:b,model:_},x=!0,M=[i.drawingBufferWidth,i.drawingBufferHeight],A={gl:i,contextLost:!1,pixelRatio:t.pixelRatio||parseFloat(window.devicePixelRatio),canvas:r,selection:o,camera:_P(r,u),axes:h,axesPixels:null,spikes:p,bounds:a,objects:d,shape:M,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:oD(t.autoResize),autoBounds:oD(t.autoBounds),autoScale:!!t.autoScale,autoCenter:oD(t.autoCenter),clipToBounds:oD(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:w,oncontextloss:null,mouseListener:null},k=[i.drawingBufferWidth/A.pixelRatio|0,i.drawingBufferHeight/A.pixelRatio|0];function T(){if(!e&&A.autoResize){var t=r.parentNode,n=1,i=1;t&&t!==document.body?(n=t.clientWidth,i=t.clientHeight):(n=window.innerWidth,i=window.innerHeight);var a=0|Math.ceil(n*A.pixelRatio),o=0|Math.ceil(i*A.pixelRatio);if(a!==r.width||o!==r.height){r.width=a,r.height=o;var s=r.style;s.position=s.position||\"absolute\",s.left=\"0px\",s.top=\"0px\",s.width=n+\"px\",s.height=i+\"px\",y=!0}}}A.autoResize&&T();function S(){for(var t=d.length,e=m.length,r=0;r<e;++r)v[r]=0;t:for(var r=0;r<t;++r){var n=d[r],a=n.pickSlots;if(a){for(var o=0;o<e;++o)if(v[o]+a<255){g[r]=o,n.setPickBase(v[o]+1),v[o]+=a;continue t}var s=nC(i,M);g[r]=e,m.push(s),v.push(a),n.setPickBase(1),e+=1}else g[r]=-1}for(;e>0&&0===v[e-1];)v.pop(),m.pop().dispose()}window.addEventListener(\"resize\",T),A.update=function(t){e||(t=t||{},y=!0,x=!0)},A.add=function(t){e||(t.axes=h,d.push(t),g.push(-1),y=!0,x=!0,S())},A.remove=function(t){if(!e){var r=d.indexOf(t);r<0||(d.splice(r,1),g.pop(),y=!0,x=!0,S())}},A.dispose=function(){if(!e&&(e=!0,window.removeEventListener(\"resize\",T),r.removeEventListener(\"webglcontextlost\",L),A.mouseListener.enabled=!1,!A.contextLost)){h.dispose(),p.dispose();for(var t=0;t<d.length;++t)d[t].dispose();s.dispose();for(var t=0;t<m.length;++t)m[t].dispose();l.dispose(),i=null,h=null,p=null,d=[]}};var E=!1,C=0;function L(){if(A.contextLost)return!0;i.isContextLost()&&(A.contextLost=!0,A.mouseListener.enabled=!1,A.selection.object=null,A.oncontextloss&&A.oncontextloss())}A.mouseListener=CC(r,function(t,r,n){if(!e){var i=m.length,a=d.length,s=o.object;o.distance=1/0,o.mouse[0]=r,o.mouse[1]=n,o.object=null,o.screen=null,o.dataCoordinate=o.dataPosition=null;var l=!1;if(t&&C)E=!0;else{E&&(x=!0),E=!1;for(var u=0;u<i;++u){var c=m[u].query(r,k[1]-n-1,A.pickRadius);if(c){if(c.distance>o.distance)continue;for(var h=0;h<a;++h){var f=d[h];if(g[h]===u){var p=f.pick(c);p&&(o.buttons=t,o.screen=c.coord,o.distance=c.distance,o.object=f,o.index=p.distance,o.dataPosition=p.position,o.dataCoordinate=p.dataCoordinate,o.data=p,l=!0)}}}}}s&&s!==o.object&&(s.highlight&&s.highlight(null),y=!0),o.object&&(o.object.highlight&&o.object.highlight(o.data),y=!0),(l=l||o.object!==s)&&A.onselect&&A.onselect(o),1&t&&!(1&C)&&A.onclick&&A.onclick(o),C=t}}),r.addEventListener(\"webglcontextlost\",L);var z=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],P=[z[0].slice(),z[1].slice()];function I(){if(!L()){T();var t=A.camera.tick();w.view=A.camera.matrix,y=y||t,x=x||t,h.pixelRatio=A.pixelRatio,p.pixelRatio=A.pixelRatio;var e=d.length,r=z[0],n=z[1];r[0]=r[1]=r[2]=1/0,n[0]=n[1]=n[2]=-1/0;for(var a=0;a<e;++a){var u=d[a];u.pixelRatio=A.pixelRatio,u.axes=A.axes,y=y||!!u.dirty,x=x||!!u.dirty;var c=u.bounds;if(c)for(var f=c[0],v=c[1],S=0;S<3;++S)r[S]=Math.min(r[S],f[S]),n[S]=Math.max(n[S],v[S])}var E=A.bounds;if(A.autoBounds)for(var S=0;S<3;++S){if(n[S]<r[S])r[S]=-1,n[S]=1;else{r[S]===n[S]&&(r[S]-=1,n[S]+=1);var C=.05*(n[S]-r[S]);r[S]=r[S]-C,n[S]=n[S]+C}E[0][S]=r[S],E[1][S]=n[S]}for(var I=!1,S=0;S<3;++S)I=I||P[0][S]!==E[0][S]||P[1][S]!==E[1][S],P[0][S]=E[0][S],P[1][S]=E[1][S];if(x=x||I,y=y||I){if(I){for(var D=[0,0,0],a=0;a<3;++a)D[a]=aD((E[1][a]-E[0][a])/10);h.autoTicks?h.update({bounds:E,tickSpacing:D}):h.update({bounds:E})}var O=i.drawingBufferWidth,R=i.drawingBufferHeight;M[0]=O,M[1]=R,k[0]=0|Math.max(O/A.pixelRatio,1),k[1]=0|Math.max(R/A.pixelRatio,1),qI(b,A.fovy,O/R,A.zNear,A.zFar);for(var a=0;a<16;++a)_[a]=0;_[15]=1;for(var F=0,a=0;a<3;++a)F=Math.max(F,E[1][a]-E[0][a]);for(var a=0;a<3;++a)A.autoScale?_[5*a]=A.aspect[a]/(E[1][a]-E[0][a]):_[5*a]=1/F,A.autoCenter&&(_[12+a]=.5*-_[5*a]*(E[0][a]+E[1][a]));for(var a=0;a<e;++a){var u=d[a];u.axesBounds=E,A.clipToBounds&&(u.clipBounds=E)}o.object&&(A.snapToData?p.position=o.dataCoordinate:p.position=o.dataPosition,p.bounds=E),x&&(x=!1,function(){if(L())return;i.colorMask(!0,!0,!0,!0),i.depthMask(!0),i.disable(i.BLEND),i.enable(i.DEPTH_TEST);for(var t=d.length,e=m.length,r=0;r<e;++r){var n=m[r];n.shape=k,n.begin();for(var a=0;a<t;++a)if(g[a]===r){var o=d[a];o.drawPick&&(o.pixelRatio=1,o.drawPick(w))}n.end()}}()),A.axesPixels=DI(A.axes,w,O,R),A.onrender&&A.onrender(),i.bindFramebuffer(i.FRAMEBUFFER,null),i.viewport(0,0,O,R);var B=A.clearColor;i.clearColor(B[0],B[1],B[2],B[3]),i.clear(i.COLOR_BUFFER_BIT|i.DEPTH_BUFFER_BIT),i.depthMask(!0),i.colorMask(!0,!0,!0,!0),i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),i.disable(i.BLEND),i.disable(i.CULL_FACE);var N=!1;h.enable&&(N=N||h.isTransparent(),h.draw(w)),p.axes=h,o.object&&p.draw(w),i.disable(i.CULL_FACE);for(var a=0;a<e;++a){var u=d[a];u.axes=h,u.pixelRatio=A.pixelRatio,u.isOpaque&&u.isOpaque()&&u.draw(w),u.isTransparent&&u.isTransparent()&&(N=!0)}if(N){s.shape=M,s.bind(),i.clear(i.DEPTH_BUFFER_BIT),i.colorMask(!1,!1,!1,!1),i.depthMask(!0),i.depthFunc(i.LESS),h.enable&&h.isTransparent()&&h.drawTransparent(w);for(var a=0;a<e;++a){var u=d[a];u.isOpaque&&u.isOpaque()&&u.draw(w)}i.enable(i.BLEND),i.blendEquation(i.FUNC_ADD),i.blendFunc(i.ONE,i.ONE_MINUS_SRC_ALPHA),i.colorMask(!0,!0,!0,!0),i.depthMask(!1),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),h.isTransparent()&&h.drawTransparent(w);for(var a=0;a<e;++a){var u=d[a];u.isTransparent&&u.isTransparent()&&u.drawTransparent(w)}i.bindFramebuffer(i.FRAMEBUFFER,null),i.blendFunc(i.ONE,i.ONE_MINUS_SRC_ALPHA),i.disable(i.DEPTH_TEST),l.bind(),s.color[0].bind(0),l.uniforms.accumBuffer=0,zP(i),i.disable(i.BLEND)}y=!1;for(var a=0;a<e;++a)d[a].dirty=!1}}}return function t(){e||A.contextLost||(requestAnimationFrame(t),I())}(),A.redraw=function(){e||(y=!0,I())},A},iD=function(t){t||\"undefined\"==typeof navigator||(t=navigator.userAgent);t&&t.headers&&\"string\"==typeof t.headers[\"user-agent\"]&&(t=t.headers[\"user-agent\"]);return\"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)))}();function aD(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){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function oD(t){return\"boolean\"!=typeof t||t}var sD=function(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=mP({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\"orbit\",distanceLimits:r}),i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],a=0,o=t.clientWidth,s=t.clientHeight,l={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=bP(),r=this.delay,l=e-2*r;n.idle(e-r),n.recalcMatrix(l),n.flush(e-(100+2*r));for(var u=!0,c=n.computedMatrix,h=0;h<16;++h)u=u&&i[h]===c[h],i[h]=c[h];var f=t.clientWidth===o&&t.clientHeight===s;return o=t.clientWidth,s=t.clientHeight,u?!f:(a=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(l,{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(),i=n.computedCenter.slice();if(n.setMode(t),\"turntable\"===t){var a=bP();n._active.lookAt(a,r,i,e),n._active.lookAt(a+500,r,i,[0,0,1]),n._active.flush(a)}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 a},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 u=0,c=0,h={shift:!1,control:!1,alt:!1,meta:!1};function f(e,r,i,o){var s=l.keyBindingMode;if(!1!==s){var f=\"rotate\"===s,p=\"pan\"===s,d=\"zoom\"===s,g=!!o.control,v=!!o.alt,m=!!o.shift,y=!!(1&e),x=!!(2&e),b=!!(4&e),_=1/t.clientHeight,w=_*(r-u),M=_*(i-c),A=l.flipX?1:-1,k=l.flipY?1:-1,T=bP(),S=Math.PI*l.rotateSpeed;if((f&&y&&!g&&!v&&!m||y&&!g&&!v&&m)&&n.rotate(T,A*S*w,-k*S*M,0),(p&&y&&!g&&!v&&!m||x||y&&g&&!v&&!m)&&n.pan(T,-l.translateSpeed*w*a,l.translateSpeed*M*a,0),d&&y&&!g&&!v&&!m||b||y&&!g&&v&&!m){var E=-l.zoomSpeed*M/window.innerHeight*(T-n.lastT())*100;n.pan(T,0,0,a*(Math.exp(E)-1))}return u=r,c=i,h=o,!0}}return l.mouseListener=CC(t,f),t.addEventListener(\"touchstart\",function(e){var r=La(e.changedTouches[0],t);f(0,r[0],r[1],h),f(1,r[0],r[1],h),e.preventDefault()},!!Ea&&{passive:!1}),t.addEventListener(\"touchmove\",function(e){var r=La(e.changedTouches[0],t);f(1,r[0],r[1],h),e.preventDefault()},!!Ea&&{passive:!1}),t.addEventListener(\"touchend\",function(t){f(0,u,c,h),t.preventDefault()},!!Ea&&{passive:!1}),l.wheelListener=OC(t,function(t,e){if(!1!==l.keyBindingMode){var r=l.flipX?1:-1,i=l.flipY?1:-1,o=bP();if(Math.abs(t)>Math.abs(e))n.rotate(o,0,0,-t*r*Math.PI*l.rotateSpeed/window.innerWidth);else{var s=-l.zoomSpeed*i*e/window.innerHeight*(o-n.lastT())/20;n.pan(o,0,0,a*(Math.exp(s)-1))}}},!0),l};var lD=[\"xaxis\",\"yaxis\",\"zaxis\"];function uD(){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=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}uD.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[lD[e]];r.visible?(this.labels[e]=AC(r.title),\"titlefont\"in r&&(r.titlefont.color&&(this.labelColor[e]=WC(r.titlefont.color)),r.titlefont.family&&(this.labelFont[e]=r.titlefont.family),r.titlefont.size&&(this.labelSize[e]=r.titlefont.size)),\"showline\"in r&&(this.lineEnable[e]=r.showline),\"linecolor\"in r&&(this.lineColor[e]=WC(r.linecolor)),\"linewidth\"in r&&(this.lineWidth[e]=r.linewidth),\"showgrid\"in r&&(this.gridEnable[e]=r.showgrid),\"gridcolor\"in r&&(this.gridColor[e]=WC(r.gridcolor)),\"gridwidth\"in r&&(this.gridWidth[e]=r.gridwidth),\"log\"===r.type?this.zeroEnable[e]=!1:\"zeroline\"in r&&(this.zeroEnable[e]=r.zeroline),\"zerolinecolor\"in r&&(this.zeroLineColor[e]=WC(r.zerolinecolor)),\"zerolinewidth\"in r&&(this.zeroLineWidth[e]=r.zerolinewidth),\"ticks\"in r&&r.ticks?this.lineTickEnable[e]=!0:this.lineTickEnable[e]=!1,\"ticklen\"in r&&(this.lineTickLength[e]=this._defaultLineTickLength[e]=r.ticklen),\"tickcolor\"in r&&(this.lineTickColor[e]=WC(r.tickcolor)),\"tickwidth\"in r&&(this.lineTickWidth[e]=r.tickwidth),\"tickangle\"in r&&(this.tickAngle[e]=\"auto\"===r.tickangle?0:Math.PI*-r.tickangle/180),\"showticklabels\"in r&&(this.tickEnable[e]=r.showticklabels),\"tickfont\"in r&&(r.tickfont.color&&(this.tickColor[e]=WC(r.tickfont.color)),r.tickfont.family&&(this.tickFont[e]=r.tickfont.family),r.tickfont.size&&(this.tickSize[e]=r.tickfont.size)),\"mirror\"in r?-1!==[\"ticks\",\"all\",\"allticks\"].indexOf(r.mirror)?(this.lineTickMirror[e]=!0,this.lineMirror[e]=!0):!0===r.mirror?(this.lineTickMirror[e]=!1,this.lineMirror[e]=!0):(this.lineTickMirror[e]=!1,this.lineMirror[e]=!1):this.lineMirror[e]=!1,\"showbackground\"in r&&!1!==r.showbackground?(this.backgroundEnable[e]=!0,this.backgroundColor[e]=WC(r.backgroundcolor)):this.backgroundEnable[e]=!1):(this.tickEnable[e]=!1,this.labelEnable[e]=!1,this.lineEnable[e]=!1,this.lineTickEnable[e]=!1,this.gridEnable[e]=!1,this.zeroEnable[e]=!1,this.backgroundEnable[e]=!1)}};var cD=function(t){var e=new uD;return e.merge(t),e},hD=[\"xaxis\",\"yaxis\",\"zaxis\"];function fD(){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]}fD.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[hD[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=WC(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}};var pD,dD,gD=function(t){var e=new fD;return e.merge(t),e},vD=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,n=t.fullSceneLayout,i=[[],[],[]],a=0;a<3;++a){var o=n[mD[a]];if(o._length=(r[a].hi-r[a].lo)*r[a].pixelsPerDataUnit/t.dataScale[a],Math.abs(o._length)===1/0)i[a]=[];else{o._input_range=o.range.slice(),o.range[0]=r[a].lo/t.dataScale[a],o.range[1]=r[a].hi/t.dataScale[a],o._m=1/(t.dataScale[a]*r[a].pixelsPerDataUnit),o.range[0]===o.range[1]&&(o.range[0]-=1,o.range[1]+=1);var s=o.tickmode;if(\"auto\"===o.tickmode){o.tickmode=\"linear\";var l=o.nticks||ne.constrain(o._length/40,4,9);ri.autoTicks(o,Math.abs(o.range[1]-o.range[0])/l)}for(var u=ri.calcTicks(o),c=0;c<u.length;++c)u[c].x=u[c].x*t.dataScale[a],u[c].text=AC(u[c].text);i[a]=u,o.tickmode=s}}e.ticks=i;for(var a=0;a<3;++a){yD[a]=.5*(t.glplot.bounds[0][a]+t.glplot.bounds[1][a]);for(var c=0;c<2;++c)e.bounds[c][a]=t.glplot.bounds[c][a]}t.contourLevels=function(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}(i)},mD=[\"xaxis\",\"yaxis\",\"zaxis\"],yD=[0,0,0];function xD(t,e,r,n){var i={canvas:r,gl:n,container:t.container,axes:t.axesOptions,spikes:t.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1};if(t.staticMode){if(!(dD||(pD=document.createElement(\"canvas\"),dD=_C({canvas:pD,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\"error creating static canvas/context for image server\");i.pixelRatio=t.pixelRatio,i.gl=dD,i.canvas=pD}try{t.glplot=nD(i)}catch(e){TC(t)}var a=function(t){if(!1!==t.fullSceneLayout.dragmode){var e={};e[t.id+\".camera\"]=kD(t.camera),t.saveCamera(t.graphDiv.layout),t.graphDiv.emit(\"plotly_relayout\",e)}};if(t.glplot.canvas.addEventListener(\"mouseup\",a.bind(null,t)),t.glplot.canvas.addEventListener(\"wheel\",a.bind(null,t),!!Ea&&{passive:!1}),t.staticMode||t.glplot.canvas.addEventListener(\"webglcontextlost\",function(t){ne.warn(\"Lost WebGL context.\"),t.preventDefault()}),!t.camera){var o=t.fullSceneLayout.camera;t.camera=sD(t.container,{center:[o.center.x,o.center.y,o.center.z],eye:[o.eye.x,o.eye.y,o.eye.z],up:[o.up.x,o.up.y,o.up.z],zoomMin:.1,zoomMax:100,mode:\"orbit\"})}return t.glplot.camera=t.camera,t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(t){var e,r=t.svgContainer,n=t.container.getBoundingClientRect(),i=n.width,a=n.height;r.setAttributeNS(null,\"viewBox\",\"0 0 \"+i+\" \"+a),r.setAttributeNS(null,\"width\",i),r.setAttributeNS(null,\"height\",a),vD(t),t.glplot.axes.update(t.axesOptions);for(var o,s=Object.keys(t.traces),l=null,u=t.glplot.selection,c=0;c<s.length;++c)\"skip\"!==(e=t.traces[s[c]]).data.hoverinfo&&e.handlePick(u)&&(l=e),e.setContourLevels&&e.setContourLevels();function h(e,r){var n=t.fullSceneLayout[e];return ri.tickText(n,n.d2l(r),\"hover\").text}if(null!==l){var f=gd(t.glplot.cameraParams,u.dataCoordinate);e=l.data;var p=u.index,d=yo.castHoverinfo(e,t.fullLayout,p),g=h(\"xaxis\",u.traceCoordinate[0]),v=h(\"yaxis\",u.traceCoordinate[1]),m=h(\"zaxis\",u.traceCoordinate[2]);if(\"all\"!==d){var y=d.split(\"+\");-1===y.indexOf(\"x\")&&(g=void 0),-1===y.indexOf(\"y\")&&(v=void 0),-1===y.indexOf(\"z\")&&(m=void 0),-1===y.indexOf(\"text\")&&(u.textLabel=void 0),-1===y.indexOf(\"name\")&&(l.name=void 0)}t.fullSceneLayout.hovermode&&yo.loneHover({x:(.5+.5*f[0]/f[3])*i,y:(.5-.5*f[1]/f[3])*a,xLabel:g,yLabel:v,zLabel:m,text:u.textLabel,name:l.name,color:yo.castHoverOption(e,p,\"bgcolor\")||l.color,borderColor:yo.castHoverOption(e,p,\"bordercolor\"),fontFamily:yo.castHoverOption(e,p,\"font.family\"),fontSize:yo.castHoverOption(e,p,\"font.size\"),fontColor:yo.castHoverOption(e,p,\"font.color\")},{container:r,gd:t.graphDiv});var x={x:u.traceCoordinate[0],y:u.traceCoordinate[1],z:u.traceCoordinate[2],data:e._input,fullData:e,curveNumber:e.index,pointNumber:p};yo.appendArrayPointValue(x,e,p);var b={points:[x]};u.buttons&&u.distance<5?t.graphDiv.emit(\"plotly_click\",b):t.graphDiv.emit(\"plotly_hover\",b),o=b}else yo.loneUnhover(r),t.graphDiv.emit(\"plotly_unhover\",o);t.drawAnnotations(t)}.bind(null,t),t.traces={},!0}function bD(t,e){var r=document.createElement(\"div\"),n=t.container;this.graphDiv=t.graphDiv;var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");i.style.position=\"absolute\",i.style.top=i.style.left=\"0px\",i.style.width=i.style.height=\"100%\",i.style[\"z-index\"]=20,i.style[\"pointer-events\"]=\"none\",r.appendChild(i),this.svgContainer=i,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=cD(e[this.id]),this.spikeOptions=gD(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=P.getComponentMethod(\"annotations3d\",\"convert\"),this.drawAnnotations=P.getComponentMethod(\"annotations3d\",\"draw\"),xD(this)}var _D=bD.prototype;_D.recoverContext=function(){var t=this,e=this.glplot.gl,r=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(function n(){e.isContextLost()?requestAnimationFrame(n):xD(t,t.fullLayout,r,e)?t.plot.apply(t,t.plotArgs):ne.error(\"Catastrophic and unrecoverable WebGL error. Context lost.\")})};var wD=[\"xaxis\",\"yaxis\",\"zaxis\"];function MD(t,e,r,n,i,a){var o;if(!ne.isArrayOrTypedArray(e))return i[0][n]=Math.min(i[0][n],0),void(i[1][n]=Math.max(i[1][n],r-1));for(var s=0;s<(r||e.length);++s)if(ne.isArrayOrTypedArray(e[s]))for(var l=0;l<e[s].length;++l)o=t.d2l(e[s][l],0,a),!isNaN(o)&&isFinite(o)&&(i[0][n]=Math.min(i[0][n],o),i[1][n]=Math.max(i[1][n],o));else o=t.d2l(e[s],0,a),!isNaN(o)&&isFinite(o)&&(i[0][n]=Math.min(i[0][n],o),i[1][n]=Math.max(i[1][n],o))}function AD(t,e,r){var n=t.fullSceneLayout;MD(n.xaxis,e.x,e._xlength,0,r,e.xcalendar),MD(n.yaxis,e.y,e._ylength,1,r,e.ycalendar),MD(n.zaxis,e.z,e._zlength,2,r,e.zcalendar)}function kD(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]}}}_D.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,i,a,o,s,l,u=e[this.id],c=r[this.id];u.bgcolor?this.glplot.clearColor=WC(u.bgcolor):this.glplot.clearColor=[0,0,0,0],this.glplot.snapToData=!0,this.fullLayout=e,this.fullSceneLayout=u,this.glplotLayout=u,this.axesOptions.merge(u),this.spikeOptions.merge(u),this.setCamera(u.camera),this.updateFx(u.dragmode,u.hovermode),this.glplot.update({}),this.setConvert(s),t?Array.isArray(t)||(t=[t]):t=[];var h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(a=0;a<t.length;++a)!0===(n=t[a]).visible&&AD(this,n,h);var f=[1,1,1];for(o=0;o<3;++o)h[0][o]>h[1][o]?f[o]=1:h[1][o]===h[0][o]?f[o]=1:f[o]=1/(h[1][o]-h[0][o]);for(this.dataScale=f,this.convertAnnotations(this),a=0;a<t.length;++a)!0===(n=t[a]).visible&&((i=this.traces[n.uid])?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]&&!0===t[o].visible)continue t;(i=this.traces[p[a]]).dispose(),delete this.traces[p[a]]}this.glplot.objects.sort(function(t,e){return t._trace.data.index-e._trace.data.index});var d=[[0,0,0],[0,0,0]],g=[],v={};for(a=0;a<3;++a){if((l=(s=u[wD[a]]).type)in v?(v[l].acc*=f[a],v[l].count+=1):v[l]={acc:f[a],count:1},s.autorange){d[0][a]=1/0,d[1][a]=-1/0;var m=this.glplot.objects,y=this.fullSceneLayout.annotations||[],x=s._name.charAt(0);for(o=0;o<m.length;o++){var b=m[o].bounds;d[0][a]=Math.min(d[0][a],b[0][a]/f[a]),d[1][a]=Math.max(d[1][a],b[1][a]/f[a])}for(o=0;o<y.length;o++){var _=y[o];if(_.visible){var w=s.r2l(_[x]);d[0][a]=Math.min(d[0][a],w),d[1][a]=Math.max(d[1][a],w)}}if(\"rangemode\"in s&&\"tozero\"===s.rangemode&&(d[0][a]=Math.min(d[0][a],0),d[1][a]=Math.max(d[1][a],0)),d[0][a]>d[1][a])d[0][a]=-1,d[1][a]=1;else{var M=d[1][a]-d[0][a];d[0][a]-=M/32,d[1][a]+=M/32}}else{var A=s.range;d[0][a]=s.r2l(A[0]),d[1][a]=s.r2l(A[1])}d[0][a]===d[1][a]&&(d[0][a]-=1,d[1][a]+=1),g[a]=d[1][a]-d[0][a],this.glplot.bounds[0][a]=d[0][a]*f[a],this.glplot.bounds[1][a]=d[1][a]*f[a]}var k=[1,1,1];for(a=0;a<3;++a){var T=v[l=(s=u[wD[a]]).type];k[a]=Math.pow(T.acc,1/T.count)/f[a]}var S;if(\"auto\"===u.aspectmode)S=Math.max.apply(null,k)/Math.min.apply(null,k)<=4?k:[1,1,1];else if(\"cube\"===u.aspectmode)S=[1,1,1];else if(\"data\"===u.aspectmode)S=k;else{if(\"manual\"!==u.aspectmode)throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");var E=u.aspectratio;S=[E.x,E.y,E.z]}u.aspectratio.x=c.aspectratio.x=S[0],u.aspectratio.y=c.aspectratio.y=S[1],u.aspectratio.z=c.aspectratio.z=S[2],this.glplot.aspect=S;var C=u.domain||null,L=e._size||null;if(C&&L){var z=this.container.style;z.position=\"absolute\",z.left=L.l+C.x[0]*L.w+\"px\",z.top=L.t+(1-C.y[1])*L.h+\"px\",z.width=L.w*(C.x[1]-C.x[0])+\"px\",z.height=L.h*(C.y[1]-C.y[0])+\"px\"}this.glplot.redraw()}},_D.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener(\"wheel\",this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},_D.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),kD(this.glplot.camera)},_D.setCamera=function(t){var e;this.glplot.camera.lookAt.apply(this,[[(e=t).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]])},_D.saveCamera=function(t){var e=this.getCamera(),r=ne.nestedProperty(t,this.id+\".camera\"),n=r.get(),i=!1;function a(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]]}if(void 0===n)i=!0;else for(var o=0;o<3;o++)for(var s=0;s<3;s++)if(!a(e,n,o,s)){i=!0;break}return i&&r.set(e),i},_D.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},_D.toImage=function(t){t||(t=\"png\"),this.staticMode&&this.container.appendChild(pD),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 c=document.createElement(\"canvas\");c.width=r,c.height=n;var h,f=c.getContext(\"2d\"),p=f.createImageData(r,n);switch(p.data.set(i),f.putImageData(p,0,0),t){case\"jpeg\":h=c.toDataURL(\"image/jpeg\");break;case\"webp\":h=c.toDataURL(\"image/webp\");break;default:h=c.toDataURL(\"image/png\")}return this.staticMode&&this.container.removeChild(pD),h},_D.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[wD[t]];ri.setConvert(e,this.fullLayout),e.setScale=ne.noop}};var TD=bD,SD={},ED=ye.overrideAll,CD=sa.getSubplotData;SD.name=\"gl3d\",SD.attr=\"scene\",SD.idRoot=\"scene\",SD.idRegex=SD.attrRegex=ne.counterRegex(\"scene\"),SD.attributes={scene:{valType:\"subplotid\",dflt:\"scene\",editType:\"calc+clearAxisTypes\"}},SD.layoutAttributes=lz,SD.baseLayoutAttrOverrides=ED({hoverlabel:mo.hoverlabel},\"plot\",\"nested\"),SD.supplyLayoutDefaults=function(t,e,r){var n=e._basePlotModules.length>1;Jc(t,e,0,{type:\"gl3d\",attributes:lz,handleDefaults:uz,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!n)return ne.validate(t[e],lz[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})},SD.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,i=0;i<n.length;i++){var a=n[i],o=CD(r,\"gl3d\",a),s=e[a],l=s._scene;l||(l=new TD({id:a,graphDiv:t,container:t.querySelector(\".gl-container\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),s._scene=l),l.cameraInitial||(l.cameraInitial=ne.extendDeep({},s.camera)),l.plot(o,e,t.layout)}},SD.clean=function(t,e,r,n){for(var i=n._subplots.gl3d||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(\".annotation-\"+o).remove())}},SD.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=e._size,i=0;i<r.length;i++){var a=e[r[i]],o=a.domain,s=a._scene,l=s.toImage(\"png\");e._glimages.append(\"svg:image\").attr({xmlns:$e.svg,\"xlink:href\":l,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"}),s.destroy()}},SD.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return\"1\"===e&&(e=\"\"),\"scene\"+e}},SD.updateFx=function(t){for(var e=t._subplots.gl3d,r=0;r<e.length;r++){t[e[r]]._scene.updateFx(t.dragmode,t.hovermode)}};var LD={},zD=m.extendFlat,PD=ye.overrideAll;function ID(t){return{show:{valType:\"boolean\",dflt:!1},project:{x:{valType:\"boolean\",dflt:!1},y:{valType:\"boolean\",dflt:!1},z:{valType:\"boolean\",dflt:!1}},color:{valType:\"color\",dflt:Oe.defaultLine},usecolormap:{valType:\"boolean\",dflt:!1},width:{valType:\"number\",min:1,max:16,dflt:2},highlight:{valType:\"boolean\",dflt:!0},highlightcolor:{valType:\"color\",dflt:Oe.defaultLine},highlightwidth:{valType:\"number\",min:1,max:16,dflt:2}}}var DD=LD=PD({z:{valType:\"data_array\"},x:{valType:\"data_array\"},y:{valType:\"data_array\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0},surfacecolor:{valType:\"data_array\"},cauto:Pe.zauto,cmin:Pe.zmin,cmax:Pe.zmax,colorscale:Pe.colorscale,autocolorscale:zD({},Pe.autocolorscale,{dflt:!1}),reversescale:Pe.reversescale,showscale:Pe.showscale,colorbar:ze,contours:{x:ID(),y:ID(),z:ID()},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:zD({},Pe.zauto,{}),zmin:zD({},Pe.zmin,{}),zmax:zD({},Pe.zmax,{})},hoverinfo:zD({},E.hoverinfo)},\"calc\",\"nested\");DD.x.editType=DD.y.editType=DD.z.editType=\"calc+clearAxisTypes\";var OD=m.extendFlat,RD=OD(De(0,\"calc\",!1),{x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},i:{valType:\"data_array\",editType:\"calc\"},j:{valType:\"data_array\",editType:\"calc\"},k:{valType:\"data_array\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},delaunayaxis:{valType:\"enumerated\",values:[\"x\",\"y\",\"z\"],dflt:\"z\",editType:\"calc\"},alphahull:{valType:\"number\",dflt:-1,editType:\"calc\"},intensity:{valType:\"data_array\",editType:\"calc\"},color:{valType:\"color\",editType:\"calc\"},vertexcolor:{valType:\"data_array\",editType:\"calc\"},facecolor:{valType:\"data_array\",editType:\"calc\"},opacity:LD.opacity,flatshading:{valType:\"boolean\",dflt:!1,editType:\"calc\"},contour:{show:OD({},LD.contours.x.show,{}),color:LD.contours.x.color,width:LD.contours.x.width,editType:\"calc\"},showscale:Pe.showscale,colorbar:ze,lightposition:{x:OD({},LD.lightposition.x,{dflt:1e5}),y:OD({},LD.lightposition.y,{dflt:1e5}),z:OD({},LD.lightposition.z,{dflt:0}),editType:\"calc\"},lighting:OD({vertexnormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-12,editType:\"calc\"},facenormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-6,editType:\"calc\"},editType:\"calc\"},LD.lighting),hoverinfo:OD({},E.hoverinfo,{editType:\"calc\"})}),FD=function(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],s=(r=a+o)-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,s=(r=a+o)-a,l=o-s;l&&(t[u++]=l)}return t[u++]=r,t.length=u,t};var BD={},ND=6;function jD(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 VD(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(\",VD(jD(t,r)),\",\",(n=r,1&n?\"-\":\"\"),t[0][r],\")\"].join(\"\"));return function t(e){if(1===e.length)return e[0];if(2===e.length)return[\"sum(\",e[0],\",\",e[1],\")\"].join(\"\");var r=e.length>>1;return[\"sum(\",t(e.slice(0,r)),\",\",t(e.slice(r)),\")\"].join(\"\")}(e);var n}function UD(t){return new Function(\"sum\",\"scale\",\"prod\",\"compress\",[\"function robustDeterminant\",t,\"(m){return compress(\",VD(function(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}(t)),\")};return robustDeterminant\",t].join(\"\"))(gM,pM,cM,FD)}var qD=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;qD.length<ND;)qD.push(UD(qD.length));for(var t=[],e=[\"function robustDeterminant(m){switch(m.length){\"],r=0;r<ND;++r)t.push(\"det\"+r),e.push(\"case \",r,\":return det\",r,\"(m);\");e.push(\"}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant\"),t.push(\"CACHE\",\"gen\",e.join(\"\"));var n=Function.apply(void 0,t);for(BD=n.apply(void 0,qD.concat([qD,UD])),r=0;r<qD.length;++r)BD[r]=qD[r]}();var HD={},GD=6;function WD(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?BD[t]:BD)}var YD=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];function XD(t,e){for(var r=0,n=t.length,i=0;i<n;++i)r+=t[i]*e[i];return r}function ZD(t){var e=t.length;if(0===e)return[];t[0].length;var r=b_([t.length+1,t.length+1],1),n=b_([t.length+1],1);r[e][e]=0;for(var i=0;i<e;++i){for(var a=0;a<=i;++a)r[a][i]=r[i][a]=2*XD(t[i],t[a]);n[i]=XD(t[i],t[i])}var o=HD(r,n),s=0,l=o[e+1];for(i=0;i<l.length;++i)s+=l[i];var u=new Array(e);for(i=0;i<e;++i){l=o[i];var c=0;for(a=0;a<l.length;++a)c+=l[a];u[i]=c/s}return u}function JD(t){if(0===t.length)return[];for(var e=t[0].length,r=b_([e]),n=ZD(t),i=0;i<t.length;++i)for(var a=0;a<e;++a)r[a]+=t[i][a]*n[i];return r}!function(){for(;YD.length<GD;)YD.push(WD(YD.length));for(var t=[],e=[\"function dispatchLinearSolve(A,b){switch(A.length){\"],r=0;r<GD;++r)t.push(\"s\"+r),e.push(\"case \",r,\":return s\",r,\"(A,b);\");e.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\",e.join(\"\"));var n=Function.apply(void 0,t);for(HD=n.apply(void 0,YD.concat([YD,WD])),r=0;r<GD;++r)HD[r]=YD[r]}(),JD.barycenetric=ZD;var KD=JD,QD=function(t){for(var e=KD(t),r=0,n=0;n<t.length;++n)for(var i=t[n],a=0;a<e.length;++a)r+=Math.pow(i[a]-e[a],2);return Math.sqrt(r/t.length)};var $D=function(t,e){var r=t.length;if(0===r)throw new Error(\"Must have at least d+1 points\");var n=t[0].length;if(r<=n)throw new Error(\"Must input at least d+1 points\");var i=t.slice(0,n+1),a=PM.apply(void 0,i);if(0===a)throw new Error(\"Input not in general position\");for(var o=new Array(n+1),s=0;s<=n;++s)o[s]=s;a<0&&(o[0]=1,o[1]=0);for(var l=new eO(o,new Array(n+1),!1),u=l.adjacent,c=new Array(n+2),s=0;s<=n;++s){for(var h=o.slice(),f=0;f<=n;++f)f===s&&(h[f]=-1);var p=h[0];h[0]=h[1],h[1]=p;var d=new eO(h,new Array(n+1),!0);u[s]=d,c[s]=d}c[n+1]=l;for(var s=0;s<=n;++s)for(var h=u[s].vertices,g=u[s].adjacent,f=0;f<=n;++f){var v=h[f];if(v<0)g[f]=l;else for(var m=0;m<=n;++m)u[m].vertices.indexOf(v)<0&&(g[f]=u[m])}for(var y=new aO(n,i,c),x=!!e,s=n+1;s<r;++s)y.insert(t[s],x);return y.boundary()},tO=gS.compareCells;function eO(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function rO(t,e,r){this.vertices=t,this.cell=e,this.index=r}function nO(t,e){return tO(t.vertices,e.vertices)}eO.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 iO=[];function aO(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=iO[t];i||(i=iO[t]=function(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=PM[t+1];return i||(i=PM),n(i)}(t)),this.orient=i}var oO=aO.prototype;oO.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()).vertices;for(var s=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 p=this.orient();if(p>0)return u;u.lastVisited=-n,0===p&&o.push(u)}}}return null},oO.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(c=0;c<=n;++c){var h=u[c];if(!(h.lastVisited>=r)){var f=a[c];a[c]=t;var p=this.orient();if(a[c]=f,p<0){s=h;continue t}h.boundary?h.lastVisited=-r:h.lastVisited=r}}return}return s},oO.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=this.interior,s=this.simplices,l=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,o.push(e);for(var u=[];l.length>0;){var c=(e=l.pop()).vertices,h=e.adjacent,f=c.indexOf(r);if(!(f<0))for(var p=0;p<=n;++p)if(p!==f){var d=h[p];if(d.boundary&&!(d.lastVisited>=r)){var g=d.vertices;if(d.lastVisited!==-r){for(var v=0,m=0;m<=n;++m)g[m]<0?(v=m,a[m]=t):a[m]=i[g[m]];if(this.orient()>0){g[v]=r,d.boundary=!1,o.push(d),l.push(d),d.lastVisited=r;continue}d.lastVisited=-r}var y=d.adjacent,x=c.slice(),b=h.slice(),_=new eO(x,b,!0);s.push(_);var w=y.indexOf(e);if(!(w<0)){y[w]=_,b[f]=d,x[p]=-1,b[p]=e,h[p]=_,_.flip();for(m=0;m<=n;++m){var M=x[m];if(!(M<0||M===r)){for(var A=new Array(n-1),k=0,T=0;T<=n;++T){var S=x[T];S<0||T===m||(A[k++]=S)}u.push(new rO(A,_,m))}}}}}}u.sort(nO);for(p=0;p+1<u.length;p+=2){var E=u[p],C=u[p+1],L=E.index,z=C.index;L<0||z<0||(E.cell.adjacent[E.index]=C.cell,C.cell.adjacent[C.index]=E.cell)}},oO.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)}},oO.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};var sO=function(t,e){var r=t.length;if(0===r)return[];var n=t[0].length;if(n<1)return[];if(1===n)return function(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]]}r&&i.push([-1,i[0][1]],[i[t-1][1],-1]);return i}(r,t,e);for(var i=new Array(r),a=1,o=0;o<r;++o){for(var s=t[o],l=new Array(n+1),u=0,c=0;c<n;++c){var h=s[c];l[c]=h,u+=h*h}l[n]=u,i[o]=new lO(l,o),a=Math.max(u,a)}Qx(i,uO),r=i.length;for(var f=new Array(r+n+1),p=new Array(r+n+1),d=(n+1)*(n+1)*a,g=new Array(n+1),o=0;o<=n;++o)g[o]=0;g[n]=d,f[0]=g.slice(),p[0]=-1;for(var o=0;o<=n;++o){var l=g.slice();l[o]=1,f[o+1]=l,p[o+1]=-1}for(var o=0;o<r;++o){var v=i[o];f[o+n+1]=v.point,p[o+n+1]=v.index}var m=$D(f,!1);m=e?m.filter(function(t){for(var e=0,r=0;r<=n;++r){var i=p[t[r]];if(i<0&&++e>=2)return!1;t[r]=i}return!0}):m.filter(function(t){for(var e=0;e<=n;++e){var r=p[t[e]];if(r<0)return!1;t[e]=r}return!0});if(1&n)for(var o=0;o<m.length;++o){var v=m[o],l=v[0];v[0]=v[1],v[1]=l}return m};function lO(t,e){this.point=t,this.index=e}function uO(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}var cO=function(t,e){return sO(e).filter(function(r){for(var n=new Array(r.length),i=0;i<r.length;++i)n[i]=e[r[i]];return QD(n)*t<1})};var hO=function(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};var fO=function(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};var pO=function(t,e){var r=t.length,n=t.length-e.length;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||dO(t[0],t[1])-dO(e[0],e[1]);case 3:var i=t[0]+t[1],a=e[0]+e[1];if(n=i+t[2]-(a+e[2]))return n;var o=dO(t[0],t[1]),s=dO(e[0],e[1]);return dO(o,t[2])-dO(s,e[2])||dO(o+t[2],i)-dO(s+e[2],a);case 4:var l=t[0],u=t[1],c=t[2],h=t[3],f=e[0],p=e[1],d=e[2],g=e[3];return l+u+c+h-(f+p+d+g)||dO(l,u,c,h)-dO(f,p,d,g,f)||dO(l+u,l+c,l+h,u+c,u+h,c+h)-dO(f+p,f+d,f+g,p+d,p+g,d+g)||dO(l+u+c,l+u+h,l+c+h,u+c+h)-dO(f+p+d,f+p+g,f+d+g,p+d+g);default:for(var v=t.slice().sort(gO),m=e.slice().sort(gO),y=0;y<r;++y)if(n=v[y]-m[y])return n;return 0}},dO=Math.min;function gO(t,e){return t-e}var vO=function(t,e){return pO(t,e)||fO(t)-fO(e)};var mO=function(t){t.sort(vO);for(var e=t.length,r=0,n=0;n<e;++n){var i=t[n],a=fO(i);if(0!==a){if(r>0){var o=t[r-1];if(0===pO(i,o)&&fO(o)!==a){r-=1;continue}}t[r++]=i}}return t.length=r,t};var yO=function(t){return mO(hO(t))};var xO=function(t,e){return yO(cO(t,e))};var bO=function(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]]};var _O=function(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 i=new Array(e),n=0;n<e;++n)i[n]=n;i.sort(function(e,r){var n=t[e][0]-t[r][0];return n||t[e][1]-t[r][1]});for(var a=[i[0],i[1]],o=[i[0],i[1]],n=2;n<e;++n){for(var s=i[n],l=t[s],u=a.length;u>1&&wO(t[a[u-2]],t[a[u-1]],l)<=0;)u-=1,a.pop();for(a.push(s),u=o.length;u>1&&wO(t[o[u-2]],t[o[u-1]],l)>=0;)u-=1,o.pop();o.push(s)}for(var r=new Array(o.length+a.length-2),c=0,n=0,h=a.length;n<h;++n)r[c++]=a[n];for(var f=o.length-2;f>0;--f)r[c++]=o[f];return r},wO=PM[3];var MO=function(t){var e=_O(t),r=e.length;if(r<=2)return[];for(var n=new Array(r),i=e[r-1],a=0;a<r;++a){var o=e[a];n[a]=[i,o],i=o}return n};var AO=function(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,n=[t[0]],i=[0],a=1;a<e;++a)if(n.push(t[a]),kO(n,r)){if(i.push(a),i.length===r+1)return i}else n.pop();return i};function kO(t,e){for(var r=new Array(e+1),n=0;n<t.length;++n)r[n]=t[n];for(n=0;n<=t.length;++n){for(var i=t.length;i<=e;++i){for(var a=new Array(e),o=0;o<e;++o)a[o]=Math.pow(i+1-n,o);r[i]=a}if(PM.apply(void 0,r))return!0}return!1}var TO=function(t,e){try{return $D(t,!0)}catch(a){var r=AO(t);if(r.length<=e)return[];var n=function(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}(t,r),i=$D(n,!0);return function(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}(i,r)}};var SO=function(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;if(0===r)return[];if(1===r)return bO(t);if(2===r)return MO(t);return TO(t,r)};var EO={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:1,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]}]};var CO=function(t,e,r){return t*(1-r)+e*r},LO=function(t){var e,r,n,i,a,o,s,l,u,c;t||(t={});l=(t.nshades||72)-1,s=t.format||\"hex\",(o=t.colormap)||(o=\"jet\");if(\"string\"==typeof o){if(o=o.toLowerCase(),!EO[o])throw Error(o+\" not a supported colorscale\");a=EO[o]}else{if(!Array.isArray(o))throw Error(\"unsupported colormap option\",o);a=o.slice()}if(a.length>l)throw new Error(o+\" map requires nshades to be at least size \"+a.length);u=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():\"number\"==typeof t.alpha?[t.alpha,t.alpha]:[1,1];e=a.map(function(t){return Math.round(t.index*l)}),u[0]=Math.min(Math.max(u[0],0),1),u[1]=Math.min(Math.max(u[1],0),1);var h=a.map(function(t,e){var r=a[e].index,n=a[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1?n:(n[3]=u[0]+(u[1]-u[0])*r,n)}),f=[];for(c=0;c<e.length-1;++c){i=e[c+1]-e[c],r=h[c],n=h[c+1];for(var p=0;p<i;p++){var d=p/i;f.push([Math.round(CO(r[0],n[0],d)),Math.round(CO(r[1],n[1],d)),Math.round(CO(r[2],n[2],d)),CO(r[3],n[3],d)])}}f.push(a[a.length-1].rgb.concat(u[1])),\"hex\"===s?f=f.map(PO):\"rgbaString\"===s?f=f.map(IO):\"float\"===s&&(f=f.map(zO));return f};function zO(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function PO(t){for(var e,r=\"#\",n=0;n<3;++n)r+=(\"00\"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function IO(t){return\"rgba(\"+t.join(\",\")+\")\"}var DO=function(t,e){for(var r=e.length,n=new Array(r+1),i=0;i<r;++i){for(var a=new Array(r+1),o=0;o<=r;++o)a[o]=t[o][i];n[i]=a}n[r]=new Array(r+1);for(var i=0;i<=r;++i)n[r][i]=1;for(var s=new Array(r+1),i=0;i<r;++i)s[i]=e[i];s[r]=1;var l=HD(n,s),u=OO(l[r+1]);0===u&&(u=1);for(var c=new Array(r+1),i=0;i<=r;++i)c[i]=OO(l[i])/u;return c};function OO(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}var RO=new Float64Array(4),FO=new Float64Array(4),BO=new Float64Array(4);var NO=function(t,e,r,n,i){RO.length<n.length&&(RO=new Float64Array(n.length),FO=new Float64Array(n.length),BO=new Float64Array(n.length));for(var a=0;a<n.length;++a)RO[a]=t[a]-n[a],FO[a]=e[a]-t[a],BO[a]=r[a]-t[a];var o=0,s=0,l=0,u=0,c=0,h=0;for(a=0;a<n.length;++a){var f=FO[a],p=BO[a],d=RO[a];o+=f*f,s+=f*p,l+=p*p,u+=d*f,c+=d*p,h+=d*d}var g,v,m,y,x,b=Math.abs(o*l-s*s),_=s*c-l*u,w=s*u-o*c;if(_+w<=b)if(_<0)w<0&&u<0?(w=0,-u>=o?(_=1,g=o+2*u+h):g=u*(_=-u/o)+h):(_=0,c>=0?(w=0,g=h):-c>=l?(w=1,g=l+2*c+h):g=c*(w=-c/l)+h);else if(w<0)w=0,u>=0?(_=0,g=h):-u>=o?(_=1,g=o+2*u+h):g=u*(_=-u/o)+h;else{var M=1/b;g=(_*=M)*(o*_+s*(w*=M)+2*u)+w*(s*_+l*w+2*c)+h}else _<0?(m=l+c)>(v=s+u)?(y=m-v)>=(x=o-2*s+l)?(_=1,w=0,g=o+2*u+h):g=(_=y/x)*(o*_+s*(w=1-_)+2*u)+w*(s*_+l*w+2*c)+h:(_=0,m<=0?(w=1,g=l+2*c+h):c>=0?(w=0,g=h):g=c*(w=-c/l)+h):w<0?(m=o+u)>(v=s+c)?(y=m-v)>=(x=o-2*s+l)?(w=1,_=0,g=l+2*c+h):g=(_=1-(w=y/x))*(o*_+s*w+2*u)+w*(s*_+l*w+2*c)+h:(w=0,m<=0?(_=1,g=o+2*u+h):u>=0?(_=0,g=h):g=u*(_=-u/o)+h):(y=l+c-s-u)<=0?(_=0,w=1,g=l+2*c+h):y>=(x=o-2*s+l)?(_=1,w=0,g=o+2*u+h):g=(_=y/x)*(o*_+s*(w=1-_)+2*u)+w*(s*_+l*w+2*c)+h;var A=1-_-w;for(a=0;a<n.length;++a)i[a]=A*t[a]+_*e[a]+w*r[a];return g<0?0:g},jO=function(t,e,r,n,i,a){if(1===t.length)return[0,t[0].slice()];for(var o=new Array(t.length),s=0;s<t.length;++s)o[s]=UO(t[s],r,n,i,a);for(var l=0,u=1/0,s=0;s<o.length;++s){for(var c=0,h=0;h<2;++h)c+=Math.pow(o[s][h]-e[h],2);c<u&&(u=c,l=s)}for(var f=function(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 NO(t[0],t[1],t[2],e,a),DO(t,a)}return[]}(o,e),p=0,s=0;s<3;++s){if(f[s]<-.001||f[s]>1.0001)return null;p+=f[s]}if(Math.abs(p-1)>.001)return null;return[l,function(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}(t,f),f]};function VO(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 UO(t,e,r,n,i){for(var a=VO(n,VO(r,VO(e,[t[0],t[1],t[2],1]))),o=0;o<3;++o)a[o]/=a[3];return[.5*i[0]*(1+a[0]),.5*i[1]*(1-a[1])]}var qO={},HO=E_([\"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}\"]),GO=E_([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(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\\nfloat cookTorranceSpecular(\\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(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\\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(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}\"]),WO=E_([\"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}\"]),YO=E_([\"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}\"]),XO=E_([\"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}\"]),ZO=E_([\"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}\"]),JO=E_([\"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}\"]),KO=E_([\"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}\"]),QO=E_([\"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}\"]),$O=E_([\"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}\"]),tR=E_([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3 contourColor;\\n\\nvoid main() {\\n  gl_FragColor = vec4(contourColor,1);\\n}\\n\"]);qO.meshShader={vertex:HO,fragment:GO,attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},qO.wireShader={vertex:WO,fragment:YO,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},qO.pointShader={vertex:XO,fragment:ZO,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},qO.pickShader={vertex:JO,fragment:KO,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},qO.pointPickShader={vertex:QO,fragment:KO,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},qO.contourShader={vertex:$O,fragment:tR,attributes:[{name:\"position\",type:\"vec3\"}]};var eR={};eR.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(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],p=e[u],d=e[c],g=new Array(3),v=0,m=new Array(3),y=0,x=0;x<3;++x)g[x]=f[x]-p[x],v+=g[x]*g[x],m[x]=d[x]-p[x],y+=m[x]*m[x];if(v*y>a){var b=i[u],_=1/Math.sqrt(v*y);for(x=0;x<3;++x){var w=(x+1)%3,M=(x+2)%3;b[x]+=_*(m[w]*g[M]-m[M]*g[w])}}}for(o=0;o<n;++o){b=i[o];var A=0;for(x=0;x<3;++x)A+=b[x]*b[x];if(A>a)for(_=1/Math.sqrt(A),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},eR.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]];var c=new Array(3),h=new Array(3);for(u=0;u<3;++u)c[u]=l[1][u]-l[0][u],h[u]=l[2][u]-l[0][u];var f=new Array(3),p=0;for(u=0;u<3;++u){var d=(u+1)%3,g=(u+2)%3;f[u]=c[d]*h[g]-c[g]*h[d],p+=f[u]*f[u]}p=p>a?1/Math.sqrt(p):0;for(u=0;u<3;++u)f[u]*=p;i[o]=f}return i};var rR=32;function nR(t){switch(t){case\"uint8\":return[__.mallocUint8,__.freeUint8];case\"uint16\":return[__.mallocUint16,__.freeUint16];case\"uint32\":return[__.mallocUint32,__.freeUint32];case\"int8\":return[__.mallocInt8,__.freeInt8];case\"int16\":return[__.mallocInt16,__.freeInt16];case\"int32\":return[__.mallocInt32,__.freeInt32];case\"float32\":return[__.mallocFloat,__.freeFloat];case\"float64\":return[__.mallocDouble,__.freeDouble];default:return null}}function iR(t){for(var e=[],r=0;r<t;++r)e.push(\"s\"+r);for(r=0;r<t;++r)e.push(\"n\"+r);for(r=1;r<t;++r)e.push(\"d\"+r);for(r=1;r<t;++r)e.push(\"e\"+r);for(r=1;r<t;++r)e.push(\"f\"+r);return e}var aR=function(t,e){var r=[\"'use strict'\"],n=[\"ndarraySortWrapper\",t.join(\"d\"),e].join(\"\");r.push([\"function \",n,\"(\",[\"array\"].join(\",\"),\"){\"].join(\"\"));for(var i=[\"data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride\"],a=0;a<t.length;++a)i.push([\"s\",a,\"=stride[\",a,\"]|0,n\",a,\"=shape[\",a,\"]|0\"].join(\"\"));var o=new Array(t.length),s=[];for(a=0;a<t.length;++a)0!==(c=t[a])&&(0===s.length?o[c]=\"1\":o[c]=s.join(\"*\"),s.push(\"n\"+c));var l=-1,u=-1;for(a=0;a<t.length;++a){var c,h=t[a];0!==h&&(l>0?i.push([\"d\",h,\"=s\",h,\"-d\",l,\"*n\",l].join(\"\")):i.push([\"d\",h,\"=s\",h].join(\"\")),l=h),0!=(c=t.length-1-a)&&(u>0?i.push([\"e\",c,\"=s\",c,\"-e\",u,\"*n\",u,\",f\",c,\"=\",o[c],\"-f\",u,\"*n\",u].join(\"\")):i.push([\"e\",c,\"=s\",c,\",f\",c,\"=\",o[c]].join(\"\")),u=c)}r.push(\"var \"+i.join(\",\"));var f=[\"0\",\"n0-1\",\"data\",\"offset\"].concat(iR(t.length));r.push([\"if(n0<=\",rR,\"){\",\"insertionSort(\",f.join(\",\"),\")}else{\",\"quickSort(\",f.join(\",\"),\")}\"].join(\"\")),r.push(\"}return \"+n);var p=new Function(\"insertionSort\",\"quickSort\",r.join(\"\\n\")),d=function(t,e){var r=[\"'use strict'\"],n=[\"ndarrayInsertionSort\",t.join(\"d\"),e].join(\"\"),i=[\"left\",\"right\",\"data\",\"offset\"].concat(iR(t.length)),a=nR(e),o=[\"i,j,cptr,ptr=left*s0+offset\"];if(t.length>1){for(var s=[],l=1;l<t.length;++l)o.push(\"i\"+l),s.push(\"n\"+l);a?o.push(\"scratch=malloc(\"+s.join(\"*\")+\")\"):o.push(\"scratch=new Array(\"+s.join(\"*\")+\")\"),o.push(\"dptr\",\"sptr\",\"a\",\"b\")}else o.push(\"scratch\");function u(t){return\"generic\"===e?[\"data.get(\",t,\")\"].join(\"\"):[\"data[\",t,\"]\"].join(\"\")}function c(t,r){return\"generic\"===e?[\"data.set(\",t,\",\",r,\")\"].join(\"\"):[\"data[\",t,\"]=\",r].join(\"\")}if(r.push([\"function \",n,\"(\",i.join(\",\"),\"){var \",o.join(\",\")].join(\"\"),\"for(i=left+1;i<=right;++i){\",\"j=i;ptr+=s0\",\"cptr=ptr\"),t.length>1){for(r.push(\"dptr=0;sptr=ptr\"),l=t.length-1;l>=0;--l)0!==(h=t[l])&&r.push([\"for(i\",h,\"=0;i\",h,\"<n\",h,\";++i\",h,\"){\"].join(\"\"));for(r.push(\"scratch[dptr++]=\",u(\"sptr\")),l=0;l<t.length;++l)0!==(h=t[l])&&r.push(\"sptr+=d\"+h,\"}\");for(r.push(\"__g:while(j--\\x3eleft){\",\"dptr=0\",\"sptr=cptr-s0\"),l=1;l<t.length;++l)1===l&&r.push(\"__l:\"),r.push([\"for(i\",l,\"=0;i\",l,\"<n\",l,\";++i\",l,\"){\"].join(\"\"));for(r.push([\"a=\",u(\"sptr\"),\"\\nb=scratch[dptr]\\nif(a<b){break __g}\\nif(a>b){break __l}\"].join(\"\")),l=t.length-1;l>=1;--l)r.push(\"sptr+=e\"+l,\"dptr+=f\"+l,\"}\");for(r.push(\"dptr=cptr;sptr=cptr-s0\"),l=t.length-1;l>=0;--l)0!==(h=t[l])&&r.push([\"for(i\",h,\"=0;i\",h,\"<n\",h,\";++i\",h,\"){\"].join(\"\"));for(r.push(c(\"dptr\",u(\"sptr\"))),l=0;l<t.length;++l)0!==(h=t[l])&&r.push([\"dptr+=d\",h,\";sptr+=d\",h].join(\"\"),\"}\");for(r.push(\"cptr-=s0\\n}\"),r.push(\"dptr=cptr;sptr=0\"),l=t.length-1;l>=0;--l)0!==(h=t[l])&&r.push([\"for(i\",h,\"=0;i\",h,\"<n\",h,\";++i\",h,\"){\"].join(\"\"));for(r.push(c(\"dptr\",\"scratch[sptr++]\")),l=0;l<t.length;++l){var h;0!==(h=t[l])&&r.push(\"dptr+=d\"+h,\"}\")}}else r.push(\"scratch=\"+u(\"ptr\"),\"while((j--\\x3eleft)&&(\"+u(\"cptr-s0\")+\">scratch)){\",c(\"cptr\",u(\"cptr-s0\")),\"cptr-=s0\",\"}\",c(\"cptr\",\"scratch\"));return r.push(\"}\"),t.length>1&&a&&r.push(\"free(scratch)\"),r.push(\"} return \"+n),a?new Function(\"malloc\",\"free\",r.join(\"\\n\"))(a[0],a[1]):new Function(r.join(\"\\n\"))()}(t,e);return p(d,function(t,e,r){var n=[\"'use strict'\"],i=[\"ndarrayQuickSort\",t.join(\"d\"),e].join(\"\"),a=[\"left\",\"right\",\"data\",\"offset\"].concat(iR(t.length)),o=nR(e),s=0;n.push([\"function \",i,\"(\",a.join(\",\"),\"){\"].join(\"\"));var l=[\"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 u=[],c=1;c<t.length;++c)u.push(\"n\"+c),l.push(\"i\"+c);for(c=0;c<8;++c)l.push(\"b_ptr\"+c);l.push(\"ptr3\",\"ptr4\",\"ptr5\",\"ptr6\",\"ptr7\",\"pivot_ptr\",\"ptr_shift\",\"elementSize=\"+u.join(\"*\")),o?l.push(\"pivot1=malloc(elementSize)\",\"pivot2=malloc(elementSize)\"):l.push(\"pivot1=new Array(elementSize),pivot2=new Array(elementSize)\")}else l.push(\"pivot1\",\"pivot2\");function h(t){return[\"(offset+\",t,\"*s0)\"].join(\"\")}function f(t){return\"generic\"===e?[\"data.get(\",t,\")\"].join(\"\"):[\"data[\",t,\"]\"].join(\"\")}function p(t,r){return\"generic\"===e?[\"data.set(\",t,\",\",r,\")\"].join(\"\"):[\"data[\",t,\"]=\",r].join(\"\")}function d(e,r,i){if(1===e.length)n.push(\"ptr0=\"+h(e[0]));else for(var a=0;a<e.length;++a)n.push([\"b_ptr\",a,\"=s0*\",e[a]].join(\"\"));for(r&&n.push(\"pivot_ptr=0\"),n.push(\"ptr_shift=offset\"),a=t.length-1;a>=0;--a)0!==(o=t[a])&&n.push([\"for(i\",o,\"=0;i\",o,\"<n\",o,\";++i\",o,\"){\"].join(\"\"));if(e.length>1)for(a=0;a<e.length;++a)n.push([\"ptr\",a,\"=b_ptr\",a,\"+ptr_shift\"].join(\"\"));for(n.push(i),r&&n.push(\"++pivot_ptr\"),a=0;a<t.length;++a){var o;0!==(o=t[a])&&(e.length>1?n.push(\"ptr_shift+=d\"+o):n.push(\"ptr0+=d\"+o),n.push(\"}\"))}}function g(e,r,i,a){if(1===r.length)n.push(\"ptr0=\"+h(r[0]));else{for(var o=0;o<r.length;++o)n.push([\"b_ptr\",o,\"=s0*\",r[o]].join(\"\"));n.push(\"ptr_shift=offset\")}for(i&&n.push(\"pivot_ptr=0\"),e&&n.push(e+\":\"),o=1;o<t.length;++o)n.push([\"for(i\",o,\"=0;i\",o,\"<n\",o,\";++i\",o,\"){\"].join(\"\"));if(r.length>1)for(o=0;o<r.length;++o)n.push([\"ptr\",o,\"=b_ptr\",o,\"+ptr_shift\"].join(\"\"));for(n.push(a),o=t.length-1;o>=1;--o)i&&n.push(\"pivot_ptr+=f\"+o),r.length>1?n.push(\"ptr_shift+=e\"+o):n.push(\"ptr0+=e\"+o),n.push(\"}\")}function v(){t.length>1&&o&&n.push(\"free(pivot1)\",\"free(pivot2)\")}function m(e,r){var i=\"el\"+e,a=\"el\"+r;if(t.length>1){var o=\"__l\"+ ++s;g(o,[i,a],!1,[\"comp=\",f(\"ptr0\"),\"-\",f(\"ptr1\"),\"\\n\",\"if(comp>0){tmp0=\",i,\";\",i,\"=\",a,\";\",a,\"=tmp0;break \",o,\"}\\n\",\"if(comp<0){break \",o,\"}\"].join(\"\"))}else n.push([\"if(\",f(h(i)),\">\",f(h(a)),\"){tmp0=\",i,\";\",i,\"=\",a,\";\",a,\"=tmp0}\"].join(\"\"))}function y(e,r){t.length>1?d([e,r],!1,p(\"ptr0\",f(\"ptr1\"))):n.push(p(h(e),f(h(r))))}function x(e,r,i){if(t.length>1){var a=\"__l\"+ ++s;g(a,[r],!0,[e,\"=\",f(\"ptr0\"),\"-pivot\",i,\"[pivot_ptr]\\n\",\"if(\",e,\"!==0){break \",a,\"}\"].join(\"\"))}else n.push([e,\"=\",f(h(r)),\"-pivot\",i].join(\"\"))}function b(e,r){t.length>1?d([e,r],!1,[\"tmp=\",f(\"ptr0\"),\"\\n\",p(\"ptr0\",f(\"ptr1\")),\"\\n\",p(\"ptr1\",\"tmp\")].join(\"\")):n.push([\"ptr0=\",h(e),\"\\n\",\"ptr1=\",h(r),\"\\n\",\"tmp=\",f(\"ptr0\"),\"\\n\",p(\"ptr0\",f(\"ptr1\")),\"\\n\",p(\"ptr1\",\"tmp\")].join(\"\"))}function _(e,r,i){t.length>1?(d([e,r,i],!1,[\"tmp=\",f(\"ptr0\"),\"\\n\",p(\"ptr0\",f(\"ptr1\")),\"\\n\",p(\"ptr1\",f(\"ptr2\")),\"\\n\",p(\"ptr2\",\"tmp\")].join(\"\")),n.push(\"++\"+r,\"--\"+i)):n.push([\"ptr0=\",h(e),\"\\n\",\"ptr1=\",h(r),\"\\n\",\"ptr2=\",h(i),\"\\n\",\"++\",r,\"\\n\",\"--\",i,\"\\n\",\"tmp=\",f(\"ptr0\"),\"\\n\",p(\"ptr0\",f(\"ptr1\")),\"\\n\",p(\"ptr1\",f(\"ptr2\")),\"\\n\",p(\"ptr2\",\"tmp\")].join(\"\"))}function w(t,e){b(t,e),n.push(\"--\"+e)}function M(e,r,i){t.length>1?d([e,r],!0,[p(\"ptr0\",f(\"ptr1\")),\"\\n\",p(\"ptr1\",[\"pivot\",i,\"[pivot_ptr]\"].join(\"\"))].join(\"\")):n.push(p(h(e),f(h(r))),p(h(r),\"pivot\"+i))}function A(e,r){n.push([\"if((\",r,\"-\",e,\")<=\",rR,\"){\\n\",\"insertionSort(\",e,\",\",r,\",data,offset,\",iR(t.length).join(\",\"),\")\\n\",\"}else{\\n\",i,\"(\",e,\",\",r,\",data,offset,\",iR(t.length).join(\",\"),\")\\n\",\"}\"].join(\"\"))}function k(e,r,i){t.length>1?(n.push([\"__l\",++s,\":while(true){\"].join(\"\")),d([e],!0,[\"if(\",f(\"ptr0\"),\"!==pivot\",r,\"[pivot_ptr]){break __l\",s,\"}\"].join(\"\")),n.push(i,\"}\")):n.push([\"while(\",f(h(e)),\"===pivot\",r,\"){\",i,\"}\"].join(\"\"))}return n.push(\"var \"+l.join(\",\")),m(1,2),m(4,5),m(1,3),m(2,3),m(1,4),m(3,4),m(2,5),m(2,3),m(4,5),t.length>1?d([\"el1\",\"el2\",\"el3\",\"el4\",\"el5\",\"index1\",\"index3\",\"index5\"],!0,[\"pivot1[pivot_ptr]=\",f(\"ptr1\"),\"\\n\",\"pivot2[pivot_ptr]=\",f(\"ptr3\"),\"\\n\",\"pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\\n\",\"x=\",f(\"ptr0\"),\"\\n\",\"y=\",f(\"ptr2\"),\"\\n\",\"z=\",f(\"ptr4\"),\"\\n\",p(\"ptr5\",\"x\"),\"\\n\",p(\"ptr6\",\"y\"),\"\\n\",p(\"ptr7\",\"z\")].join(\"\")):n.push([\"pivot1=\",f(h(\"el2\")),\"\\n\",\"pivot2=\",f(h(\"el4\")),\"\\n\",\"pivots_are_equal=pivot1===pivot2\\n\",\"x=\",f(h(\"el1\")),\"\\n\",\"y=\",f(h(\"el3\")),\"\\n\",\"z=\",f(h(\"el5\")),\"\\n\",p(h(\"index1\"),\"x\"),\"\\n\",p(h(\"index3\"),\"y\"),\"\\n\",p(h(\"index5\"),\"z\")].join(\"\")),y(\"index2\",\"left\"),y(\"index4\",\"right\"),n.push(\"if(pivots_are_equal){\"),n.push(\"for(k=less;k<=great;++k){\"),x(\"comp\",\"k\",1),n.push(\"if(comp===0){continue}\"),n.push(\"if(comp<0){\"),n.push(\"if(k!==less){\"),b(\"k\",\"less\"),n.push(\"}\"),n.push(\"++less\"),n.push(\"}else{\"),n.push(\"while(true){\"),x(\"comp\",\"great\",1),n.push(\"if(comp>0){\"),n.push(\"great--\"),n.push(\"}else if(comp<0){\"),_(\"k\",\"less\",\"great\"),n.push(\"break\"),n.push(\"}else{\"),w(\"k\",\"great\"),n.push(\"break\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}else{\"),n.push(\"for(k=less;k<=great;++k){\"),x(\"comp_pivot1\",\"k\",1),n.push(\"if(comp_pivot1<0){\"),n.push(\"if(k!==less){\"),b(\"k\",\"less\"),n.push(\"}\"),n.push(\"++less\"),n.push(\"}else{\"),x(\"comp_pivot2\",\"k\",2),n.push(\"if(comp_pivot2>0){\"),n.push(\"while(true){\"),x(\"comp\",\"great\",2),n.push(\"if(comp>0){\"),n.push(\"if(--great<k){break}\"),n.push(\"continue\"),n.push(\"}else{\"),x(\"comp\",\"great\",1),n.push(\"if(comp<0){\"),_(\"k\",\"less\",\"great\"),n.push(\"}else{\"),w(\"k\",\"great\"),n.push(\"}\"),n.push(\"break\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),M(\"left\",\"(less-1)\",1),M(\"right\",\"(great+1)\",2),A(\"left\",\"(less-2)\"),A(\"(great+2)\",\"right\"),n.push(\"if(pivots_are_equal){\"),v(),n.push(\"return\"),n.push(\"}\"),n.push(\"if(less<index1&&great>index5){\"),k(\"less\",1,\"++less\"),k(\"great\",2,\"--great\"),n.push(\"for(k=less;k<=great;++k){\"),x(\"comp_pivot1\",\"k\",1),n.push(\"if(comp_pivot1===0){\"),n.push(\"if(k!==less){\"),b(\"k\",\"less\"),n.push(\"}\"),n.push(\"++less\"),n.push(\"}else{\"),x(\"comp_pivot2\",\"k\",2),n.push(\"if(comp_pivot2===0){\"),n.push(\"while(true){\"),x(\"comp\",\"great\",2),n.push(\"if(comp===0){\"),n.push(\"if(--great<k){break}\"),n.push(\"continue\"),n.push(\"}else{\"),x(\"comp\",\"great\",1),n.push(\"if(comp<0){\"),_(\"k\",\"less\",\"great\"),n.push(\"}else{\"),w(\"k\",\"great\"),n.push(\"}\"),n.push(\"break\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),v(),A(\"less\",\"great\"),n.push(\"}return \"+i),t.length>1&&o?new Function(\"insertionSort\",\"malloc\",\"free\",n.join(\"\\n\"))(r,o[0],o[1]):new Function(\"insertionSort\",n.join(\"\\n\"))(r)}(t,e,d))},oR={};var sR=function(t){var e=t.order,r=t.dtype,n=[e,r].join(\":\"),i=oR[n];return i||(oR[n]=i=aR(e,r)),i(t),t},lR=function(t){for(var e=1<<t+1,r=new Array(e),n=0;n<e;++n)r[n]=cR(t,n);return r};function uR(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 cR(t,e){if(0===e||e===(1<<t+1)-1)return[];for(var r=[],n=[],i=0;i<=t;++i)if(e&1<<i){r.push(uR(t,i-1,i-1)),n.push(null);for(var a=0;a<=t;++a)~e&1<<a&&(r.push(uR(t,i-1,a-1)),n.push([i,a]))}var o=SO(r),s=[];t:for(i=0;i<o.length;++i){var l=o[i],u=[];for(a=0;a<l.length;++a){if(!n[l[a]])continue t;u.push(n[l[a]].slice())}s.push(u)}return s}var hR=function(t){var e=fR[t];e||(e=fR[t]=function(t){var e=0,r=new Array(t+1);r[0]=[[]];for(var n=1;n<=t;++n)for(var i=r[n]=lR(n),a=0;a<i.length;++a)e=Math.max(e,i[n].length);var o=[\"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;\"];function s(t){if(!(t.length<=0)){o.push(\"R.push(\");for(var e=0;e<t.length;++e){var r=t[e];e>0&&o.push(\",\"),o.push(\"[\");for(var n=0;n<r.length;++n){var i=r[n];n>0&&o.push(\",\"),o.push(\"B(C,E,c[\",i[0],\"],c[\",i[1],\"])\")}o.push(\"]\")}o.push(\");\")}}for(var n=t+1;n>1;--n){n<t+1&&o.push(\"else \"),o.push(\"if(l===\",n,\"){\");for(var l=[],a=0;a<n;++a)l.push(\"(S[c[\"+a+\"]]<<\"+a+\")\");o.push(\"var M=\",l.join(\"+\"),\";if(M===0||M===\",(1<<n)-1,\"){continue}switch(M){\");for(var i=r[n-1],a=0;a<i.length;++a)o.push(\"case \",a,\":\"),s(i[a]),o.push(\"break;\");o.push(\"}}\")}return o.push(\"}return R;};return getContour\",t,\"d\"),new Function(\"pool\",o.join(\"\"))(__)}(t));return e},fR={};var pR=function(t,e,r,n){r=r||0,void 0===n&&(n=function(t){for(var e=t.length,r=0,n=0;n<e;++n)r=0|Math.max(r,t[n].length);return r-1}(t));if(0===t.length||n<1)return{cells:[],vertexIds:[],vertexWeights:[]};var i=function(t,e){for(var r=t.length,n=__.mallocUint8(r),i=0;i<r;++i)n[i]=t[i]<e|0;return n}(e,+r),a=function(t,e){for(var r=t.length,n=e*(e+1)/2*r|0,i=__.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 c=s[u],h=s[l];i[a++]=0|Math.min(c,h),i[a++]=0|Math.max(c,h)}sR(wb(i,[a/2|0,2]));for(var f=2,o=2;o<a;o+=2)i[o-2]===i[o]&&i[o-1]===i[o+1]||(i[f++]=i[o],i[f++]=i[o+1]);return wb(i,[f/2|0,2])}(t,n),o=function(t,e,r,n){for(var i=t.data,a=t.shape[0],o=__.mallocDouble(a),s=0,l=0;l<a;++l){var u=i[2*l],c=i[2*l+1];if(r[u]!==r[c]){var h=e[u],f=e[c];i[2*s]=u,i[2*s+1]=c,o[s++]=(f-n)/(f-h)}}return t.shape[0]=s,wb(o,[s])}(a,e,i,+r),s=function(t,e){var r=__.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}}r[2*a+1]=n;for(;++a<e;)r[2*a]=r[2*a+1]=n;return r}(a,0|e.length),l=hR(n)(t,a.data,s,i),u=function(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}(a),c=[].slice.call(o.data,0,o.shape[0]);return __.free(i),__.free(a.data),__.free(o.data),__.free(s),{cells:l,vertexIds:u,vertexWeights:c}};var dR=qO.meshShader,gR=qO.wireShader,vR=qO.pointShader,mR=qO.pickShader,yR=qO.pointPickShader,xR=qO.contourShader,bR=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function _R(t,e,r,n,i,a,o,s,l,u,c,h,f,p,d,g,v,m,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=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=v,this.edgeUVs=m,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=bR,this._view=bR,this._projection=bR,this._resolution=[1,1]}var wR=_R.prototype;function MR(t){var e=Bw(t,vR.vertex,vR.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function AR(t){var e=Bw(t,mR.vertex,mR.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function kR(t){var e=Bw(t,yR.vertex,yR.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function TR(t){var e=Bw(t,xR.vertex,xR.fragment);return e.attributes.position.location=0,e}wR.isOpaque=function(){return this.opacity>=1},wR.isTransparent=function(){return this.opacity<1},wR.pickSlots=1,wR.setPickBase=function(t){this.pickId=t},wR.highlight=function(t){if(t&&this.contourEnable){for(var e=pR(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=__.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],p=n[h][1],d=i[h],g=1-d,v=this.positions[f],m=this.positions[p],y=0;y<3;++y)o[s++]=d*v[y]+g*m[y]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),__.free(o)}else this.contourCount=0},wR.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=zE(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(function(t){for(var e=LO({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 wb(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&&r){var i=[],a=[],o=[],s=[],l=[],u=[],c=[],h=[],f=[],p=[],d=[],g=[],v=[],m=[];this.cells=r,this.positions=n;var y=t.vertexNormals,x=t.cellNormals,b=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,_=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!x&&(x=eR.faceNormals(r,n,_)),x||y||(y=eR.vertexNormals(r,n,b));var w=t.vertexColors,M=t.cellColors,A=t.meshColor||[1,1,1,1],k=t.vertexUVs,T=t.vertexIntensity,S=t.cellUVs,E=t.cellIntensity,C=1/0,L=-1/0;if(!k&&!S)if(T)if(t.vertexIntensityBounds)C=+t.vertexIntensityBounds[0],L=+t.vertexIntensityBounds[1];else for(var z=0;z<T.length;++z){var P=T[z];C=Math.min(C,P),L=Math.max(L,P)}else if(E)for(z=0;z<E.length;++z){P=E[z];C=Math.min(C,P),L=Math.max(L,P)}else for(z=0;z<n.length;++z){P=n[z][2];C=Math.min(C,P),L=Math.max(L,P)}this.intensity=T||(E?function(t,e,r){for(var n=new Array(e),i=0;i<e;++i)n[i]=0;var a=t.length;for(i=0;i<a;++i)for(var o=t[i],s=0;s<o.length;++s)n[o[s]]=r[i];return n}(r,n.length,E):function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n));var I=t.pointSizes,D=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(z=0;z<n.length;++z)for(var O=n[z],R=0;R<3;++R)!isNaN(O[R])&&isFinite(O[R])&&(this.bounds[0][R]=Math.min(this.bounds[0][R],O[R]),this.bounds[1][R]=Math.max(this.bounds[1][R],O[R]));var F=0,B=0,N=0;t:for(z=0;z<r.length;++z){var j=r[z];switch(j.length){case 1:for(O=n[U=j[0]],R=0;R<3;++R)if(isNaN(O[R])||!isFinite(O[R]))continue t;p.push(O[0],O[1],O[2]),3===(q=w?w[U]:M?M[z]:A).length?d.push(q[0],q[1],q[2],1):d.push(q[0],q[1],q[2],q[3]),H=k?k[U]:T?[(T[U]-C)/(L-C),0]:S?S[z]:E?[(E[z]-C)/(L-C),0]:[(O[2]-C)/(L-C),0],g.push(H[0],H[1]),I?v.push(I[U]):v.push(D),m.push(z),N+=1;break;case 2:for(R=0;R<2;++R){O=n[U=j[R]];for(var V=0;V<3;++V)if(isNaN(O[V])||!isFinite(O[V]))continue t}for(R=0;R<2;++R){O=n[U=j[R]];u.push(O[0],O[1],O[2]),3===(q=w?w[U]:M?M[z]:A).length?c.push(q[0],q[1],q[2],1):c.push(q[0],q[1],q[2],q[3]),H=k?k[U]:T?[(T[U]-C)/(L-C),0]:S?S[z]:E?[(E[z]-C)/(L-C),0]:[(O[2]-C)/(L-C),0],h.push(H[0],H[1]),f.push(z)}B+=1;break;case 3:for(R=0;R<3;++R)for(O=n[U=j[R]],V=0;V<3;++V)if(isNaN(O[V])||!isFinite(O[V]))continue t;for(R=0;R<3;++R){var U,q,H,G;O=n[U=j[R]];i.push(O[0],O[1],O[2]),3===(q=w?w[U]:M?M[z]:A).length?a.push(q[0],q[1],q[2],1):a.push(q[0],q[1],q[2],q[3]),H=k?k[U]:T?[(T[U]-C)/(L-C),0]:S?S[z]:E?[(E[z]-C)/(L-C),0]:[(O[2]-C)/(L-C),0],s.push(H[0],H[1]),G=y?y[U]:x[z],o.push(G[0],G[1],G[2]),l.push(z)}F+=1}}this.pointCount=N,this.edgeCount=B,this.triangleCount=F,this.pointPositions.update(p),this.pointColors.update(d),this.pointUVs.update(g),this.pointSizes.update(v),this.pointIds.update(new Uint32Array(m)),this.edgePositions.update(u),this.edgeColors.update(c),this.edgeUVs.update(h),this.edgeIds.update(new Uint32Array(f)),this.trianglePositions.update(i),this.triangleColors.update(a),this.triangleUVs.update(s),this.triangleNormals.update(o),this.triangleIds.update(new Uint32Array(l))}},wR.drawTransparent=wR.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||bR,n=t.view||bR,i=t.projection||bR,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);Dz(l,s.view,s.model),Dz(l,s.projection,l),cz(l,l);for(o=0;o<3;++o)s.eyePosition[o]=l[12+o]/l[15];var u,c=l[15];for(o=0;o<3;++o)c+=this.lightPosition[o]*l[4*o+3];for(o=0;o<3;++o){for(var h=l[12+o],f=0;f<3;++f)h+=l[4*f+o]*this.lightPosition[f];s.lightPosition[o]=h/c}this.triangleCount>0&&((u=this.triShader).bind(),u.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((u=this.lineShader).bind(),u.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((u=this.pointShader).bind(),u.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((u=this.contourShader).bind(),u.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},wR.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||bR,n=t.view||bR,i=t.projection||bR,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,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,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)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},wR.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=jO(i,[t.coord[0],this._resolution[1]-t.coord[1]],this._model,this._view,this._projection,this._resolution);if(!o)return null;var s=o[2],l=0;for(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]]]}},wR.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()};var SR=function(t,e){1===arguments.length&&(t=(e=t).gl);var r=function(t){var e=Bw(t,dR.vertex,dR.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}(t),n=function(t){var e=Bw(t,gR.vertex,gR.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}(t),i=MR(t),a=AR(t),o=kR(t),s=TR(t),l=zE(t,wb(new Uint8Array([255,255,255,255]),[1,1,4]));l.generateMipmap(),l.minFilter=t.LINEAR_MIPMAP_LINEAR,l.magFilter=t.LINEAR;var u=S_(t),c=S_(t),h=S_(t),f=S_(t),p=S_(t),d=EP(t,[{buffer:u,type:t.FLOAT,size:3},{buffer:p,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:c,type:t.FLOAT,size:4},{buffer:h,type:t.FLOAT,size:2},{buffer:f,type:t.FLOAT,size:3}]),g=S_(t),v=S_(t),m=S_(t),y=S_(t),x=EP(t,[{buffer:g,type:t.FLOAT,size:3},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:v,type:t.FLOAT,size:4},{buffer:m,type:t.FLOAT,size:2}]),b=S_(t),_=S_(t),w=S_(t),M=S_(t),A=S_(t),k=EP(t,[{buffer:b,type:t.FLOAT,size:3},{buffer:A,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:_,type:t.FLOAT,size:4},{buffer:w,type:t.FLOAT,size:2},{buffer:M,type:t.FLOAT,size:1}]),T=S_(t),S=new _R(t,l,r,n,i,a,o,s,u,p,c,h,f,d,g,y,v,m,x,b,A,_,w,M,k,T,EP(t,[{buffer:T,type:t.FLOAT,size:3}]));return S.update(e),S};function ER(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=\"\",this.color=\"#fff\",this.data=null,this.showContour=!1}var CR=ER.prototype;function LR(t){return t.map(WC)}function zR(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}CR.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},CR.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map(function(e){return t.d2l(e,0,n)*r})}this.data=t;var i,a=zR(n(r.xaxis,t.x,e.dataScale[0],t.xcalendar),n(r.yaxis,t.y,e.dataScale[1],t.ycalendar),n(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k)i=zR(t.i,t.j,t.k);else if(0===t.alphahull)i=SO(a);else if(t.alphahull>0)i=xO(t.alphahull,a);else{var o=[\"x\",\"y\",\"z\"].indexOf(t.delaunayaxis);i=sO(a.map(function(t){return[t[(o+1)%3],t[(o+2)%3]]}))}var l={positions:a,cells:i,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:WC(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};t.intensity?(this.color=\"#fff\",l.vertexIntensity=t.intensity,l.vertexIntensityBounds=[t.cmin,t.cmax],l.colormap=t.colorscale.map(function(t){var e=t[0],r=s(t[1]).toRgb();return{index:e,rgb:[r.r,r.g,r.b,1]}})):t.vertexcolor?(this.color=t.vertexcolor[0],l.vertexColors=LR(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],l.cellColors=LR(t.facecolor)):(this.color=t.color,l.meshColor=WC(t.color)),this.mesh.update(l)},CR.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};var PR=function(t,e){var r=t.glplot.gl,n=SR({gl:r}),i=new ER(t,n,e.uid);return n._trace=i,i.update(e),t.glplot.add(n),i},IR={};IR.attributes=RD,IR.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,RD,r,n)}function a(t){var e=t.map(function(t){var e=i(t);return e&&ne.isArrayOrTypedArray(e)?e:null});return e.every(function(t){return t&&t.length===e[0].length})&&e}var o=a([\"x\",\"y\",\"z\"]),s=a([\"i\",\"j\",\"k\"]);o?(s&&s.forEach(function(t){for(var e=0;e<t.length;++e)t[e]|=0}),P.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],n),[\"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){i(t)}),\"intensity\"in t?(i(\"intensity\"),Ye(t,e,n,i,{prefix:\"\",cLetter:\"c\"})):(e.showscale=!1,\"facecolor\"in t?i(\"facecolor\"):\"vertexcolor\"in t?i(\"vertexcolor\"):i(\"color\",r)),i(\"text\")):e.visible=!1},IR.calc=function(t,e){e.intensity&&Ve(e,e.intensity,\"\",\"c\")},IR.colorbar=function(t,e){var n=e[0].trace,i=\"cb\"+n.uid,a=n.cmin,o=n.cmax,s=n.intensity||[];if(r(a)||(a=ne.aggNums(Math.min,null,s)),r(o)||(o=ne.aggNums(Math.max,null,s)),t._fullLayout._infolayer.selectAll(\".\"+i).remove(),n.showscale){var l=e[0].t.cb=ns(t,i),u=Je.makeColorScaleFunc(Je.extractScale(n.colorscale,a,o),{noNumericCheck:!0});l.fillcolor(u).filllevels({start:a,end:o,size:(o-a)/254}).options(n.colorbar)()}else _n.autoMargin(t,i)},IR.plot=PR,IR.moduleType=\"trace\",IR.name=\"mesh3d\",IR.basePlotModule=SD,IR.categories=[\"gl3d\"],IR.meta={};var DR=IR;function OR(t,e,r,n){Kl(t,e,r,n),r(n+\".line.color\"),r(n+\".line.width\",e.line.width),r(n+\".line.dash\",e.line.dash)}var RR={},FR=ne._;function BR(t,e,r){var n={type:\"scatter\",mode:\"lines\",connectgaps:!1,visible:t.visible,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,hoverinfo:function(t){var e=t.hoverinfo;if(\"all\"===e)return\"x+text+name\";var r=e.split(\"+\"),n=r.indexOf(\"y\"),i=r.indexOf(\"text\");-1!==n&&(r.splice(n,1),-1===i&&r.push(\"text\"));return r.join(\"+\")}(t),transforms:Ql.makeTransform(t,e,r)},i=t[r];return i&&ne.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),text:t.text,name:i.name,showlegend:i.showlegend,line:i.line}),n}RR.moduleType=\"transform\",RR.name=\"ohlc\",RR.attributes={},RR.supplyDefaults=function(t,e,r,n){return Ql.clearEphemeralTransformOpts(n),Ql.copyOHLC(t,e),t},RR.transform=function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n];\"ohlc\"===i.type?r.push(BR(i,e,\"increasing\"),BR(i,e,\"decreasing\")):r.push(i)}return Ql.addRangeSlider(r,e.layout),r},RR.calcTransform=function(t,e,n){var i,a=n.direction,o=Ql.getFilterFn(a),s=gn.getFromTrace(t,e,\"x\"),l=gn.getFromTrace(t,e,\"y\"),u=function(t,e,r){var n=r._fullInput,i=n.tickwidth,a=n._minDiff;if(!a){var o,s=t._fullData,l=[];for(a=1/0,o=0;o<s.length;o++){var u=s[o]._fullInput;if(\"ohlc\"===u.type&&!0===u.visible&&u.xaxis===e._id&&(l.push(u),u.x&&u.x.length>1)){var c=ne.simpleMap(u.x,e.d2c,0,r.xcalendar),h=ne.distinctVals(c).minDiff;a=Math.min(a,h)}}for(a===1/0&&(a=1),o=0;o<l.length;o++)l[o]._minDiff=a}return a*i}(t,s,e),c=e.open,h=e.high,f=e.low,p=e.close,d=e.text,g=FR(t,\"open:\")+\" \",v=FR(t,\"high:\")+\" \",m=FR(t,\"low:\")+\" \",y=FR(t,\"close:\")+\" \",x=c.length,b=[],_=[],w=[];i=e._fullInput.x?function(t){var r=e.x[t],n=e.xcalendar,i=s.d2c(r,0,n);b.push(s.c2d(i-u,0,n),r,r,r,r,s.c2d(i+u,0,n),null)}:function(t){b.push(t-u,t,t,t,t,t+u,null)};for(var M,A,k,T,S=function(t,e){return ri.tickText(t,t.c2l(e),\"hover\").text},E=e._fullInput.hoverinfo,C=E.split(\"+\"),L=\"all\"===E,z=L||-1!==C.indexOf(\"y\"),P=L||-1!==C.indexOf(\"text\"),I=Array.isArray(d)?function(t){return d[t]||\"\"}:function(){return d},D=function(t,e,r,n,i){var a=[];z&&(a.push(g+S(l,e)),a.push(v+S(l,r)),a.push(m+S(l,n)),a.push(y+S(l,i))),P&&a.push(I(t));var o=a.join(\"<br>\");w.push(o,o,o,o,o,o,null)},O=0;O<x;O++)o(c[O],p[O])&&r(h[O])&&r(f[O])&&(i(O),M=c[O],A=h[O],k=f[O],T=p[O],_.push(M,M,A,k,T,T,null),D(O,c[O],h[O],f[O],p[O]));e.x=b,e.y=_,e.text=w,e._length=b.length};var NR={moduleType:\"trace\",name:\"ohlc\",basePlotModule:ua,categories:[\"cartesian\",\"showLegend\"],meta:{},attributes:Yl,supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Yl,r,n)}Ql.pushDummyTransformOpts(t,e),0!==$l(t,e,i,n)?(i(\"line.width\"),i(\"line.dash\"),OR(t,e,i,\"increasing\"),OR(t,e,i,\"decreasing\"),i(\"text\"),i(\"tickwidth\")):e.visible=!1}};P.register(zx),P.register(RR);var jR,VR,UR=NR,qR=qc.attributes,HR=m.extendDeepAll,GR=m.extendFlat,WR={domain:qR({name:\"parcoords\",trace:!0,editType:\"calc\"}),labelfont:T({editType:\"calc\"}),tickfont:T({editType:\"calc\"}),rangefont:T({editType:\"calc\"}),dimensions:{_isLinkedToArray:\"dimension\",label:{valType:\"string\",editType:\"calc\"},tickvals:GR({},Ce.tickvals,{editType:\"calc\"}),ticktext:GR({},Ce.ticktext,{editType:\"calc\"}),tickformat:{valType:\"string\",dflt:\"3s\",editType:\"calc\"},visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},range:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},constraintrange:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},line:GR(HR(De(0,\"calc\"),{colorscale:{dflt:l.Viridis},autocolorscale:{dflt:!1}}),{showscale:{valType:\"boolean\",dflt:!1,editType:\"calc\"},colorbar:ze,editType:\"calc\"})},YR={exports:{}};function XR(t){return[t]}jR=this,VR=function(){function t(t,e){this.id=V++,this.type=t,this.data=e}function e(t){return\"[\"+function t(e){if(0===e.length)return[];var r=e.charAt(0),n=e.charAt(e.length-1);if(1<e.length&&r===n&&('\"'===r||\"'\"===r))return['\"'+e.substr(1,e.length-2).replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')+'\"'];if(r=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(e))return t(e.substr(0,r.index)).concat(t(r[1])).concat(t(e.substr(r.index+r[0].length)));if(1===(r=e.split(\".\")).length)return['\"'+e.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')+'\"'];for(e=[],n=0;n<r.length;++n)e=e.concat(t(r[n]));return e}(t).join(\"][\")+\"]\"}function r(t){return\"string\"==typeof t?t.split():t}function n(t){return\"string\"==typeof t?document.querySelector(t):t}function i(t){var e,i,a,o,s=t||{};t={};var l=[],u=[],c=\"undefined\"==typeof window?1:window.devicePixelRatio,h=!1,f=function(t){},p=function(){};if(\"string\"==typeof s?e=document.querySelector(s):\"object\"==typeof s&&(\"string\"==typeof s.nodeName&&\"function\"==typeof s.appendChild&&\"function\"==typeof s.getBoundingClientRect?e=s:\"function\"==typeof s.drawArrays||\"function\"==typeof s.drawElements?a=(o=s).canvas:(\"gl\"in s?o=s.gl:\"canvas\"in s?a=n(s.canvas):\"container\"in s&&(i=n(s.container)),\"attributes\"in s&&(t=s.attributes),\"extensions\"in s&&(l=r(s.extensions)),\"optionalExtensions\"in s&&(u=r(s.optionalExtensions)),\"onDone\"in s&&(f=s.onDone),\"profile\"in s&&(h=!!s.profile),\"pixelRatio\"in s&&(c=+s.pixelRatio))),e&&(\"canvas\"===e.nodeName.toLowerCase()?a=e:i=e),!o){if(!a){if(!(e=function(t,e,r){function n(){var e=window.innerWidth,n=window.innerHeight;t!==document.body&&(e=(n=t.getBoundingClientRect()).right-n.left,n=n.bottom-n.top),i.width=r*e,i.height=r*n,j(i.style,{width:e+\"px\",height:n+\"px\"})}var i=document.createElement(\"canvas\");return j(i.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(i),t===document.body&&(i.style.position=\"absolute\",j(t.style,{margin:0,padding:0})),window.addEventListener(\"resize\",n,!1),n(),{canvas:i,onDestroy:function(){window.removeEventListener(\"resize\",n),t.removeChild(i)}}}(i||document.body,0,c)))return null;a=e.canvas,p=e.onDestroy}o=function(t,e){function r(r){try{return t.getContext(r,e)}catch(t){return null}}return r(\"webgl\")||r(\"experimental-webgl\")||r(\"webgl-experimental\")}(a,t)}return o?{gl:o,canvas:a,container:i,extensions:l,optionalExtensions:u,pixelRatio:c,profile:h,onDone:f,onDestroy:p}:(p(),f(\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\"),null)}function a(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)||G(t.data))}function o(t,e){for(var r=Array(t),n=0;n<t;++n)r[n]=e(n);return r}function s(t){var e,r;return e=(65535<t)<<4,e|=r=(255<(t>>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function l(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=Y[s(t)>>2]).length?e.pop():new ArrayBuffer(t)}function u(t){Y[s(t.byteLength)>>2].push(t)}function c(t,e,r,n,i,a){for(var o=0;o<e;++o)for(var s=t[o],l=0;l<r;++l)for(var u=s[l],c=0;c<n;++c)i[a++]=u[c]}function h(t){return 0|J[Object.prototype.toString.call(t)]}function f(t,e){for(var r=0;r<e.length;++r)t[r]=e[r]}function p(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 d(t,e,r){function n(e){this.id=l++,this.buffer=t.createBuffer(),this.type=e,this.usage=35044,this.byteLength=0,this.dimension=1,this.dtype=5121,this.persistentData=null,r.profile&&(this.stats={size:0})}function i(e,r,n){e.byteLength=r.byteLength,t.bufferData(e.type,r,n)}function o(t,e,r,n,o,s){if(t.usage=r,Array.isArray(e)){if(t.dtype=n||5126,0<e.length)if(Array.isArray(e[0])){o=tt(e);for(var l=n=1;l<o.length;++l)n*=o[l];t.dimension=n,i(t,e=$(e,o,t.dtype),r),s?t.persistentData=e:X.freeType(e)}else\"number\"==typeof e[0]?(t.dimension=o,f(o=X.allocType(t.dtype,e.length),e),i(t,o,r),s?t.persistentData=o:X.freeType(o)):G(e[0])&&(t.dimension=e[0].length,t.dtype=n||h(e[0])||5126,i(t,e=$(e,[e.length,e[0].length],t.dtype),r),s?t.persistentData=e:X.freeType(e))}else if(G(e))t.dtype=n||h(e),t.dimension=o,i(t,e,r),s&&(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(a(e)){o=e.shape;var u=e.stride,c=(l=e.offset,0),d=0,g=0,v=0;1===o.length?(c=o[0],d=1,g=u[0],v=0):2===o.length&&(c=o[0],d=o[1],g=u[0],v=u[1]),t.dtype=n||h(e.data)||5126,t.dimension=d,p(o=X.allocType(t.dtype,c*d),e.data,c,d,g,v,l),i(t,o,r),s?t.persistentData=o:X.freeType(o)}}function s(r){e.bufferCount--,t.deleteBuffer(r.buffer),r.buffer=null,delete u[r.id]}var l=0,u={};n.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},n.prototype.destroy=function(){s(this)};var c=[];return r.profile&&(e.getTotalBufferSize=function(){var t=0;return Object.keys(u).forEach(function(e){t+=u[e].stats.size}),t}),{create:function(i,l,c,d){function g(e){var n=35044,i=null,s=0,l=0,u=1;return Array.isArray(e)||G(e)||a(e)?i=e:\"number\"==typeof e?s=0|e:e&&(\"data\"in e&&(i=e.data),\"usage\"in e&&(n=Q[e.usage]),\"type\"in e&&(l=K[e.type]),\"dimension\"in e&&(u=0|e.dimension),\"length\"in e&&(s=0|e.length)),v.bind(),i?o(v,i,n,l,u,d):(t.bufferData(v.type,s,n),v.dtype=l||5121,v.usage=n,v.dimension=u,v.byteLength=s),r.profile&&(v.stats.size=v.byteLength*et[v.dtype]),g}e.bufferCount++;var v=new n(l);return u[v.id]=v,c||g(i),g._reglType=\"buffer\",g._buffer=v,g.subdata=function(e,r){var n,i=0|(r||0);if(v.bind(),G(e))t.bufferSubData(v.type,i,e);else if(Array.isArray(e)){if(0<e.length)if(\"number\"==typeof e[0]){var o=X.allocType(v.dtype,e.length);f(o,e),t.bufferSubData(v.type,i,o),X.freeType(o)}else(Array.isArray(e[0])||G(e[0]))&&(n=tt(e),o=$(e,n,v.dtype),t.bufferSubData(v.type,i,o),X.freeType(o))}else if(a(e)){n=e.shape;var s=e.stride,l=o=0,u=0,c=0;1===n.length?(o=n[0],l=1,u=s[0],c=0):2===n.length&&(o=n[0],l=n[1],u=s[0],c=s[1]),n=Array.isArray(e.data)?v.dtype:h(e.data),p(n=X.allocType(n,o*l),e.data,o,l,u,c,e.offset),t.bufferSubData(v.type,i,n),X.freeType(n)}return g},r.profile&&(g.stats=v.stats),g.destroy=function(){s(v)},g},createStream:function(t,e){var r=c.pop();return r||(r=new n(t)),r.bind(),o(r,e,35040,0,1,!1),r},destroyStream:function(t){c.push(t)},clear:function(){W(u).forEach(s),c.forEach(s)},getBuffer:function(t){return t&&t._buffer instanceof n?t._buffer:null},restore:function(){W(u).forEach(function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)})},_initBuffer:o}}function g(t,e,r,n){function i(t){this.id=u++,l[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function o(n,i,o,s,l,u,c){if(n.buffer.bind(),i){var h=c;c||G(i)&&(!a(i)||G(i.data))||(h=e.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,i,o,h,3)}else t.bufferData(34963,u,o),n.buffer.dtype=h||5121,n.buffer.usage=o,n.buffer.dimension=3,n.buffer.byteLength=u;if(h=c,!c){switch(n.buffer.dtype){case 5121:case 5120:h=5121;break;case 5123:case 5122:h=5123;break;case 5125:case 5124:h=5125}n.buffer.dtype=h}n.type=h,0>(i=l)&&(i=n.buffer.byteLength,5123===h?i>>=1:5125===h&&(i>>=2)),n.vertCount=i,i=s,0>s&&(i=4,1===(s=n.buffer.dimension)&&(i=0),2===s&&(i=1),3===s&&(i=4)),n.primType=i}function s(t){n.elementsCount--,delete l[t.id],t.buffer.destroy(),t.buffer=null}var l={},u=0,c={uint8:5121,uint16:5123};e.oes_element_index_uint&&(c.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var h=[];return{create:function(t,e){function l(t){if(t)if(\"number\"==typeof t)u(t),h.primType=4,h.vertCount=0|t,h.type=5121;else{var e=null,r=35044,n=-1,i=-1,s=0,f=0;Array.isArray(t)||G(t)||a(t)?e=t:(\"data\"in t&&(e=t.data),\"usage\"in t&&(r=Q[t.usage]),\"primitive\"in t&&(n=rt[t.primitive]),\"count\"in t&&(i=0|t.count),\"type\"in t&&(f=c[t.type]),\"length\"in t?s=0|t.length:(s=i,5123===f||5122===f?s*=2:5125!==f&&5124!==f||(s*=4))),o(h,e,r,n,i,s,f)}else u(),h.primType=4,h.vertCount=0,h.type=5121;return l}var u=r.create(null,34963,!0),h=new i(u._buffer);return n.elementsCount++,l(t),l._reglType=\"elements\",l._elements=h,l.subdata=function(t,e){return u.subdata(t,e),l},l.destroy=function(){s(h)},l},createStream:function(t){var e=h.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),o(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){h.push(t)},getElements:function(t){return\"function\"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){W(l).forEach(s)}}}function v(t){for(var e=X.allocType(5123,t.length),r=0;r<t.length;++r)if(isNaN(t[r]))e[r]=65535;else if(1/0===t[r])e[r]=31744;else if(-1/0===t[r])e[r]=64512;else{nt[0]=t[r];var n=(a=it[0])>>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15<i?n+31744:n+(i+15<<10)+a}return e}function m(t){return Array.isArray(t)||G(t)}function y(t){return Array.isArray(t)&&(0===t.length||\"number\"==typeof t[0])}function x(t){return!(!Array.isArray(t)||0===t.length||!m(t[0]))}function b(t){return Object.prototype.toString.call(t)}function _(t){if(!t)return!1;var e=b(t);return 0<=lt.indexOf(e)||(y(t)||x(t)||a(t))}function w(t,e){36193===t.type?(t.data=v(e),X.freeType(e)):t.data=e}function M(t,e,r,n,i,a){if(t=void 0!==ct[t]?ct[t]:st[t]*ut[e],a&&(t*=6),i){for(n=0;1<=r;)n+=t*r*r,r/=2;return n}return t*r*n}function A(t,e,r,n,i,o,s){function l(){this.format=this.internalformat=6408,this.type=5121,this.flipY=this.premultiplyAlpha=this.compressed=!1,this.unpackAlignment=1,this.colorSpace=37444,this.channels=this.height=this.width=0}function u(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 c(t,e){if(\"object\"==typeof e&&e){\"premultiplyAlpha\"in e&&(t.premultiplyAlpha=e.premultiplyAlpha),\"flipY\"in e&&(t.flipY=e.flipY),\"alignment\"in e&&(t.unpackAlignment=e.alignment),\"colorSpace\"in e&&(t.colorSpace=U[e.colorSpace]),\"type\"in e&&(t.type=q[e.type]);var r=t.width,n=t.height,i=t.channels,a=!1;\"shape\"in e?(r=e.shape[0],n=e.shape[1],3===e.shape.length&&(i=e.shape[2],a=!0)):(\"radius\"in e&&(r=n=e.radius),\"width\"in e&&(r=e.width),\"height\"in e&&(n=e.height),\"channels\"in e&&(i=e.channels,a=!0)),t.width=0|r,t.height=0|n,t.channels=0|i,r=!1,\"format\"in e&&(r=e.format,n=t.internalformat=H[r],t.format=it[n],r in q&&!(\"type\"in e)&&(t.type=q[r]),r in Y&&(t.compressed=!0),r=!0),!a&&r?t.channels=st[t.format]:a&&!r&&t.channels!==ot[t.format]&&(t.format=t.internalformat=ot[t.channels])}}function h(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function f(){l.call(this),this.yOffset=this.xOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function p(t,e){var r=null;if(_(e)?r=e:e&&(c(t,e),\"x\"in e&&(t.xOffset=0|e.x),\"y\"in e&&(t.yOffset=0|e.y),_(e.data)&&(r=e.data)),e.copy){var n=i.viewportWidth,o=i.viewportHeight;t.width=t.width||n-t.xOffset,t.height=t.height||o-t.yOffset,t.needsCopy=!0}else if(r){if(G(r))t.channels=t.channels||4,t.data=r,\"type\"in e||5121!==t.type||(t.type=0|J[Object.prototype.toString.call(r)]);else if(y(r)){switch(t.channels=t.channels||4,o=(n=r).length,t.type){case 5121:case 5123:case 5125:case 5126:(o=X.allocType(t.type,o)).set(n),t.data=o;break;case 36193:t.data=v(n)}t.alignment=1,t.needsFree=!0}else if(a(r)){n=r.data,Array.isArray(n)||5121!==t.type||(t.type=0|J[Object.prototype.toString.call(n)]);o=r.shape;var s,l,u,h,f=r.stride;3===o.length?(u=o[2],h=f[2]):h=u=1,s=o[0],l=o[1],o=f[0],f=f[1],t.alignment=1,t.width=s,t.height=l,t.channels=u,t.format=t.internalformat=ot[u],t.needsFree=!0,s=h,r=r.offset,u=t.width,h=t.height,l=t.channels;for(var p=X.allocType(36193===t.type?5126:t.type,u*h*l),d=0,g=0;g<h;++g)for(var M=0;M<u;++M)for(var A=0;A<l;++A)p[d++]=n[o*M+f*g+s*A+r];w(t,p)}else if(\"[object HTMLCanvasElement]\"===b(r)||\"[object CanvasRenderingContext2D]\"===b(r))\"[object HTMLCanvasElement]\"===b(r)?t.element=r:t.element=r.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(\"[object HTMLImageElement]\"===b(r))t.element=r,t.width=r.naturalWidth,t.height=r.naturalHeight,t.channels=4;else if(\"[object HTMLVideoElement]\"===b(r))t.element=r,t.width=r.videoWidth,t.height=r.videoHeight,t.channels=4;else if(x(r)){for(n=t.width||r[0].length,o=t.height||r.length,f=t.channels,f=m(r[0][0])?f||r[0][0].length:f||1,s=Z.shape(r),u=1,h=0;h<s.length;++h)u*=s[h];u=X.allocType(36193===t.type?5126:t.type,u),Z.flatten(r,s,\"\",u),w(t,u),t.alignment=1,t.width=n,t.height=o,t.channels=f,t.format=t.internalformat=ot[f],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function d(e,r,i,a,o){var s=e.element,l=e.data,u=e.internalformat,c=e.format,f=e.type,p=e.width,d=e.height;h(e),s?t.texSubImage2D(r,o,i,a,c,f,s):e.compressed?t.compressedTexSubImage2D(r,o,i,a,u,p,d,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,i,a,e.xOffset,e.yOffset,p,d)):t.texSubImage2D(r,o,i,a,p,d,c,f,l)}function g(){return lt.pop()||new f}function A(t){t.needsFree&&X.freeType(t.data),f.call(t),lt.push(t)}function k(t,e,r){var n=t.images[0]=g();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function T(t,e){var r=null;if(_(e))u(r=t.images[0]=g(),t),p(r,e),t.mipmask=1;else if(c(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,i=0;i<n.length;++i)u(r=t.images[i]=g(),t),r.width>>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<<i;else u(r=t.images[0]=g(),t),p(r,e),t.mipmask=1;u(t,t.images[0])}function S(e,r){for(var i=e.images,a=0;a<i.length&&i[a];++a){var o=i[a],s=r,l=a,u=o.element,c=o.data,f=o.internalformat,p=o.format,d=o.type,g=o.width,v=o.height;h(o),u?t.texImage2D(s,l,p,p,d,u):o.compressed?t.compressedTexImage2D(s,l,f,g,v,0,c):o.needsCopy?(n(),t.copyTexImage2D(s,l,p,o.xOffset,o.yOffset,g,v,0)):t.texImage2D(s,l,p,g,v,0,p,d,c)}}function E(){var t=ut.pop()||new function(){l.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)};l.call(t);for(var e=t.mipmask=0;16>e;++e)t.images[e]=null;return t}function C(t){for(var e=t.images,r=0;r<e.length;++r)e[r]&&A(e[r]),e[r]=null;ut.push(t)}function L(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function z(t,e){\"min\"in e&&(t.minFilter=V[e.min],0<=at.indexOf(t.minFilter)&&(t.genMipmaps=!0)),\"mag\"in e&&(t.magFilter=N[e.mag]);var r=t.wrapS,n=t.wrapT;if(\"wrap\"in e){var i=e.wrap;\"string\"==typeof i?r=n=B[i]:Array.isArray(i)&&(r=B[i[0]],n=B[i[1]])}else\"wrapS\"in e&&(r=B[e.wrapS]),\"wrapT\"in e&&(n=B[e.wrapT]);if(t.wrapS=r,t.wrapT=n,\"anisotropic\"in e&&(t.anisotropic=e.anisotropic),\"mipmap\"in e){switch(r=!1,typeof e.mipmap){case\"string\":t.mipmapHint=F[e.mipmap],r=t.genMipmaps=!0;break;case\"boolean\":r=t.genMipmaps=e.mipmap;break;case\"object\":t.genMipmaps=!1,r=!0}!r||\"min\"in e||(t.minFilter=9984)}}function P(r,n){t.texParameteri(n,10241,r.minFilter),t.texParameteri(n,10240,r.magFilter),t.texParameteri(n,10242,r.wrapS),t.texParameteri(n,10243,r.wrapT),e.ext_texture_filter_anisotropic&&t.texParameteri(n,34046,r.anisotropic),r.genMipmaps&&(t.hint(33170,r.mipmapHint),t.generateMipmap(n))}function I(e){l.call(this),this.mipmask=0,this.internalformat=6408,this.id=ct++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new L,s.profile&&(this.stats={size:0})}function D(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function O(){var e=pt[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(3553,null)}function R(e){var r=e.texture,n=e.unit,i=e.target;0<=n&&(t.activeTexture(33984+n),t.bindTexture(i,null),pt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete ht[e.id],o.textureCount--}var F={\"don't care\":4352,\"dont care\":4352,nice:4354,fast:4353},B={repeat:10497,clamp:33071,mirror:33648},N={nearest:9728,linear:9729},V=j({mipmap:9987,\"nearest mipmap nearest\":9984,\"linear mipmap nearest\":9985,\"nearest mipmap linear\":9986,\"linear mipmap linear\":9987},N),U={none:0,browser:37444},q={uint8:5121,rgba4:32819,rgb565:33635,\"rgb5 a1\":32820},H={alpha:6406,luminance:6409,\"luminance alpha\":6410,rgb:6407,rgba:6408,rgba4:32854,\"rgb5 a1\":32855,rgb565:36194},Y={};e.ext_srgb&&(H.srgb=35904,H.srgba=35906),e.oes_texture_float&&(q.float32=q.float=5126),e.oes_texture_half_float&&(q.float16=q[\"half float\"]=36193),e.webgl_depth_texture&&(j(H,{depth:6402,\"depth stencil\":34041}),j(q,{uint16:5123,uint32:5125,\"depth stencil\":34042})),e.webgl_compressed_texture_s3tc&&j(Y,{\"rgb s3tc dxt1\":33776,\"rgba s3tc dxt1\":33777,\"rgba s3tc dxt3\":33778,\"rgba s3tc dxt5\":33779}),e.webgl_compressed_texture_atc&&j(Y,{\"rgb atc\":35986,\"rgba atc explicit alpha\":35987,\"rgba atc interpolated alpha\":34798}),e.webgl_compressed_texture_pvrtc&&j(Y,{\"rgb pvrtc 4bppv1\":35840,\"rgb pvrtc 2bppv1\":35841,\"rgba pvrtc 4bppv1\":35842,\"rgba pvrtc 2bppv1\":35843}),e.webgl_compressed_texture_etc1&&(Y[\"rgb etc1\"]=36196);var K=Array.prototype.slice.call(t.getParameter(34467));Object.keys(Y).forEach(function(t){var e=Y[t];0<=K.indexOf(e)&&(H[t]=e)});var Q=Object.keys(H);r.textureFormats=Q;var $=[];Object.keys(H).forEach(function(t){$[H[t]]=t});var tt=[];Object.keys(q).forEach(function(t){tt[q[t]]=t});var et=[];Object.keys(N).forEach(function(t){et[N[t]]=t});var rt=[];Object.keys(V).forEach(function(t){rt[V[t]]=t});var nt=[];Object.keys(B).forEach(function(t){nt[B[t]]=t});var it=Q.reduce(function(t,e){var r=H[e];return 6409===r||6406===r||6409===r||6410===r||6402===r||34041===r?t[r]=r:32855===r||0<=e.indexOf(\"rgba\")?t[r]=6408:t[r]=6407,t},{}),lt=[],ut=[],ct=0,ht={},ft=r.maxTextureUnits,pt=Array(ft).map(function(){return null});return j(I.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(0>e){for(var r=0;r<ft;++r){var n=pt[r];if(n){if(0<n.bindCount)continue;n.unit=-1}pt[r]=this,e=r;break}s.profile&&o.maxTextureUnits<e+1&&(o.maxTextureUnits=e+1),this.unit=e,t.activeTexture(33984+e),t.bindTexture(this.target,this.texture)}return e},unbind:function(){--this.bindCount},decRef:function(){0>=--this.refCount&&R(this)}}),s.profile&&(o.getTotalTextureSize=function(){var t=0;return Object.keys(ht).forEach(function(e){t+=ht[e].stats.size}),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;L.call(r);var a=E();return\"number\"==typeof t?k(a,0|t,\"number\"==typeof e?0|e:0|t):t?(z(r,t),T(a,t)):k(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,u(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,D(i),S(a,3553),P(r,3553),O(),C(a),s.profile&&(i.stats.size=M(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=$[i.internalformat],n.type=tt[i.type],n.mag=et[r.magFilter],n.min=rt[r.minFilter],n.wrapS=nt[r.wrapS],n.wrapT=nt[r.wrapT],n}var i=new I(3553);return ht[i.id]=i,o.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=g();return u(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,D(i),d(o,3553,e,r,a),O(),A(o),n},n.resize=function(e,r){var a=0|e,o=0|r||a;if(a===i.width&&o===i.height)return n;n.width=i.width=a,n.height=i.height=o,D(i);for(var l=0;i.mipmask>>l;++l)t.texImage2D(3553,l,i.format,a>>l,o>>l,0,i.format,i.type,null);return O(),s.profile&&(i.stats.size=M(i.internalformat,i.type,a,o,!1,!1)),n},n._reglType=\"texture2d\",n._texture=i,s.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,a,l){function h(t,e,r,n,i,a){var o,l=f.texInfo;for(L.call(l),o=0;6>o;++o)v[o]=E();if(\"number\"!=typeof t&&t){if(\"object\"==typeof t)if(e)T(v[0],t),T(v[1],e),T(v[2],r),T(v[3],n),T(v[4],i),T(v[5],a);else if(z(l,t),c(f,t),\"faces\"in t)for(t=t.faces,o=0;6>o;++o)u(v[o],f),T(v[o],t[o]);else for(o=0;6>o;++o)T(v[o],t)}else for(t=0|t||1,o=0;6>o;++o)k(v[o],t,t);for(u(f,v[0]),f.mipmask=l.genMipmaps?(v[0].width<<1)-1:v[0].mipmask,f.internalformat=v[0].internalformat,h.width=v[0].width,h.height=v[0].height,D(f),o=0;6>o;++o)S(v[o],34069+o);for(P(l,34067),O(),s.profile&&(f.stats.size=M(f.internalformat,f.type,h.width,h.height,l.genMipmaps,!0)),h.format=$[f.internalformat],h.type=tt[f.type],h.mag=et[l.magFilter],h.min=rt[l.minFilter],h.wrapS=nt[l.wrapS],h.wrapT=nt[l.wrapT],o=0;6>o;++o)C(v[o]);return h}var f=new I(34067);ht[f.id]=f,o.cubeCount++;var v=Array(6);return h(e,r,n,i,a,l),h.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=g();return u(a,f),a.width=0,a.height=0,p(a,e),a.width=a.width||(f.width>>i)-r,a.height=a.height||(f.height>>i)-n,D(f),d(a,34069+t,r,n,i),O(),A(a),h},h.resize=function(e){if((e|=0)!==f.width){h.width=f.width=e,h.height=f.height=e,D(f);for(var r=0;6>r;++r)for(var n=0;f.mipmask>>n;++n)t.texImage2D(34069+r,n,f.format,e>>n,e>>n,0,f.format,f.type,null);return O(),s.profile&&(f.stats.size=M(f.internalformat,f.type,h.width,h.height,!1,!0)),h}},h._reglType=\"textureCube\",h._texture=f,s.profile&&(h.stats=f.stats),h.destroy=function(){f.decRef()},h},clear:function(){for(var e=0;e<ft;++e)t.activeTexture(33984+e),t.bindTexture(3553,null),pt[e]=null;W(ht).forEach(R),o.cubeCount=0,o.textureCount=0},getTexture:function(t){return null},restore:function(){W(ht).forEach(function(e){e.texture=t.createTexture(),t.bindTexture(e.target,e.texture);for(var r=0;32>r;++r)if(0!=(e.mipmask&1<<r))if(3553===e.target)t.texImage2D(3553,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);P(e.texInfo,e.target)})}}}function k(t,e,r,n,i,a){function o(t,e,r){this.target=t,this.texture=e,this.renderbuffer=r;var n=t=0;e?(t=e.width,n=e.height):r&&(t=r.width,n=r.height),this.width=t,this.height=n}function s(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){t&&(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function u(e,r){r&&(r.texture?t.framebufferTexture2D(36160,e,r.target,r.texture._texture.texture,0):t.framebufferRenderbuffer(36160,e,36161,r.renderbuffer._renderbuffer.renderbuffer))}function c(t){var e=3553,r=null,n=null,i=t;return\"object\"==typeof t&&(i=t.data,\"target\"in t&&(e=0|t.target)),\"texture2d\"===(t=i._reglType)?r=i:\"textureCube\"===t?r=i:\"renderbuffer\"===t&&(n=i,e=36161),new o(e,r,n)}function h(t,e,r,a,s){return r?((t=n.create2D({width:t,height:e,format:a,type:s}))._texture.refCount=0,new o(3553,t,null)):((t=i.create({width:t,height:e,format:a}))._renderbuffer.refCount=0,new o(36161,null,t))}function f(t){return t&&(t.texture||t.renderbuffer)}function p(t,e,r){t&&(t.texture?t.texture.resize(e,r):t.renderbuffer&&t.renderbuffer.resize(e,r))}function d(){this.id=M++,A[this.id]=this,this.framebuffer=t.createFramebuffer(),this.height=this.width=0,this.colorAttachments=[],this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function g(t){t.colorAttachments.forEach(s),s(t.depthAttachment),s(t.stencilAttachment),s(t.depthStencilAttachment)}function v(e){t.deleteFramebuffer(e.framebuffer),e.framebuffer=null,a.framebufferCount--,delete A[e.id]}function m(e){var n;t.bindFramebuffer(36160,e.framebuffer);var i=e.colorAttachments;for(n=0;n<i.length;++n)u(36064+n,i[n]);for(n=i.length;n<r.maxColorAttachments;++n)t.framebufferTexture2D(36160,36064+n,3553,null,0);t.framebufferTexture2D(36160,33306,3553,null,0),t.framebufferTexture2D(36160,36096,3553,null,0),t.framebufferTexture2D(36160,36128,3553,null,0),u(36096,e.depthAttachment),u(36128,e.stencilAttachment),u(33306,e.depthStencilAttachment),t.checkFramebufferStatus(36160),t.bindFramebuffer(36160,x.next),x.cur=x.next,t.getError()}function y(t,e){function r(t,e){var i,a=0,o=0,s=!0,u=!0;i=null;var p=!0,d=\"rgba\",v=\"uint8\",y=1,x=null,w=null,M=null,A=!1;\"number\"==typeof t?(a=0|t,o=0|e||a):t?(\"shape\"in t?(a=(o=t.shape)[0],o=o[1]):(\"radius\"in t&&(a=o=t.radius),\"width\"in t&&(a=t.width),\"height\"in t&&(o=t.height)),(\"color\"in t||\"colors\"in t)&&(i=t.color||t.colors,Array.isArray(i)),i||(\"colorCount\"in t&&(y=0|t.colorCount),\"colorTexture\"in t&&(p=!!t.colorTexture,d=\"rgba4\"),\"colorType\"in t&&(v=t.colorType,!p)&&(\"half float\"===v||\"float16\"===v?d=\"rgba16f\":\"float\"!==v&&\"float32\"!==v||(d=\"rgba32f\")),\"colorFormat\"in t&&(d=t.colorFormat,0<=b.indexOf(d)?p=!0:0<=_.indexOf(d)&&(p=!1))),(\"depthTexture\"in t||\"depthStencilTexture\"in t)&&(A=!(!t.depthTexture&&!t.depthStencilTexture)),\"depth\"in t&&(\"boolean\"==typeof t.depth?s=t.depth:(x=t.depth,u=!1)),\"stencil\"in t&&(\"boolean\"==typeof t.stencil?u=t.stencil:(w=t.stencil,s=!1)),\"depthStencil\"in t&&(\"boolean\"==typeof t.depthStencil?s=u=t.depthStencil:(M=t.depthStencil,u=s=!1))):a=o=1;var k=null,T=null,S=null,E=null;if(Array.isArray(i))k=i.map(c);else if(i)k=[c(i)];else for(k=Array(y),i=0;i<y;++i)k[i]=h(a,o,p,d,v);for(a=a||k[0].width,o=o||k[0].height,x?T=c(x):s&&!u&&(T=h(a,o,A,\"depth\",\"uint32\")),w?S=c(w):u&&!s&&(S=h(a,o,!1,\"stencil\",\"uint8\")),M?E=c(M):!x&&!w&&u&&s&&(E=h(a,o,A,\"depth stencil\",\"depth stencil\")),s=null,i=0;i<k.length;++i)l(k[i]),k[i]&&k[i].texture&&(u=pt[k[i].texture._texture.format]*dt[k[i].texture._texture.type],null===s&&(s=u));return l(T),l(S),l(E),g(n),n.width=a,n.height=o,n.colorAttachments=k,n.depthAttachment=T,n.stencilAttachment=S,n.depthStencilAttachment=E,r.color=k.map(f),r.depth=f(T),r.stencil=f(S),r.depthStencil=f(E),r.width=n.width,r.height=n.height,m(n),r}var n=new d;return a.framebufferCount++,r(t,e),j(r,{resize:function(t,e){var i=0|t,a=0|e||i;if(i===n.width&&a===n.height)return r;for(var o=n.colorAttachments,s=0;s<o.length;++s)p(o[s],i,a);return p(n.depthAttachment,i,a),p(n.stencilAttachment,i,a),p(n.depthStencilAttachment,i,a),n.width=r.width=i,n.height=r.height=a,m(n),r},_reglType:\"framebuffer\",_framebuffer:n,destroy:function(){v(n),g(n)},use:function(t){x.setFBO({framebuffer:r},t)}})}var x={cur:null,next:null,dirty:!1,setFBO:null},b=[\"rgba\"],_=[\"rgba4\",\"rgb565\",\"rgb5 a1\"];e.ext_srgb&&_.push(\"srgba\"),e.ext_color_buffer_half_float&&_.push(\"rgba16f\",\"rgb16f\"),e.webgl_color_buffer_float&&_.push(\"rgba32f\");var w=[\"uint8\"];e.oes_texture_half_float&&w.push(\"half float\",\"float16\"),e.oes_texture_float&&w.push(\"float\",\"float32\");var M=0,A={};return j(x,{getFramebuffer:function(t){return\"function\"==typeof t&&\"framebuffer\"===t._reglType&&(t=t._framebuffer)instanceof d?t:null},create:y,createCube:function(t){function e(t){var i,a={color:null},o=0,s=null;i=\"rgba\";var l=\"uint8\",u=1;if(\"number\"==typeof t?o=0|t:t?(\"shape\"in t?o=t.shape[0]:(\"radius\"in t&&(o=0|t.radius),\"width\"in t?o=0|t.width:\"height\"in t&&(o=0|t.height)),(\"color\"in t||\"colors\"in t)&&(s=t.color||t.colors,Array.isArray(s)),s||(\"colorCount\"in t&&(u=0|t.colorCount),\"colorType\"in t&&(l=t.colorType),\"colorFormat\"in t&&(i=t.colorFormat)),\"depth\"in t&&(a.depth=t.depth),\"stencil\"in t&&(a.stencil=t.stencil),\"depthStencil\"in t&&(a.depthStencil=t.depthStencil)):o=1,s)if(Array.isArray(s))for(t=[],i=0;i<s.length;++i)t[i]=s[i];else t=[s];else for(t=Array(u),s={radius:o,format:i,type:l},i=0;i<u;++i)t[i]=n.createCube(s);for(a.color=Array(t.length),i=0;i<t.length;++i)u=t[i],o=o||u.width,a.color[i]={target:34069,data:t[i]};for(i=0;6>i;++i){for(u=0;u<t.length;++u)a.color[u].target=34069+i;0<i&&(a.depth=r[0].depth,a.stencil=r[0].stencil,a.depthStencil=r[0].depthStencil),r[i]?r[i](a):r[i]=y(a)}return j(e,{width:o,height:o,color:t})}var r=Array(6);return e(t),j(e,{faces:r,resize:function(t){var n=0|t;if(n===e.width)return e;var i=e.color;for(t=0;t<i.length;++t)i[t].resize(n);for(t=0;6>t;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:\"framebufferCube\",destroy:function(){r.forEach(function(t){t.destroy()})}})},clear:function(){W(A).forEach(v)},restore:function(){W(A).forEach(function(e){e.framebuffer=t.createFramebuffer(),m(e)})}})}function T(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function S(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){if(!(o=(i=35632===r?u:c)[n])){var a=e.str(n),o=t.createShader(r);t.shaderSource(o,a),t.compileShader(o),i[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;l=o(35632,r.fragId),u=o(35633,r.vertId);var c=r.program=t.createProgram();t.attachShader(c,l),t.attachShader(c,u),t.linkProgram(c);var h=t.getProgramParameter(c,35718);n.profile&&(r.stats.uniformsCount=h);var f=r.uniforms;for(l=0;l<h;++l)if(u=t.getActiveUniform(c,l))if(1<u.size)for(var p=0;p<u.size;++p){var d=u.name.replace(\"[0]\",\"[\"+p+\"]\");a(f,new i(d,e.id(d),t.getUniformLocation(c,d),u))}else a(f,new i(u.name,e.id(u.name),t.getUniformLocation(c,u.name),u));for(h=t.getProgramParameter(c,35721),n.profile&&(r.stats.attributesCount=h),f=r.attributes,l=0;l<h;++l)(u=t.getActiveAttrib(c,l))&&a(f,new i(u.name,e.id(u.name),t.getAttribLocation(c,u.name),u))}var u={},c={},h={},f=[],p=0;return n.profile&&(r.getMaxUniformsCount=function(){var t=0;return f.forEach(function(e){e.stats.uniformsCount>t&&(t=e.stats.uniformsCount)}),t},r.getMaxAttributesCount=function(){var t=0;return f.forEach(function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)}),t}),{clear:function(){var e=t.deleteShader.bind(t);W(u).forEach(e),u={},W(c).forEach(e),c={},f.forEach(function(e){t.deleteProgram(e.program)}),f.length=0,h={},r.shaderCount=0},program:function(t,e,n){var i=h[e];i||(i=h[e]={});var a=i[t];return a||(a=new s(e,t),r.shaderCount++,l(a),i[t]=a,f.push(a)),a},restore:function(){u={},c={};for(var t=0;t<f.length;++t)l(f[t])},shader:o,frag:-1,vert:-1}}function E(t,e,r,n,i,a){function o(i){var a;a=null===e.next?5121:e.next.colorAttachments[0].texture._texture.type;var o=0,s=0,l=n.framebufferWidth,u=n.framebufferHeight,c=null;return G(i)?c=i:i&&(o=0|i.x,s=0|i.y,l=0|(i.width||n.framebufferWidth-o),u=0|(i.height||n.framebufferHeight-s),c=i.data||null),r(),i=l*u*4,c||(5121===a?c=new Uint8Array(i):5126===a&&(c=c||new Float32Array(i))),t.pixelStorei(3333,4),t.readPixels(o,s,l,u,6408,a,c),c}return function(t){return t&&\"framebuffer\"in t?function(t){var r;return e.setFBO({framebuffer:t.framebuffer},function(){r=o(t)}),r}(t):o(t)}}function C(t){return Array.prototype.slice.call(t)}function L(t){return C(t).join(\"\")}function z(){function t(){var t=[],e=[];return j(function(){t.push.apply(t,C(arguments))},{def:function(){var n=\"v\"+r++;return e.push(n),0<arguments.length&&(t.push(n,\"=\"),t.push.apply(t,C(arguments)),t.push(\";\")),n},toString:function(){return L([0<e.length?\"var \"+e+\";\":\"\",L(t)])}})}function e(){function e(t,e){n(t,e,\"=\",r.def(t,e),\";\")}var r=t(),n=t(),i=r.toString,a=n.toString;return j(function(){r.apply(r,C(arguments))},{def:r.def,entry:r,exit:n,save:e,set:function(t,n,i){e(t,n),r(t,n,\"=\",i,\";\")},toString:function(){return i()+a()}})}var r=0,n=[],i=[],a=t(),o={};return{global:a,link:function(t){for(var e=0;e<i.length;++e)if(i[e]===t)return n[e];return e=\"g\"+r++,n.push(e),i.push(t),e},block:t,proc:function(t,r){function n(){var t=\"a\"+i.length;return i.push(t),t}var i=[];r=r||0;for(var a=0;a<r;++a)n();var s=(a=e()).toString;return o[t]=j(a,{arg:n,toString:function(){return L([\"function(\",i.join(),\"){\",s(),\"}\"])}})},scope:e,cond:function(){var t=L(arguments),r=e(),n=e(),i=r.toString,a=n.toString;return j(r,{then:function(){return r.apply(r,C(arguments)),this},else:function(){return n.apply(n,C(arguments)),this},toString:function(){var e=a();return e&&(e=\"else{\"+e+\"}\"),L([\"if(\",t,\"){\",i(),\"}\",e])}})},compile:function(){var t=['\"use strict\";',a,\"return {\"];Object.keys(o).forEach(function(e){t.push('\"',e,'\":',o[e].toString(),\",\")}),t.push(\"}\");var e=L(t).replace(/;/g,\";\\n\").replace(/}/g,\"}\\n\").replace(/{/g,\"{\\n\");return Function.apply(null,n.concat(e)).apply(null,i)}}}function P(t){return Array.isArray(t)||G(t)||a(t)}function I(t){return t.sort(function(t,e){return\"viewport\"===t?-1:\"viewport\"===e?1:t<e?-1:1})}function D(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function O(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function R(t){return new D(!1,!1,!1,t)}function F(t,e){var r=t.type;return 0===r?new D(!0,1<=(r=t.data.length),2<=r,e):4===r?new D((r=t.data).thisDep,r.contextDep,r.propDep,e):new D(3===r,2===r,1===r,e)}function B(t,e,r,n,i,a,s,l,u,c,h,f,p,d,g){function v(t){return t.replace(\".\",\"_\")}function y(t,e,r){var n=v(t);nt.push(t),et[n]=tt[n]=!!r,it[n]=e}function x(t,e,r){var n=v(t);nt.push(t),Array.isArray(r)?(tt[n]=r.slice(),et[n]=r.slice()):tt[n]=et[n]=r,at[n]=e}function b(){var t=z(),r=t.link,n=t.global;t.id=lt++,t.batchId=\"0\";var i=r(ot),a=t.shared={props:\"a0\"};Object.keys(ot).forEach(function(t){a[t]=n.def(i,\".\",t)});var o=t.next={},s=t.current={};Object.keys(at).forEach(function(t){Array.isArray(tt[t])&&(o[t]=n.def(a.next,\".\",t),s[t]=n.def(a.current,\".\",t))});var l=t.constants={};Object.keys(st).forEach(function(t){l[t]=n.def(JSON.stringify(st[t]))}),t.invoke=function(e,n){switch(n.type){case 0: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 1:return e.def(a.props,n.data);case 2:return e.def(a.context,n.data);case 3:return e.def(\"this\",n.data);case 4:return n.data.append(t,e),n.data.ref}},t.attribCache={};var u={};return t.scopeAttrib=function(t){if((t=e.id(t))in u)return u[t];var n=c.scope[t];return n||(n=c.scope[t]=new Z),u[t]=r(n)},t}function _(t,e){var r=t.static,n=t.dynamic;if(\"framebuffer\"in r){var i=r.framebuffer;return i?(i=l.getFramebuffer(i),R(function(t,e){var r=t.link(i),n=t.shared;return e.set(n.framebuffer,\".next\",r),n=n.context,e.set(n,\".framebufferWidth\",r+\".width\"),e.set(n,\".framebufferHeight\",r+\".height\"),r})):R(function(t,e){var r=t.shared;return e.set(r.framebuffer,\".next\",\"null\"),r=r.context,e.set(r,\".framebufferWidth\",r+\".drawingBufferWidth\"),e.set(r,\".framebufferHeight\",r+\".drawingBufferHeight\"),\"null\"})}if(\"framebuffer\"in n){var a=n.framebuffer;return F(a,function(t,e){var r=t.invoke(e,a),n=t.shared,i=n.framebuffer;r=e.def(i,\".getFramebuffer(\",r,\")\");return e.set(i,\".next\",r),n=n.context,e.set(n,\".framebufferWidth\",r+\"?\"+r+\".width:\"+n+\".drawingBufferWidth\"),e.set(n,\".framebufferHeight\",r+\"?\"+r+\".height:\"+n+\".drawingBufferHeight\"),r})}return null}function w(t){function r(t){if(t in n){var r=e.id(n[t]);return(t=R(function(){return r})).id=r,t}if(t in i){var a=i[t];return F(a,function(t,e){var r=t.invoke(e,a);return e.def(t.shared.strings,\".id(\",r,\")\")})}return null}var n=t.static,i=t.dynamic,a=r(\"frag\"),o=r(\"vert\"),s=null;return O(a)&&O(o)?(s=h.program(o.id,a.id),t=R(function(t,e){return t.link(s)})):t=new D(a&&a.thisDep||o&&o.thisDep,a&&a.contextDep||o&&o.contextDep,a&&a.propDep||o&&o.propDep,function(t,e){var r,n,i=t.shared.shader;return r=a?a.append(t,e):e.def(i,\".\",\"frag\"),n=o?o.append(t,e):e.def(i,\".\",\"vert\"),e.def(i+\".program(\"+n+\",\"+r+\")\")}),{frag:a,vert:o,progVar:t,program:s}}function M(t,e){function r(t,e){if(t in n){var r=0|n[t];return R(function(t,n){return e&&(t.OFFSET=r),r})}if(t in i){var a=i[t];return F(a,function(t,r){var n=t.invoke(r,a);return e&&(t.OFFSET=n),n})}return e&&o?R(function(t,e){return t.OFFSET=\"0\",0}):null}var n=t.static,i=t.dynamic,o=function(){if(\"elements\"in n){var t=n.elements;P(t)?t=a.getElements(a.create(t,!0)):t&&(t=a.getElements(t));var e=R(function(e,r){if(t){var n=e.link(t);return e.ELEMENTS=n}return e.ELEMENTS=null});return e.value=t,e}if(\"elements\"in i){var r=i.elements;return F(r,function(t,e){var n=(i=t.shared).isBufferArgs,i=i.elements,a=t.invoke(e,r),o=e.def(\"null\");n=e.def(n,\"(\",a,\")\"),a=t.cond(n).then(o,\"=\",i,\".createStream(\",a,\");\").else(o,\"=\",i,\".getElements(\",a,\");\");return e.entry(a),e.exit(t.cond(n).then(i,\".destroyStream(\",o,\");\")),t.ELEMENTS=o})}return null}(),s=r(\"offset\",!0);return{elements:o,primitive:function(){if(\"primitive\"in n){var t=n.primitive;return R(function(e,r){return rt[t]})}if(\"primitive\"in i){var e=i.primitive;return F(e,function(t,r){var n=t.constants.primTypes,i=t.invoke(r,e);return r.def(n,\"[\",i,\"]\")})}return o?O(o)?o.value?R(function(t,e){return e.def(t.ELEMENTS,\".primType\")}):R(function(){return 4}):new D(o.thisDep,o.contextDep,o.propDep,function(t,e){var r=t.ELEMENTS;return e.def(r,\"?\",r,\".primType:\",4)}):null}(),count:function(){if(\"count\"in n){var t=0|n.count;return R(function(){return t})}if(\"count\"in i){var e=i.count;return F(e,function(t,r){return t.invoke(r,e)})}return o?O(o)?o?s?new D(s.thisDep,s.contextDep,s.propDep,function(t,e){return e.def(t.ELEMENTS,\".vertCount-\",t.OFFSET)}):R(function(t,e){return e.def(t.ELEMENTS,\".vertCount\")}):R(function(){return-1}):new D(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\")}):null}(),instances:r(\"instances\",!1),offset:s}}function A(t,r){var n=t.static,a=t.dynamic,o={};return Object.keys(n).forEach(function(t){var r=n[t],a=e.id(t),s=new Z;if(P(r))s.state=1,s.buffer=i.getBuffer(i.create(r,34962,!1,!0)),s.type=0;else if(u=i.getBuffer(r))s.state=1,s.buffer=u,s.type=0;else if(r.constant){var l=r.constant;s.buffer=\"null\",s.state=2,\"number\"==typeof l?s.x=l:gt.forEach(function(t,e){e<l.length&&(s[t]=l[e])})}else{var u=P(r.buffer)?i.getBuffer(i.create(r.buffer,34962,!1,!0)):i.getBuffer(r.buffer),c=0|r.offset,h=0|r.stride,f=0|r.size,p=!!r.normalized,d=0;\"type\"in r&&(d=K[r.type]),r=0|r.divisor,s.buffer=u,s.state=1,s.size=f,s.normalized=p,s.type=d||u.dtype,s.offset=c,s.stride=h,s.divisor=r}o[t]=R(function(t,e){var r=t.attribCache;if(a in r)return r[a];var n={isStream:!1};return Object.keys(s).forEach(function(t){n[t]=s[t]}),s.buffer&&(n.buffer=t.link(s.buffer),n.type=n.type||n.buffer+\".dtype\"),r[a]=n})}),Object.keys(a).forEach(function(t){var e=a[t];o[t]=F(e,function(t,r){function n(t){r(l[t],\"=\",i,\".\",t,\"|0;\")}var i=t.invoke(r,e),a=t.shared,o=a.isBufferArgs,s=a.buffer,l={isStream:r.def(!1)},u=new Z;u.state=1,Object.keys(u).forEach(function(t){l[t]=r.def(\"\"+u[t])});var c=l.buffer,h=l.type;return r(\"if(\",o,\"(\",i,\")){\",l.isStream,\"=true;\",c,\"=\",s,\".createStream(\",34962,\",\",i,\");\",h,\"=\",c,\".dtype;\",\"}else{\",c,\"=\",s,\".getBuffer(\",i,\");\",\"if(\",c,\"){\",h,\"=\",c,\".dtype;\",'}else if(\"constant\" in ',i,\"){\",l.state,\"=\",2,\";\",\"if(typeof \"+i+'.constant === \"number\"){',l[gt[0]],\"=\",i,\".constant;\",gt.slice(1).map(function(t){return l[t]}).join(\"=\"),\"=0;\",\"}else{\",gt.map(function(t,e){return l[t]+\"=\"+i+\".constant.length>=\"+e+\"?\"+i+\".constant[\"+e+\"]:0;\"}).join(\"\"),\"}}else{\",\"if(\",o,\"(\",i,\".buffer)){\",c,\"=\",s,\".createStream(\",34962,\",\",i,\".buffer);\",\"}else{\",c,\"=\",s,\".getBuffer(\",i,\".buffer);\",\"}\",h,'=\"type\" in ',i,\"?\",a.glTypes,\"[\",i,\".type]:\",c,\".dtype;\",l.normalized,\"=!!\",i,\".normalized;\"),n(\"size\"),n(\"offset\"),n(\"stride\"),n(\"divisor\"),r(\"}}\"),r.exit(\"if(\",l.isStream,\"){\",s,\".destroyStream(\",c,\");\",\"}\"),l})}),o}function k(t,e,r,n,i){var a=_(t),s=function(t,e,r){function n(t){if(t in i){var r=i[t];t=!0;var n,o,s=0|r.x,l=0|r.y;return\"width\"in r?n=0|r.width:t=!1,\"height\"in r?o=0|r.height:t=!1,new D(!t&&e&&e.thisDep,!t&&e&&e.contextDep,!t&&e&&e.propDep,function(t,e){var i=t.shared.context,a=n;\"width\"in r||(a=e.def(i,\".\",\"framebufferWidth\",\"-\",s));var u=o;return\"height\"in r||(u=e.def(i,\".\",\"framebufferHeight\",\"-\",l)),[s,l,a,u]})}if(t in a){var u=a[t];return t=F(u,function(t,e){var r=t.invoke(e,u),n=t.shared.context,i=e.def(r,\".x|0\"),a=e.def(r,\".y|0\");return[i,a,e.def('\"width\" in ',r,\"?\",r,\".width|0:\",\"(\",n,\".\",\"framebufferWidth\",\"-\",i,\")\"),r=e.def('\"height\" in ',r,\"?\",r,\".height|0:\",\"(\",n,\".\",\"framebufferHeight\",\"-\",a,\")\")]}),e&&(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new D(e.thisDep,e.contextDep,e.propDep,function(t,e){var r=t.shared.context;return[0,0,e.def(r,\".\",\"framebufferWidth\"),e.def(r,\".\",\"framebufferHeight\")]}):null}var i=t.static,a=t.dynamic;if(t=n(\"viewport\")){var o=t;t=new D(t.thisDep,t.contextDep,t.propDep,function(t,e){var r=o.append(t,e),n=t.shared.context;return e.set(n,\".viewportWidth\",r[2]),e.set(n,\".viewportHeight\",r[3]),r})}return{viewport:t,scissor_box:n(\"scissor.box\")}}(t,a),l=M(t),u=function(t,e){var r=t.static,n=t.dynamic,i={};return nt.forEach(function(t){function e(e,o){if(t in r){var s=e(r[t]);i[a]=R(function(){return s})}else if(t in n){var l=n[t];i[a]=F(l,function(t,e){return o(t,e,t.invoke(e,l))})}}var a=v(t);switch(t){case\"cull.enable\":case\"blend.enable\":case\"dither\":case\"stencil.enable\":case\"depth.enable\":case\"scissor.enable\":case\"polygonOffset.enable\":case\"sample.alpha\":case\"sample.enable\":case\"depth.mask\":return e(function(t){return t},function(t,e,r){return r});case\"depth.func\":return e(function(t){return yt[t]},function(t,e,r){return e.def(t.constants.compareFuncs,\"[\",r,\"]\")});case\"depth.range\":return e(function(t){return t},function(t,e,r){return[e.def(\"+\",r,\"[0]\"),e=e.def(\"+\",r,\"[1]\")]});case\"blend.func\":return e(function(t){return[mt[\"srcRGB\"in t?t.srcRGB:t.src],mt[\"dstRGB\"in t?t.dstRGB:t.dst],mt[\"srcAlpha\"in t?t.srcAlpha:t.src],mt[\"dstAlpha\"in t?t.dstAlpha:t.dst]]},function(t,e,r){function n(t,n){return e.def('\"',t,n,'\" in ',r,\"?\",r,\".\",t,n,\":\",r,\".\",t)}t=t.constants.blendFuncs;var i=n(\"src\",\"RGB\"),a=n(\"dst\",\"RGB\"),o=(i=e.def(t,\"[\",i,\"]\"),e.def(t,\"[\",n(\"src\",\"Alpha\"),\"]\"));return[i,a=e.def(t,\"[\",a,\"]\"),o,t=e.def(t,\"[\",n(\"dst\",\"Alpha\"),\"]\")]});case\"blend.equation\":return e(function(t){return\"string\"==typeof t?[J[t],J[t]]:\"object\"==typeof t?[J[t.rgb],J[t.alpha]]:void 0},function(t,e,r){var n=t.constants.blendEquations,i=e.def(),a=e.def();return(t=t.cond(\"typeof \",r,'===\"string\"')).then(i,\"=\",a,\"=\",n,\"[\",r,\"];\"),t.else(i,\"=\",n,\"[\",r,\".rgb];\",a,\"=\",n,\"[\",r,\".alpha];\"),e(t),[i,a]});case\"blend.color\":return e(function(t){return o(4,function(e){return+t[e]})},function(t,e,r){return o(4,function(t){return e.def(\"+\",r,\"[\",t,\"]\")})});case\"stencil.mask\":return e(function(t){return 0|t},function(t,e,r){return e.def(r,\"|0\")});case\"stencil.func\":return e(function(t){return[yt[t.cmp||\"keep\"],t.ref||0,\"mask\"in t?t.mask:-1]},function(t,e,r){return[t=e.def('\"cmp\" in ',r,\"?\",t.constants.compareFuncs,\"[\",r,\".cmp]\",\":\",7680),e.def(r,\".ref|0\"),e=e.def('\"mask\" in ',r,\"?\",r,\".mask|0:-1\")]});case\"stencil.opFront\":case\"stencil.opBack\":return e(function(e){return[\"stencil.opBack\"===t?1029:1028,xt[e.fail||\"keep\"],xt[e.zfail||\"keep\"],xt[e.zpass||\"keep\"]]},function(e,r,n){function i(t){return r.def('\"',t,'\" in ',n,\"?\",a,\"[\",n,\".\",t,\"]:\",7680)}var a=e.constants.stencilOps;return[\"stencil.opBack\"===t?1029:1028,i(\"fail\"),i(\"zfail\"),i(\"zpass\")]});case\"polygonOffset.offset\":return e(function(t){return[0|t.factor,0|t.units]},function(t,e,r){return[e.def(r,\".factor|0\"),e=e.def(r,\".units|0\")]});case\"cull.face\":return e(function(t){var e=0;return\"front\"===t?e=1028:\"back\"===t&&(e=1029),e},function(t,e,r){return e.def(r,'===\"front\"?',1028,\":\",1029)});case\"lineWidth\":return e(function(t){return t},function(t,e,r){return r});case\"frontFace\":return e(function(t){return bt[t]},function(t,e,r){return e.def(r+'===\"cw\"?2304:2305')});case\"colorMask\":return e(function(t){return t.map(function(t){return!!t})},function(t,e,r){return o(4,function(t){return\"!!\"+r+\"[\"+t+\"]\"})});case\"sample.coverage\":return e(function(t){return[\"value\"in t?t.value:1,!!t.invert]},function(t,e,r){return[e.def('\"value\" in ',r,\"?+\",r,\".value:1\"),e=e.def(\"!!\",r,\".invert\")]})}}),i}(t),c=w(t),h=s.viewport;return h&&(u.viewport=h),(s=s[h=v(\"scissor.box\")])&&(u[h]=s),(a={framebuffer:a,draw:l,shader:c,state:u,dirty:s=0<Object.keys(u).length}).profile=function(t){var e,r=t.static;if(t=t.dynamic,\"profile\"in r){var n=!!r.profile;(e=R(function(t,e){return n})).enable=n}else if(\"profile\"in t){var i=t.profile;e=F(i,function(t,e){return t.invoke(e,i)})}return e}(t),a.uniforms=function(t,e){var r=t.static,n=t.dynamic,i={};return Object.keys(r).forEach(function(t){var e,n=r[t];if(\"number\"==typeof n||\"boolean\"==typeof n)e=R(function(){return n});else if(\"function\"==typeof n){var a=n._reglType;\"texture2d\"===a||\"textureCube\"===a?e=R(function(t){return t.link(n)}):\"framebuffer\"!==a&&\"framebufferCube\"!==a||(e=R(function(t){return t.link(n.color[0])}))}else m(n)&&(e=R(function(t){return t.global.def(\"[\",o(n.length,function(t){return n[t]}),\"]\")}));e.value=n,i[t]=e}),Object.keys(n).forEach(function(t){var e=n[t];i[t]=F(e,function(t,r){return t.invoke(r,e)})}),i}(r),a.attributes=A(e),a.context=function(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach(function(t){var r=e[t];n[t]=R(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]=F(e,function(t,r){return t.invoke(r,e)})}),n}(n),a}function T(t,e,r){var n=t.shared.context,i=t.scope();Object.keys(r).forEach(function(a){e.save(n,\".\"+a),i(n,\".\",a,\"=\",r[a].append(t,e),\";\")}),e(i)}function S(t,e,r,n){var i,a=(s=t.shared).gl,o=s.framebuffer;$&&(i=e.def(s.extensions,\".webgl_draw_buffers\"));var s=(l=t.constants).drawBuffer,l=l.backBuffer;t=r?r.append(t,e):e.def(o,\".next\"),n||e(\"if(\",t,\"!==\",o,\".cur){\"),e(\"if(\",t,\"){\",a,\".bindFramebuffer(\",36160,\",\",t,\".framebuffer);\"),$&&e(i,\".drawBuffersWEBGL(\",s,\"[\",t,\".colorAttachments.length]);\"),e(\"}else{\",a,\".bindFramebuffer(\",36160,\",null);\"),$&&e(i,\".drawBuffersWEBGL(\",l,\");\"),e(\"}\",o,\".cur=\",t,\";\"),n||e(\"}\")}function E(t,e,r){var n=t.shared,i=n.gl,a=t.current,s=t.next,l=n.current,u=n.next,c=t.cond(l,\".dirty\");nt.forEach(function(e){var n,h;if(!((e=v(e))in r.state))if(e in s){n=s[e],h=a[e];var f=o(tt[e].length,function(t){return c.def(n,\"[\",t,\"]\")});c(t.cond(f.map(function(t,e){return t+\"!==\"+h+\"[\"+e+\"]\"}).join(\"||\")).then(i,\".\",at[e],\"(\",f,\");\",f.map(function(t,e){return h+\"[\"+e+\"]=\"+t}).join(\";\"),\";\"))}else n=c.def(u,\".\",e),f=t.cond(n,\"!==\",l,\".\",e),c(f),e in it?f(t.cond(n).then(i,\".enable(\",it[e],\");\").else(i,\".disable(\",it[e],\");\"),l,\".\",e,\"=\",n,\";\"):f(i,\".\",at[e],\"(\",n,\");\",l,\".\",e,\"=\",n,\";\")}),0===Object.keys(r.state).length&&c(l,\".dirty=false;\"),e(c)}function C(t,e,r,n){var i=t.shared,a=t.current,o=i.current,s=i.gl;I(Object.keys(r)).forEach(function(i){var l=r[i];if(!n||n(l)){var u=l.append(t,e);if(it[i]){var c=it[i];O(l)?e(s,u?\".enable(\":\".disable(\",c,\");\"):e(t.cond(u).then(s,\".enable(\",c,\");\").else(s,\".disable(\",c,\");\")),e(o,\".\",i,\"=\",u,\";\")}else if(m(u)){var h=a[i];e(s,\".\",at[i],\"(\",u,\");\",u.map(function(t,e){return h+\"[\"+e+\"]=\"+t}).join(\";\"),\";\")}else e(s,\".\",at[i],\"(\",u,\");\",o,\".\",i,\"=\",u,\";\")}})}function L(t,e){Q&&(t.instancing=e.def(t.shared.extensions,\".angle_instanced_arrays\"))}function B(t,e,r,n,i){function a(){return\"undefined\"==typeof performance?\"Date.now()\":\"performance.now()\"}function o(t){t(u=e.def(),\"=\",a(),\";\"),\"string\"==typeof i?t(f,\".count+=\",i,\";\"):t(f,\".count++;\"),d&&(n?t(c=e.def(),\"=\",g,\".getNumPendingQueries();\"):t(g,\".beginQuery(\",f,\");\"))}function s(t){t(f,\".cpuTime+=\",a(),\"-\",u,\";\"),d&&(n?t(g,\".pushScopeStats(\",c,\",\",g,\".getNumPendingQueries(),\",f,\");\"):t(g,\".endQuery();\"))}function l(t){var r=e.def(p,\".profile\");e(p,\".profile=\",t,\";\"),e.exit(p,\".profile=\",r,\";\")}var u,c,h=t.shared,f=t.stats,p=h.current,g=h.timer;if(r=r.profile){if(O(r))return void(r.enable?(o(e),s(e.exit),l(\"true\")):l(\"false\"));l(r=r.append(t,e))}else r=e.def(p,\".profile\");o(h=t.block()),e(\"if(\",r,\"){\",h,\"}\"),s(t=t.block()),e.exit(\"if(\",r,\"){\",t,\"}\")}function N(t,e,r,n,i){function a(r,n,i){function a(){e(\"if(!\",c,\".buffer){\",l,\".enableVertexAttribArray(\",u,\");}\");var r,a=i.type;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(\",34962,\",\",h,\".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(\"\"),\"}\"),Q&&(a=i.divisor,e(\"if(\",c,\".divisor!==\",a,\"){\",t.instancing,\".vertexAttribDivisorANGLE(\",[u,a],\");\",c,\".divisor=\",a,\";}\"))}function s(){e(\"if(\",c,\".buffer){\",l,\".disableVertexAttribArray(\",u,\");\",\"}if(\",gt.map(function(t,e){return c+\".\"+t+\"!==\"+f[e]}).join(\"||\"),\"){\",l,\".vertexAttrib4f(\",u,\",\",f,\");\",gt.map(function(t,e){return c+\".\"+t+\"=\"+f[e]+\";\"}).join(\"\"),\"}\")}var l=o.gl,u=e.def(r,\".location\"),c=e.def(o.attributes,\"[\",u,\"]\");r=i.state;var h=i.buffer,f=[i.x,i.y,i.z,i.w],p=[\"buffer\",\"normalized\",\"offset\",\"stride\"];1===r?a():2===r?s():(e(\"if(\",r,\"===\",1,\"){\"),a(),e(\"}else{\"),s(),e(\"}\"))}var o=t.shared;n.forEach(function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(t,e)}else{if(!i(_t))return;var u=t.scopeAttrib(s);o={},Object.keys(new Z).forEach(function(t){o[t]=e.def(u,\".\",t)})}a(t.link(n),function(t){switch(t){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}(n.info.type),o)})}function j(t,r,n,i,a){for(var s,l=t.shared,u=l.gl,c=0;c<i.length;++c){var h,f=(g=i[c]).name,p=g.info.type,d=n.uniforms[f],g=t.link(g)+\".location\";if(d){if(!a(d))continue;if(O(d)){if(f=d.value,35678===p||35680===p)r(u,\".uniform1i(\",g,\",\",(p=t.link(f._texture||f.color[0]._texture))+\".bind());\"),r.exit(p,\".unbind();\");else if(35674===p||35675===p||35676===p)f=t.global.def(\"new Float32Array([\"+Array.prototype.slice.call(f)+\"])\"),d=2,35675===p?d=3:35676===p&&(d=4),r(u,\".uniformMatrix\",d,\"fv(\",g,\",false,\",f,\");\");else{switch(p){case 5126:s=\"1f\";break;case 35664:s=\"2f\";break;case 35665:s=\"3f\";break;case 35666:s=\"4f\";break;case 35670:case 5124:s=\"1i\";break;case 35671:case 35667:s=\"2i\";break;case 35672:case 35668:s=\"3i\";break;case 35673:s=\"4i\";break;case 35669:s=\"4i\"}r(u,\".uniform\",s,\"(\",g,\",\",m(f)?Array.prototype.slice.call(f):f,\");\")}continue}h=d.append(t,r)}else{if(!a(_t))continue;h=r.def(l.uniforms,\"[\",e.id(f),\"]\")}switch(35678===p?r(\"if(\",h,\"&&\",h,'._reglType===\"framebuffer\"){',h,\"=\",h,\".color[0];\",\"}\"):35680===p&&r(\"if(\",h,\"&&\",h,'._reglType===\"framebufferCube\"){',h,\"=\",h,\".color[0];\",\"}\"),f=1,p){case 35678:case 35680:r(u,\".uniform1i(\",g,\",\",p=r.def(h,\"._texture\"),\".bind());\"),r.exit(p,\".unbind();\");continue;case 5124:case 35670:s=\"1i\";break;case 35667:case 35671:s=\"2i\",f=2;break;case 35668:case 35672:s=\"3i\",f=3;break;case 35669:case 35673:s=\"4i\",f=4;break;case 5126:s=\"1f\";break;case 35664:s=\"2f\",f=2;break;case 35665:s=\"3f\",f=3;break;case 35666:s=\"4f\",f=4;break;case 35674:s=\"Matrix2fv\";break;case 35675:s=\"Matrix3fv\";break;case 35676:s=\"Matrix4fv\"}if(r(u,\".uniform\",s,\"(\",g,\",\"),\"M\"===s.charAt(0)){g=Math.pow(p-35674+2,2);var v=t.global.def(\"new Float32Array(\",g,\")\");r(\"false,(Array.isArray(\",h,\")||\",h,\" instanceof Float32Array)?\",h,\":(\",o(g,function(t){return v+\"[\"+t+\"]=\"+h+\"[\"+t+\"]\"}),\",\",v,\")\")}else r(1<f?o(f,function(t){return h+\"[\"+t+\"]\"}):h);r(\");\")}}function V(t,e,r,n){function i(i){var a=f[i];return a?a.contextDep&&n.contextDynamic||a.propDep?a.append(t,r):a.append(t,e):e.def(h,\".\",i)}function a(){function t(){r(l,\".drawElementsInstancedANGLE(\",[d,v,m,g+\"<<((\"+m+\"-5121)>>1)\",s],\");\")}function e(){r(l,\".drawArraysInstancedANGLE(\",[d,g,v,s],\");\")}p?y?t():(r(\"if(\",p,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}function o(){function t(){r(c+\".drawElements(\"+[d,v,m,g+\"<<((\"+m+\"-5121)>>1)\"]+\");\")}function e(){r(c+\".drawArrays(\"+[d,g,v]+\");\")}p?y?t():(r(\"if(\",p,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}var s,l,u=t.shared,c=u.gl,h=u.draw,f=n.draw,p=function(){var i=f.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(h,\".\",\"elements\"),i&&a(\"if(\"+i+\")\"+c+\".bindBuffer(34963,\"+i+\".buffer.buffer);\"),i}(),d=i(\"primitive\"),g=i(\"offset\"),v=function(){var i=f.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(h,\".\",\"count\"),i}();if(\"number\"==typeof v){if(0===v)return}else r(\"if(\",v,\"){\"),r.exit(\"}\");Q&&(s=i(\"instances\"),l=t.instancing);var m=p+\".type\",y=f.elements&&O(f.elements);Q&&(\"number\"!=typeof s||0<=s)?\"string\"==typeof s?(r(\"if(\",s,\">0){\"),a(),r(\"}else if(\",s,\"<0){\"),o(),r(\"}\")):a():o()}function q(t,e,r,n,i){return i=(e=b()).proc(\"body\",i),Q&&(e.instancing=i.def(e.shared.extensions,\".angle_instanced_arrays\")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){L(t,e),N(t,e,r,n.attributes,function(){return!0}),j(t,e,r,n.uniforms,function(){return!0}),V(t,e,e,r)}function G(t,e,r,n){function i(){return!0}t.batchId=\"a1\",L(t,e),N(t,e,r,n.attributes,i),j(t,e,r,n.uniforms,i),V(t,e,e,r)}function W(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}L(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();e(u.entry,\"for(\",s,\"=0;\",s,\"<\",\"a1\",\";++\",s,\"){\",l,\"=\",\"a0\",\"[\",s,\"];\",c,\"}\",u.exit),r.needsContext&&T(t,c,r.context),r.needsFramebuffer&&S(t,c,r.framebuffer),C(t,c,r.state,i),r.profile&&i(r.profile)&&B(t,c,r,!1,!0),n?(N(t,u,r,n.attributes,a),N(t,c,r,n.attributes,i),j(t,u,r,n.uniforms,a),j(t,c,r,n.uniforms,i),V(t,u,c,r)):(e=t.global.def(\"{}\"),n=r.shader.progVar.append(t,c),l=c.def(n,\".id\"),u=c.def(e,\"[\",l,\"]\"),c(t.shared.gl,\".useProgram(\",n,\".program);\",\"if(!\",u,\"){\",u,\"=\",e,\"[\",l,\"]=\",t.link(function(e){return q(G,t,r,e,2)}),\"(\",n,\");}\",u,\".call(this,a0[\",s,\"],\",s,\");\"))}function Y(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;T(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),I(Object.keys(r.state)).forEach(function(e){var n=r.state[e].append(t,i);m(n)?n.forEach(function(r,n){i.set(t.next[e],\"[\"+n+\"]\",r)}):i.set(a.next,\".\"+e,n)}),B(t,i,r,!0,!0),[\"elements\",\"offset\",\"count\",\"instances\",\"primitive\"].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 Z).forEach(function(t){i.set(a,\".\"+t,n[t])})}),n(\"vert\"),n(\"frag\"),0<Object.keys(r.state).length&&(i(o,\".dirty=true;\"),i.exit(o,\".dirty=true;\")),i(\"a1(\",t.shared.context,\",a0,\",t.batchId,\");\")}function X(t,e,r){var n=e.static[r];if(n&&function(t){if(\"object\"==typeof t&&!m(t)){for(var e=Object.keys(t),r=0;r<e.length;++r)if(U.isDynamic(t[e[r]]))return!0;return!1}}(n)){var i=t.global,a=Object.keys(n),o=!1,s=!1,l=!1,u=t.global.def(\"{}\");a.forEach(function(e){var r=n[e];if(U.isDynamic(r))\"function\"==typeof r&&(r=n[e]=U.unbox(r)),e=F(r,null),o=o||e.thisDep,l=l||e.propDep,s=s||e.contextDep;else{switch(i(u,\".\",e,\"=\"),typeof r){case\"number\":i(r);break;case\"string\":i('\"',r,'\"');break;case\"object\":Array.isArray(r)&&i(\"[\",r.join(),\"]\");break;default:i(t.link(r))}i(\";\")}}),e.dynamic[r]=new U.DynamicVariable(4,{thisDep:o,contextDep:s,propDep:l,ref:u,append:function(t,e){a.forEach(function(r){var i=n[r];U.isDynamic(i)&&(i=t.invoke(e,i),e(u,\".\",r,\"=\",i,\";\"))})}}),delete e.static[r]}}var Z=c.Record,J={add:32774,subtract:32778,\"reverse subtract\":32779};r.ext_blend_minmax&&(J.min=32775,J.max=32776);var Q=r.angle_instanced_arrays,$=r.webgl_draw_buffers,tt={dirty:!0,profile:g.profile},et={},nt=[],it={},at={};y(\"dither\",3024),y(\"blend.enable\",3042),x(\"blend.color\",\"blendColor\",[0,0,0,0]),x(\"blend.equation\",\"blendEquationSeparate\",[32774,32774]),x(\"blend.func\",\"blendFuncSeparate\",[1,0,1,0]),y(\"depth.enable\",2929,!0),x(\"depth.func\",\"depthFunc\",513),x(\"depth.range\",\"depthRange\",[0,1]),x(\"depth.mask\",\"depthMask\",!0),x(\"colorMask\",\"colorMask\",[!0,!0,!0,!0]),y(\"cull.enable\",2884),x(\"cull.face\",\"cullFace\",1029),x(\"frontFace\",\"frontFace\",2305),x(\"lineWidth\",\"lineWidth\",1),y(\"polygonOffset.enable\",32823),x(\"polygonOffset.offset\",\"polygonOffset\",[0,0]),y(\"sample.alpha\",32926),y(\"sample.enable\",32928),x(\"sample.coverage\",\"sampleCoverage\",[1,!1]),y(\"stencil.enable\",2960),x(\"stencil.mask\",\"stencilMask\",-1),x(\"stencil.func\",\"stencilFunc\",[519,0,-1]),x(\"stencil.opFront\",\"stencilOpSeparate\",[1028,7680,7680,7680]),x(\"stencil.opBack\",\"stencilOpSeparate\",[1029,7680,7680,7680]),y(\"scissor.enable\",3089),x(\"scissor.box\",\"scissor\",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),x(\"viewport\",\"viewport\",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var ot={gl:t,context:p,strings:e,next:et,current:tt,draw:f,elements:a,buffer:i,shader:h,attributes:c.state,uniforms:u,framebuffer:l,extensions:r,timer:d,isBufferArgs:P},st={primTypes:rt,compareFuncs:yt,blendFuncs:mt,blendEquations:J,stencilOps:xt,glTypes:K,orientationType:bt};$&&(st.backBuffer=[1029],st.drawBuffer=o(n.maxDrawbuffers,function(t){return 0===t?[0]:o(t,function(t){return 36064+t})}));var lt=0;return{next:et,current:tt,procs:function(){var e=b(),r=e.proc(\"poll\"),i=e.proc(\"refresh\"),a=e.block();r(a),i(a);var s=e.shared,l=s.gl,u=s.next,c=s.current;a(c,\".dirty=false;\"),S(e,r),S(e,i,null,!0);var h,f=t.getExtension(\"angle_instanced_arrays\");f&&(h=e.link(f));for(var p=0;p<n.maxAttributes;++p){var d=i.def(s.attributes,\"[\",p,\"]\"),g=e.cond(d,\".buffer\");g.then(l,\".enableVertexAttribArray(\",p,\");\",l,\".bindBuffer(\",34962,\",\",d,\".buffer.buffer);\",l,\".vertexAttribPointer(\",p,\",\",d,\".size,\",d,\".type,\",d,\".normalized,\",d,\".stride,\",d,\".offset);\").else(l,\".disableVertexAttribArray(\",p,\");\",l,\".vertexAttrib4f(\",p,\",\",d,\".x,\",d,\".y,\",d,\".z,\",d,\".w);\",d,\".buffer=null;\"),i(g),f&&i(h,\".vertexAttribDivisorANGLE(\",p,\",\",d,\".divisor);\")}return Object.keys(it).forEach(function(t){var n=it[t],o=a.def(u,\".\",t),s=e.block();s(\"if(\",o,\"){\",l,\".enable(\",n,\")}else{\",l,\".disable(\",n,\")}\",c,\".\",t,\"=\",o,\";\"),i(s),r(\"if(\",o,\"!==\",c,\".\",t,\"){\",s,\"}\")}),Object.keys(at).forEach(function(t){var n,s,h=at[t],f=tt[t],p=e.block();p(l,\".\",h,\"(\"),m(f)?(h=f.length,n=e.global.def(u,\".\",t),s=e.global.def(c,\".\",t),p(o(h,function(t){return n+\"[\"+t+\"]\"}),\");\",o(h,function(t){return s+\"[\"+t+\"]=\"+n+\"[\"+t+\"];\"}).join(\"\")),r(\"if(\",o(h,function(t){return n+\"[\"+t+\"]!==\"+s+\"[\"+t+\"]\"}).join(\"||\"),\"){\",p,\"}\")):(n=a.def(u,\".\",t),s=a.def(c,\".\",t),p(n,\");\",c,\".\",t,\"=\",n,\";\"),r(\"if(\",n,\"!==\",s,\"){\",p,\"}\")),i(p)}),e.compile()}(),compile:function(t,e,r,n,i){var a=b();return a.stats=a.link(i),Object.keys(e.static).forEach(function(t){X(a,e,t)}),vt.forEach(function(e){X(a,t,e)}),r=k(t,e,r,n),function(t,e){var r=t.proc(\"draw\",1);L(t,r),T(t,r,e.context),S(t,r,e.framebuffer),E(t,r,e),C(t,r,e.state),B(t,r,e,!1,!0);var n=e.shader.progVar.append(t,r);if(r(t.shared.gl,\".useProgram(\",n,\".program);\"),e.shader.program)H(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 q(H,t,e,r,1)}),\"(\",n,\");\",o,\".call(this,a0);\"))}0<Object.keys(e.state).length&&r(t.shared.current,\".dirty=true;\")}(a,r),Y(a,r),function(t,e){function r(t){return t.contextDep&&i||t.propDep}var n=t.proc(\"batch\",2);t.batchId=\"0\",L(t,n);var i=!1,a=!0;Object.keys(e.context).forEach(function(t){i=i||e.context[t].propDep}),i||(T(t,n,e.context),a=!1);var o=!1;if((s=e.framebuffer)?(s.propDep?i=o=!0:s.contextDep&&i&&(o=!0),o||S(t,n,s)):S(t,n,null),e.state.viewport&&e.state.viewport.propDep&&(i=!0),E(t,n,e),C(t,n,e.state,function(t){return!r(t)}),e.profile&&r(e.profile)||B(t,n,e,!1,\"a1\"),e.contextDep=i,e.needsContext=a,e.needsFramebuffer=o,(a=e.shader.progVar).contextDep&&i||a.propDep)W(t,n,e,null);else if(a=a.append(t,n),n(t.shared.gl,\".useProgram(\",a,\".program);\"),e.shader.program)W(t,n,e,e.shader.program);else{var s=t.global.def(\"{}\"),l=(o=n.def(a,\".id\"),n.def(s,\"[\",o,\"]\"));n(t.cond(l).then(l,\".call(this,a0,a1);\").else(l,\"=\",s,\"[\",o,\"]=\",t.link(function(r){return q(W,t,e,r,2)}),\"(\",a,\");\",l,\".call(this,a0,a1);\"))}0<Object.keys(e.state).length&&n(t.shared.current,\".dirty=true;\")}(a,r),a.compile()}}}function N(t,e){for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}var j=function(t,e){for(var r=Object.keys(e),n=0;n<r.length;++n)t[r[n]]=e[r[n]];return t},V=0,U={DynamicVariable:t,define:function(r,n){return new t(r,e(n+\"\"))},isDynamic:function(e){return\"function\"==typeof e&&!e._reglType||e instanceof t},unbox:function(e,r){return\"function\"==typeof e?new t(0,e):e},accessor:e},q={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},H=\"undefined\"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},G=function(t){return t instanceof Uint8Array||t instanceof Uint16Array||t instanceof Uint32Array||t instanceof Int8Array||t instanceof Int16Array||t instanceof Int32Array||t instanceof Float32Array||t instanceof Float64Array||t instanceof Uint8ClampedArray},W=function(t){return Object.keys(t).map(function(e){return t[e]})},Y=o(8,function(){return[]}),X={alloc:l,free:u,allocType:function(t,e){var r=null;switch(t){case 5120:r=new Int8Array(l(e),0,e);break;case 5121:r=new Uint8Array(l(e),0,e);break;case 5122:r=new Int16Array(l(2*e),0,e);break;case 5123:r=new Uint16Array(l(2*e),0,e);break;case 5124:r=new Int32Array(l(4*e),0,e);break;case 5125:r=new Uint32Array(l(4*e),0,e);break;case 5126:r=new Float32Array(l(4*e),0,e);break;default:return null}return r.length!==e?r.subarray(0,e):r},freeType:function(t){u(t.buffer)}},Z={shape:function(t){for(var e=[];t.length;t=t[0])e.push(t.length);return e},flatten:function(t,e,r,n){var i=1;if(e.length)for(var a=0;a<e.length;++a)i*=e[a];else i=0;switch(r=n||X.allocType(r,i),e.length){case 0:break;case 1:for(n=e[0],e=0;e<n;++e)r[e]=t[e];break;case 2:for(n=e[0],e=e[1],a=i=0;a<n;++a)for(var o=t[a],s=0;s<e;++s)r[i++]=o[s];break;case 3:c(t,e[0],e[1],e[2],r,0);break;default:!function t(e,r,n,i,a){for(var o=1,s=n+1;s<r.length;++s)o*=r[s];var l=r[n];if(4==r.length-n){var u=r[n+1],h=r[n+2];for(r=r[n+3],s=0;s<l;++s)c(e[s],u,h,r,i,a),a+=o}else for(s=0;s<l;++s)t(e[s],r,n+1,i,a),a+=o}(t,e,0,r,0)}return r}},J={\"[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},K={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},Q={dynamic:35048,stream:35040,static:35044},$=Z.flatten,tt=Z.shape,et=[];et[5120]=1,et[5122]=2,et[5124]=4,et[5121]=1,et[5123]=2,et[5125]=4,et[5126]=4;var rt={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,\"line loop\":2,\"line strip\":3,\"triangle strip\":5,\"triangle fan\":6},nt=new Float32Array(1),it=new Uint32Array(nt.buffer),at=[9984,9986,9985,9987],ot=[0,6409,6410,6407,6408],st={};st[6409]=st[6406]=st[6402]=1,st[34041]=st[6410]=2,st[6407]=st[35904]=3,st[6408]=st[35906]=4;var lt=Object.keys(J).concat([\"[object HTMLCanvasElement]\",\"[object CanvasRenderingContext2D]\",\"[object HTMLImageElement]\",\"[object HTMLVideoElement]\"]),ut=[];ut[5121]=1,ut[5126]=4,ut[36193]=2,ut[5123]=2,ut[5125]=4;var ct=[];ct[32854]=2,ct[32855]=2,ct[36194]=2,ct[34041]=4,ct[33776]=.5,ct[33777]=.5,ct[33778]=1,ct[33779]=1,ct[35986]=.5,ct[35987]=1,ct[34798]=1,ct[35840]=.5,ct[35841]=.25,ct[35842]=.5,ct[35843]=.25,ct[36196]=.5;var ht=[];ht[32854]=2,ht[32855]=2,ht[36194]=2,ht[33189]=2,ht[36168]=1,ht[34041]=4,ht[35907]=4,ht[34836]=16,ht[34842]=8,ht[34843]=6;var ft=function(t,e,r,n,i){function a(t){this.id=u++,this.refCount=1,this.renderbuffer=t,this.format=32854,this.height=this.width=0,i.profile&&(this.stats={size:0})}function o(e){var r=e.renderbuffer;t.bindRenderbuffer(36161,null),t.deleteRenderbuffer(r),e.renderbuffer=null,e.refCount=0,delete c[e.id],n.renderbufferCount--}var s={rgba4:32854,rgb565:36194,\"rgb5 a1\":32855,depth:33189,stencil:36168,\"depth stencil\":34041};e.ext_srgb&&(s.srgba=35907),e.ext_color_buffer_half_float&&(s.rgba16f=34842,s.rgb16f=34843),e.webgl_color_buffer_float&&(s.rgba32f=34836);var l=[];Object.keys(s).forEach(function(t){l[s[t]]=t});var u=0,c={};return a.prototype.decRef=function(){0>=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(c).forEach(function(e){t+=c[e].stats.size}),t}),{create:function(e,r){function o(e,r){var n=0,a=0,c=32854;if(\"object\"==typeof e&&e?(\"shape\"in e?(n=0|(a=e.shape)[0],a=0|a[1]):(\"radius\"in e&&(n=a=0|e.radius),\"width\"in e&&(n=0|e.width),\"height\"in e&&(a=0|e.height)),\"format\"in e&&(c=s[e.format])):\"number\"==typeof e?(n=0|e,a=\"number\"==typeof r?0|r:n):e||(n=a=1),n!==u.width||a!==u.height||c!==u.format)return o.width=u.width=n,o.height=u.height=a,u.format=c,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,c,n,a),i.profile&&(u.stats.size=ht[u.format]*u.width*u.height),o.format=l[u.format],o}var u=new a(t.createRenderbuffer());return c[u.id]=u,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===u.width&&a===u.height?o:(o.width=u.width=n,o.height=u.height=a,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,u.format,n,a),i.profile&&(u.stats.size=ht[u.format]*u.width*u.height),o)},o._reglType=\"renderbuffer\",o._renderbuffer=u,i.profile&&(o.stats=u.stats),o.destroy=function(){u.decRef()},o},clear:function(){W(c).forEach(o)},restore:function(){W(c).forEach(function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)}),t.bindRenderbuffer(36161,null)}}},pt=[];pt[6408]=4;var dt=[];dt[5121]=1,dt[5126]=4,dt[36193]=2;var gt=[\"x\",\"y\",\"z\",\"w\"],vt=\"blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset\".split(\" \"),mt={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},yt={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},xt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},bt={cw:2304,ccw:2305},_t=new D(!1,!1,!1,function(){});return function(t){function e(){if(0===X.length)w&&w.update(),Q=null;else{Q=q.next(e),h();for(var t=X.length-1;0<=t;--t){var r=X[t];r&&r(z,null,0)}v.flush(),w&&w.update()}}function r(){!Q&&0<X.length&&(Q=q.next(e))}function n(){Q&&(q.cancel(e),Q=null)}function a(t){t.preventDefault(),n(),Z.forEach(function(t){t()})}function o(t){v.getError(),y.restore(),O.restore(),I.restore(),R.restore(),F.restore(),V.restore(),w&&w.restore(),G.procs.refresh(),r(),J.forEach(function(t){t()})}function s(t){function e(t){var e={},r={};return Object.keys(t).forEach(function(n){var i=t[n];U.isDynamic(i)?r[n]=U.unbox(i,n):e[n]=i}),{dynamic:r,static:e}}var r=e(t.context||{}),n=e(t.uniforms||{}),i=e(t.attributes||{}),a=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=j({},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));t={gpuTime:0,cpuTime:0,count:0};var o=(r=G.compile(a,i,n,r,t)).draw,s=r.batch,l=r.scope,u=[];return j(function(t,e){var r;if(\"function\"==typeof t)return l.call(this,null,t,0);if(\"function\"==typeof e)if(\"number\"==typeof t)for(r=0;r<t;++r)l.call(this,null,e,r);else{if(!Array.isArray(t))return l.call(this,t,e,0);for(r=0;r<t.length;++r)l.call(this,t[r],e,r)}else if(\"number\"==typeof t){if(0<t)return s.call(this,function(t){for(;u.length<t;)u.push(null);return u}(0|t),0|t)}else{if(!Array.isArray(t))return o.call(this,t);if(t.length)return s.call(this,t,t.length)}},{stats:t})}function l(t,e){var r=0;G.procs.poll();var n=e.color;n&&(v.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=16384),\"depth\"in e&&(v.clearDepth(+e.depth),r|=256),\"stencil\"in e&&(v.clearStencil(0|e.stencil),r|=1024),v.clear(r)}function u(t){return X.push(t),r(),{cancel:function(){var e=N(X,t);X[e]=function t(){var e=N(X,t);X[e]=X[X.length-1],--X.length,0>=X.length&&n()}}}}function c(){var t=W.viewport,e=W.scissor_box;t[0]=t[1]=e[0]=e[1]=0,z.viewportWidth=z.framebufferWidth=z.drawingBufferWidth=t[2]=e[2]=v.drawingBufferWidth,z.viewportHeight=z.framebufferHeight=z.drawingBufferHeight=t[3]=e[3]=v.drawingBufferHeight}function h(){z.tick+=1,z.time=p(),c(),G.procs.poll()}function f(){c(),G.procs.refresh(),w&&w.update()}function p(){return(H()-M)/1e3}if(!(t=i(t)))return null;var v=t.gl,m=v.getContextAttributes();v.isContextLost();var y=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}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 Error(\"(regl): error restoring extension \"+t)})}}}(v,t);if(!y)return null;var x=function(){var t={\"\":0},e=[\"\"];return{id:function(r){var n=t[r];return n||(n=t[r]=e.length,e.push(r),n)},str:function(t){return e[t]}}}(),b={bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},_=y.extensions,w=function(t,e){function r(t,e,r){var n=o.pop()||new function(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null};n.startQueryIndex=t,n.endQueryIndex=e,n.sum=0,n.stats=r,s.push(n)}var n=e.ext_disjoint_timer_query;if(!n)return null;var i=[],a=[],o=[],s=[],l=[],u=[];return{beginQuery:function(t){var e=i.pop()||n.createQueryEXT();n.beginQueryEXT(35007,e),a.push(e),r(a.length-1,a.length,t)},endQuery:function(){n.endQueryEXT(35007)},pushScopeStats:r,update:function(){var t,e;if(0!==(t=a.length)){u.length=Math.max(u.length,t+1),l.length=Math.max(l.length,t+1),l[0]=0;var r=u[0]=0;for(e=t=0;e<a.length;++e){var c=a[e];n.getQueryObjectEXT(c,34919)?(r+=n.getQueryObjectEXT(c,34918),i.push(c)):a[t++]=c,l[e+1]=r,u[e+1]=t}for(a.length=t,e=t=0;e<s.length;++e){var h=(r=s[e]).startQueryIndex;c=r.endQueryIndex,r.sum+=l[c]-l[h],h=u[h],(c=u[c])===h?(r.stats.gpuTime+=r.sum/1e6,o.push(r)):(r.startQueryIndex=h,r.endQueryIndex=c,s[t++]=r)}s.length=t}},getNumPendingQueries:function(){return a.length},clear:function(){i.push.apply(i,a);for(var t=0;t<i.length;t++)n.deleteQueryEXT(i[t]);a.length=0,i.length=0},restore:function(){a.length=0,i.length=0}}}(0,_),M=H(),C=v.drawingBufferWidth,L=v.drawingBufferHeight,z={tick:0,time:0,viewportWidth:C,viewportHeight:L,framebufferWidth:C,framebufferHeight:L,drawingBufferWidth:C,drawingBufferHeight:L,pixelRatio:t.pixelRatio},P=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)}}(v,_),I=d(v,b,t),D=g(v,_,I,b),O=(C=function(t,e,r,n,i){for(t=r.maxAttributes,e=Array(t),r=0;r<t;++r)e[r]=new T;return{Record:T,scope:{},state:e}}(v,_,P),S(v,x,b,t)),R=A(v,_,P,function(){G.procs.poll()},z,b,t),F=ft(v,_,0,b,t),V=k(v,_,P,R,F,b),G=B(v,x,_,P,I,D,0,V,{},C,O,{elements:null,primitive:4,count:-1,offset:0,instances:-1},z,w,t),W=(x=E(v,V,G.procs.poll,z),G.next),Y=v.canvas,X=[],Z=[],J=[],K=[t.onDestroy],Q=null;Y&&(Y.addEventListener(\"webglcontextlost\",a,!1),Y.addEventListener(\"webglcontextrestored\",o,!1));var $=V.setFBO=s({framebuffer:U.define.call(null,1,\"framebuffer\")});return f(),m=j(s,{clear:function(t){if(\"framebuffer\"in t)if(t.framebuffer&&\"framebufferCube\"===t.framebuffer_reglType)for(var e=0;6>e;++e)$(j({framebuffer:t.framebuffer.faces[e]},t),l);else $(t,l);else l(0,t)},prop:U.define.bind(null,1),context:U.define.bind(null,2),this:U.define.bind(null,3),draw:s({}),buffer:function(t){return I.create(t,34962,!1,!1)},elements:function(t){return D.create(t,!1)},texture:R.create2D,cube:R.createCube,renderbuffer:F.create,framebuffer:V.create,framebufferCube:V.createCube,attributes:m,frame:u,on:function(t,e){var r;switch(t){case\"frame\":return u(e);case\"lost\":r=Z;break;case\"restore\":r=J;break;case\"destroy\":r=K}return r.push(e),{cancel:function(){for(var t=0;t<r.length;++t)if(r[t]===e){r[t]=r[r.length-1],r.pop();break}}}},limits:P,hasExtension:function(t){return 0<=P.extensions.indexOf(t.toLowerCase())},read:x,destroy:function(){X.length=0,n(),Y&&(Y.removeEventListener(\"webglcontextlost\",a),Y.removeEventListener(\"webglcontextrestored\",o)),O.clear(),V.clear(),F.clear(),R.clear(),D.clear(),I.clear(),w&&w.clear(),K.forEach(function(t){t()})},_gl:v,_refresh:f,poll:function(){h(),w&&w.update()},now:p,stats:b}),t.onDone(null,m),m}},\"object\"==typeof YR.exports?YR.exports=VR():jR.createREGL=VR(),YR=YR.exports;var ZR={keyFun:function(t){return t.key},repeat:XR,descend:Nt,wrap:XR,unwrap:function(t){return t[0]}},JR={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,capturewidth:10,fillcolor:\"magenta\",fillopacity:1,strokecolor:\"white\",strokeopacity:1,strokewidth:1,handleheight:16,handleopacity:1,handleoverlap:0},cn:{axisExtentText:\"axis-extent-text\",parcoordsLineLayers:\"parcoords-line-layers\",parcoordsLineLayer:\"parcoords-lines\",parcoords:\"parcoords\",parcoordsControlView:\"parcoords-control-view\",yAxis:\"y-axis\",axisOverlays:\"axis-overlays\",axis:\"axis\",axisHeading:\"axis-heading\",axisTitle:\"axis-title\",axisExtent:\"axis-extent\",axisExtentTop:\"axis-extent-top\",axisExtentTopText:\"axis-extent-top-text\",axisExtentBottom:\"axis-extent-bottom\",axisExtentBottomText:\"axis-extent-bottom-text\",axisBrush:\"axis-brush\"},id:{filterBarPattern:\"filter-bar-pattern\"}},KR=E_([\"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\"]),QR=E_([\"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\"]),$R=E_([\"precision lowp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n    gl_FragColor = fragColor;\\n}\\n\"]),tF=1e-6,eF=64,rF=2,nF=4,iF=[119,119,119],aF=new Uint8Array(4),oF=new Uint8Array(4);function sF(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 lF(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:aF})}(t),r.drawCompleted=!0),function s(l){var u;u=Math.min(n,i-l*n),a.offset=rF*l*n,a.count=rF*u,0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],sF(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(e(a),l*n+u<i&&(r.currentRafs[o]=window.requestAnimationFrame(function(){s(l+1)})),r.drawCompleted=!1)}(0)}function uF(t,e){return(t>>>8*e)%256/255}function cF(t,e){var r={};return[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15].map(function(r){return function(t,e,r){var n,i,a,o=[];for(i=0;i<t;i++)for(a=0;a<rF;a++)for(n=0;n<nF;n++)o.push(e[i*eF+r*nF+n]),r*nF+n===eF-1&&a%2==0&&(o[o.length-1]*=-1);return o}(t,e,r)}).forEach(function(t,e){r[\"p\"+e.toString(16)]=t}),r}function hF(t,e,r){return t+e<=r}var fF=function(t,e,r){var n=e.model,i=e.viewModel,a=n.domain,o=n.lines,s=n.canvasWidth,l=n.canvasHeight,u=i.dimensions,c=i.panels,h=n.unitToColor,f=e.context,p=e.pick,d={currentRafs:{},drawCompleted:!0,clearOnly:!1},g=u.slice(),v=g.length,m=g[0]?g[0].values.length:0,y=f,x=p?o.color.map(function(t,e){return e/o.color.length}):o.color,b=Math.max(1/255,Math.pow(1/x.length,1/3)),_=o.canvasOverdrag,w=c.length,M=function(t,e,r,n){for(var i,a=[],o=0;o<t;o++)for(var s=0;s<eF;s++)a.push(s<e?r[s].paddedUnitValues[o]:s===eF-1?(i=n[o],Math.max(tF,Math.min(1-tF,i))):s>=eF-4?uF(o,eF-2-s):.5);return a}(m,v,g,x),A=cF(m,M),k=e.regl,T=k.texture({shape:[256,1],format:\"rgba\",type:\"uint8\",mag:\"nearest\",min:\"nearest\",data:function(t,e,r){for(var n=[],i=0;i<256;i++){var a=t(i/255);n.push((e?iF:a).concat(r))}return n}(h,f,Math.round(255*(f?b:1)))}),S=k({profile:!1,blend:{enable:y,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:!y,mask:!0,func:\"less\",range:[0,1]},cull:{enable:!0,face:\"back\"},scissor:{enable:!0,box:{x:k.prop(\"scissorX\"),y:k.prop(\"scissorY\"),width:k.prop(\"scissorWidth\"),height:k.prop(\"scissorHeight\")}},viewport:{x:k.prop(\"viewportX\"),y:k.prop(\"viewportY\"),width:k.prop(\"viewportWidth\"),height:k.prop(\"viewportHeight\")},dither:!1,vert:p?QR:KR,frag:$R,primitive:\"lines\",lineWidth:1,attributes:A,uniforms:{resolution:k.prop(\"resolution\"),viewBoxPosition:k.prop(\"viewBoxPosition\"),viewBoxSize:k.prop(\"viewBoxSize\"),dim1A:k.prop(\"dim1A\"),dim2A:k.prop(\"dim2A\"),dim1B:k.prop(\"dim1B\"),dim2B:k.prop(\"dim2B\"),dim1C:k.prop(\"dim1C\"),dim2C:k.prop(\"dim2C\"),dim1D:k.prop(\"dim1D\"),dim2D:k.prop(\"dim2D\"),loA:k.prop(\"loA\"),hiA:k.prop(\"hiA\"),loB:k.prop(\"loB\"),hiB:k.prop(\"hiB\"),loC:k.prop(\"loC\"),hiC:k.prop(\"hiC\"),loD:k.prop(\"loD\"),hiD:k.prop(\"hiD\"),palette:T,colorClamp:k.prop(\"colorClamp\"),scatter:k.prop(\"scatter\")},offset:k.prop(\"offset\"),count:k.prop(\"count\")}),E=[0,1];var C=[];function L(t,e,r,i,o,u,c,h,p,d,v){var m,y,x,b,M=[t,e],A=JR.verticalPadding/u,k=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})}),T=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(m=0;m<2;m++)for(b=M[m],y=0;y<4;y++)for(x=0;x<16;x++){var S=x+16*y;k[m][y][x]=x+16*y===b?1:0,T[m][y][x]=(!f&&hF(x,16*y,w)?g[0===S?0:1+(S-1)%(g.length-1)].filter[m]:m)+(2*m-1)*A}return{key:c,resolution:[s,l],viewBoxPosition:[r+_,i],viewBoxSize:[o,u],i:t,ii:e,dim1A:k[0][0],dim1B:k[0][1],dim1C:k[0][2],dim1D:k[0][3],dim2A:k[1][0],dim2B:k[1][1],dim2C:k[1][2],dim2D:k[1][3],loA:T[0][0],loB:T[0][1],loC:T[0][2],loD:T[0][3],hiA:T[1][0],hiB:T[1][1],hiC:T[1][2],hiD:T[1][3],colorClamp:E,scatter:h||0,scissorX:(p===d?0:r+_)+(n.pad.l-_)+n.layoutWidth*a.x[0],scissorWidth:(p===v?s-r+_:o+.5)+(p===d?r+_:0),scissorY:i+n.pad.b+n.layoutHeight*a.y[0],scissorHeight:u,viewportX:n.pad.l-_+n.layoutWidth*a.x[0],viewportY:n.pad.b+n.layoutHeight*a.y[0],viewportWidth:s,viewportHeight:l}}return{setColorDomain:function(t){E[0]=t[0],E[1]=t[1]},render:function(t,e,n){var i,a,u,c=1/0,h=-1/0;for(i=0;i<w;i++)t[i].dim2.canvasX>h&&(h=t[i].dim2.canvasX,u=i),t[i].dim1.canvasX<c&&(c=t[i].dim1.canvasX,a=i);for(0===w&&sF(k,0,0,s,l),i=0;i<w;i++){var f=t[i],p=f.dim1,g=p.crossfilterDimensionIndex,v=f.canvasX,y=f.canvasY,x=f.dim2.crossfilterDimensionIndex,b=f.panelSizeX,_=f.panelSizeY,M=v+b;if(e||!C[g]||C[g][0]!==v||C[g][1]!==M){C[g]=[v,M];var A=L(g,x,v,y,b,_,p.crossfilterDimensionIndex,r||p.scatter?1:0,i,a,u);d.clearOnly=n,lF(k,S,d,e?o.blockLineCount:m,m,A)}}},readPixel:function(t,e){return k.read({x:t,y:e,width:1,height:1,data:oF}),oF},readPixels:function(t,e,r,n){var i=new Uint8Array(4*r*n);return k.read({x:t,y:e,width:r,height:n,data:i}),i},destroy:function(){t.style[\"pointer-events\"]=\"none\",T.destroy()}}},pF=ZR.keyFun,dF=ZR.repeat,gF=ZR.unwrap;function vF(t){return!(\"visible\"in t)||t.visible}function mF(t){var e=t.range?t.range[0]:ne.aggNums(Math.min,null,t.values,t._length),r=t.range?t.range[1]:ne.aggNums(Math.max,null,t.values,t._length);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 yF(t,e){var r,n,i,a,o;for(r=0,i=1/0,a=(n=t.range())[0];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 xF(t){return e.scale.linear().domain(mF(t))}function bF(t,r,n){var i=gF(r),a=i.trace,o=i.lineColor,s=i.cscale,l=a.line,u=a.domain,c=a.dimensions,h=t.width,f=a.labelfont,p=a.tickfont,d=a.rangefont,g=ne.extendDeep({},l,{color:o.map(xF({values:o,range:[l.cmin,l.cmax],_length:a._commonLength})),blockLineCount:JR.blockLineCount,canvasOverdrag:JR.overdrag*JR.canvasPixelRatio}),v=Math.floor(h*(u.x[1]-u.x[0])),m=Math.floor(t.height*(u.y[1]-u.y[0])),y=t.margin||{l:80,r:80,t:100,b:80},x=v,b=m;return{key:n,colCount:c.filter(vF).length,dimensions:c,tickDistance:JR.tickDistance,unitToColor:function(t){var r=t.map(function(t){return t[0]}),n=t.map(function(t){return t[1]}).map(function(t){return e.rgb(t)}),i=\"rgb\".split(\"\").map(function(t){return e.scale.linear().clamp(!0).domain(r).range(n.map((i=t,function(t){return t[i]})));var i});return function(t){return i.map(function(e){return e(t)})}}(s),lines:g,labelFont:f,tickFont:p,rangeFont:d,layoutWidth:h,layoutHeight:t.height,domain:u,translateX:u.x[0]*h,translateY:t.height-u.y[1]*t.height,pad:y,canvasWidth:x*JR.canvasPixelRatio+2*g.canvasOverdrag,canvasHeight:b*JR.canvasPixelRatio,width:x,height:b,canvasPixelRatio:JR.canvasPixelRatio}}function _F(t){var r=t.width,n=t.height,i=t.dimensions,a=t.canvasPixelRatio,o=function(e){return r*e/Math.max(1,t.colCount-1)},s=JR.verticalPadding/(n*a),l=1-2*s,u=function(t){return s+l*t},c={key:t.key,xScale:o,model:t},h={};return c.dimensions=i.filter(vF).map(function(r,i){var s=xF(r),l=h[r.label];h[r.label]=(l||0)+1;var f=r.label+(l?\"__\"+l:\"\"),p=r.values;return p.length>r._length&&(p=p.slice(0,r._length)),{key:f,label:r.label,tickFormat:r.tickformat,tickvals:r.tickvals,ticktext:r.ticktext,ordinal:!!r.tickvals,scatter:JR.scatter||r.scatter,xIndex:i,crossfilterDimensionIndex:i,visibleIndex:r._index,height:n,values:p,paddedUnitValues:p.map(s).map(u),xScale:o,x:o(i),canvasX:o(i)*a,unitScale:function(t,r){return e.scale.linear().range([t-r,r])}(n,JR.verticalPadding),domainScale:function(t,r,n){var i=mF(n),a=n.ticktext;return n.tickvals?e.scale.ordinal().domain(n.tickvals.map(function(t,e){return function(r,n){if(e){var i=e[n];return null===i||void 0===i?t(r):i}return t(r)}}(e.format(n.tickformat),a))).range(n.tickvals.map(function(t){return(t-i[0])/(i[1]-i[0])}).map(function(e){return t-r+e*(r-(t-r))})):e.scale.linear().domain(i).range([t-r,r])}(n,JR.verticalPadding,r),ordinalScale:function(t){var r=mF(t);return t.tickvals&&e.scale.ordinal().domain(t.tickvals).range(t.tickvals.map(function(t){return(t-r[0])/(r[1]-r[0])}))}(r),domainToUnitScale:s,filter:r.constraintrange?r.constraintrange.map(s):[0,1],parent:c,model:t}}),c}function wF(t){t.classed(JR.cn.axisExtentText,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"default\").style(\"user-select\",\"none\")}var MF={};(function(t){\"use strict\";MF=function(r,n){var i=r._fullLayout,a=i._toppaper,o=(i._paperdiv,i._glcontainer);i._glcanvas.each(function(e){e.regl||(e.regl=YR({canvas:this,attributes:{antialias:!e.pick,preserveDrawingBuffer:!0},pixelRatio:r._context.plotGlPixelRatio||t.devicePixelRatio}))});var s={},l={},u=i._size;n.forEach(function(t,e){s[e]=r.data[e].dimensions,l[e]=r.data[e].dimensions.slice()});!function(t,r,n,i,a,o){var s=!1,l=!0;var u=i.filter(function(t){return gF(t).trace.visible}).map(bF.bind(0,a)).map(_F);n.each(function(t,e){return ne.extendFlat(t,u[e])});var c=n.selectAll(\".gl-canvas\").each(function(t){t.viewModel=u[0],t.model=t.viewModel?t.viewModel.model:null}),h={renderers:[],dimensions:[]},f=null;c.filter(function(t){return t.pick}).style(\"pointer-events\",\"auto\").on(\"mousemove\",function(t){if(l&&t.lineLayer&&o&&o.hover){var r=e.event,n=this.width,i=this.height,a=e.mouse(this),s=a[0],u=a[1];if(s<0||u<0||s>=n||u>=i)return;var c=t.lineLayer.readPixel(s,i-1-u),h=0!==c[3],p=h?c[2]+256*(c[1]+256*c[0]):null,d={x:s,y:u,clientX:r.clientX,clientY:r.clientY,dataIndex:t.model.key,curveNumber:p};p!==f&&(h?o.hover(d):o.unhover&&o.unhover(d),f=p)}}),c.style(\"opacity\",function(t){return t.pick?.01:1}),r.style(\"background\",\"rgba(255, 255, 255, 0)\");var p=r.selectAll(\".\"+JR.cn.parcoords).data(u,pF);p.exit().remove(),p.enter().append(\"g\").classed(JR.cn.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(function(t){var e=t.selectAll(\"defs\").data(dF,pF);e.enter().append(\"defs\");var r=e.selectAll(\"#\"+JR.id.filterBarPattern).data(dF,pF);r.enter().append(\"pattern\").attr(\"id\",JR.id.filterBarPattern).attr(\"patternUnits\",\"userSpaceOnUse\"),r.attr(\"x\",-JR.bar.width).attr(\"width\",JR.bar.capturewidth).attr(\"height\",function(t){return t.model.height});var n=r.selectAll(\"rect\").data(dF,pF);n.enter().append(\"rect\").attr(\"shape-rendering\",\"crispEdges\"),n.attr(\"height\",function(t){return t.model.height}).attr(\"width\",JR.bar.width).attr(\"x\",JR.bar.width/2).attr(\"fill\",JR.bar.fillcolor).attr(\"fill-opacity\",JR.bar.fillopacity).attr(\"stroke\",JR.bar.strokecolor).attr(\"stroke-opacity\",JR.bar.strokeopacity).attr(\"stroke-width\",JR.bar.strokewidth)}),p.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 d=p.selectAll(\".\"+JR.cn.parcoordsControlView).data(dF,pF);d.enter().append(\"g\").classed(JR.cn.parcoordsControlView,!0).style(\"box-sizing\",\"content-box\"),d.attr(\"transform\",function(t){return\"translate(\"+t.model.pad.l+\",\"+t.model.pad.t+\")\"});var g=d.selectAll(\".\"+JR.cn.yAxis).data(function(t){return t.dimensions},pF);function v(t){return t.dimensions.some(function(t){return 0!==t.filter[0]||1!==t.filter[1]})}function m(t,e){return(JR.scatter?function(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(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}})(t,e)}g.enter().append(\"g\").classed(JR.cn.yAxis,!0).each(function(t){h.dimensions.push(t)}),d.each(function(t){m(g,t)}),c.filter(function(t){return!!t.viewModel}).each(function(t){t.lineLayer=fF(this,t,JR.scatter),t.viewModel[t.key]=t.lineLayer,h.renderers.push(function(){t.lineLayer.render(t.viewModel.panels,!0)}),t.lineLayer.render(t.viewModel.panels,!t.context)}),g.attr(\"transform\",function(t){return\"translate(\"+t.xScale(t.xIndex)+\", 0)\"}),g.call(e.behavior.drag().origin(function(t){return t}).on(\"drag\",function(t){var r=t.parent;l=!1,s||(t.x=Math.max(-JR.overdrag,Math.min(t.model.width+JR.overdrag,e.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,g.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}),m(g,r),g.filter(function(e){return 0!==Math.abs(t.xIndex-e.xIndex)}).attr(\"transform\",function(t){return\"translate(\"+t.xScale(t.xIndex)+\", 0)\"}),e.select(this).attr(\"transform\",\"translate(\"+t.x+\", 0)\"),g.each(function(e,n,i){i===t.parent.key&&(r.dimensions[n]=e)}),r.contextLayer&&r.contextLayer.render(r.panels,!1,!v(r)),r.focusLayer.render&&r.focusLayer.render(r.panels))}).on(\"dragend\",function(t){var r=t.parent;s?\"ending\"===s&&(s=!1):(t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,m(g,r),e.select(this).attr(\"transform\",function(t){return\"translate(\"+t.x+\", 0)\"}),r.contextLayer&&r.contextLayer.render(r.panels,!1,!v(r)),r.focusLayer&&r.focusLayer.render(r.panels),r.pickLayer&&r.pickLayer.render(r.panels,!0),l=!0,o&&o.axesMoved&&o.axesMoved(r.key,r.dimensions.map(function(t){return t.crossfilterDimensionIndex})))})),g.exit().remove();var y=g.selectAll(\".\"+JR.cn.axisOverlays).data(dF,pF);y.enter().append(\"g\").classed(JR.cn.axisOverlays,!0),y.selectAll(\".\"+JR.cn.axis).remove();var x=y.selectAll(\".\"+JR.cn.axis).data(dF,pF);x.enter().append(\"g\").classed(JR.cn.axis,!0),x.each(function(t){var r=t.model.height/t.model.tickDistance,n=t.domainScale,i=n.domain();e.select(this).call(e.svg.axis().orient(\"left\").tickSize(4).outerTickSize(2).ticks(r,t.tickFormat).tickValues(t.ordinal?i:null).tickFormat(t.ordinal?function(t){return t}:null).scale(n)),Sr.font(x.selectAll(\"text\"),t.model.tickFont)}),x.selectAll(\".domain, .tick>line\").attr(\"fill\",\"none\").attr(\"stroke\",\"black\").attr(\"stroke-opacity\",.25).attr(\"stroke-width\",\"1px\"),x.selectAll(\"text\").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 b=y.selectAll(\".\"+JR.cn.axisHeading).data(dF,pF);b.enter().append(\"g\").classed(JR.cn.axisHeading,!0);var _=b.selectAll(\".\"+JR.cn.axisTitle).data(dF,pF);_.enter().append(\"text\").classed(JR.cn.axisTitle,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"ew-resize\").style(\"user-select\",\"none\").style(\"pointer-events\",\"auto\"),_.attr(\"transform\",\"translate(0,\"+-JR.axisTitleOffset+\")\").text(function(t){return t.label}).each(function(t){Sr.font(_,t.model.labelFont)});var w=y.selectAll(\".\"+JR.cn.axisExtent).data(dF,pF);w.enter().append(\"g\").classed(JR.cn.axisExtent,!0);var M=w.selectAll(\".\"+JR.cn.axisExtentTop).data(dF,pF);M.enter().append(\"g\").classed(JR.cn.axisExtentTop,!0),M.attr(\"transform\",\"translate(0,\"+-JR.axisExtentOffset+\")\");var A=M.selectAll(\".\"+JR.cn.axisExtentTopText).data(dF,pF);function k(t){return t.ordinal?function(){return\"\"}:e.format(t.tickFormat)}A.enter().append(\"text\").classed(JR.cn.axisExtentTopText,!0).call(wF),A.text(function(t){return k(t)(t.domainScale.domain().slice(-1)[0])}).each(function(t){Sr.font(A,t.model.rangeFont)});var T=w.selectAll(\".\"+JR.cn.axisExtentBottom).data(dF,pF);T.enter().append(\"g\").classed(JR.cn.axisExtentBottom,!0),T.attr(\"transform\",function(t){return\"translate(0,\"+(t.model.height+JR.axisExtentOffset)+\")\"});var S=T.selectAll(\".\"+JR.cn.axisExtentBottomText).data(dF,pF);S.enter().append(\"text\").classed(JR.cn.axisExtentBottomText,!0).attr(\"dy\",\"0.75em\").call(wF),S.text(function(t){return k(t)(t.domainScale.domain()[0])}).each(function(t){Sr.font(S,t.model.rangeFont)});var E=y.selectAll(\".\"+JR.cn.axisBrush).data(dF,pF),C=E.enter().append(\"g\").classed(JR.cn.axisBrush,!0);E.each(function(t){t.brush||(t.brush=e.svg.brush().y(t.unitScale).on(\"brushstart\",P).on(\"brush\",I).on(\"brushend\",D),0===t.filter[0]&&1===t.filter[1]||t.brush.extent(t.filter),e.select(this).call(t.brush))}),C.selectAll(\"rect\").attr(\"x\",-JR.bar.capturewidth/2).attr(\"width\",JR.bar.capturewidth),C.selectAll(\"rect.extent\").attr(\"fill\",\"url(#\"+JR.id.filterBarPattern+\")\").style(\"cursor\",\"ns-resize\").filter(function(t){return 0===t.filter[0]&&1===t.filter[1]}).attr(\"y\",-100),C.selectAll(\".resize rect\").attr(\"height\",JR.bar.handleheight).attr(\"opacity\",0).style(\"visibility\",\"visible\"),C.selectAll(\".resize.n rect\").style(\"cursor\",\"n-resize\").attr(\"y\",JR.bar.handleoverlap-JR.bar.handleheight),C.selectAll(\".resize.s rect\").style(\"cursor\",\"s-resize\").attr(\"y\",JR.bar.handleoverlap);var L=!1,z=!1;function P(){L=!0,s=!0}function I(t){l=!1;var r=t.parent,n=t.brush.extent(),i=r.dimensions,a=i[t.xIndex].filter,o=L&&n[0]===n[1];o&&(t.brush.clear(),e.select(this).select(\"rect.extent\").attr(\"y\",-100));var s=o?[0,1]:n.slice();if(s[0]!==a[0]||s[1]!==a[1]){i[t.xIndex].filter=s,r.focusLayer&&r.focusLayer.render(r.panels,!0);var u=v(r);!z&&u?(r.contextLayer&&r.contextLayer.render(r.panels,!0),z=!0):z&&!u&&(r.contextLayer&&r.contextLayer.render(r.panels,!0,!0),z=!1)}L=!1}function D(t){var r=t.parent,n=t.brush.extent(),i=n[0]===n[1],a=r.dimensions[t.xIndex].filter;if(!i&&t.ordinal&&(a[0]=yF(t.ordinalScale,a[0]),a[1]=yF(t.ordinalScale,a[1]),a[0]===a[1]&&(a[0]=Math.max(0,a[0]-.05),a[1]=Math.min(1,a[1]+.05)),e.select(this).transition().duration(150).call(t.brush.extent(a)),r.focusLayer.render(r.panels,!0)),r.pickLayer&&r.pickLayer.render(r.panels,!0),l=!0,s=\"ending\",o&&o.filterChanged){var u=t.domainToUnitScale.invert,c=a.map(u);o.filterChanged(r.key,t.visibleIndex,c)}}}(0,a,o,n,{width:u.w,height:u.h,margin:{t:u.t,r:u.r,b:u.b,l:u.l}},{filterChanged:function(t,e,n){var i=l[t][e],a=i.constraintrange;a&&2===a.length||(a=i.constraintrange=[]),a[0]=n[0],a[1]=n[1],r.emit(\"plotly_restyle\")},hover:function(t){r.emit(\"plotly_hover\",t)},unhover:function(t){r.emit(\"plotly_unhover\",t)},axesMoved:function(t,e){function n(t){return!(\"visible\"in t)||t.visible}function i(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}var a=function(t){return function(r,n){return i(e,t,r)-i(e,t,n)}}(l[t].filter(n));s[t].sort(a),l[t].filter(function(t){return!n(t)}).sort(function(e){return l[t].indexOf(e)}).forEach(function(e){s[t].splice(s[t].indexOf(e),1),s[t].splice(l[t].indexOf(e),0,e)}),r.emit(\"plotly_restyle\")}})}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{});var AF={},kF=sa.getModuleCalcData;AF.name=\"parcoords\",AF.plot=function(t){var e=kF(t.calcdata,\"parcoords\");e.length&&MF(t,e)},AF.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\").remove(),n._glimages.selectAll(\"*\").remove())},AF.toSVG=function(t){var r=t._fullLayout._glimages,n=e.select(t).selectAll(\".svg-container\");n.filter(function(t,e){return e===n.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\").each(function(){var t=this.toDataURL(\"image/png\");r.append(\"svg:image\").attr({xmlns:$e.svg,\"xlink:href\":t,preserveAspectRatio:\"none\",x:0,y:0,width:this.width,height:this.height})}),window.setTimeout(function(){e.selectAll(\"#filterBarPattern\").attr(\"id\",\"filterBarPattern\")},60)};var TF=ZR.wrap;var SF=JR.maxDimensionCount,EF=qc.defaults;var CF={};CF.attributes=WR,CF.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,WR,r,n)}var a=function(t,e){var r,n,i,a=t.dimensions||[],o=e.dimensions=[],s=1/0;function l(t,e){return ne.coerce(r,n,WR.dimensions,t,e)}for(a.length>SF&&(ne.log(\"parcoords traces support up to \"+SF+\" dimensions at the moment\"),a.splice(SF)),i=0;i<a.length;i++)if(r=a[i],n={},ne.isPlainObject(r)){var u=l(\"values\"),c=l(\"visible\");u&&u.length||(c=n.visible=!1),c&&(l(\"label\"),l(\"tickvals\"),l(\"ticktext\"),l(\"tickformat\"),l(\"range\"),l(\"constraintrange\"),s=Math.min(s,u.length)),n._index=i,o.push(n)}return e._commonLength=s,o}(t,e);!function(t,e,r,n,i){var a=i(\"line.color\",r);Xe(t,\"line\")&&ne.isArrayOrTypedArray(a)&&(a.length?(i(\"line.colorscale\"),Ye(t,e,n,i,{prefix:\"line.\",cLetter:\"c\"}),e._commonLength=Math.min(e._commonLength,a.length)):e.line.color=r)}(t,e,r,n,i),EF(e,n,i),Array.isArray(a)&&a.length||(e.visible=!1);for(var o=0;o<a.length;o++)a[o].visible&&(a[o]._length=e._commonLength);var s={family:n.font.family,size:Math.round(n.font.size/1.2),color:n.font.color};ne.coerceFont(i,\"labelfont\",s),ne.coerceFont(i,\"tickfont\",s),ne.coerceFont(i,\"rangefont\",s)},CF.calc=function(t,e){var r=!!e.line.colorscale&&ne.isArrayOrTypedArray(e.line.color),n=r?e.line.color:function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=.5;return e}(e._commonLength),i=r?e.line.colorscale:[[0,e.line.color],[1,e.line.color]];return Xe(e,\"line\")&&Ve(e,n,\"line\",\"c\"),TF({lineColor:n,cscale:i})},CF.plot=MF,CF.colorbar=function(t,e){var n=e[0].trace,i=n.line,a=\"cb\"+n.uid;if(t._fullLayout._infolayer.selectAll(\".\"+a).remove(),void 0!==i&&i.showscale){var o=i.color,s=i.cmin,l=i.cmax;r(s)||(s=ne.aggNums(Math.min,null,o)),r(l)||(l=ne.aggNums(Math.max,null,o));var u=e[0].t.cb=ns(t,a),c=Je.makeColorScaleFunc(Je.extractScale(i.colorscale,s,l),{noNumericCheck:!0});u.fillcolor(c).filllevels({start:s,end:l,size:(l-s)/254}).options(i.colorbar)()}else _n.autoMargin(t,a)},CF.moduleType=\"trace\",CF.name=\"parcoords\",CF.basePlotModule=AF,CF.categories=[\"gl\",\"regl\",\"noOpacity\"],CF.meta={};var LF=CF,zF=qc.attributes,PF=m.extendFlat,IF=T({editType:\"calc\",colorEditType:\"style\"}),DF={labels:{valType:\"data_array\",editType:\"calc\"},label0:{valType:\"number\",dflt:0,editType:\"calc\"},dlabel:{valType:\"number\",dflt:1,editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},marker:{colors:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:C.defaultLine,arrayOk:!0,editType:\"style\"},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},editType:\"calc\"},text:{valType:\"data_array\",editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"percent\"],extras:[\"none\"],editType:\"calc\"},hoverinfo:PF({},E.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"calc\"},textfont:PF({},IF,{}),insidetextfont:PF({},IF,{}),outsidetextfont:PF({},IF,{}),domain:zF({name:\"pie\",trace:!0,editType:\"calc\"}),hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},sort:{valType:\"boolean\",dflt:!0,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"number\",min:-360,max:360,dflt:0,editType:\"calc\"},pull:{valType:\"number\",min:0,max:1,dflt:0,arrayOk:!0,editType:\"calc\"}},OF={};OF.name=\"pie\",OF.plot=function(t){var e=P.getModule(\"pie\"),r=function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a._module===e&&!0===a.visible&&r.push(i)}return r}(t.calcdata,e);r.length&&e.plot(t,r)},OF.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()};var RF,FF=ne.isArrayOrTypedArray;function BF(t,e){if(!RF){var r=Oe.defaults;RF=NF(r)}var n=e||RF;return n[t%n.length]}function NF(t){var e,r=t.slice();for(e=0;e<t.length;e++)r.push(s(t[e]).lighten(20).toHexString());for(e=0;e<t.length;e++)r.push(s(t[e]).darken(20).toHexString());return r}var jF=qc.defaults,VF={hiddenlabels:{valType:\"data_array\",editType:\"calc\"}},UF=Ya.appendArrayMultiPointValues,qF=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),UF(r,e,t.pts),r};function HF(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 GF(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}}var WF={};WF.attributes=DF,WF.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,DF,r,n)}var a=ne.coerceFont,o=i(\"values\"),s=i(\"labels\");if(!Array.isArray(s)){if(!ne.isArrayOrTypedArray(o)||!o.length)return void(e.visible=!1);i(\"label0\"),i(\"dlabel\")}i(\"marker.line.width\")&&i(\"marker.line.color\"),i(\"marker.colors\"),i(\"scalegroup\");var l=i(\"text\"),u=i(\"textinfo\",Array.isArray(l)?\"text+percent\":\"percent\");if(i(\"hovertext\"),u&&\"none\"!==u){var c=i(\"textposition\"),h=Array.isArray(c)||\"auto\"===c,f=h||\"inside\"===c,p=h||\"outside\"===c;if(f||p){var d=a(i,\"textfont\",n.font);f&&a(i,\"insidetextfont\",d),p&&a(i,\"outsidetextfont\",d)}}jF(e,n,i),i(\"hole\"),i(\"sort\"),i(\"direction\"),i(\"rotation\"),i(\"pull\")},WF.supplyLayoutDefaults=function(t,e){var r,n;r=\"hiddenlabels\",ne.coerce(t,e,VF,r,n)},WF.layoutAttributes=VF,WF.calc=function(t,e){var n,i,a,o,l,u=e.values,c=FF(u)&&u.length,h=e.labels,f=e.marker.colors||[],p=[],d=t._fullLayout,g=d.colorway,v=d._piecolormap,m={},y=0,x=d.hiddenlabels||[];if(d._piecolorway||g===Oe.defaults||(d._piecolorway=NF(g)),e.dlabel)for(h=new Array(u.length),n=0;n<u.length;n++)h[n]=String(e.label0+n*e.dlabel);function b(t,e){return!!t&&!!(t=s(t)).isValid()&&(t=Oe.addOpacity(t,t.getAlpha()),v[e]||(v[e]=t),t)}var _=(c?u:h).length;for(n=0;n<_;n++){if(c){if(i=u[n],!r(i))continue;if((i=+i)<0)continue}else i=1;void 0!==(a=h[n])&&\"\"!==a||(a=n);var w=m[a=String(a)];void 0===w?(m[a]=p.length,(o=-1!==x.indexOf(a))||(y+=i),p.push({v:i,label:a,color:b(f[n]),i:n,pts:[n],hidden:o})):((l=p[w]).v+=i,l.pts.push(n),l.hidden||(y+=i),!1===l.color&&f[n]&&(l.color=b(f[n],a)))}for(e.sort&&p.sort(function(t,e){return e.v-t.v}),n=0;n<p.length;n++)!1===(l=p[n]).color&&(v[l.label]?l.color=v[l.label]:(v[l.label]=l.color=BF(d._piedefaultcolorcount,d._piecolorway),d._piedefaultcolorcount++));if(p[0]&&(p[0].vTotal=y),e.textinfo&&\"none\"!==e.textinfo){var M,A=-1!==e.textinfo.indexOf(\"label\"),k=-1!==e.textinfo.indexOf(\"text\"),T=-1!==e.textinfo.indexOf(\"value\"),S=-1!==e.textinfo.indexOf(\"percent\"),E=d.separators;for(n=0;n<p.length;n++){if(l=p[n],M=A?[l.label]:[],k){var C=Gd.getFirstFilled(e.text,l.pts);C&&M.push(C)}T&&M.push(Gd.formatPieValue(l.v,E)),S&&M.push(Gd.formatPiePercent(l.v/y,E)),l.text=M.join(\"<br>\")}}return p},WF.plot=function(t,r){var n=t._fullLayout;!function(t,e){var r,n,i,a,o,s,l,u,c,h=[];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.pull,Array.isArray(l))for(l=0,a=0;a<s.pull.length;a++)s.pull[a]>l&&(l=s.pull[a]);o.r=Math.min(r,n)/(2+2*l),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&&-1===h.indexOf(s.scalegroup)&&h.push(s.scalegroup)}for(a=0;a<h.length;a++){for(c=1/0,u=h[a],i=0;i<t.length;i++)(o=t[i][0]).trace.scalegroup===u&&(c=Math.min(c,o.r*o.r/o.vTotal));for(i=0;i<t.length;i++)(o=t[i][0]).trace.scalegroup===u&&(o.r=Math.sqrt(c*o.vTotal))}}(r,n._size);var i=n._pielayer.selectAll(\"g.trace\").data(r);i.enter().append(\"g\").attr({\"stroke-linejoin\":\"round\",class:\"trace\"}),i.exit().remove(),i.order(),i.each(function(r){var i=e.select(this),a=r[0],o=a.trace;!function(t){var e,r,n,i=t[0],a=i.trace,o=a.rotation*Math.PI/180,s=2*Math.PI/i.vTotal,l=\"px0\",u=\"px1\";if(\"counterclockwise\"===a.direction){for(e=0;e<t.length&&t[e].hidden;e++);if(e===t.length)return;o+=s*t[e].v,s*=-1,l=\"px1\",u=\"px0\"}function c(t){return[i.r*Math.sin(t),-i.r*Math.cos(t)]}for(n=c(o),e=0;e<t.length;e++)(r=t[e]).hidden||(r[l]=n,o+=s*r.v/2,r.pxmid=c(o),r.midangle=o,o+=s*r.v/2,n=c(o),r[u]=n,r.largeArc=r.v>i.vTotal/2?1:0)}(r),i.each(function(){var i=e.select(this).selectAll(\"g.slice\").data(r);i.enter().append(\"g\").classed(\"slice\",!0),i.exit().remove();var s=[[[],[]],[[],[]]],l=!1;i.each(function(r){if(r.hidden)e.select(this).selectAll(\"path,g\").remove();else{r.pointNumber=r.i,r.curveNumber=o.index,s[r.pxmid[1]<0?0:1][r.pxmid[0]<0?0:1].push(r);var i=a.cx,u=a.cy,c=e.select(this),h=c.selectAll(\"path.surface\").data([r]),f=!1,p=!1;if(h.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":\"all\"}),c.select(\"path.textline\").remove(),c.on(\"mouseover\",function(){var s=t._fullLayout,l=t._fullData[o.index];if(!t._dragging&&!1!==s.hovermode){var c=l.hoverinfo;if(Array.isArray(c)&&(c=yo.castHoverinfo({hoverinfo:[Gd.castOption(c,r.pts)],_module:o._module},s,0)),\"all\"===c&&(c=\"label+text+value+percent+name\"),\"none\"!==c&&\"skip\"!==c&&c){var h=HF(r,a),d=i+r.pxmid[0]*(1-h),g=u+r.pxmid[1]*(1-h),v=n.separators,m=[];if(-1!==c.indexOf(\"label\")&&m.push(r.label),-1!==c.indexOf(\"text\")){var y=Gd.castOption(l.hovertext||l.text,r.pts);y&&m.push(y)}-1!==c.indexOf(\"value\")&&m.push(Gd.formatPieValue(r.v,v)),-1!==c.indexOf(\"percent\")&&m.push(Gd.formatPiePercent(r.v/a.vTotal,v));var x=o.hoverlabel,b=x.font;yo.loneHover({x0:d-h*a.r,x1:d+h*a.r,y:g,text:m.join(\"<br>\"),name:-1!==c.indexOf(\"name\")?l.name:void 0,idealAlign:r.pxmid[0]<0?\"left\":\"right\",color:Gd.castOption(x.bgcolor,r.pts)||r.color,borderColor:Gd.castOption(x.bordercolor,r.pts),fontFamily:Gd.castOption(b.family,r.pts),fontSize:Gd.castOption(b.size,r.pts),fontColor:Gd.castOption(b.color,r.pts)},{container:s._hoverlayer.node(),outerContainer:s._paper.node(),gd:t}),f=!0}t.emit(\"plotly_hover\",{points:[qF(r,l)],event:e.event}),p=!0}}).on(\"mouseout\",function(n){var i=t._fullLayout,a=t._fullData[o.index];p&&(n.originalEvent=e.event,t.emit(\"plotly_unhover\",{points:[qF(r,a)],event:e.event}),p=!1),f&&(yo.loneUnhover(i._hoverlayer.node()),f=!1)}).on(\"click\",function(){var n=t._fullLayout,i=t._fullData[o.index];t._dragging||!1===n.hovermode||(t._hoverdata=[qF(r,i)],yo.click(t,e.event))}),o.pull){var d=+Gd.castOption(o.pull,r.pts)||0;d>0&&(i+=d*r.pxmid[0],u+=d*r.pxmid[1])}r.cxFinal=i,r.cyFinal=u;var g=o.hole;if(r.v===a.vTotal){var v=\"M\"+(i+r.px0[0])+\",\"+(u+r.px0[1])+_(r.px0,r.pxmid,!0,1)+_(r.pxmid,r.px0,!0,1)+\"Z\";g?h.attr(\"d\",\"M\"+(i+g*r.px0[0])+\",\"+(u+g*r.px0[1])+_(r.px0,r.pxmid,!1,g)+_(r.pxmid,r.px0,!1,g)+\"Z\"+v):h.attr(\"d\",v)}else{var m=_(r.px0,r.px1,!0,1);if(g){var y=1-g;h.attr(\"d\",\"M\"+(i+g*r.px1[0])+\",\"+(u+g*r.px1[1])+_(r.px1,r.px0,!1,g)+\"l\"+y*r.px0[0]+\",\"+y*r.px0[1]+m+\"Z\")}else h.attr(\"d\",\"M\"+i+\",\"+u+\"l\"+r.px0[0]+\",\"+r.px0[1]+m+\"Z\")}var x=Gd.castOption(o.textposition,r.pts),b=c.selectAll(\"g.slicetext\").data(r.text&&\"none\"!==x?[0]:[]);b.enter().append(\"g\").classed(\"slicetext\",!0),b.exit().remove(),b.each(function(){var n=e.select(this).selectAll(\"text\").data([0]);n.enter().append(\"text\").attr(\"data-notex\",1),n.exit().remove(),n.text(r.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(Sr.font,\"outside\"===x?o.outsidetextfont:o.insidetextfont).call(er.convertToTspans,t);var s,c=Sr.bBox(n.node());\"outside\"===x?s=GF(c,r):(s=function(t,e,r){var n=Math.sqrt(t.width*t.width+t.height*t.height),i=t.width/t.height,a=Math.PI*Math.min(e.v/r.vTotal,.5),o=1-r.trace.hole,s=HF(e,r),l={scale:s*r.r*2/n,rCenter:1-s,rotate:0};if(l.scale>=1)return l;var u=i+1/(2*Math.tan(a)),c=r.r*Math.min(1/(Math.sqrt(u*u+.5)+u),o/(Math.sqrt(i*i+o/2)+i)),h={scale:2*c/t.height,rCenter:Math.cos(c/r.r)-c*i/r.r,rotate:(180/Math.PI*e.midangle+720)%180-90},f=1/i,p=f+1/(2*Math.tan(a)),d=r.r*Math.min(1/(Math.sqrt(p*p+.5)+p),o/(Math.sqrt(f*f+o/2)+f)),g={scale:2*d/t.width,rCenter:Math.cos(d/r.r)-d/i/r.r,rotate:(180/Math.PI*e.midangle+810)%180-90},v=g.scale>h.scale?g:h;return l.scale<1&&v.scale>l.scale?v:l}(c,r,a),\"auto\"===x&&s.scale<1&&(n.call(Sr.font,o.outsidetextfont),o.outsidetextfont.family===o.insidetextfont.family&&o.outsidetextfont.size===o.insidetextfont.size||(c=Sr.bBox(n.node())),s=GF(c,r)));var h=i+r.pxmid[0]*s.rCenter+(s.x||0),f=u+r.pxmid[1]*s.rCenter+(s.y||0);s.outside&&(r.yLabelMin=f-c.height/2,r.yLabelMid=f,r.yLabelMax=f+c.height/2,r.labelExtraX=0,r.labelExtraY=0,l=!0),n.attr(\"transform\",\"translate(\"+h+\",\"+f+\")\"+(s.scale<1?\"scale(\"+s.scale+\")\":\"\")+(s.rotate?\"rotate(\"+s.rotate+\")\":\"\")+\"translate(\"+-(c.left+c.right)/2+\",\"+-(c.top+c.bottom)/2+\")\")})}function _(t,e,n,i){return\"a\"+i*a.r+\",\"+i*a.r+\" 0 \"+r.largeArc+(n?\" 1 \":\" 0 \")+i*(e[0]-t[0])+\",\"+i*(e[1]-t[1])}}),l&&function(t,e){var r,n,i,a,o,s,l,u,c,h,f,p,d;function g(t,e){return t.pxmid[1]-e.pxmid[1]}function v(t,e){return e.pxmid[1]-t.pxmid[1]}function m(t,r){r||(r={});var i,u,c,f,p,d,g=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),v=n?t.yLabelMin:t.yLabelMax,m=n?t.yLabelMax:t.yLabelMin,y=t.cyFinal+o(t.px0[1],t.px1[1]),x=g-v;if(x*l>0&&(t.labelExtraY=x),Array.isArray(e.pull))for(u=0;u<h.length;u++)(c=h[u])===t||(Gd.castOption(e.pull,t.pts)||0)>=(Gd.castOption(e.pull,c.pts)||0)||((t.pxmid[1]-c.pxmid[1])*l>0?(f=c.cyFinal+o(c.px0[1],c.px1[1]),(x=f-v-t.labelExtraY)*l>0&&(t.labelExtraY+=x)):(m+t.labelExtraY-y)*l>0&&(i=3*s*Math.abs(u-h.indexOf(t)),p=c.cxFinal+a(c.px0[0],c.px1[0]),(d=p+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=d)))}for(n=0;n<2;n++)for(i=n?g:v,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(u=t[n][r]).sort(i),c=t[1-n][r],h=c.concat(u),p=[],f=0;f<u.length;f++)void 0!==u[f].yLabelMid&&p.push(u[f]);for(d=!1,f=0;n&&f<c.length;f++)if(void 0!==c[f].yLabelMid){d=c[f];break}for(f=0;f<p.length;f++){var y=f&&p[f-1];d&&!f&&(y=d),m(p[f],y)}}}(s,o),i.each(function(t){if(t.labelExtraX||t.labelExtraY){var r=e.select(this),n=r.select(\"g.slicetext text\");n.attr(\"transform\",\"translate(\"+t.labelExtraX+\",\"+t.labelExtraY+\")\"+n.attr(\"transform\"));var i=t.cxFinal+t.pxmid[0],a=\"M\"+i+\",\"+(t.cyFinal+t.pxmid[1]),s=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]<0?-1:1)/4;if(t.labelExtraX){var l=t.labelExtraX*t.pxmid[1]/t.pxmid[0],u=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(l)>Math.abs(u)?a+=\"l\"+u*t.pxmid[0]/t.pxmid[1]+\",\"+u+\"H\"+(i+t.labelExtraX+s):a+=\"l\"+t.labelExtraX+\",\"+l+\"v\"+(u-l)+\"h\"+s}else a+=\"V\"+(t.yLabelMid+t.labelExtraY)+\"h\"+s;r.append(\"path\").classed(\"textline\",!0).call(Oe.stroke,o.outsidetextfont.color).attr({\"stroke-width\":Math.min(2,o.outsidetextfont.size/8),d:a,fill:\"none\"})}})})}),setTimeout(function(){i.selectAll(\"tspan\").each(function(){var t=e.select(this);t.attr(\"dy\")&&t.attr(\"dy\",t.attr(\"dy\"))})},0)},WF.style=function(t){t._fullLayout._pielayer.selectAll(\".trace\").each(function(t){var r=t[0].trace,n=e.select(this);n.style({opacity:r.opacity}),n.selectAll(\"path.surface\").each(function(t){e.select(this).call(Yd,t,r)})})},WF.styleOne=Yd,WF.moduleType=\"trace\",WF.name=\"pie\",WF.basePlotModule=OF,WF.categories=[\"pie\",\"showLegend\"],WF.meta={};var YF=WF,XF={x:Zr.x,y:Zr.y,xy:{valType:\"data_array\",editType:\"calc\"},indices:{valType:\"data_array\",editType:\"calc\"},xbounds:{valType:\"data_array\",editType:\"calc\"},ybounds:{valType:\"data_array\",editType:\"calc\"},text:Zr.text,marker:{color:{valType:\"color\",arrayOk:!1,editType:\"calc\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,arrayOk:!1,editType:\"calc\"},blend:{valType:\"boolean\",dflt:null,editType:\"calc\"},sizemin:{valType:\"number\",min:.1,max:2,dflt:.5,editType:\"calc\"},sizemax:{valType:\"number\",min:.1,dflt:20,editType:\"calc\"},border:{color:{valType:\"color\",arrayOk:!1,editType:\"calc\"},arearatio:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"}},ZF={};ZF.pointVertex=E_([\"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}\"]),ZF.pointFragment=E_([\"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\"]),ZF.pickVertex=E_([\"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\"]),ZF.pickFragment=E_([\"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\"]);var JF=function(t,e){var r=t.gl,n=S_(r),i=S_(r),a=Bw(r,ZF.pointVertex,ZF.pointFragment),o=Bw(r,ZF.pickVertex,ZF.pickFragment),s=new KF(t,n,i,a,o);return s.update(e),t.addObject(s),s};function KF(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}var QF=KF.prototype;QF.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},QF.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r(\"sizeMin\",.5),this.sizeMax=r(\"sizeMax\",20),this.color=r(\"color\",[1,0,0,1]).slice(),this.areaRatio=r(\"areaRatio\",1),this.borderColor=r(\"borderColor\",[0,0,0,1]).slice(),this.blend=r(\"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:__.mallocFloat32(o.length),l=a?t.idToIndex:__.mallocInt32(n);if(i||s.set(o),!a)for(s.set(o),e=0;e<n;e++)l[e]=e;this.points=o,this.offsetBuffer.update(s),this.pickBuffer.update(l),i||__.free(s),a||__.free(l),this.pointCount=n,this.pickOffset=0},QF.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,i=n?this.pickShader:this.shader,a=this.plot.gl,o=this.plot.dataBox;if(0===this.pointCount)return r;var s=o[2]-o[0],l=o[3]-o[1],u=function(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}(this.points,o),c=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(u,.33333)));t[0]=2/s,t[4]=2/l,t[6]=-2*o[0]/s-1,t[7]=-2*o[1]/l-1,this.offsetBuffer.bind(),i.bind(),i.attributes.position.pointer(),i.uniforms.matrix=t,i.uniforms.color=this.color,i.uniforms.borderColor=this.borderColor,i.uniforms.pointCloud=c<5,i.uniforms.pointSize=c,i.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(),i.attributes.pickId.pointer(a.UNSIGNED_BYTE),i.uniforms.pickOffset=e,this.pickOffset=r);var h=a.getParameter(a.BLEND),f=a.getParameter(a.DITHER);return h&&!this.blend&&a.disable(a.BLEND),f&&a.disable(a.DITHER),a.drawArrays(a.POINTS,0,this.pointCount),h&&!this.blend&&a.enable(a.BLEND),f&&a.enable(a.DITHER),r+this.pointCount}}(),QF.draw=QF.unifiedDraw,QF.drawPick=QF.unifiedDraw,QF.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]]}};var $F=jn;function tB(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=JF(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var eB=tB.prototype;eB.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}},eB.update=function(t){this.index=t.index,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=mx(t,{})},eB.updateFast=function(t){var e,r,n,i,a,o,s=this.xData=this.pickXData=t.x,l=this.yData=this.pickYData=t.y,u=this.pickXYData=t.xy,c=t.xbounds&&t.ybounds,h=t.indices,f=this.bounds;if(u){if(n=u,e=u.length>>>1,c)f[0]=t.xbounds[0],f[2]=t.xbounds[1],f[1]=t.ybounds[0],f[3]=t.ybounds[1];else for(o=0;o<e;o++)i=n[2*o],a=n[2*o+1],i<f[0]&&(f[0]=i),i>f[2]&&(f[2]=i),a<f[1]&&(f[1]=a),a>f[3]&&(f[3]=a);if(h)r=h;else for(r=new Int32Array(e),o=0;o<e;o++)r[o]=o}else for(e=s.length,n=new Float32Array(2*e),r=new Int32Array(e),o=0;o<e;o++)i=s[o],a=l[o],r[o]=o,n[2*o]=i,n[2*o+1]=a,i<f[0]&&(f[0]=i),i>f[2]&&(f[2]=i),a<f[1]&&(f[1]=a),a>f[3]&&(f[3]=a);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var p=WC(t.marker.color),d=WC(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=s.length<100||l.length<100}this.pointcloudOptions.blend=v,d[3]*=g,this.pointcloudOptions.borderColor=d;var m=t.marker.sizemin,y=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=m,this.pointcloudOptions.sizeMax=y,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions),this.expandAxesFast(f,y/2)},eB.expandAxesFast=function(t,e){var r=e||.5;$F(this.scene.xaxis,[t[0],t[2]],{ppad:r}),$F(this.scene.yaxis,[t[1],t[3]],{ppad:r})},eB.dispose=function(){this.pointcloud.dispose()};var rB=function(t,e){var r=new tB(t,e.uid);return r.update(e),r},nB=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return dh(r,e),ex(e),r},iB={};iB.attributes=XF,iB.supplyDefaults=function(t,e,r){function n(r,n){return ne.coerce(t,e,XF,r,n)}n(\"x\"),n(\"y\"),n(\"xbounds\"),n(\"ybounds\"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),n(\"text\"),n(\"marker.color\",r),n(\"marker.opacity\"),n(\"marker.blend\"),n(\"marker.sizemin\"),n(\"marker.sizemax\"),n(\"marker.border.color\",r),n(\"marker.border.arearatio\")},iB.calc=nB,iB.plot=rB,iB.moduleType=\"trace\",iB.name=\"pointcloud\",iB.basePlotModule=sL,iB.categories=[\"gl\",\"gl2d\",\"showLegend\"],iB.meta={};var aB=iB,oB=qc.attributes,sB=m.extendFlat,lB=(0,ye.overrideAll)({hoverinfo:sB({},E.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hoverlabel:S.hoverlabel,domain:oB({name:\"sankey\",trace:!0}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\"},valueformat:{valType:\"string\",dflt:\".3s\"},valuesuffix:{valType:\"string\",dflt:\"\"},arrangement:{valType:\"enumerated\",values:[\"snap\",\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"snap\"},textfont:T({}),node:{label:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},line:{color:{valType:\"color\",dflt:C.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:.5,arrayOk:!0}},pad:{valType:\"number\",arrayOk:!1,min:0,dflt:20},thickness:{valType:\"number\",arrayOk:!1,min:1,dflt:20}},link:{label:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},line:{color:{valType:\"color\",dflt:C.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0}},source:{valType:\"data_array\",dflt:[]},target:{valType:\"data_array\",dflt:[]},value:{valType:\"data_array\",dflt:[]}}},\"calc\",\"nested\"),uB={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:\"cubic-in-out\",cn:{sankey:\"sankey\",sankeyLinks:\"sankey-links\",sankeyLink:\"sankey-link\",sankeyNodeSet:\"sankey-node-set\",sankeyNode:\"sankey-node\",nodeRect:\"node-rect\",nodeCapture:\"node-capture\",nodeCentered:\"node-entered\",nodeLabelGuide:\"node-label-guide\",nodeLabel:\"node-label\",nodeLabelTextPath:\"node-label-text-path\"}},cB={exports:{}};!function(t,e){\"object\"==typeof cB.exports?e(cB.exports):e(t.d3=t.d3||{})}(this,function(t){\"use strict\";var e=function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN},r=function(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,i){for(null==n&&(n=0),null==i&&(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(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}};var n=r(e),i=n.right,a=n.left;function o(t,e){return[t,e]}var s=function(t){return null===t?NaN:+t},l=function(t,e){var r,n,i=t.length,a=0,o=-1,l=0,u=0;if(null==e)for(;++o<i;)isNaN(r=s(t[o]))||(u+=(n=r-l)*(r-(l+=n/++a)));else for(;++o<i;)isNaN(r=s(e(t[o],o,t)))||(u+=(n=r-l)*(r-(l+=n/++a)));if(a>1)return u/(a-1)},u=function(t,e){var r=l(t,e);return r?Math.sqrt(r):r},c=function(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o<a;)if(null!=(r=t[o])&&r>=r)for(n=i=r;++o<a;)null!=(r=t[o])&&(n>r&&(n=r),i<r&&(i=r))}else for(;++o<a;)if(null!=(r=e(t[o],o,t))&&r>=r)for(n=i=r;++o<a;)null!=(r=e(t[o],o,t))&&(n>r&&(n=r),i<r&&(i=r));return[n,i]},h=Array.prototype,f=h.slice,p=h.map,d=function(t){return function(){return t}},g=function(t){return t},v=function(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n<i;)a[n]=t+n*r;return a},m=Math.sqrt(50),y=Math.sqrt(10),x=Math.sqrt(2);function b(t,e,r){var n=(e-t)/Math.max(0,r),i=Math.floor(Math.log(n)/Math.LN10),a=n/Math.pow(10,i);return i>=0?(a>=m?10:a>=y?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=m?10:a>=y?5:a>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=m?i*=10:a>=y?i*=5:a>=x&&(i*=2),e<t?-i:i}var w=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},M=function(t,e,r){if(null==r&&(r=s),n=t.length){if((e=+e)<=0||n<2)return+r(t[0],0,t);if(e>=1)return+r(t[n-1],n-1,t);var n,i=(n-1)*e,a=Math.floor(i),o=+r(t[a],a,t);return o+(+r(t[a+1],a+1,t)-o)*(i-a)}},A=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&n>r&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&n>r&&(n=r);return n},k=function(t){if(!(i=t.length))return[];for(var e=-1,r=A(t,T),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};function T(t){return t.length}t.bisect=i,t.bisectRight=i,t.bisectLeft=a,t.ascending=e,t.bisector=r,t.cross=function(t,e,r){var n,i,a,s,l=t.length,u=e.length,c=new Array(l*u);for(null==r&&(r=o),n=a=0;n<l;++n)for(s=t[n],i=0;i<u;++i,++a)c[a]=r(s,e[i]);return c},t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.deviation=u,t.extent=c,t.histogram=function(){var t=g,e=c,r=w;function n(n){var a,o,s=n.length,l=new Array(s);for(a=0;a<s;++a)l[a]=t(n[a],a,n);var u=e(l),c=u[0],h=u[1],f=r(l,c,h);Array.isArray(f)||(f=_(c,h,f),f=v(Math.ceil(c/f)*f,Math.floor(h/f)*f,f));for(var p=f.length;f[0]<=c;)f.shift(),--p;for(;f[p-1]>h;)f.pop(),--p;var d,g=new Array(p+1);for(a=0;a<=p;++a)(d=g[a]=[]).x0=a>0?f[a-1]:c,d.x1=a<p?f[a]:h;for(a=0;a<s;++a)c<=(o=l[a])&&o<=h&&g[i(f,o,0,p)].push(n[a]);return g}return n.value=function(e){return arguments.length?(t=\"function\"==typeof e?e:d(e),n):t},n.domain=function(t){return arguments.length?(e=\"function\"==typeof t?t:d([t[0],t[1]]),n):e},n.thresholds=function(t){return arguments.length?(r=\"function\"==typeof t?t:Array.isArray(t)?d(f.call(t)):d(t),n):r},n},t.thresholdFreedmanDiaconis=function(t,r,n){return t=p.call(t,s).sort(e),Math.ceil((n-r)/(2*(M(t,.75)-M(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,e,r){return Math.ceil((r-e)/(3.5*u(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=w,t.max=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&r>n&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&r>n&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a<n;)isNaN(r=s(t[a]))?--i:o+=r;else for(;++a<n;)isNaN(r=s(e(t[a],a,t)))?--i:o+=r;if(i)return o/i},t.median=function(t,r){var n,i=t.length,a=-1,o=[];if(null==r)for(;++a<i;)isNaN(n=s(t[a]))||o.push(n);else for(;++a<i;)isNaN(n=s(r(t[a],a,t)))||o.push(n);return M(o.sort(e),.5)},t.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(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r},t.min=A,t.pairs=function(t,e){null==e&&(e=o);for(var 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},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.quantile=M,t.range=v,t.scan=function(t,r){if(n=t.length){var n,i,a=0,o=0,s=t[o];for(null==r&&(r=e);++a<n;)(r(i=t[a],s)<0||0!==r(s,s))&&(s=i,o=a);return 0===r(s,s)?o:void 0}},t.shuffle=function(t,e,r){for(var n,i,a=(null==r?t.length:r)-(e=null==e?0:+e);a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},t.sum=function(t,e){var r,n=t.length,i=-1,a=0;if(null==e)for(;++i<n;)(r=+t[i])&&(a+=r);else for(;++i<n;)(r=+e(t[i],i,t))&&(a+=r);return a},t.ticks=function(t,e,r){var n,i,a,o,s=-1;if(r=+r,(t=+t)==(e=+e)&&r>0)return[t];if((n=e<t)&&(i=t,t=e,e=i),0===(o=b(t,e,r))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s<i;)a[s]=(t+s)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++s<i;)a[s]=(t-s)/o;return n&&a.reverse(),a},t.tickIncrement=b,t.tickStep=_,t.transpose=k,t.variance=l,t.zip=function(){return k(arguments)},Object.defineProperty(t,\"__esModule\",{value:!0})}),cB=cB.exports;var hB={exports:{}};!function(t,e){\"object\"==typeof hB.exports?e(hB.exports):e(t.d3=t.d3||{})}(this,function(t){\"use strict\";function e(){}function r(t,r){var n=new e;if(t instanceof e)t.each(function(t,e){n.set(e,t)});else if(Array.isArray(t)){var i,a=-1,o=t.length;if(null==r)for(;++a<o;)n.set(a,t[a]);else for(;++a<o;)n.set(r(i=t[a],a,t),i)}else if(t)for(var s in t)n.set(s,t[s]);return n}e.prototype=r.prototype={constructor:e,has:function(t){return\"$\"+t in this},get:function(t){return this[\"$\"+t]},set:function(t,e){return this[\"$\"+t]=e,this},remove:function(t){var e=\"$\"+t;return e in this&&delete this[e]},clear:function(){for(var t in this)\"$\"===t[0]&&delete this[t]},keys:function(){var t=[];for(var e in this)\"$\"===e[0]&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)\"$\"===e[0]&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)\"$\"===e[0]&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)\"$\"===e[0]&&++t;return t},empty:function(){for(var t in this)if(\"$\"===t[0])return!1;return!0},each:function(t){for(var e in this)\"$\"===e[0]&&t(this[e],e.slice(1),this)}};function n(){return{}}function i(t,e,r){t[e]=r}function a(){return r()}function o(t,e,r){t.set(e,r)}function s(){}var l=r.prototype;function u(t,e){var r=new s;if(t instanceof s)t.each(function(t){r.add(t)});else if(t){var n=-1,i=t.length;if(null==e)for(;++n<i;)r.add(t[n]);else for(;++n<i;)r.add(e(t[n],n,t))}return r}s.prototype=u.prototype={constructor:s,has:l.has,add:function(t){return this[\"$\"+(t+=\"\")]=t,this},remove:l.remove,clear:l.clear,values:l.keys,size:l.size,empty:l.empty,each:l.each};t.nest=function(){var t,e,s,l=[],u=[];function c(n,i,a,o){if(i>=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,u,h,f=-1,p=n.length,d=l[i++],g=r(),v=a();++f<p;)(h=g.get(s=d(u=n[f])+\"\"))?h.push(u):g.set(s,[u]);return g.each(function(t,e){o(v,e,c(t,i,a,o))}),v}return s={object:function(t){return c(t,0,n,i)},map:function(t){return c(t,0,a,o)},entries:function(t){return function t(r,n){if(++n>l.length)return r;var i,a=u[n-1];return null!=e&&n>=l.length?i=r.entries():(i=[],r.each(function(e,r){i.push({key:r,values:t(e,n)})})),null!=a?i.sort(function(t,e){return a(t.key,e.key)}):i}(c(t,0,a,o),0)},key:function(t){return l.push(t),s},sortKeys:function(t){return u[l.length-1]=t,s},sortValues:function(e){return t=e,s},rollup:function(t){return e=t,s}}},t.set=u,t.map=r,t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Object.defineProperty(t,\"__esModule\",{value:!0})}),hB=hB.exports;var fB={exports:{}};!function(t,e){\"object\"==typeof fB.exports?e(fB.exports):e(t.d3=t.d3||{})}(this,function(t){\"use strict\";var e=function(t,e,r){t.prototype=e.prototype=r,r.constructor=t};function r(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function n(){}var i=\"\\\\s*([+-]?\\\\d+)\\\\s*\",a=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",o=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",s=/^#([0-9a-f]{3})$/,l=/^#([0-9a-f]{6})$/,u=new RegExp(\"^rgb\\\\(\"+[i,i,i]+\"\\\\)$\"),c=new RegExp(\"^rgb\\\\(\"+[o,o,o]+\"\\\\)$\"),h=new RegExp(\"^rgba\\\\(\"+[i,i,i,a]+\"\\\\)$\"),f=new RegExp(\"^rgba\\\\(\"+[o,o,o,a]+\"\\\\)$\"),p=new RegExp(\"^hsl\\\\(\"+[a,o,o]+\"\\\\)$\"),d=new RegExp(\"^hsla\\\\(\"+[a,o,o,a]+\"\\\\)$\"),g={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};function v(t){var e;return t=(t+\"\").trim().toLowerCase(),(e=s.exec(t))?new _((e=parseInt(e[1],16))>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=l.exec(t))?m(parseInt(e[1],16)):(e=u.exec(t))?new _(e[1],e[2],e[3],1):(e=c.exec(t))?new _(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=h.exec(t))?y(e[1],e[2],e[3],e[4]):(e=f.exec(t))?y(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=p.exec(t))?w(e[1],e[2]/100,e[3]/100,1):(e=d.exec(t))?w(e[1],e[2]/100,e[3]/100,e[4]):g.hasOwnProperty(t)?m(g[t]):\"transparent\"===t?new _(NaN,NaN,NaN,0):null}function m(t){return new _(t>>16&255,t>>8&255,255&t,1)}function y(t,e,r,n){return n<=0&&(t=e=r=NaN),new _(t,e,r,n)}function x(t){return t instanceof n||(t=v(t)),t?new _((t=t.rgb()).r,t.g,t.b,t.opacity):new _}function b(t,e,r,n){return 1===arguments.length?x(t):new _(t,e,r,null==n?1:n)}function _(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function w(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new A(t,e,r,n)}function M(t,e,r,i){return 1===arguments.length?function(t){if(t instanceof A)return new A(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=v(t)),!t)return new A;if(t instanceof A)return t;var e=(t=t.rgb()).r/255,r=t.g/255,i=t.b/255,a=Math.min(e,r,i),o=Math.max(e,r,i),s=NaN,l=o-a,u=(o+a)/2;return l?(s=e===o?(r-i)/l+6*(r<i):r===o?(i-e)/l+2:(e-r)/l+4,l/=u<.5?o+a:2-o-a,s*=60):l=u>0&&u<1?0:s,new A(s,l,u,t.opacity)}(t):new A(t,e,r,null==i?1:i)}function A(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function k(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}e(n,v,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+\"\"}}),e(_,b,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?\"rgb(\":\"rgba(\")+Math.max(0,Math.min(255,Math.round(this.r)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.g)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?\")\":\", \"+t+\")\")}})),e(A,M,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new A(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new A(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new _(k(t>=240?t-240:t+120,i,n),k(t,i,n),k(t<120?t+240:t-120,i,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var T=Math.PI/180,S=180/Math.PI,E=.95047,C=1,L=1.08883,z=4/29,P=6/29,I=3*P*P,D=P*P*P;function O(t){if(t instanceof F)return new F(t.l,t.a,t.b,t.opacity);if(t instanceof q){var e=t.h*T;return new F(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof _||(t=x(t));var r=V(t.r),n=V(t.g),i=V(t.b),a=B((.4124564*r+.3575761*n+.1804375*i)/E),o=B((.2126729*r+.7151522*n+.072175*i)/C);return new F(116*o-16,500*(a-o),200*(o-B((.0193339*r+.119192*n+.9503041*i)/L)),t.opacity)}function R(t,e,r,n){return 1===arguments.length?O(t):new F(t,e,r,null==n?1:n)}function F(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function B(t){return t>D?Math.pow(t,1/3):t/I+z}function N(t){return t>P?t*t*t:I*(t-z)}function j(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function V(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function U(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof q)return new q(t.h,t.c,t.l,t.opacity);t instanceof F||(t=O(t));var e=Math.atan2(t.b,t.a)*S;return new q(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new q(t,e,r,null==n?1:n)}function q(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}e(F,R,r(n,{brighter:function(t){return new F(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new F(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return t=C*N(t),new _(j(3.2404542*(e=E*N(e))-1.5371385*t-.4985314*(r=L*N(r))),j(-.969266*e+1.8760108*t+.041556*r),j(.0556434*e-.2040259*t+1.0572252*r),this.opacity)}})),e(q,U,r(n,{brighter:function(t){return new q(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new q(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return O(this).rgb()}}));var H=-.14861,G=1.78277,W=-.29227,Y=-.90649,X=1.97294,Z=X*Y,J=X*G,K=G*W-Y*H;function Q(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof $)return new $(t.h,t.s,t.l,t.opacity);t instanceof _||(t=x(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=(K*n+Z*e-J*r)/(K+Z-J),a=n-i,o=(X*(r-i)-W*a)/Y,s=Math.sqrt(o*o+a*a)/(X*i*(1-i)),l=s?Math.atan2(o,a)*S-120:NaN;return new $(l<0?l+360:l,s,i,t.opacity)}(t):new $(t,e,r,null==n?1:n)}function $(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e($,Q,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new $(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new $(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*T,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new _(255*(e+r*(H*n+G*i)),255*(e+r*(W*n+Y*i)),255*(e+r*(X*n)),this.opacity)}})),t.color=v,t.rgb=b,t.hsl=M,t.lab=R,t.hcl=U,t.cubehelix=Q,Object.defineProperty(t,\"__esModule\",{value:!0})}),fB=fB.exports;var pB={exports:{}};!function(t,e){\"object\"==typeof pB.exports?e(pB.exports,fB):e(t.d3=t.d3||{},t.d3)}(this,function(t,e){\"use strict\";function r(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}var n=function(t){var e=t.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i>0?t[i-1]:2*a-o,l=i<e-1?t[i+2]:2*o-a;return r((n-i/e)*e,s,a,o,l)}},i=function(t){var e=t.length;return function(n){var i=Math.floor(((n%=1)<0?++n:n)*e),a=t[(i+e-1)%e],o=t[i%e],s=t[(i+1)%e],l=t[(i+2)%e];return r((n-i/e)*e,a,o,s,l)}},a=function(t){return function(){return t}};function o(t,e){return function(r){return t+r*e}}function s(t,e){var r=e-t;return r?o(t,r>180||r<-180?r-360*Math.round(r/360):r):a(isNaN(t)?e:t)}function l(t){return 1==(t=+t)?u:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):a(isNaN(e)?r:e)}}function u(t,e){var r=e-t;return r?o(t,r):a(isNaN(t)?e:t)}var c=function t(r){var n=l(r);function i(t,r){var i=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=n(t.g,r.g),o=n(t.b,r.b),s=u(t.opacity,r.opacity);return function(e){return t.r=i(e),t.g=a(e),t.b=o(e),t.opacity=s(e),t+\"\"}}return i.gamma=t,i}(1);function h(t){return function(r){var n,i,a=r.length,o=new Array(a),s=new Array(a),l=new Array(a);for(n=0;n<a;++n)i=e.rgb(r[n]),o[n]=i.r||0,s[n]=i.g||0,l[n]=i.b||0;return o=t(o),s=t(s),l=t(l),i.opacity=1,function(t){return i.r=o(t),i.g=s(t),i.b=l(t),i+\"\"}}}var f=h(n),p=h(i),d=function(t,e){var r,n=e?e.length:0,i=t?Math.min(n,t.length):0,a=new Array(i),o=new Array(n);for(r=0;r<i;++r)a[r]=k(t[r],e[r]);for(;r<n;++r)o[r]=e[r];return function(t){for(r=0;r<i;++r)o[r]=a[r](t);return o}},g=function(t,e){var r=new Date;return e-=t=+t,function(n){return r.setTime(t+e*n),r}},v=function(t,e){return e-=t=+t,function(r){return t+e*r}},m=function(t,e){var r,n={},i={};for(r in null!==t&&\"object\"==typeof t||(t={}),null!==e&&\"object\"==typeof e||(e={}),e)r in t?n[r]=k(t[r],e[r]):i[r]=e[r];return function(t){for(r in n)i[r]=n[r](t);return i}},y=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,x=new RegExp(y.source,\"g\");var b,_,w,M,A=function(t,e){var r,n,i,a=y.lastIndex=x.lastIndex=0,o=-1,s=[],l=[];for(t+=\"\",e+=\"\";(r=y.exec(t))&&(n=x.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:v(r,n)})),a=x.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?function(t){return function(e){return t(e)+\"\"}}(l[0].x):function(t){return function(){return t}}(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(\"\")})},k=function(t,r){var n,i=typeof r;return null==r||\"boolean\"===i?a(r):(\"number\"===i?v:\"string\"===i?(n=e.color(r))?(r=n,c):A:r instanceof e.color?c:r instanceof Date?g:Array.isArray(r)?d:\"function\"!=typeof r.valueOf&&\"function\"!=typeof r.toString||isNaN(r)?m:v)(t,r)},T=180/Math.PI,S={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},E=function(t,e,r,n,i,a){var o,s,l;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(l=t*r+e*n)&&(r-=t*l,n-=e*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),t*n<e*r&&(t=-t,e=-e,l=-l,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(e,t)*T,skewX:Math.atan(l)*T,scaleX:o,scaleY:s}};function C(t,e,r,n){function i(t){return t.length?t.pop()+\" \":\"\"}return function(a,o){var s=[],l=[];return a=t(a),o=t(o),function(t,n,i,a,o,s){if(t!==i||n!==a){var l=o.push(\"translate(\",null,e,null,r);s.push({i:l-4,x:v(t,i)},{i:l-2,x:v(n,a)})}else(i||a)&&o.push(\"translate(\"+i+e+a+r)}(a.translateX,a.translateY,o.translateX,o.translateY,s,l),function(t,e,r,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:r.push(i(r)+\"rotate(\",null,n)-2,x:v(t,e)})):e&&r.push(i(r)+\"rotate(\"+e+n)}(a.rotate,o.rotate,s,l),function(t,e,r,a){t!==e?a.push({i:r.push(i(r)+\"skewX(\",null,n)-2,x:v(t,e)}):e&&r.push(i(r)+\"skewX(\"+e+n)}(a.skewX,o.skewX,s,l),function(t,e,r,n,a,o){if(t!==r||e!==n){var s=a.push(i(a)+\"scale(\",null,\",\",null,\")\");o.push({i:s-4,x:v(t,r)},{i:s-2,x:v(e,n)})}else 1===r&&1===n||a.push(i(a)+\"scale(\"+r+\",\"+n+\")\")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=o=null,function(t){for(var e,r=-1,n=l.length;++r<n;)s[(e=l[r]).i]=e.x(t);return s.join(\"\")}}}var L=C(function(t){return\"none\"===t?S:(b||(b=document.createElement(\"DIV\"),_=document.documentElement,w=document.defaultView),b.style.transform=t,t=w.getComputedStyle(_.appendChild(b),null).getPropertyValue(\"transform\"),_.removeChild(b),t=t.slice(7,-1).split(\",\"),E(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},\"px, \",\"px)\",\"deg)\"),z=C(function(t){return null==t?S:(M||(M=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\")),M.setAttribute(\"transform\",t),(t=M.transform.baseVal.consolidate())?(t=t.matrix,E(t.a,t.b,t.c,t.d,t.e,t.f)):S)},\", \",\")\",\")\"),P=Math.SQRT2;function I(t){return((t=Math.exp(t))+1/t)/2}function D(t){return function(r,n){var i=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),a=u(r.s,n.s),o=u(r.l,n.l),s=u(r.opacity,n.opacity);return function(t){return r.h=i(t),r.s=a(t),r.l=o(t),r.opacity=s(t),r+\"\"}}}var O=D(s),R=D(u);function F(t){return function(r,n){var i=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),a=u(r.c,n.c),o=u(r.l,n.l),s=u(r.opacity,n.opacity);return function(t){return r.h=i(t),r.c=a(t),r.l=o(t),r.opacity=s(t),r+\"\"}}}var B=F(s),N=F(u);function j(t){return function r(n){function i(r,i){var a=t((r=e.cubehelix(r)).h,(i=e.cubehelix(i)).h),o=u(r.s,i.s),s=u(r.l,i.l),l=u(r.opacity,i.opacity);return function(t){return r.h=a(t),r.s=o(t),r.l=s(Math.pow(t,n)),r.opacity=l(t),r+\"\"}}return n=+n,i.gamma=r,i}(1)}var V=j(s),U=j(u);t.interpolate=k,t.interpolateArray=d,t.interpolateBasis=n,t.interpolateBasisClosed=i,t.interpolateDate=g,t.interpolateNumber=v,t.interpolateObject=m,t.interpolateRound=function(t,e){return e-=t=+t,function(r){return Math.round(t+e*r)}},t.interpolateString=A,t.interpolateTransformCss=L,t.interpolateTransformSvg=z,t.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<1e-12)n=Math.log(u/o)/P,r=function(t){return[i+t*c,a+t*h,o*Math.exp(P*t*n)]};else{var p=Math.sqrt(f),d=(u*u-o*o+4*f)/(2*o*2*p),g=(u*u-o*o-4*f)/(2*u*2*p),v=Math.log(Math.sqrt(d*d+1)-d),m=Math.log(Math.sqrt(g*g+1)-g);n=(m-v)/P,r=function(t){var e,r=t*n,s=I(v),l=o/(2*p)*(s*(e=P*r+v,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(v));return[i+l*c,a+l*h,o*s/I(P*r+v)]}}return r.duration=1e3*n,r},t.interpolateRgb=c,t.interpolateRgbBasis=f,t.interpolateRgbBasisClosed=p,t.interpolateHsl=O,t.interpolateHslLong=R,t.interpolateLab=function(t,r){var n=u((t=e.lab(t)).l,(r=e.lab(r)).l),i=u(t.a,r.a),a=u(t.b,r.b),o=u(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=i(e),t.b=a(e),t.opacity=o(e),t+\"\"}},t.interpolateHcl=B,t.interpolateHclLong=N,t.interpolateCubehelix=V,t.interpolateCubehelixLong=U,t.quantize=function(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t(n/(e-1));return r},Object.defineProperty(t,\"__esModule\",{value:!0})}),pB=pB.exports;var dB={exports:{}};!function(t,e){\"object\"==typeof dB.exports?e(dB.exports,cB,hB,pB):e(t.d3=t.d3||{},t.d3,t.d3,t.d3)}(this,function(t,e,r,n){\"use strict\";t.sankey=function(){var t={},i=24,a=8,o=[1,1],s=[],l=[];function u(){function t(t,e){return t.source.y-e.source.y||t.originalIndex-e.originalIndex}function e(t,e){return t.target.y-e.target.y||t.originalIndex-e.originalIndex}s.forEach(function(r){r.sourceLinks.sort(e),r.targetLinks.sort(t)}),s.forEach(function(t){var e=0,r=0;t.sourceLinks.forEach(function(t){t.sy=e,e+=t.dy}),t.targetLinks.forEach(function(t){t.ty=r,r+=t.dy})})}function c(t){return t.y+t.dy/2}function h(t){return t.value}return t.nodeWidth=function(e){return arguments.length?(i=+e,t):i},t.nodePadding=function(e){return arguments.length?(a=+e,t):a},t.nodes=function(e){return arguments.length?(s=e,t):s},t.links=function(e){return arguments.length?(l=e,t):l},t.size=function(e){return arguments.length?(o=e,t):o},t.layout=function(n){return s.forEach(function(t){t.sourceLinks=[],t.targetLinks=[]}),l.forEach(function(t,e){var r=t.source,n=t.target;\"number\"==typeof r&&(r=t.source=s[t.source]),\"number\"==typeof n&&(n=t.target=s[t.target]),t.originalIndex=e,r.sourceLinks.push(t),n.targetLinks.push(t)}),s.forEach(function(t){t.value=Math.max(e.sum(t.sourceLinks,h),e.sum(t.targetLinks,h))}),function(){for(var t,e,r=s,n=0;r.length;)t=[],r.forEach(function(e){e.x=n,e.dx=i,e.sourceLinks.forEach(function(e){t.indexOf(e.target)<0&&t.push(e.target)})}),r=t,++n;(function(t){s.forEach(function(e){e.sourceLinks.length||(e.x=t-1)})})(n),e=(o[0]-i)/(n-1),s.forEach(function(t){t.x*=e})}(),function(t){var n,i=r.nest().key(function(t){return t.x}).sortKeys(e.ascending).entries(s).map(function(t){return t.values});n=e.min(i,function(t){return(o[1]-(t.length-1)*a)/e.sum(t,h)}),i.forEach(function(t){t.forEach(function(t,e){t.y=e,t.dy=t.value*n})}),l.forEach(function(t){t.dy=t.value*n}),d();for(var u=1;t>0;--t)p(u*=.99),d(),f(u),d();function f(t){function r(t){return c(t.source)*t.value}i.forEach(function(n){n.forEach(function(n){if(n.targetLinks.length){var i=e.sum(n.targetLinks,r)/e.sum(n.targetLinks,h);n.y+=(i-c(n))*t}})})}function p(t){function r(t){return c(t.target)*t.value}i.slice().reverse().forEach(function(n){n.forEach(function(n){if(n.sourceLinks.length){var i=e.sum(n.sourceLinks,r)/e.sum(n.sourceLinks,h);n.y+=(i-c(n))*t}})})}function d(){i.forEach(function(t){var e,r,n,i=0,s=t.length;for(t.sort(g),n=0;n<s;++n)e=t[n],(r=i-e.y)>0&&(e.y+=r),i=e.y+e.dy+a;if((r=i-a-o[1])>0)for(i=e.y-=r,n=s-2;n>=0;--n)e=t[n],(r=e.y+e.dy+a-i)>0&&(e.y-=r),i=e.y})}function g(t,e){return t.y-e.y}}(n),u(),t},t.relayout=function(){return u(),t},t.link=function(){var t=.5;function e(e){var r=e.source.x+e.source.dx,i=e.target.x,a=n.interpolateNumber(r,i),o=a(t),s=a(1-t),l=e.source.y+e.sy,u=l+e.dy,c=e.target.y+e.ty,h=c+e.dy;return\"M\"+r+\",\"+l+\"C\"+o+\",\"+l+\" \"+s+\",\"+c+\" \"+i+\",\"+c+\"L\"+i+\",\"+h+\"C\"+s+\",\"+h+\" \"+o+\",\"+u+\" \"+r+\",\"+u+\"Z\"}return e.curvature=function(r){return arguments.length?(t=+r,e):t},e},t},Object.defineProperty(t,\"__esModule\",{value:!0})}),dB=dB.exports;var gB={exports:{}};!function(t,e){\"object\"==typeof gB.exports?e(gB.exports):e(t.d3=t.d3||{})}(this,function(t){\"use strict\";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,i={};e<r;++e){if(!(t=arguments[e]+\"\")||t in i)throw new Error(\"illegal type: \"+t);i[t]=[]}return new n(i)}function n(t){this._=t}function i(t,e){for(var r,n=0,i=t.length;n<i;++n)if((r=t[n]).name===e)return r.value}function a(t,r,n){for(var i=0,a=t.length;i<a;++i)if(t[i].name===r){t[i]=e,t=t.slice(0,i).concat(t.slice(i+1));break}return null!=n&&t.push({name:r,value:n}),t}n.prototype=r.prototype={constructor:n,on:function(t,e){var r,n,o=this._,s=(n=o,(t+\"\").trim().split(/^|\\s+/).map(function(t){var e=\"\",r=t.indexOf(\".\");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);return{type:t,name:e}})),l=-1,u=s.length;if(!(arguments.length<2)){if(null!=e&&\"function\"!=typeof e)throw new Error(\"invalid callback: \"+e);for(;++l<u;)if(r=(t=s[l]).type)o[r]=a(o[r],t.name,e);else if(null==e)for(r in o)o[r]=a(o[r],t.name,null);return this}for(;++l<u;)if((r=(t=s[l]).type)&&(r=i(o[r],t.name)))return r},copy:function(){var t={},e=this._;for(var r in e)t[r]=e[r].slice();return new n(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var r,n,i=new Array(r),a=0;a<r;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);for(a=0,r=(n=this._[t]).length;a<r;++a)n[a].value.apply(e,i)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);for(var n=this._[t],i=0,a=n.length;i<a;++i)n[i].value.apply(e,r)}},t.dispatch=r,Object.defineProperty(t,\"__esModule\",{value:!0})}),gB=gB.exports;var vB={exports:{}};!function(t,e){\"object\"==typeof vB.exports?e(vB.exports):e(t.d3=t.d3||{})}(this,function(t){\"use strict\";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var i,a,o,s,l,u,c,h,f,p=t._root,d={data:n},g=t._x0,v=t._y0,m=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((u=e>=(a=(g+m)/2))?g=a:m=a,(c=r>=(o=(v+y)/2))?v=o:y=o,i=p,!(p=p[h=c<<1|u]))return i[h]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,i?i[h]=d:t._root=d,t;do{i=i?i[h]=new Array(4):t._root=new Array(4),(u=e>=(a=(g+m)/2))?g=a:m=a,(c=r>=(o=(v+y)/2))?v=o:y=o}while((h=c<<1|u)==(f=(l>=o)<<1|s>=a));return i[f]=p,i[h]=d,t}var r=function(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i};function n(t){return t[0]}function i(t){return t[1]}function a(t,e,r){var a=new o(null==e?n:e,null==r?i:r,NaN,NaN,NaN,NaN);return null==t?a:a.addAll(t)}function o(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function s(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var l=a.prototype=o.prototype;l.copy=function(){var t,e,r=new o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=s(n),r;for(t=[{source:n,target:r._root=new Array(4)}];n=t.pop();)for(var i=0;i<4;++i)(e=n.source[i])&&(e.length?t.push({source:e,target:n.target[i]=new Array(4)}):n.target[i]=s(e));return r},l.add=function(t){var r=+this._x.call(null,t),n=+this._y.call(null,t);return e(this.cover(r,n),r,n,t)},l.addAll=function(t){var r,n,i,a,o=t.length,s=new Array(o),l=new Array(o),u=1/0,c=1/0,h=-1/0,f=-1/0;for(n=0;n<o;++n)isNaN(i=+this._x.call(null,r=t[n]))||isNaN(a=+this._y.call(null,r))||(s[n]=i,l[n]=a,i<u&&(u=i),i>h&&(h=i),a<c&&(c=a),a>f&&(f=a));for(h<u&&(u=this._x0,h=this._x1),f<c&&(c=this._y0,f=this._y1),this.cover(u,c).cover(h,f),n=0;n<o;++n)e(this,s[n],l[n],t[n]);return this},l.cover=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var r=this._x0,n=this._y0,i=this._x1,a=this._y1;if(isNaN(r))i=(r=Math.floor(t))+1,a=(n=Math.floor(e))+1;else{if(!(r>t||t>i||n>e||e>a))return this;var o,s,l=i-r,u=this._root;switch(s=(e<(n+a)/2)<<1|t<(r+i)/2){case 0:do{(o=new Array(4))[s]=u,u=o}while(a=n+(l*=2),t>(i=r+l)||e>a);break;case 1:do{(o=new Array(4))[s]=u,u=o}while(a=n+(l*=2),(r=i-l)>t||e>a);break;case 2:do{(o=new Array(4))[s]=u,u=o}while(n=a-(l*=2),t>(i=r+l)||n>e);break;case 3:do{(o=new Array(4))[s]=u,u=o}while(n=a-(l*=2),(r=i-l)>t||n>e)}this._root&&this._root.length&&(this._root=u)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,this},l.data=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},l.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l.find=function(t,e,n){var i,a,o,s,l,u,c,h=this._x0,f=this._y0,p=this._x1,d=this._y1,g=[],v=this._root;for(v&&g.push(new r(v,h,f,p,d)),null==n?n=1/0:(h=t-n,f=e-n,p=t+n,d=e+n,n*=n);u=g.pop();)if(!(!(v=u.node)||(a=u.x0)>p||(o=u.y0)>d||(s=u.x1)<h||(l=u.y1)<f))if(v.length){var m=(a+s)/2,y=(o+l)/2;g.push(new r(v[3],m,y,s,l),new r(v[2],a,y,m,l),new r(v[1],m,o,s,y),new r(v[0],a,o,m,y)),(c=(e>=y)<<1|t>=m)&&(u=g[g.length-1],g[g.length-1]=g[g.length-1-c],g[g.length-1-c]=u)}else{var x=t-+this._x.call(null,v.data),b=e-+this._y.call(null,v.data),_=x*x+b*b;if(_<n){var w=Math.sqrt(n=_);h=t-w,f=e-w,p=t+w,d=e+w,i=v.data}}return i},l.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,r,n,i,a,o,s,l,u,c,h,f,p=this._root,d=this._x0,g=this._y0,v=this._x1,m=this._y1;if(!p)return this;if(p.length)for(;;){if((u=a>=(s=(d+v)/2))?d=s:v=s,(c=o>=(l=(g+m)/2))?g=l:m=l,e=p,!(p=p[h=c<<1|u]))return this;if(!p.length)break;(e[h+1&3]||e[h+2&3]||e[h+3&3])&&(r=e,f=h)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[h]=i:delete e[h],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[f]=p:this._root=p),this):(this._root=i,this)},l.removeAll=function(t){for(var e=0,r=t.length;e<r;++e)this.remove(t[e]);return this},l.root=function(){return this._root},l.size=function(){var t=0;return this.visit(function(e){if(!e.length)do{++t}while(e=e.next)}),t},l.visit=function(t){var e,n,i,a,o,s,l=[],u=this._root;for(u&&l.push(new r(u,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(u=e.node,i=e.x0,a=e.y0,o=e.x1,s=e.y1)&&u.length){var c=(i+o)/2,h=(a+s)/2;(n=u[3])&&l.push(new r(n,c,h,o,s)),(n=u[2])&&l.push(new r(n,i,h,c,s)),(n=u[1])&&l.push(new r(n,c,a,o,h)),(n=u[0])&&l.push(new r(n,i,a,c,h))}return this},l.visitAfter=function(t){var e,n=[],i=[];for(this._root&&n.push(new r(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var a=e.node;if(a.length){var o,s=e.x0,l=e.y0,u=e.x1,c=e.y1,h=(s+u)/2,f=(l+c)/2;(o=a[0])&&n.push(new r(o,s,l,h,f)),(o=a[1])&&n.push(new r(o,h,l,u,f)),(o=a[2])&&n.push(new r(o,s,f,h,c)),(o=a[3])&&n.push(new r(o,h,f,u,c))}i.push(e)}for(;e=i.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},l.x=function(t){return arguments.length?(this._x=t,this):this._x},l.y=function(t){return arguments.length?(this._y=t,this):this._y},t.quadtree=a,Object.defineProperty(t,\"__esModule\",{value:!0})}),vB=vB.exports;var mB={exports:{}};!function(t,e){\"object\"==typeof mB.exports?e(mB.exports):e(t.d3=t.d3||{})}(this,function(t){\"use strict\";var e,r,n=0,i=0,a=0,o=1e3,s=0,l=0,u=0,c=\"object\"==typeof performance&&performance.now?performance:Date,h=\"object\"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function f(){return l||(h(p),l=c.now()+u)}function p(){l=0}function d(){this._call=this._time=this._next=null}function g(t,e,r){var n=new d;return n.restart(t,e,r),n}function v(){f(),++n;for(var t,r=e;r;)(t=l-r._time)>=0&&r._call.call(null,t),r=r._next;--n}function m(){l=(s=c.now())+u,n=i=0;try{v()}finally{n=0,function(){var t,n,i=e,a=1/0;for(;i;)i._call?(a>i._time&&(a=i._time),t=i,i=i._next):(n=i._next,i._next=null,i=t?t._next=n:e=n);r=t,x(a)}(),l=0}}function y(){var t=c.now(),e=t-s;e>o&&(u-=e,s=t)}function x(t){n||(i&&(i=clearTimeout(i)),t-l>24?(t<1/0&&(i=setTimeout(m,t-c.now()-u)),a&&(a=clearInterval(a))):(a||(s=c.now(),a=setInterval(y,o)),n=1,h(m)))}d.prototype=g.prototype={constructor:d,restart:function(t,n,i){if(\"function\"!=typeof t)throw new TypeError(\"callback is not a function\");i=(null==i?f():+i)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=i,x()},stop:function(){this._call&&(this._call=null,this._time=1/0,x())}};t.now=f,t.timer=g,t.timerFlush=v,t.timeout=function(t,e,r){var n=new d;return e=null==e?0:+e,n.restart(function(r){n.stop(),t(r+e)},e,r),n},t.interval=function(t,e,r){var n=new d,i=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?f():+r,n.restart(function a(o){o+=i,n.restart(a,i+=e,r),t(o)},e,r),n)},Object.defineProperty(t,\"__esModule\",{value:!0})}),mB=mB.exports;var yB={exports:{}};!function(t,e){\"object\"==typeof yB.exports?e(yB.exports,vB,hB,gB,mB):e(t.d3=t.d3||{},t.d3,t.d3,t.d3,t.d3)}(this,function(t,e,r,n,i){\"use strict\";var a=function(t){return function(){return t}},o=function(){return 1e-6*(Math.random()-.5)};function s(t){return t.x+t.vx}function l(t){return t.y+t.vy}function u(t){return t.index}function c(t,e){var r=t.get(e);if(!r)throw new Error(\"missing: \"+e);return r}function h(t){return t.x}function f(t){return t.y}var p=10,d=Math.PI*(3-Math.sqrt(5));t.forceCenter=function(t,e){var r;function n(){var n,i,a=r.length,o=0,s=0;for(n=0;n<a;++n)o+=(i=r[n]).x,s+=i.y;for(o=o/a-t,s=s/a-e,n=0;n<a;++n)(i=r[n]).x-=o,i.y-=s}return null==t&&(t=0),null==e&&(e=0),n.initialize=function(t){r=t},n.x=function(e){return arguments.length?(t=+e,n):t},n.y=function(t){return arguments.length?(e=+t,n):e},n},t.forceCollide=function(t){var r,n,i=1,u=1;function c(){for(var t,a,c,f,p,d,g,v=r.length,m=0;m<u;++m)for(a=e.quadtree(r,s,l).visitAfter(h),t=0;t<v;++t)c=r[t],d=n[c.index],g=d*d,f=c.x+c.vx,p=c.y+c.vy,a.visit(y);function y(t,e,r,n,a){var s=t.data,l=t.r,u=d+l;if(!s)return e>f+u||n<f-u||r>p+u||a<p-u;if(s.index>c.index){var h=f-s.x-s.vx,v=p-s.y-s.vy,m=h*h+v*v;m<u*u&&(0===h&&(m+=(h=o())*h),0===v&&(m+=(v=o())*v),m=(u-(m=Math.sqrt(m)))/m*i,c.vx+=(h*=m)*(u=(l*=l)/(g+l)),c.vy+=(v*=m)*u,s.vx-=h*(u=1-u),s.vy-=v*u)}}}function h(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function f(){if(r){var e,i,a=r.length;for(n=new Array(a),e=0;e<a;++e)i=r[e],n[i.index]=+t(i,e,r)}}return\"function\"!=typeof t&&(t=a(null==t?1:+t)),c.initialize=function(t){r=t,f()},c.iterations=function(t){return arguments.length?(u=+t,c):u},c.strength=function(t){return arguments.length?(i=+t,c):i},c.radius=function(e){return arguments.length?(t=\"function\"==typeof e?e:a(+e),f(),c):t},c},t.forceLink=function(t){var e,n,i,s,l,h=u,f=function(t){return 1/Math.min(s[t.source.index],s[t.target.index])},p=a(30),d=1;function g(r){for(var i=0,a=t.length;i<d;++i)for(var s,u,c,h,f,p,g,v=0;v<a;++v)u=(s=t[v]).source,h=(c=s.target).x+c.vx-u.x-u.vx||o(),f=c.y+c.vy-u.y-u.vy||o(),h*=p=((p=Math.sqrt(h*h+f*f))-n[v])/p*r*e[v],f*=p,c.vx-=h*(g=l[v]),c.vy-=f*g,u.vx+=h*(g=1-g),u.vy+=f*g}function v(){if(i){var a,o,u=i.length,f=t.length,p=r.map(i,h);for(a=0,s=new Array(u);a<f;++a)(o=t[a]).index=a,\"object\"!=typeof o.source&&(o.source=c(p,o.source)),\"object\"!=typeof o.target&&(o.target=c(p,o.target)),s[o.source.index]=(s[o.source.index]||0)+1,s[o.target.index]=(s[o.target.index]||0)+1;for(a=0,l=new Array(f);a<f;++a)o=t[a],l[a]=s[o.source.index]/(s[o.source.index]+s[o.target.index]);e=new Array(f),m(),n=new Array(f),y()}}function m(){if(i)for(var r=0,n=t.length;r<n;++r)e[r]=+f(t[r],r,t)}function y(){if(i)for(var e=0,r=t.length;e<r;++e)n[e]=+p(t[e],e,t)}return null==t&&(t=[]),g.initialize=function(t){i=t,v()},g.links=function(e){return arguments.length?(t=e,v(),g):t},g.id=function(t){return arguments.length?(h=t,g):h},g.iterations=function(t){return arguments.length?(d=+t,g):d},g.strength=function(t){return arguments.length?(f=\"function\"==typeof t?t:a(+t),m(),g):f},g.distance=function(t){return arguments.length?(p=\"function\"==typeof t?t:a(+t),y(),g):p},g},t.forceManyBody=function(){var t,r,n,i,s=a(-30),l=1,u=1/0,c=.81;function p(i){var a,o=t.length,s=e.quadtree(t,h,f).visitAfter(g);for(n=i,a=0;a<o;++a)r=t[a],s.visit(v)}function d(){if(t){var e,r,n=t.length;for(i=new Array(n),e=0;e<n;++e)r=t[e],i[r.index]=+s(r,e,t)}}function g(t){var e,r,n,a,o,s=0,l=0;if(t.length){for(n=a=o=0;o<4;++o)(e=t[o])&&(r=Math.abs(e.value))&&(s+=e.value,l+=r,n+=r*e.x,a+=r*e.y);t.x=n/l,t.y=a/l}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=i[e.data.index]}while(e=e.next)}t.value=s}function v(t,e,a,s){if(!t.value)return!0;var h=t.x-r.x,f=t.y-r.y,p=s-e,d=h*h+f*f;if(p*p/c<d)return d<u&&(0===h&&(d+=(h=o())*h),0===f&&(d+=(f=o())*f),d<l&&(d=Math.sqrt(l*d)),r.vx+=h*t.value*n/d,r.vy+=f*t.value*n/d),!0;if(!(t.length||d>=u)){(t.data!==r||t.next)&&(0===h&&(d+=(h=o())*h),0===f&&(d+=(f=o())*f),d<l&&(d=Math.sqrt(l*d)));do{t.data!==r&&(p=i[t.data.index]*n/d,r.vx+=h*p,r.vy+=f*p)}while(t=t.next)}}return p.initialize=function(e){t=e,d()},p.strength=function(t){return arguments.length?(s=\"function\"==typeof t?t:a(+t),d(),p):s},p.distanceMin=function(t){return arguments.length?(l=t*t,p):Math.sqrt(l)},p.distanceMax=function(t){return arguments.length?(u=t*t,p):Math.sqrt(u)},p.theta=function(t){return arguments.length?(c=t*t,p):Math.sqrt(c)},p},t.forceRadial=function(t,e,r){var n,i,o,s=a(.1);function l(t){for(var a=0,s=n.length;a<s;++a){var l=n[a],u=l.x-e||1e-6,c=l.y-r||1e-6,h=Math.sqrt(u*u+c*c),f=(o[a]-h)*i[a]*t/h;l.vx+=u*f,l.vy+=c*f}}function u(){if(n){var e,r=n.length;for(i=new Array(r),o=new Array(r),e=0;e<r;++e)o[e]=+t(n[e],e,n),i[e]=isNaN(o[e])?0:+s(n[e],e,n)}}return\"function\"!=typeof t&&(t=a(+t)),null==e&&(e=0),null==r&&(r=0),l.initialize=function(t){n=t,u()},l.strength=function(t){return arguments.length?(s=\"function\"==typeof t?t:a(+t),u(),l):s},l.radius=function(e){return arguments.length?(t=\"function\"==typeof e?e:a(+e),u(),l):t},l.x=function(t){return arguments.length?(e=+t,l):e},l.y=function(t){return arguments.length?(r=+t,l):r},l},t.forceSimulation=function(t){var e,a=1,o=.001,s=1-Math.pow(o,1/300),l=0,u=.6,c=r.map(),h=i.timer(g),f=n.dispatch(\"tick\",\"end\");function g(){v(),f.call(\"tick\",e),a<o&&(h.stop(),f.call(\"end\",e))}function v(){var e,r,n=t.length;for(a+=(l-a)*s,c.each(function(t){t(a)}),e=0;e<n;++e)null==(r=t[e]).fx?r.x+=r.vx*=u:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=u:(r.y=r.fy,r.vy=0)}function m(){for(var e,r=0,n=t.length;r<n;++r){if((e=t[r]).index=r,isNaN(e.x)||isNaN(e.y)){var i=p*Math.sqrt(r),a=r*d;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function y(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),m(),e={tick:v,restart:function(){return h.restart(g),e},stop:function(){return h.stop(),e},nodes:function(r){return arguments.length?(t=r,m(),c.each(y),e):t},alpha:function(t){return arguments.length?(a=+t,e):a},alphaMin:function(t){return arguments.length?(o=+t,e):o},alphaDecay:function(t){return arguments.length?(s=+t,e):+s},alphaTarget:function(t){return arguments.length?(l=+t,e):l},velocityDecay:function(t){return arguments.length?(u=1-t,e):1-u},force:function(t,r){return arguments.length>1?(null==r?c.remove(t):c.set(t,y(r)),e):c.get(t)},find:function(e,r,n){var i,a,o,s,l,u=0,c=t.length;for(null==n?n=1/0:n*=n,u=0;u<c;++u)(o=(i=e-(s=t[u]).x)*i+(a=r-s.y)*a)<n&&(l=s,n=o);return l},on:function(t,r){return arguments.length>1?(f.on(t,r),e):f.on(t)}}},t.forceX=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vx+=(n[a]-i.x)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return\"function\"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i=\"function\"==typeof t?t:a(+t),s(),o):i},o.x=function(e){return arguments.length?(t=\"function\"==typeof e?e:a(+e),s(),o):t},o},t.forceY=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vy+=(n[a]-i.y)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return\"function\"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i=\"function\"==typeof t?t:a(+t),s(),o):i},o.y=function(e){return arguments.length?(t=\"function\"==typeof e?e:a(+e),s(),o):t},o},Object.defineProperty(t,\"__esModule\",{value:!0})}),yB=yB.exports;var xB=dB.sankey,bB=ZR.keyFun,_B=ZR.repeat,wB=ZR.unwrap;function MB(t){t.lastDraggedX=t.x,t.lastDraggedY=t.y}function AB(t){return function(e){return e.node.originalX===t.node.originalX}}function kB(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y+t[e].dy/2}function TB(t){t.attr(\"transform\",function(t){return\"translate(\"+t.node.x.toFixed(3)+\", \"+(t.node.y-t.node.dy/2).toFixed(3)+\")\"})}function SB(t){var e=t.sankey.nodes();!function(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y-t[e].dy/2}(e);var r=t.sankey.link()(t.link);return kB(e),r}function EB(t){t.call(TB)}function CB(t,e){t.call(EB),e.attr(\"d\",SB)}function LB(t){t.attr(\"width\",function(t){return t.visibleWidth}).attr(\"height\",function(t){return t.visibleHeight})}function zB(t){return t.link.dy>1||t.linkLineWidth>0}function PB(t){return\"translate(\"+t.translateX+\",\"+t.translateY+\")\"+(t.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\")}function IB(t){return\"translate(\"+(t.horizontal?0:t.labelY)+\" \"+(t.horizontal?t.labelY:0)+\")\"}function DB(t){return e.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+uB.nodeTextOffsetHorizontal:uB.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-uB.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-uB.nodeTextOffsetHorizontal,0]])}function OB(t){return t.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\"}function RB(t){return t.horizontal?\"scale(1 1)\":\"scale(-1 1)\"}function FB(t){return t.darkBackground&&!t.horizontal?\"rgb(255,255,255)\":\"rgb(0,0,0)\"}function BB(t){return t.horizontal&&t.left?\"100%\":\"0%\"}function NB(t,e,r){t.on(\".basic\",null).on(\"mouseover.basic\",function(t){t.interactionState.dragInProgress||(r.hover(this,t,e),t.interactionState.hovered=[this,t])}).on(\"mousemove.basic\",function(t){t.interactionState.dragInProgress||(r.follow(this,t),t.interactionState.hovered=[this,t])}).on(\"mouseout.basic\",function(t){t.interactionState.dragInProgress||(r.unhover(this,t,e),t.interactionState.hovered=!1)}).on(\"click.basic\",function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||r.select(this,t,e)})}function jB(t,r,n){var i=e.behavior.drag().origin(function(t){return t.node}).on(\"dragstart\",function(e){if(\"fixed\"!==e.arrangement&&(ne.raiseToTop(this),e.interactionState.dragInProgress=e.node,MB(e.node),e.interactionState.hovered&&(n.nodeEvents.unhover.apply(0,e.interactionState.hovered),e.interactionState.hovered=!1),\"snap\"===e.arrangement)){var i=e.traceId+\"|\"+Math.floor(e.node.originalX);e.forceLayouts[i]?e.forceLayouts[i].alpha(1):function(t,e,r){var n=r.sankey.nodes().filter(function(t){return t.originalX===r.node.originalX});r.forceLayouts[e]=yB.forceSimulation(n).alphaDecay(0).force(\"collide\",yB.forceCollide().radius(function(t){return t.dy/2+r.nodePad/2}).strength(1).iterations(uB.forceIterations)).force(\"constrain\",function(t,e,r,n){return function(){for(var t=0,i=0;i<r.length;i++){var a=r[i];a===n.interactionState.dragInProgress?(a.x=a.lastDraggedX,a.y=a.lastDraggedY):(a.vx=(a.originalX-a.x)/uB.forceTicksPerFrame,a.y=Math.min(n.size-a.dy/2,Math.max(a.dy/2,a.y))),t=Math.max(t,Math.abs(a.vx),Math.abs(a.vy))}!n.interactionState.dragInProgress&&t<.1&&n.forceLayouts[e].alpha()>0&&n.forceLayouts[e].alpha(0)}}(0,e,n,r)).stop()}(0,i,e),function(t,e,r,n){window.requestAnimationFrame(function i(){for(var a=0;a<uB.forceTicksPerFrame;a++)r.forceLayouts[n].tick();r.sankey.relayout(),CB(t.filter(AB(r)),e),r.forceLayouts[n].alpha()>0&&window.requestAnimationFrame(i)})}(t,r,e,i)}}).on(\"drag\",function(n){if(\"fixed\"!==n.arrangement){var i=e.event.x,a=e.event.y;\"snap\"===n.arrangement?(n.node.x=i,n.node.y=a):(\"freeform\"===n.arrangement&&(n.node.x=i),n.node.y=Math.max(n.node.dy/2,Math.min(n.size-n.node.dy/2,a))),MB(n.node),\"snap\"!==n.arrangement&&(n.sankey.relayout(),CB(t.filter(AB(n)),r))}}).on(\"dragend\",function(t){t.interactionState.dragInProgress=!1});t.on(\".drag\",null).call(i)}var VB=function(t,e,r,n){var i=t.selectAll(\".\"+uB.cn.sankey).data(e.filter(function(t){return wB(t).trace.visible}).map(function(t,e,r){for(var n,i=wB(e).trace,a=i.domain,o=i.node,s=i.link,l=i.arrangement,u=\"h\"===i.orientation,c=i.node.pad,h=i.node.thickness,f=i.node.line.color,p=i.node.line.width,d=i.link.line.color,g=i.link.line.width,v=i.valueformat,m=i.valuesuffix,y=i.textfont,x=t.width*(a.x[1]-a.x[0]),b=t.height*(a.y[1]-a.y[0]),_=o.label.map(function(t,e){return{pointNumber:e,label:t,color:ne.isArrayOrTypedArray(o.color)?o.color[e]:o.color}}),w=s.value.map(function(t,e){return{pointNumber:e,label:s.label[e],color:ne.isArrayOrTypedArray(s.color)?s.color[e]:s.color,source:s.source[e],target:s.target[e],value:t}}),M=xB().size(u?[x,b]:[b,x]).nodeWidth(h).nodePadding(c).nodes(_).links(w).layout(uB.sankeyIterations),A=M.nodes(),k=0;k<A.length;k++)(n=A[k]).width=x,n.height=b;return kB(_),{key:r,trace:i,guid:Math.floor(1e12*(1+Math.random())),horizontal:u,width:x,height:b,nodePad:c,nodeLineColor:f,nodeLineWidth:p,linkLineColor:d,linkLineWidth:g,valueFormat:v,valueSuffix:m,textFont:y,translateX:a.x[0]*x+t.margin.l,translateY:t.height-a.y[1]*t.height+t.margin.t,dragParallel:u?b:x,dragPerpendicular:u?x:b,nodes:_,links:w,arrangement:l,sankey:M,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}.bind(null,r)),bB);i.exit().remove(),i.enter().append(\"g\").classed(uB.cn.sankey,!0).style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"shape-rendering\",\"geometricPrecision\").style(\"pointer-events\",\"auto\").style(\"box-sizing\",\"content-box\").attr(\"transform\",PB),i.transition().ease(uB.ease).duration(uB.duration).attr(\"transform\",PB);var a=i.selectAll(\".\"+uB.cn.sankeyLinks).data(_B,bB);a.enter().append(\"g\").classed(uB.cn.sankeyLinks,!0).style(\"fill\",\"none\");var o=a.selectAll(\".\"+uB.cn.sankeyLink).data(function(t){return t.sankey.links().filter(function(t){return t.value}).map(function(t,e,r){var n=s(r.color),i=r.source.label+\"|\"+r.target.label,a=t[i];t[i]=(a||0)+1;var o=i+\"__\"+t[i];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:o,traceId:e.key,link:r,tinyColorHue:Oe.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,interactionState:e.interactionState}}.bind(null,{},t))},bB);o.enter().append(\"path\").classed(uB.cn.sankeyLink,!0).attr(\"d\",SB).call(NB,i,n.linkEvents),o.style(\"stroke\",function(t){return zB(t)?Oe.tinyRGB(s(t.linkLineColor)):t.tinyColorHue}).style(\"stroke-opacity\",function(t){return zB(t)?Oe.opacity(t.linkLineColor):t.tinyColorAlpha}).style(\"stroke-width\",function(t){return zB(t)?t.linkLineWidth:1}).style(\"fill\",function(t){return t.tinyColorHue}).style(\"fill-opacity\",function(t){return t.tinyColorAlpha}),o.transition().ease(uB.ease).duration(uB.duration).attr(\"d\",SB),o.exit().transition().ease(uB.ease).duration(uB.duration).style(\"opacity\",0).remove();var l=i.selectAll(\".\"+uB.cn.sankeyNodeSet).data(_B,bB);l.enter().append(\"g\").classed(uB.cn.sankeyNodeSet,!0),l.style(\"cursor\",function(t){switch(t.arrangement){case\"fixed\":return\"default\";case\"perpendicular\":return\"ns-resize\";default:return\"move\"}});var u=l.selectAll(\".\"+uB.cn.sankeyNode).data(function(t){var e=t.sankey.nodes();return function(t){var e,r=[];for(e=0;e<t.length;e++)t[e].originalX=t[e].x,t[e].originalY=t[e].y,-1===r.indexOf(t[e].x)&&r.push(t[e].x);for(r.sort(function(t,e){return t-e}),e=0;e<t.length;e++)t[e].originalLayerIndex=r.indexOf(t[e].originalX),t[e].originalLayer=t[e].originalLayerIndex/(r.length-1)}(e),e.filter(function(t){return t.value}).map(function(t,e,r){var n=s(r.color),i=uB.nodePadAcross,a=e.nodePad/2,o=r.dx,l=Math.max(.5,r.dy),u=r.label,c=t[u];t[u]=(c||0)+1;var h=u+\"__\"+t[u];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:h,traceId:e.key,node:r,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(o),visibleHeight:l,zoneX:-i,zoneY:-a,zoneWidth:o+2*i,zoneHeight:l+2*a,labelY:e.horizontal?r.dy/2+1:r.dx/2+1,left:1===r.originalLayer,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:n.getBrightness()<=128,tinyColorHue:Oe.tinyRGB(n),tinyColorAlpha:n.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,h].join(\" \"),interactionState:e.interactionState}}.bind(null,{},t))},bB);u.enter().append(\"g\").classed(uB.cn.sankeyNode,!0).call(TB).call(NB,i,n.nodeEvents),u.call(jB,o,n),u.transition().ease(uB.ease).duration(uB.duration).call(TB),u.exit().transition().ease(uB.ease).duration(uB.duration).style(\"opacity\",0).remove();var c=u.selectAll(\".\"+uB.cn.nodeRect).data(_B);c.enter().append(\"rect\").classed(uB.cn.nodeRect,!0).call(LB),c.style(\"stroke-width\",function(t){return t.nodeLineWidth}).style(\"stroke\",function(t){return Oe.tinyRGB(s(t.nodeLineColor))}).style(\"stroke-opacity\",function(t){return Oe.opacity(t.nodeLineColor)}).style(\"fill\",function(t){return t.tinyColorHue}).style(\"fill-opacity\",function(t){return t.tinyColorAlpha}),c.transition().ease(uB.ease).duration(uB.duration).call(LB);var h=u.selectAll(\".\"+uB.cn.nodeCapture).data(_B);h.enter().append(\"rect\").classed(uB.cn.nodeCapture,!0).style(\"fill-opacity\",0),h.attr(\"x\",function(t){return t.zoneX}).attr(\"y\",function(t){return t.zoneY}).attr(\"width\",function(t){return t.zoneWidth}).attr(\"height\",function(t){return t.zoneHeight});var f=u.selectAll(\".\"+uB.cn.nodeCentered).data(_B);f.enter().append(\"g\").classed(uB.cn.nodeCentered,!0).attr(\"transform\",IB),f.transition().ease(uB.ease).duration(uB.duration).attr(\"transform\",IB);var p=f.selectAll(\".\"+uB.cn.nodeLabelGuide).data(_B);p.enter().append(\"path\").classed(uB.cn.nodeLabelGuide,!0).attr(\"id\",function(t){return t.uniqueNodeLabelPathId}).attr(\"d\",DB).attr(\"transform\",OB),p.transition().ease(uB.ease).duration(uB.duration).attr(\"d\",DB).attr(\"transform\",OB);var d=f.selectAll(\".\"+uB.cn.nodeLabel).data(_B);d.enter().append(\"text\").classed(uB.cn.nodeLabel,!0).attr(\"transform\",RB).style(\"user-select\",\"none\").style(\"cursor\",\"default\").style(\"fill\",\"black\"),d.style(\"text-shadow\",function(t){return t.horizontal?\"-1px 1px 1px #fff, 1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff\":\"none\"}).each(function(t){Sr.font(d,t.textFont)}),d.transition().ease(uB.ease).duration(uB.duration).attr(\"transform\",RB);var g=d.selectAll(\".\"+uB.cn.nodeLabelTextPath).data(_B);g.enter().append(\"textPath\").classed(uB.cn.nodeLabelTextPath,!0).attr(\"alignment-baseline\",\"middle\").attr(\"xlink:href\",function(t){return\"#\"+t.uniqueNodeLabelPathId}).attr(\"startOffset\",BB).style(\"fill\",FB),g.text(function(t){return t.horizontal||t.node.dy>5?t.node.label:\"\"}).attr(\"text-anchor\",function(t){return t.horizontal&&t.left?\"end\":\"start\"}),g.transition().ease(uB.ease).duration(uB.duration).attr(\"startOffset\",BB).style(\"fill\",FB)},UB=uB.cn,qB=ne._;function HB(t){return\"\"!==t}function GB(t,e){return t.filter(function(t){return t.key===e.traceId})}function WB(t,r){e.select(t).select(\"path\").style(\"fill-opacity\",r),e.select(t).select(\"rect\").style(\"fill-opacity\",r)}function YB(t){e.select(t).select(\"text.name\").style(\"fill\",\"black\")}function XB(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function ZB(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function JB(t,e,r){e&&r&&GB(r,e).selectAll(\".\"+UB.sankeyLink).filter(XB(e)).call(QB.bind(0,e,r,!1))}function KB(t,e,r){e&&r&&GB(r,e).selectAll(\".\"+UB.sankeyLink).filter(XB(e)).call($B.bind(0,e,r,!1))}function QB(t,e,r,n){var i=n.datum().link.label;n.style(\"fill-opacity\",.4),i&&GB(e,t).selectAll(\".\"+UB.sankeyLink).filter(function(t){return t.link.label===i}).style(\"fill-opacity\",.4),r&&GB(e,t).selectAll(\".\"+UB.sankeyNode).filter(ZB(t)).call(JB)}function $B(t,e,r,n){var i=n.datum().link.label;n.style(\"fill-opacity\",function(t){return t.tinyColorAlpha}),i&&GB(e,t).selectAll(\".\"+UB.sankeyLink).filter(function(t){return t.link.label===i}).style(\"fill-opacity\",function(t){return t.tinyColorAlpha}),r&&GB(e,t).selectAll(UB.sankeyNode).filter(ZB(t)).call(KB)}function tN(t,e){var r=t.hoverlabel||{},n=ne.nestedProperty(r,e).get();return!Array.isArray(n)&&n}var eN=function(t,r){var n=t._fullLayout,i=n._paper,a=n._size,o=qB(t,\"source:\")+\" \",s=qB(t,\"target:\")+\" \",l=qB(t,\"incoming flow count:\")+\" \",u=qB(t,\"outgoing flow count:\")+\" \";VB(i,r,{width:a.w,height:a.h,margin:{t:a.t,r:a.r,b:a.b,l:a.l}},{linkEvents:{hover:function(r,n,i){e.select(r).call(QB.bind(0,n,i,!0)),t.emit(\"plotly_hover\",{event:e.event,points:[n.link]})},follow:function(r,i){var a=i.link.trace,l=t._fullLayout._paperdiv.node().getBoundingClientRect(),u=r.getBoundingClientRect(),c=u.left+u.width/2,h=u.top+u.height/2,f=yo.loneHover({x:c-l.left,y:h-l.top,name:e.format(i.valueFormat)(i.link.value)+i.valueSuffix,text:[i.link.label||\"\",o+i.link.source.label,s+i.link.target.label].filter(HB).join(\"<br>\"),color:tN(a,\"bgcolor\")||Oe.addOpacity(i.tinyColorHue,1),borderColor:tN(a,\"bordercolor\"),fontFamily:tN(a,\"font.family\"),fontSize:tN(a,\"font.size\"),fontColor:tN(a,\"font.color\"),idealAlign:e.event.x<c?\"right\":\"left\"},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t});WB(f,.65),YB(f)},unhover:function(r,i,a){e.select(r).call($B.bind(0,i,a,!0)),t.emit(\"plotly_unhover\",{event:e.event,points:[i.link]}),yo.loneUnhover(n._hoverlayer.node())},select:function(r,n){var i=n.link;i.originalEvent=e.event,t._hoverdata=[i],yo.click(t,{target:!0})}},nodeEvents:{hover:function(r,n,i){e.select(r).call(JB,n,i),t.emit(\"plotly_hover\",{event:e.event,points:[n.node]})},follow:function(r,i){var a=i.node.trace,o=e.select(r).select(\".\"+UB.nodeRect),s=t._fullLayout._paperdiv.node().getBoundingClientRect(),c=o.node().getBoundingClientRect(),h=c.left-2-s.left,f=c.right+2-s.left,p=c.top+c.height/4-s.top,d=yo.loneHover({x0:h,x1:f,y:p,name:e.format(i.valueFormat)(i.node.value)+i.valueSuffix,text:[i.node.label,l+i.node.targetLinks.length,u+i.node.sourceLinks.length].filter(HB).join(\"<br>\"),color:tN(a,\"bgcolor\")||i.tinyColorHue,borderColor:tN(a,\"bordercolor\"),fontFamily:tN(a,\"font.family\"),fontSize:tN(a,\"font.size\"),fontColor:tN(a,\"font.color\"),idealAlign:\"left\"},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t});WB(d,.85),YB(d)},unhover:function(r,i,a){e.select(r).call(KB,i,a),t.emit(\"plotly_unhover\",{event:e.event,points:[i.node]}),yo.loneUnhover(n._hoverlayer.node())},select:function(r,n,i){var a=n.node;a.originalEvent=e.event,t._hoverdata=[a],e.select(r).call(KB,n,i),yo.click(t,{target:!0})}}})},rN={},nN=ye.overrideAll,iN=sa.getModuleCalcData;rN.name=\"sankey\",rN.baseLayoutAttrOverrides=nN({hoverlabel:mo.hoverlabel},\"plot\",\"nested\"),rN.plot=function(t){var e=iN(t.calcdata,\"sankey\");eN(t,e)},rN.clean=function(t,e,r,n){var i=n._has&&n._has(\"sankey\"),a=e._has&&e._has(\"sankey\");i&&!a&&n._paperdiv.selectAll(\".sankey\").remove()};var aN=function(t){for(var e=t.length,r=new Array(e),n=new Array(e),i=new Array(e),a=new Array(e),o=new Array(e),s=new Array(e),l=0;l<e;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];var u,c=0,h=[],f=[];function p(e){var l=[e],u=[e];for(r[e]=n[e]=c,i[e]=!0,c+=1;u.length>0;){e=u[u.length-1];var p=t[e];if(a[e]<p.length){for(var d=a[e];d<p.length;++d){var g=p[d];if(r[g]<0){r[g]=n[g]=c,i[g]=!0,c+=1,l.push(g),u.push(g);break}i[g]&&(n[e]=0|Math.min(n[e],n[g])),o[g]>=0&&s[e].push(o[g])}a[e]=d}else{if(n[e]===r[e]){for(var v=[],m=[],y=0,d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,v.push(x),m.push(s[x]),y+=s[x].length,o[x]=h.length,x===e){l.length=d;break}}h.push(v);for(var b=new Array(y),d=0;d<m.length;d++)for(var _=0;_<m[d].length;_++)b[--y]=m[d][_];f.push(b)}u.pop()}}}for(var l=0;l<e;++l)r[l]<0&&p(l);for(var l=0;l<f.length;l++){var d=f[l];if(0!==d.length){d.sort(function(t,e){return t-e}),u=[d[0]];for(var g=1;g<d.length;g++)d[g]!==d[g-1]&&u.push(d[g]);f[l]=u}}return{components:h,adjacencyList:f}};var oN=ZR.wrap;var sN=qc.defaults,lN={};lN.attributes=lB,lN.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,lB,r,n)}i(\"node.label\"),i(\"node.pad\"),i(\"node.thickness\"),i(\"node.line.color\"),i(\"node.line.width\");var a=n.colorway;i(\"node.color\",e.node.label.map(function(t,e){return Oe.addOpacity(function(t){return a[t%a.length]}(e),.8)})),i(\"link.label\"),i(\"link.source\"),i(\"link.target\"),i(\"link.value\"),i(\"link.line.color\"),i(\"link.line.width\"),i(\"link.color\",e.link.value.map(function(){return s(n.paper_bgcolor).getLuminance()<.333?\"rgba(255, 255, 255, 0.6)\":\"rgba(0, 0, 0, 0.2)\"})),sN(e,n,i),i(\"orientation\"),i(\"valueformat\"),i(\"valuesuffix\"),i(\"arrangement\"),ne.coerceFont(i,\"textfont\",ne.extendFlat({},n.font));e.node.label.some(function(t,r){return-1===e.link.source.indexOf(r)&&-1===e.link.target.indexOf(r)})&&ne.warn(\"Some of the nodes are neither sources nor targets, they will not be displayed.\")},lN.calc=function(t,e){return function(t,e,r){for(var n=t.map(function(){return[]}),i=0;i<Math.min(e.length,r.length);i++){if(e[i]===r[i])return!0;n[e[i]].push(r[i])}return aN(n).components.some(function(t){return t.length>1})}(e.node.label,e.link.source,e.link.target)&&(ne.error(\"Circularity is present in the Sankey data. Removing all nodes and links.\"),e.link.label=[],e.link.source=[],e.link.target=[],e.link.value=[],e.link.color=[],e.node.label=[],e.node.color=[]),oN({link:e.link,node:e.node})},lN.plot=eN,lN.moduleType=\"trace\",lN.name=\"sankey\",lN.basePlotModule=rN,lN.categories=[\"noOpacity\"],lN.meta={};var uN=lN,cN={circle:\"\\u25cf\",\"circle-open\":\"\\u25cb\",square:\"\\u25a0\",\"square-open\":\"\\u25a1\",diamond:\"\\u25c6\",\"diamond-open\":\"\\u25c7\",cross:\"+\",x:\"\\u274c\"},hN={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]},fN={},pN=m.extendFlat,dN=ye.overrideAll,gN=Zr.line,vN=Zr.marker,mN=vN.line;var yN=fN=dN({x:Zr.x,y:Zr.y,z:{valType:\"data_array\"},text:pN({},Zr.text,{}),hovertext:pN({},Zr.hovertext,{}),mode:pN({},Zr.mode,{dflt:\"lines+markers\"}),surfaceaxis:{valType:\"enumerated\",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:\"color\"},projection:{x:{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}},y:{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}},z:{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}}},connectgaps:Zr.connectgaps,line:pN({width:gN.width,dash:{valType:\"enumerated\",values:Object.keys(hN),dflt:\"solid\"},showscale:{valType:\"boolean\",dflt:!1}},De()),marker:pN({symbol:{valType:\"enumerated\",values:Object.keys(cN),dflt:\"circle\",arrayOk:!0},size:pN({},vN.size,{dflt:8}),sizeref:vN.sizeref,sizemin:vN.sizemin,sizemode:vN.sizemode,opacity:pN({},vN.opacity,{arrayOk:!1}),showscale:vN.showscale,colorbar:vN.colorbar,line:pN({width:pN({},mN.width,{arrayOk:!1})},De())},De()),textposition:pN({},Zr.textposition,{dflt:\"top center\"}),textfont:Zr.textfont,hoverinfo:pN({},E.hoverinfo)},\"calc\",\"nested\");yN.x.editType=yN.y.editType=yN.z.editType=\"calc+clearAxisTypes\";var xN=E_([\"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}\"]),bN=E_([\"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}\"]),_N=function(t){return Bw(t,xN,bN,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"offset\",type:\"vec3\"}])},wN=function(t){var e=t.gl,r=S_(e),n=EP(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}]),i=_N(e);i.attributes.position.location=0,i.attributes.color.location=1,i.attributes.offset.location=2;var a=new AN(e,r,n,i);return a.update(t),a},MN=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function AN(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}var kN=AN.prototype;function TN(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])}kN.isOpaque=function(){return this.opacity>=1},kN.isTransparent=function(){return this.opacity<1},kN.drawTransparent=kN.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||MN,i=r.projection=t.projection||MN;r.model=t.model||MN,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 c=0;c<3;++c)e.lineWidth(this.lineWidth[c]),r.capSize=this.capSize[c]*u,this.lineCount[c]&&e.drawArrays(e.LINES,this.lineOffset[c],this.lineCount[c]);this.vao.unbind()};var SN=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=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function EN(t,e,r,n){for(var i=SN[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}kN.update=function(t){\"lineWidth\"in(t=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 i=[],a=r.length,o=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var s=0;s<3;++s){this.lineOffset[s]=o;t:for(var l=0;l<a;++l){for(var u=r[l],c=0;c<3;++c)if(isNaN(u[c])||!isFinite(u[c]))continue t;var h=n[l],f=e[s];if(Array.isArray(f[0])&&(f=e[l]),3===f.length&&(f=[f[0],f[1],f[2],1]),!isNaN(h[0][s])&&!isNaN(h[1][s])){var p;if(h[0][s]<0)(p=u.slice())[s]+=h[0][s],i.push(u[0],u[1],u[2],f[0],f[1],f[2],f[3],0,0,0,p[0],p[1],p[2],f[0],f[1],f[2],f[3],0,0,0),TN(this.bounds,p),o+=2+EN(i,p,f,s);if(h[1][s]>0)(p=u.slice())[s]+=h[1][s],i.push(u[0],u[1],u[2],f[0],f[1],f[2],f[3],0,0,0,p[0],p[1],p[2],f[0],f[1],f[2],f[3],0,0,0),TN(this.bounds,p),o+=2+EN(i,p,f,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},kN.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()};var CN={},LN=E_([\"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\"]),zN=E_([\"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\"]),PN=E_([\"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_1540259130(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\\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_1540259130(pixelArcLength).xyz);\\n}\"]),IN=[{name:\"position\",type:\"vec3\"},{name:\"nextPosition\",type:\"vec3\"},{name:\"arcLength\",type:\"float\"},{name:\"lineWidth\",type:\"float\"},{name:\"color\",type:\"vec4\"}];CN.createShader=function(t){return Bw(t,LN,zN,null,IN)},CN.createPickShader=function(t){return Bw(t,LN,PN,null,IN)};var DN=function(t,e,r,n){return ON[0]=n,ON[1]=r,ON[2]=e,ON[3]=t,RN[0]},ON=new Uint8Array(4),RN=new Float32Array(ON.buffer);var FN=function(t){var e=t.gl||t.scene&&t.scene.gl,r=BN(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=NN(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=S_(e),a=EP(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}]),o=wb(new Array(1024),[256,1,4]),s=0;s<1024;++s)o.data[s]=255;var l=zE(e,o);l.wrap=e.REPEAT;var u=new HN(e,r,n,i,a,l);return u.update(t),u},BN=CN.createShader,NN=CN.createPickShader,jN=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function VN(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 UN(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 qN(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function HN(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}var GN=HN.prototype;GN.isTransparent=function(){return this.opacity<1},GN.isOpaque=function(){return this.opacity>=1},GN.pickSlots=1,GN.setPickBase=function(t){this.pickId=t},GN.drawTransparent=GN.draw=function(t){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||jN,view:t.view||jN,projection:t.projection||jN,clipBounds:UN(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),n.unbind()},GN.drawPick=function(t){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||jN,view:t.view||jN,projection:t.projection||jN,pickId:this.pickId,clipBounds:UN(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()},GN.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;\"dashScale\"in t&&(this.dashScale=t.dashScale),\"opacity\"in t&&(this.opacity=+t.opacity);var i=t.position||t.positions;if(i){var a=t.color||t.colors||[0,0,0,1],o=t.lineWidth||1,s=[],l=[],u=[],c=0,h=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],p=!1;t:for(e=1;e<i.length;++e){var d,g,v,m=i[e-1],y=i[e];for(l.push(c),u.push(m.slice()),r=0;r<3;++r){if(isNaN(m[r])||isNaN(y[r])||!isFinite(m[r])||!isFinite(y[r])){if(!n&&s.length>0){for(var x=0;x<24;++x)s.push(s[s.length-12]);h+=2,p=!0}continue t}f[0][r]=Math.min(f[0][r],m[r],y[r]),f[1][r]=Math.max(f[1][r],m[r],y[r])}Array.isArray(a[0])?(d=a[e-1],g=a[e]):d=g=a,3===d.length&&(d=[d[0],d[1],d[2],1]),3===g.length&&(g=[g[0],g[1],g[2],1]),v=Array.isArray(o)?o[e-1]:o;var b=c;if(c+=VN(m,y),p){for(r=0;r<2;++r)s.push(m[0],m[1],m[2],y[0],y[1],y[2],b,v,d[0],d[1],d[2],d[3]);h+=2,p=!1}s.push(m[0],m[1],m[2],y[0],y[1],y[2],b,v,d[0],d[1],d[2],d[3],m[0],m[1],m[2],y[0],y[1],y[2],b,-v,d[0],d[1],d[2],d[3],y[0],y[1],y[2],m[0],m[1],m[2],c,-v,g[0],g[1],g[2],g[3],y[0],y[1],y[2],m[0],m[1],m[2],c,v,g[0],g[1],g[2],g[3]),h+=4}if(this.buffer.update(s),l.push(c),u.push(i[i.length-1].slice()),this.bounds=f,this.vertexCount=h,this.points=u,this.arcLength=l,\"dashes\"in t){var _=t.dashes.slice();for(_.unshift(0),e=1;e<_.length;++e)_[e]=_[e-1]+_[e];var w=wb(new Array(1024),[256,1,4]);for(e=0;e<256;++e){for(r=0;r<4;++r)w.set(e,0,r,0);1&wT.le(_,_[_.length-1]*e/255)?w.set(e,0,0,0):w.set(e,0,0,255)}this.texture.setPixels(w)}}},GN.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},GN.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=DN(t.value[0],t.value[1],t.value[2],0),r=wT.le(this.arcLength,e);if(r<0)return null;if(r===this.arcLength.length-1)return new qN(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)],a=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),o=1-a,s=[0,0,0],l=0;l<3;++l)s[l]=o*n[l]+a*i[l];var u=Math.min(a<.5?r:r+1,this.points.length-1);return new qN(e,s,u,this.points[u])};var WN=function(t,e){var r=YN[e];r||(r=YN[e]={});if(t in r)return r[t];for(var n=ME(t,{textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:e}),i=ME(t,{triangles:!0,textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:e}),a=[[1/0,1/0],[-1/0,-1/0]],o=0;o<n.positions.length;++o)for(var s=n.positions[o],l=0;l<2;++l)a[0][l]=Math.min(a[0][l],s[l]),a[1][l]=Math.max(a[1][l],s[l]);return r[t]=[i,n,a]},YN={};var XN={},ZN=E_([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\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}\"]),JN=E_([\"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}\"]),KN=E_([\"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\"]),QN=E_([\"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\"]),$N=E_([\"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}\"]),tj=[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"glyph\",type:\"vec2\"},{name:\"id\",type:\"vec4\"}],ej={vertex:ZN,fragment:QN,attributes:tj},rj={vertex:JN,fragment:QN,attributes:tj},nj={vertex:KN,fragment:QN,attributes:tj},ij={vertex:ZN,fragment:$N,attributes:tj},aj={vertex:JN,fragment:$N,attributes:tj},oj={vertex:KN,fragment:$N,attributes:tj};function sj(t,e){var r=Bw(t,e),n=r.attributes;return n.position.location=0,n.color.location=1,n.glyph.location=2,n.id.location=3,r}XN.createPerspective=function(t){return sj(t,ej)},XN.createOrtho=function(t){return sj(t,rj)},XN.createProject=function(t){return sj(t,nj)},XN.createPickPerspective=function(t){return sj(t,ij)},XN.createPickOrtho=function(t){return sj(t,aj)},XN.createPickProject=function(t){return sj(t,oj)};var lj=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],uj=function(t){var e=t.gl,r=XN.createPerspective(e),n=XN.createOrtho(e),i=XN.createProject(e),a=XN.createPickPerspective(e),o=XN.createPickOrtho(e),s=XN.createPickProject(e),l=S_(e),u=S_(e),c=S_(e),h=S_(e),f=EP(e,[{buffer:l,size:3,type:e.FLOAT},{buffer:u,size:4,type:e.FLOAT},{buffer:c,size:2,type:e.FLOAT},{buffer:h,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),p=new fj(e,r,n,i,l,u,c,h,f,a,o,s);return p.update(t),p};function cj(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 hj(t,e,r,n){return cj(n,n),cj(n,n),cj(n,n)}function fj(t,e,r,n,i,a,o,s,l,u,c,h){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,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=u,this.pickOrthoShader=c,this.pickProjectShader=h,this.points=[],this._selectResult=new function(t,e){this.index=t,this.dataCoordinate=this.position=e}(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}var pj=fj.prototype;pj.pickSlots=1,pj.setPickBase=function(t){this.pickId=t},pj.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},pj.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 dj=[0,0],gj=[0,0,0],vj=[0,0,0],mj=[0,0,0,1],yj=[0,0,0,1],xj=lj.slice(),bj=[0,0,0],_j=[[0,0,0],[0,0,0]];function wj(t){return t[0]=t[1]=t[2]=0,t}function Mj(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function Aj(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function kj(t,e,r,n,i){var a,o=e.axesProject,s=e.gl,l=t.uniforms,u=r.model||lj,c=r.view||lj,h=r.projection||lj,f=e.axesBounds,p=function(t){for(var e=_j,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}(e.clipBounds);a=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],dj[0]=2/s.drawingBufferWidth,dj[1]=2/s.drawingBufferHeight,t.bind(),l.view=c,l.projection=h,l.screenSize=dj,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=p,l.pickGroup=e.pickId/255,l.pixelRatio=e.pixelRatio;for(var d=0;d<3;++d)if(o[d]&&e.projectOpacity[d]<1===n){l.scale=e.projectScale[d],l.opacity=e.projectOpacity[d];for(var g=xj,v=0;v<16;++v)g[v]=0;for(v=0;v<4;++v)g[5*v]=1;g[5*d]=0,a[d]<0?g[12+d]=f[0][d]:g[12+d]=f[1][d],Dz(g,u,g),l.model=g;var m=(d+1)%3,y=(d+2)%3,x=wj(gj),b=wj(vj);x[m]=1,b[y]=1;var _=hj(0,0,0,Mj(mj,x)),w=hj(0,0,0,Mj(yj,b));if(Math.abs(_[1])>Math.abs(w[1])){var M=_;_=w,w=M,M=x,x=b,b=M;var A=m;m=y,y=A}_[0]<0&&(x[m]=-1),w[1]>0&&(b[y]=-1);var k=0,T=0;for(v=0;v<4;++v)k+=Math.pow(u[4*m+v],2),T+=Math.pow(u[4*y+v],2);x[m]/=Math.sqrt(k),b[y]/=Math.sqrt(T),l.axes[0]=x,l.axes[1]=b,l.fragClipBounds[0]=Aj(bj,p[0],d,-1e8),l.fragClipBounds[1]=Aj(bj,p[1],d,1e8),e.vao.draw(s.TRIANGLES,e.vertexCount),e.lineWidth>0&&(s.lineWidth(e.lineWidth),e.vao.draw(s.LINES,e.lineVertexCount,e.vertexCount))}}var Tj=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function Sj(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||lj,s.view=n.view||lj,s.projection=n.projection||lj,dj[0]=2/o.drawingBufferWidth,dj[1]=2/o.drawingBufferHeight,s.screenSize=dj,s.highlightId=r.highlightId,s.highlightScale=r.highlightScale,s.fragClipBounds=Tj,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))}kj(e,r,n,i),r.vao.unbind()}pj.draw=function(t){Sj(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!1,!1)},pj.drawTransparent=function(t){Sj(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!0,!1)},pj.drawPick=function(t){Sj(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,!1,!0)},pj.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},pj.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]},pj.update=function(t){if(\"perspective\"in(t=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{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,p=0,d=0,g=0,v=n.length;t:for(var m=0;m<v;++m){for(var y=n[m],x=0;x<3;++x)if(isNaN(y[x])||!isFinite(y[x]))continue t;var b=(O=Array.isArray(l)?WN(l[m],i):WN(l||\"\\u25cf\",i))[0],_=O[1],w=O[2];d+=3*b.cells.length,g+=2*_.edges.length}var M=d+g,A=__.mallocFloat(3*M),k=__.mallocFloat(4*M),T=__.mallocFloat(2*M),S=__.mallocUint32(M),E=[0,a[1]],C=0,L=d,z=[0,0,0,1],P=[0,0,0,1],I=Array.isArray(u)&&Array.isArray(u[0]),D=Array.isArray(f)&&Array.isArray(f[0]);t:for(m=0;m<v;++m){var O;for(y=n[m],x=0;x<3;++x){if(isNaN(y[x])||!isFinite(y[x])){p+=1;continue t}s[x]=Math.max(s[x],y[x]),o[x]=Math.min(o[x],y[x])}var R;b=(O=Array.isArray(l)?WN(l[m],i):WN(l||\"\\u25cf\",i))[0],_=O[1],w=O[2];if(Array.isArray(u)){if(3===(R=I?u[m]:u).length){for(x=0;x<3;++x)z[x]=R[x];z[3]=1}else if(4===R.length)for(x=0;x<4;++x)z[x]=R[x]}else z[0]=z[1]=z[2]=0,z[3]=1;if(Array.isArray(f)){if(3===(R=D?f[m]:f).length){for(x=0;x<3;++x)P[x]=R[x];P[x]=1}else if(4===R.length)for(x=0;x<4;++x)P[x]=R[x]}else P[0]=P[1]=P[2]=0,P[3]=1;var F=.5;Array.isArray(c)?F=+c[m]:c?F=+c:this.useOrtho&&(F=12);var B=0;Array.isArray(h)?B=+h[m]:h&&(B=+h);var N=Math.cos(B),j=Math.sin(B);for(y=n[m],x=0;x<3;++x)s[x]=Math.max(s[x],y[x]),o[x]=Math.min(o[x],y[x]);a[0]<0?E[0]=a[0]*(1+w[1][0]):a[0]>0&&(E[0]=-a[0]*(1+w[0][0]));var V=b.cells,U=b.positions;for(x=0;x<V.length;++x)for(var q=V[x],H=0;H<3;++H){for(var G=0;G<3;++G)A[3*C+G]=y[G];for(G=0;G<4;++G)k[4*C+G]=z[G];S[C]=p;var W=U[q[H]];T[2*C]=F*(N*W[0]-j*W[1]+E[0]),T[2*C+1]=F*(j*W[0]+N*W[1]+E[1]),C+=1}for(V=_.edges,U=_.positions,x=0;x<V.length;++x)for(q=V[x],H=0;H<2;++H){for(G=0;G<3;++G)A[3*L+G]=y[G];for(G=0;G<4;++G)k[4*L+G]=P[G];S[L]=p;W=U[q[H]];T[2*L]=F*(N*W[0]-j*W[1]+E[0]),T[2*L+1]=F*(j*W[0]+N*W[1]+E[1]),L+=1}p+=1}this.vertexCount=d,this.lineVertexCount=g,this.pointBuffer.update(A),this.colorBuffer.update(k),this.glyphBuffer.update(T),this.idBuffer.update(new Uint32Array(S)),__.free(A),__.free(k),__.free(T),__.free(S),this.bounds=[o,s],this.points=n,this.pointCount=n.length}},pj.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()};var Ej=C.defaultLine,Cj=GC(Ej),Lj=1;function zj(t,e){var r=t;return r[3]*=e,r}function Pj(t){if(r(t))return Cj;var e=GC(t);return e.length?e:Cj}function Ij(t){return r(t)?t:Lj}var Dj=function(t,e,r){var n,i,a,o,s,l=t.color,u=Array.isArray(l),c=Array.isArray(e),h=[];if(n=void 0!==t.colorscale?Je.makeColorScaleFunc(Je.extractScale(t.colorscale,t.cmin,t.cmax)):Pj,i=u?function(t,e){return void 0===t[e]?Cj:GC(n(t[e]))}:Pj,a=c?function(t,e){return void 0===t[e]?Lj:Ij(t[e])}:Ij,u||c)for(var f=0;f<r;f++)o=i(l,f),s=a(e,f),h[f]=zj(o,s);else h=zj(GC(l),e);return h};function Oj(t,e,r){if(!e||!e.visible)return null;for(var n=bd(e),i=new Array(t.length),a=0;a<t.length;a++){var o=n(+t[a],a);i[a]=[-o[0]*r,o[1]*r]}return i}var Rj=function(t,e){var r=[Oj(t.x,t.error_x,e[0]),Oj(t.y,t.error_y,e[1]),Oj(t.z,t.error_z,e[2])],n=function(t){for(var e=0;e<t.length;e++)if(t[e])return t[e].length;return 0}(r);if(0===n)return null;for(var i=new Array(n),a=0;a<n;a++){for(var o=[[0,0,0],[0,0,0]],s=0;s<3;s++)if(r[s])for(var l=0;l<2;l++)o[l][s]=r[s][a][l];i[a]=o}return i};function Fj(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}var Bj=Fj.prototype;function Nj(t,e){return e(4*t)}function jj(t){return cN[t]}function Vj(t,e,r,n,i){var a=null;if(ne.isArrayOrTypedArray(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,ne.identity);return a}function Uj(t,e){var r,n,i,a,o,s,l,u,c=[],h=t.fullSceneLayout,f=t.dataScale,p=h.xaxis,d=h.yaxis,g=h.zaxis,v=e.marker,m=e.line,y=e.x||[],x=e.y||[],b=e.z||[],_=y.length,w=e.xcalendar,M=e.ycalendar,A=e.zcalendar;for(n=0;n<_;n++)i=p.d2l(y[n],0,w)*f[0],a=d.d2l(x[n],0,M)*f[1],o=g.d2l(b[n],0,A)*f[2],c[n]=[i,a,o];if(Array.isArray(e.text))s=e.text;else if(void 0!==e.text)for(s=new Array(_),n=0;n<_;n++)s[n]=e.text;if(r={position:c,mode:e.mode,text:s},\"line\"in e&&(r.lineColor=Dj(m,1,_),r.lineWidth=m.width,r.lineDashes=m.dash),\"marker\"in e){var k=kr(e);r.scatterColor=Dj(v,1,_),r.scatterSize=Vj(v.size,_,Nj,20,k),r.scatterMarker=Vj(v.symbol,_,jj,\"\\u25cf\"),r.scatterLineWidth=v.line.width,r.scatterLineColor=Dj(v.line,1,_),r.scatterAngle=0}\"textposition\"in e&&(r.textOffset=(l=e.textposition,u=[0,0],Array.isArray(l)?[0,-1]:(l.indexOf(\"bottom\")>=0&&(u[1]+=1),l.indexOf(\"top\")>=0&&(u[1]-=1),l.indexOf(\"left\")>=0&&(u[0]-=1),l.indexOf(\"right\")>=0&&(u[0]+=1),u)),r.textColor=Dj(e.textfont,1,_),r.textSize=Vj(e.textfont.size,_,ne.identity,12),r.textFont=e.textfont.family,r.textAngle=0);var T=[\"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 S=e.projection[T[n]];(r.project[n]=S.show)&&(r.projectOpacity[n]=S.opacity,r.projectScale[n]=S.scale)}r.errorBounds=Rj(e,f);var E=function(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&&!1!==a.copy_zstyle&&(a=t[2]),a&&(e[i]=a.width/2,r[i]=WC(a.color),n=a.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return r.errorColor=E.color,r.errorLineWidth=E.lineWidth,r.errorCapSize=E.capSize,r.delaunayAxis=e.surfaceaxis,r.delaunayColor=WC(e.surfacecolor),r}function qj(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}Bj.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=this.textLabels:t.textLabel=\"\";var e=t.index=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},Bj.update=function(t){var e,r,n,i,a=this.scene.glplot.gl,o=hN.solid;this.data=t;var s=Uj(this.scene,t);\"mode\"in s&&(this.mode=s.mode),\"lineDashes\"in s&&s.lineDashes in hN&&(o=hN[s.lineDashes]),this.color=qj(s.scatterColor)||qj(s.lineColor),this.dataPoints=s.position,e={gl:a,position:s.position,color:s.lineColor,lineWidth:s.lineWidth||1,dashes:o[0],dashScale:o[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf(\"lines\")?this.linePlot?this.linePlot.update(e):(this.linePlot=FN(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 l=t.opacity;if(t.marker&&t.marker.opacity&&(l*=t.marker.opacity),r={gl:a,position:s.position,color:s.scatterColor,size:s.scatterSize,glyph:s.scatterMarker,opacity:l,orthographic:!0,lineWidth:s.scatterLineWidth,lineColor:s.scatterLineColor,project:s.project,projectScale:s.projectScale,projectOpacity:s.projectOpacity},-1!==this.mode.indexOf(\"markers\")?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=uj(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),i={gl:a,position:s.position,glyph:s.text,color:s.textColor,size:s.textSize,angle:s.textAngle,alignment:s.textOffset,font:s.textFont,orthographic:!0,lineWidth:0,project:!1,opacity:t.opacity},this.textLabels=t.hovertext||t.text,-1!==this.mode.indexOf(\"text\")?this.textMarkers?this.textMarkers.update(i):(this.textMarkers=uj(i),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:a,position:s.position,color:s.errorColor,error:s.errorBounds,lineWidth:s.errorLineWidth,capSize:s.errorCapSize,opacity:t.opacity},this.errorBars?s.errorBounds?this.errorBars.update(n):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):s.errorBounds&&(this.errorBars=wN(n),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),s.delaunayAxis>=0){var u=function(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=sO(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}}(s.position,s.delaunayColor,s.delaunayAxis);u.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(u):(u.gl=a,this.delaunayMesh=SR(u),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)},Bj.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())};var Hj=function(t,e){var r=new Fj(t,e.uid);return r.update(e),r};var Gj={};Gj.plot=Hj,Gj.attributes=fN,Gj.markerSymbols=cN,Gj.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,fN,r,n)}if(function(t,e,r,n){var i=0,a=r(\"x\"),o=r(\"y\"),s=r(\"z\");return P.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],n),a&&o&&s&&(i=Math.min(a.length,o.length,s.length),e._xlength=e._ylength=e._zlength=i),i}(t,e,i,n)){i(\"text\"),i(\"hovertext\"),i(\"mode\"),Tr.hasLines(e)&&(i(\"connectgaps\"),px(t,e,r,n,i)),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{noSelect:!0}),Tr.hasText(e)&&vx(0,0,n,i,{noSelect:!0});var a=(e.line||{}).color,o=(e.marker||{}).color;i(\"surfaceaxis\")>=0&&i(\"surfacecolor\",a||o);for(var s=[\"x\",\"y\",\"z\"],l=0;l<3;++l){var u=\"projection.\"+s[l];i(u+\".show\")&&(i(u+\".opacity\"),i(u+\".scale\"))}var c=P.getComponentMethod(\"errorbars\",\"supplyDefaults\");c(t,e,r,{axis:\"z\"}),c(t,e,r,{axis:\"y\",inherit:\"z\"}),c(t,e,r,{axis:\"x\",inherit:\"z\"})}else e.visible=!1},Gj.colorbar=is,Gj.calc=nB,Gj.moduleType=\"trace\",Gj.name=\"scatter3d\",Gj.basePlotModule=SD,Gj.categories=[\"gl3d\",\"symbols\",\"markerColorscale\",\"showLegend\"],Gj.meta={};var Wj=Gj,Yj=m.extendFlat,Xj=Zr.marker,Zj=Zr.line,Jj=Xj.line,Kj={carpet:{valType:\"string\",editType:\"calc\"},a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},mode:Yj({},Zr.mode,{dflt:\"markers\"}),text:Yj({},Zr.text,{}),line:{color:Zj.color,width:Zj.width,dash:Zj.dash,shape:Yj({},Zj.shape,{values:[\"linear\",\"spline\"]}),smoothing:Zj.smoothing,editType:\"calc\"},connectgaps:Zr.connectgaps,fill:Yj({},Zr.fill,{values:[\"none\",\"toself\",\"tonext\"]}),fillcolor:Zr.fillcolor,marker:Yj({symbol:Xj.symbol,opacity:Xj.opacity,maxdisplayed:Xj.maxdisplayed,size:Xj.size,sizeref:Xj.sizeref,sizemin:Xj.sizemin,sizemode:Xj.sizemode,line:Yj({width:Jj.width,editType:\"calc\"},De()),gradient:Xj.gradient,editType:\"calc\"},De(),{showscale:Xj.showscale,colorbar:ze}),textfont:Zr.textfont,textposition:Zr.textposition,selected:Zr.selected,unselected:Zr.unselected,hoverinfo:Yj({},E.hoverinfo,{flags:[\"a\",\"b\",\"text\",\"name\"]}),hoveron:Zr.hoveron},Qj=sx,$j={};$j.attributes=Kj,$j.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Kj,r,n)}i(\"carpet\"),e.xaxis=\"x\",e.yaxis=\"y\";var a,o=i(\"a\"),s=i(\"b\");if(a=Math.min(o.length,s.length)){o&&a<o.length&&(e.a=o.slice(0,a)),s&&a<s.length&&(e.b=s.slice(0,a)),i(\"text\"),i(\"mode\",a<Wr.PTS_LINESONLY?\"lines+markers\":\"lines\"),Tr.hasLines(e)&&(px(t,e,r,n,i),dx(0,0,i),i(\"connectgaps\")),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{gradient:!0}),Tr.hasText(e)&&vx(0,0,n,i);var l=[];(Tr.hasMarkers(e)||Tr.hasText(e))&&(i(\"marker.maxdisplayed\"),l.push(\"points\")),i(\"fill\"),\"none\"!==e.fill&&(hx(0,e,r,i),Tr.hasLines(e)||dx(0,0,i)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||l.push(\"fills\"),i(\"hoveron\",l.join(\"+\")||\"points\"),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},$j.colorbar=is,$j.calc=function(t,e){var n=e.carpetTrace=mp(t,e);if(n&&n.visible&&\"legendonly\"!==n.visible){var i;e.xaxis=n.xaxis,e.yaxis=n.yaxis;var a,o,s=e.a.length,l=new Array(s),u=!1;for(i=0;i<s;i++)if(a=e.a[i],o=e.b[i],r(a)&&r(o)){var c=n.ab2xy(+a,+o,!0),h=n.isVisible(+a,+o);h||(u=!0),l[i]={x:c[0],y:c[1],a:a,b:o,vis:h}}else l[i]={x:!1,y:!1};return e._needsCull=u,l[0].carpet=n,l[0].trace=e,Qj(e,s),ex(e),dh(l,e),Ma(l,e),l}},$j.plot=function(t,e,r){var n,i,a,o=r[0][0].carpet,s={xaxis:ri.getFromId(t,o.xaxis||\"x\"),yaxis:ri.getFromId(t,o.yaxis||\"y\"),plot:e.plot};for(kx(t,s,r),n=0;n<r.length;n++)i=r[n][0].trace,a=s.plot.selectAll(\"g.trace\"+i.uid+\" .js-line\"),Sr.setClipUrl(a,o._clipPathId)},$j.style=Cx.style,$j.hoverPoints=function(t,e,r,n){var i=yx(t,e,r,n);if(i&&!1!==i[0].index){var a=i[0];if(void 0===a.index){var o=1-a.y0/t.ya._length,s=t.xa._length,l=s*o/2,u=s-l;return a.x0=Math.max(Math.min(a.x0,u),l),a.x1=Math.max(Math.min(a.x1,u),l),i}var c=a.cd[a.index];a.a=c.a,a.b=c.b,a.xLabelVal=void 0,a.yLabelVal=void 0;var h=a.trace,f=h._carpet,p=(c.hi||h.hoverinfo).split(\"+\"),d=[];-1!==p.indexOf(\"all\")&&(p=[\"a\",\"b\"]),-1!==p.indexOf(\"a\")&&_(f.aaxis,c.a),-1!==p.indexOf(\"b\")&&_(f.baxis,c.b);var g=f.ab2ij([c.a,c.b]),v=Math.floor(g[0]),m=g[0]-v,y=Math.floor(g[1]),x=g[1]-y,b=f.evalxy([],v,y,m,x);return d.push(\"y: \"+b[1].toFixed(3)),a.extraText=d.join(\"<br>\"),i}function _(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,\"\"):t._hovertitle,d.push(r+\": \"+e.toFixed(3)+t.labelsuffix)}},$j.selectPoints=Sx,$j.eventData=function(t,e,r,n,i){var a=n[i];return t.a=a.a,t.b=a.b,t},$j.moduleType=\"trace\",$j.name=\"scattercarpet\",$j.basePlotModule=ua,$j.categories=[\"carpet\",\"symbols\",\"markerColorscale\",\"showLegend\",\"carpetDependent\"],$j.meta={};var tV=$j,eV=t.BADNUM,rV=ne._,nV=function(t,e){for(var n=Array.isArray(e.locations),i=n?e.locations.length:e._length,a=new Array(i),o=0;o<i;o++){var s=a[o]={};if(n){var l=e.locations[o];s.loc=\"string\"==typeof l?l:null}else{var u=e.lon[o],c=e.lat[o];r(u)&&r(c)?s.lonlat=[+u,+c]:s.lonlat=[eV,eV]}}return dh(a,e),ex(e),Ma(a,e),i&&(a[0].t={labels:{lat:rV(t,\"lat:\")+\" \",lon:rV(t,\"lon:\")+\" \"}}),a};var iV=t.BADNUM;var aV={},oV=t.BADNUM;aV.calcTraceToLineCoords=function(t){for(var e=t[0].trace.connectgaps,r=[],n=[],i=0;i<t.length;i++){var a=t[i].lonlat;a[0]!==oV?n.push(a):!e&&n.length>0&&(r.push(n),n=[])}return n.length>0&&r.push(n),r},aV.makeLine=function(t){return 1===t.length?{type:\"LineString\",coordinates:t[0]}:{type:\"MultiLineString\",coordinates:t}},aV.makePolygon=function(t){if(1===t.length)return{type:\"Polygon\",coordinates:t};for(var e=new Array(t.length),r=0;r<t.length;r++)e[r]=[t[r]];return{type:\"MultiPolygon\",coordinates:e}},aV.makeBlank=function(){return{type:\"Point\",coordinates:[]}};var sV=Cx.stylePoints,lV=function(t,r){r&&function(t,r){var n=r[0].trace,i=r[0].node3;i.style(\"opacity\",r[0].trace.opacity),sV(i,n,t),i.selectAll(\"path.js-line\").style(\"fill\",\"none\").each(function(t){var r=e.select(this),n=t.trace,i=n.line||{};r.call(Oe.stroke,i.color).call(Sr.dashLine,i.dash||\"\",i.width||0),\"none\"!==n.fill&&r.call(Oe.fill,n.fillcolor)})}(t,r)};var uV=t.BADNUM,cV=Xu.getTopojsonFeatures,hV=mh.locationToFeature;function fV(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=cV(r,e),i=r.locationmode,a=0;a<t.length;a++){var o=t[a],s=hV(i,o.loc,n);o.lonlat=s?s.properties.ct:[uV,uV]}}var pV={};pV.attributes=uh,pV.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,uh,r,n)}!function(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),e._length=a,a)}(0,e,i)?e.visible=!1:(i(\"text\"),i(\"hovertext\"),i(\"mode\"),Tr.hasLines(e)&&(px(t,e,r,n,i),i(\"connectgaps\")),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{gradient:!0}),Tr.hasText(e)&&vx(0,0,n,i),i(\"fill\"),\"none\"!==e.fill&&hx(0,e,r,i))},pV.colorbar=is,pV.calc=nV,pV.plot=function(t,r,n){for(var i=0;i<n.length;i++)fV(n[i],r.topojson);function a(t,r){t.lonlat[0]===uV&&e.select(r).remove()}var o=r.layers.frontplot.select(\".scatterlayer\").selectAll(\"g.trace.scattergeo\").data(n,function(t){return t[0].trace.uid});o.enter().append(\"g\").attr(\"class\",\"trace scattergeo\"),o.exit().remove(),o.selectAll(\"*\").remove(),o.each(function(r){var n=r[0].node3=e.select(this),i=r[0].trace;if(Tr.hasLines(i)||\"none\"!==i.fill){var o=aV.calcTraceToLineCoords(r),s=\"none\"!==i.fill?aV.makePolygon(o):aV.makeLine(o);n.selectAll(\"path.js-line\").data([{geojson:s,trace:i}]).enter().append(\"path\").classed(\"js-line\",!0).style(\"stroke-miterlimit\",2)}Tr.hasMarkers(i)&&n.selectAll(\"path.point\").data(ne.identity).enter().append(\"path\").classed(\"point\",!0).each(function(t){a(t,this)}),Tr.hasText(i)&&n.selectAll(\"g\").data(ne.identity).enter().append(\"g\").append(\"text\").each(function(t){a(t,this)}),lV(t,r)})},pV.style=lV,pV.hoverPoints=function(t,e,r){var n=t.cd,i=n[0].trace,a=t.xa,o=t.ya,s=t.subplot,l=s.projection.isLonLatOverEdges,u=s.project;if(yo.getClosest(n,function(t){var n=t.lonlat;if(n[0]===iV)return 1/0;if(l(n))return 1/0;var i=u(n),a=u([e,r]),o=Math.abs(i[0]-a[0]),s=Math.abs(i[1]-a[1]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(o*o+s*s)-c,1-3/c)},t),!1!==t.index){var c=n[t.index],h=c.lonlat,f=[a.c2p(h),o.c2p(h)],p=c.mrc||1;return t.x0=f[0]-p,t.x1=f[0]+p,t.y0=f[1]-p,t.y1=f[1]+p,t.loc=c.loc,t.lon=h[0],t.lat=h[1],t.color=mx(i,c),t.extraText=function(t,e,r,n){var i=e.hi||t.hoverinfo,a=\"all\"===i?uh.hoverinfo.flags:i.split(\"+\"),o=-1!==a.indexOf(\"location\")&&Array.isArray(t.locations),s=-1!==a.indexOf(\"lon\"),l=-1!==a.indexOf(\"lat\"),u=-1!==a.indexOf(\"text\"),c=[];function h(t){return ri.tickText(r,r.c2l(t),\"hover\").text+\"\\xb0\"}return o?c.push(e.loc):s&&l?c.push(\"(\"+h(e.lonlat[0])+\", \"+h(e.lonlat[1])+\")\"):s?c.push(n.lon+h(e.lonlat[0])):l&&c.push(n.lat+h(e.lonlat[1])),u&&xo(e,t,c),c.join(\"<br>\")}(i,c,s.mockAxis,n[0].t.labels),[t]}},pV.eventData=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null,t},pV.selectPoints=function(t,e){var r,n,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[],h=s[0].trace;if(!Tr.hasMarkers(h)&&!Tr.hasText(h))return[];if(!1===e)for(o=0;o<s.length;o++)s[o].selected=0;else for(o=0;o<s.length;o++)n=(r=s[o]).lonlat,i=l.c2p(n),a=u.c2p(n),e.contains([i,a])?(c.push({pointNumber:o,lon:n[0],lat:n[1]}),r.selected=1):r.selected=0;return c},pV.moduleType=\"trace\",pV.name=\"scattergeo\",pV.basePlotModule=$c,pV.categories=[\"geo\",\"symbols\",\"markerColorscale\",\"showLegend\",\"scatter-like\"],pV.meta={};var dV=pV,gV=function(t,e){var r=\"number\"==typeof t,n=\"number\"==typeof e;r&&!n?(e=t,t=0):r||n||(t=0,e=0);var i=(e|=0)-(t|=0);if(i<0)throw new Error(\"array length must be positive\");for(var a=new Array(i),o=0,s=t;o<i;o++,s++)a[o]=s;return a},vV=mV;function mV(t,e){if(!(this instanceof mV))return new mV(t,e);this.nodeSize=e||64,this.coords=t.slice();var r=Math.floor(t.length/2);this.ids=Array(r);for(var n=0;n<r;n++)this.ids[n]=n;!function t(e,r,n,i,a,o){if(a-i<=n)return;var s=Math.floor((i+a)/2);!function t(e,r,n,i,a,o){for(;a>i;){if(a-i>600){var s=a-i+1,l=n-i+1,u=Math.log(s),c=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*c*(s-c)/s)*(l-s/2<0?-1:1),f=Math.max(i,Math.floor(n-l*c/s+h)),p=Math.min(a,Math.floor(n+(s-l)*c/s+h));t(e,r,n,f,p,o)}var d=r[2*n+o],g=i,v=a;for(xV(e,r,i,n),r[2*a+o]>d&&xV(e,r,i,a);g<v;){for(xV(e,r,g,v),g++,v--;r[2*g+o]<d;)g++;for(;r[2*v+o]>d;)v--}r[2*i+o]===d?xV(e,r,i,v):xV(e,r,++v,a),v<=n&&(i=v+1),n<=v&&(a=v-1)}}(e,r,s,i,a,o%2);t(e,r,n,i,s-1,o+1);t(e,r,n,s+1,a,o+1)}(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function yV(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}function xV(t,e,r,n){bV(t,r,n),bV(e,2*r,2*n),bV(e,2*r+1,2*n+1)}function bV(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}mV.prototype.range=function(t,e,r,n){for(var i,a,o=this.ids,s=this.coords,l=this.nodeSize,u=[0,o.length-1,0],c=[];u.length;){var h=u.pop(),f=u.pop(),p=u.pop();if(f-p<=l)for(var d=p;d<=f;d++)i=s[2*d],a=s[2*d+1],i>=t&&i<=r&&a>=e&&a<=n&&c.push(o[d]);else{var g=Math.floor((p+f)/2);i=s[2*g],a=s[2*g+1],i>=t&&i<=r&&a>=e&&a<=n&&c.push(o[g]);var v=(h+1)%2;(0===h?t<=i:e<=a)&&(u.push(p),u.push(g-1),u.push(v)),(0===h?r>=i:n>=a)&&(u.push(g+1),u.push(f),u.push(v))}}return c},mV.prototype.within=function(t,e,r){for(var n=this.ids,i=this.coords,a=this.nodeSize,o=[0,n.length-1,0],s=[],l=r*r;o.length;){var u=o.pop(),c=o.pop(),h=o.pop();if(c-h<=a)for(var f=h;f<=c;f++)yV(i[2*f],i[2*f+1],t,e)<=l&&s.push(n[f]);else{var p=Math.floor((h+c)/2),d=i[2*p],g=i[2*p+1];yV(d,g,t,e)<=l&&s.push(n[p]);var v=(u+1)%2;(0===u?t-r<=d:e-r<=g)&&(o.push(h),o.push(p-1),o.push(v)),(0===u?t+r>=d:e+r>=g)&&(o.push(p+1),o.push(c),o.push(v))}}return s};var _V=function(t,e){if(!t||null==t.length)throw Error(\"Argument should be an array\");e=null==e?1:Math.floor(e);for(var r=Array(2*e),n=0;n<e;n++){for(var i=-1/0,a=1/0,o=n,s=t.length;o<s;o+=e)t[o]>i&&(i=t[o]),t[o]<a&&(a=t[o]);r[n]=a,r[e+n]=i}return r};var wV=function(t,e,r){if(!t)throw new TypeError(\"must specify data as first parameter\");if(r=0|+(r||0),Array.isArray(t)&&Array.isArray(t[0])){var n=t[0].length,i=t.length*n;e&&\"string\"!=typeof e||(e=new(HC(e||\"float32\"))(i+r));var a=e.length-r;if(i!==a)throw new Error(\"source length \"+i+\" (\"+n+\"x\"+t.length+\") does not match destination length \"+a);for(var o=0,s=r;o<t.length;o++)for(var l=0;l<n;l++)e[s++]=t[o][l]}else if(e&&\"string\"!=typeof e)e.set(t,r);else{var u=HC(e||\"float32\");0===r?e=new u(t):(e=new u(t.length+r)).set(t,r)}return e};var MV=function(t,e,r){var n,i,a={};if(\"string\"==typeof e&&(e=kV(e)),Array.isArray(e)){var o={};for(i=0;i<e.length;i++)o[e[i]]=!0;e=o}for(n in e)e[n]=kV(e[n]);var s={};for(n in e){var l=e[n];if(Array.isArray(l))for(i=0;i<l.length;i++){var u=l[i];if(r&&(s[u]=!0),u in t){if(a[n]=t[u],r)for(var c=i;c<l.length;c++)s[l[c]]=!0;break}}else n in t&&(e[n]&&(a[n]=t[n]),r&&(s[n]=!0))}if(r)for(n in t)s[n]||(a[n]=t[n]);return a},AV={};function kV(t){return AV[t]?AV[t]:(\"string\"==typeof t&&(t=AV[t]=t.split(/\\s*,\\s*|\\s+/)),t)}var TV={};function SV(t){if(t instanceof Float32Array)return t;if(\"number\"==typeof t)return new Float32Array([t])[0];var e=new Float32Array(t);return e.set(t),e}(TV=SV).float32=TV.float=SV,TV.fract32=TV.fract=function(t){if(\"number\"==typeof t)return SV(t-SV(t));for(var e=SV(t),r=0,n=e.length;r<n;r++)e[r]=t[r]-e[r];return e};var EV=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n<i;n++){var a=r[n];for(var o in a)if((void 0===e[o]||Array.isArray(e[o])||t[o]!==e[o])&&o in e){var s;if(!0===a[o])s=e[o];else{if(!1===a[o])continue;if(\"function\"==typeof a[o]&&void 0===(s=a[o](e[o],t,e)))continue}t[o]=s}}return t},CV=TV.float32,LV=TV.fract32,zV=function(t,e){\"function\"==typeof t?(e||(e={}),e.regl=t):e=t;e.length&&(e.positions=e);if(!(t=e.regl).hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");var r,n,i,a,o,s,l=t._gl,u={color:\"black\",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},c=[];return a=t.buffer({usage:\"dynamic\",type:\"uint8\",data:null}),n=t.buffer({usage:\"dynamic\",type:\"float\",data:null}),i=t.buffer({usage:\"dynamic\",type:\"float\",data:null}),o=t.buffer({usage:\"dynamic\",type:\"float\",data:null}),s=t.buffer({usage:\"static\",type:\"float\",data:PV}),d(e),r=t({vert:\"\\n\\t\\tprecision highp float;\\n\\n\\t\\tattribute vec2 position, positionFract;\\n\\t\\tattribute vec4 error;\\n\\t\\tattribute vec4 color;\\n\\n\\t\\tattribute vec2 direction, lineOffset, capOffset;\\n\\n\\t\\tuniform vec4 viewport;\\n\\t\\tuniform float lineWidth, capSize;\\n\\t\\tuniform vec2 scale, scaleFract, translate, translateFract;\\n\\n\\t\\tvarying vec4 fragColor;\\n\\n\\t\\tvoid main() {\\n\\t\\t\\tfragColor = color / 255.;\\n\\n\\t\\t\\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\\n\\n\\t\\t\\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\\n\\n\\t\\t\\tvec2 position = position + dxy;\\n\\n\\t\\t\\tvec2 pos = (position + translate) * scale\\n\\t\\t\\t\\t+ (positionFract + translateFract) * scale\\n\\t\\t\\t\\t+ (position + translate) * scaleFract\\n\\t\\t\\t\\t+ (positionFract + translateFract) * scaleFract;\\n\\n\\t\\t\\tpos += pixelOffset / viewport.zw;\\n\\n\\t\\t\\tgl_Position = vec4(pos * 2. - 1., 0, 1);\\n\\t\\t}\\n\\t\\t\",frag:\"\\n\\t\\tprecision mediump float;\\n\\n\\t\\tvarying vec4 fragColor;\\n\\n\\t\\tuniform float opacity;\\n\\n\\t\\tvoid main() {\\n\\t\\t\\tgl_FragColor = fragColor;\\n\\t\\t\\tgl_FragColor.a *= opacity;\\n\\t\\t}\\n\\t\\t\",uniforms:{range:t.prop(\"range\"),lineWidth:t.prop(\"lineWidth\"),capSize:t.prop(\"capSize\"),opacity:t.prop(\"opacity\"),scale:t.prop(\"scale\"),translate:t.prop(\"translate\"),scaleFract:t.prop(\"scaleFract\"),translateFract:t.prop(\"translateFract\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{color:{buffer:a,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:n,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:i,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:o,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:s,stride:24,offset:0},lineOffset:{buffer:s,stride:24,offset:8},capOffset:{buffer:s,stride:24,offset:16}},primitive:\"triangles\",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(\"viewport\")},viewport:t.prop(\"viewport\"),stencil:!1,instances:t.prop(\"count\"),count:PV.length}),Us(h,{update:d,draw:f,destroy:g,regl:t,gl:l,canvas:l.canvas,groups:c}),h;function h(t){t?d(t):null===t&&g(),f()}function f(e){if(\"number\"==typeof e)return p(e);e&&!Array.isArray(e)&&(e=[e]),t._refresh(),c.forEach(function(t,r){t&&(e&&(e[r]?t.draw=!0:t.draw=!1),t.draw?p(r):t.draw=!0)})}function p(t){\"number\"==typeof t&&(t=c[t]),null!=t&&t&&t.count&&t.color&&t.opacity&&t.positions&&t.positions.length>1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function d(t){if(t){null!=t.length?\"number\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(c=t.map(function(t,n){var i=c[n];return t?(\"function\"==typeof t?t={after:t}:\"number\"==typeof t[0]&&(t={positions:t}),t=MV(t,{color:\"color colors fill\",capSize:\"capSize cap capsize cap-size\",lineWidth:\"lineWidth line-width width line thickness\",opacity:\"opacity alpha\",range:\"range dataBox\",viewport:\"viewport viewBox\",errors:\"errors error\",positions:\"positions position data points\"}),i||(c[n]=i={id:n,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=Us({},u,t)),EV(i,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=wV(t),r+=t.length,t},positions:function(t,r){return t=wV(t,\"float64\"),r.count=Math.floor(t.length/2),r.bounds=_V(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t=\"transparent\"),!Array.isArray(t)||\"number\"==typeof t[0]){var n=t;t=Array(r);for(var i=0;i<r;i++)t[i]=n}if(t.length<r)throw Error(\"Not enough colors\");for(var a=new Uint8Array(4*r),o=0;o<r;o++){var s=GC(t[o],\"uint8\");a.set(s,4*o)}return a},range:function(t,e,r){var n=e.bounds;return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=LV(e.scale),e.translateFract=LV(e.translate),t},viewport:function(t){var e;return Array.isArray(t)?e={x:t[0],y:t[1],width:t[2]-t[0],height:t[3]-t[1]}:t?(e={x:t.x||t.left||0,y:t.y||t.top||0},t.right?e.width=t.right-e.x:e.width=t.w||t.width||0,t.bottom?e.height=t.bottom-e.y:e.height=t.h||t.height||0):e={x:0,y:0,width:l.drawingBufferWidth,height:l.drawingBufferHeight},e}}]),i):i}),e||r){var s=c.reduce(function(t,e,r){return t+(e?e.count:0)},0),h=new Float64Array(2*s),f=new Uint8Array(4*s),p=new Float32Array(4*s);c.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset,a=t.color,o=t.errors;n&&(f.set(a,4*i),p.set(o,4*i),h.set(r,2*i))}}),n(CV(h)),i(LV(h)),a(f),o(p)}}}function g(){n.destroy(),i.destroy(),a.destroy(),o.destroy(),s.destroy()}},PV=[[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]];var IV=function(t,e,r){if(!t||null==t.length)throw Error(\"Argument should be an array\");null==e&&(e=1);null==r&&(r=_V(t,e));for(var n=0;n<e;n++){var i=r[e+n],a=r[n],o=n,s=t.length;if(i===1/0&&a===-1/0)for(o=n;o<s;o+=e)t[o]=t[o]===i?1:t[o]===a?0:.5;else if(i===1/0)for(o=n;o<s;o+=e)t[o]=t[o]===i?1:0;else if(a===-1/0)for(o=n;o<s;o+=e)t[o]=t[o]===a?0:1;else{var l=i-a;for(o=n;o<s;o+=e)t[o]=0===l?.5:(t[o]-a)/l}}return t};var DV={};function OV(t,e,r){r=r||2;var n,i,a,o,s,l,u,c=e&&e.length,h=c?e[0]*r:t.length,f=RV(t,0,h,r,!0),p=[];if(!f)return p;if(c&&(f=function(t,e,r,n){var i,a,o,s,l,u=[];for(i=0,a=e.length;i<a;i++)o=e[i]*n,s=i<a-1?e[i+1]*n:t.length,(l=RV(t,o,s,n,!1))===l.next&&(l.steiner=!0),u.push(WV(l));for(u.sort(qV),i=0;i<u.length;i++)HV(u[i],r),r=FV(r,r.next);return r}(t,e,f,r)),t.length>80*r){n=a=t[0],i=o=t[1];for(var d=r;d<h;d+=r)s=t[d],l=t[d+1],s<n&&(n=s),l<i&&(i=l),s>a&&(a=s),l>o&&(o=l);u=0!==(u=Math.max(a-n,o-i))?1/u:0}return BV(f,p,r,n,i,u),p}function RV(t,e,r,n,i){var a,o;if(i===nU(t,e,r,n)>0)for(a=e;a<r;a+=n)o=tU(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=tU(a,t[a],t[a+1],o);return o&&JV(o,o.next)&&(eU(o),o=o.next),o}function FV(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!JV(n,n.next)&&0!==ZV(n.prev,n,n.next))n=n.next;else{if(eU(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function BV(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=GV(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,function(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&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,u=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?jV(t,n,i,a):NV(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),eU(t),t=l.next,u=l.next;else if((t=l)===u){o?1===o?BV(t=VV(t,e,r),e,r,n,i,a,2):2===o&&UV(t,e,r,n,i,a):BV(FV(t),e,r,n,i,a,1);break}}}function NV(t){var e=t.prev,r=t,n=t.next;if(ZV(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(YV(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&ZV(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function jV(t,e,r,n){var i=t.prev,a=t,o=t.next;if(ZV(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=GV(s,l,e,r,n),f=GV(u,c,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=h&&d&&d.z<=f;){if(p!==t.prev&&p!==t.next&&YV(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ZV(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&YV(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ZV(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=h;){if(p!==t.prev&&p!==t.next&&YV(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ZV(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=f;){if(d!==t.prev&&d!==t.next&&YV(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ZV(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function VV(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!JV(i,a)&&KV(i,n,n.next,a)&&QV(i,a)&&QV(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),eU(n),eU(n.next),n=t=a),n=n.next}while(n!==t);return n}function UV(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&XV(o,s)){var l=$V(o,s);return o=FV(o,o.next),l=FV(l,l.next),BV(o,e,r,n,i,a),void BV(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function qV(t,e){return t.x-e.x}function HV(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.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;n=r.next;for(;n!==u;)i>=n.x&&n.x>=c&&i!==n.x&&YV(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)&&QV(n,t)&&(r=n,f=l),n=n.next;return r}(t,e)){var r=$V(e,t);FV(r,r.next)}}function GV(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function WV(t){var e=t,r=t;do{e.x<r.x&&(r=e),e=e.next}while(e!==t);return r}function YV(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 XV(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(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&&KV(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&QV(t,e)&&QV(e,t)&&function(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&&r.next.y!==r.y&&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}(t,e)}function ZV(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function JV(t,e){return t.x===e.x&&t.y===e.y}function KV(t,e,r,n){return!!(JV(t,e)&&JV(r,n)||JV(t,n)&&JV(r,e))||ZV(t,e,r)>0!=ZV(t,e,n)>0&&ZV(r,n,t)>0!=ZV(r,n,e)>0}function QV(t,e){return ZV(t.prev,t,t.next)<0?ZV(t,e,t.next)>=0&&ZV(t,t.prev,e)>=0:ZV(t,e,t.prev)<0||ZV(t,t.next,e)<0}function $V(t,e){var r=new rU(t.i,t.x,t.y),n=new rU(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 tU(t,e,r,n){var i=new rU(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 eU(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 rU(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 nU(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}(DV=OV).default=OV,OV.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(nU(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(nU(t,u,c,r))}var h=0;for(s=0;s<n.length;s+=3){var f=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;h+=Math.abs((t[f]-t[d])*(t[p+1]-t[f+1])-(t[f]-t[p])*(t[d+1]-t[f+1]))}return 0===o&&0===h?0:Math.abs((h-o)/o)},OV.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};var iU=function(t,e){\"function\"==typeof t?(e||(e={}),e.regl=t):e=t;e.length&&(e.positions=e);if(!(t=e.regl).hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");var r,n,i,a,o,s,l,u,c=t._gl,h={positions:[],dashes:null,join:null,miterLimit:1,thickness:10,cap:\"square\",color:\"black\",opacity:1,overlay:!1,viewport:null,range:null,close:null,fill:null},f=[],p=2,d=3e6,g=1e4;a=t.buffer({usage:\"dynamic\",type:\"uint8\",data:null}),o=t.buffer({usage:\"static\",type:\"float\",data:[0,1,0,0,1,1,1,0]}),s=t.buffer({usage:\"dynamic\",type:\"float\",data:null}),l=t.buffer({usage:\"dynamic\",type:\"float\",data:null}),u=t.texture({channels:1,data:new Uint8Array(524288),width:256,height:2048,mag:\"linear\",min:\"linear\"}),b(e);var v={primitive:\"triangle strip\",instances:t.prop(\"count\"),count:4,offset:0,uniforms:{miterMode:function(t,e){return\"round\"===e.join?2:1},miterLimit:t.prop(\"miterLimit\"),scale:t.prop(\"scale\"),scaleFract:t.prop(\"scaleFract\"),translateFract:t.prop(\"translateFract\"),translate:t.prop(\"translate\"),thickness:t.prop(\"thickness\"),dashPattern:u,dashLength:t.prop(\"dashLength\"),dashShape:[256,2048],opacity:t.prop(\"opacity\"),pixelRatio:t.context(\"pixelRatio\"),id:t.prop(\"id\"),scaleRatio:t.prop(\"scaleRatio\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:function(t,e){return!e.overlay}},scissor:{enable:!0,box:t.prop(\"viewport\")},stencil:!1,viewport:t.prop(\"viewport\")};function m(t){t?b(t):null===t&&_(),y()}function y(t){if(\"number\"==typeof t)return x(t);t&&!Array.isArray(t)&&(t=[t]),f.forEach(function(t,e){x(e)})}function x(e){\"number\"==typeof e&&(e=f[e]),e&&e.count&&e.opacity&&e.positions&&e.positions.length>2&&(t._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&i(e),e.thickness&&e.color&&(e.scaleRatio=[e.scale[0]*e.viewport.width,e.scale[1]*e.viewport.height],e.scaleRatio[0]>d||e.scaleRatio[1]>d?n(e):\"rect\"===e.join||!e.join&&(e.thickness<=2||e.positions.length>=g)?n(e):r(e),e.after&&e.after(e)))}function b(t){if(t){null!=t.length?\"number\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0;if(m.lines=f=t.map(function(t,r){var n=f[r];return void 0===t?n:(null===t?t={positions:null}:\"function\"==typeof t?t={after:t}:\"number\"==typeof t[0]&&(t={positions:t}),null===(t=MV(t,{positions:\"positions points data coords\",thickness:\"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth\",join:\"lineJoin linejoin join type mode\",miterLimit:\"miterlimit miterLimit\",dashes:\"dash dashes dasharray dash-array dashArray\",color:\"color stroke colors stroke-color strokeColor\",fill:\"fill fill-color fillColor\",opacity:\"alpha opacity\",overlay:\"overlay crease overlap intersect\",close:\"closed close closed-path closePath\",range:\"range dataBox\",viewport:\"viewport viewBox\",hole:\"holes hole hollow\",after:\"after callback done pass\"})).positions&&(t.positions=[]),n||(f[r]=n={id:r,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,offset:0,dashLength:0,hole:!0},t=Us({},h,t)),EV(n,t,[{thickness:parseFloat,opacity:parseFloat,miterLimit:parseFloat,overlay:Boolean,join:function(t){return t},after:function(t){return t},hole:function(t){return t||[]},positions:function(t,r,n){t=wV(t,\"float64\");var i=Math.floor(t.length/2),a=_V(t,2);return r.range||n.range||(n.range=a),r.count=i,r.bounds=a,e+=i,t},fill:function(t){return t?GC(t,\"uint8\"):null},dashes:function(t,e,r){var n,i=e.dashLength;if(!t||t.length<2)i=1,n=new Uint8Array([255,255,255,255,255,255,255,255]);else{i=0;for(var a=0;a<t.length;++a)i+=t[a];n=new Uint8Array(i*p);for(var o=0,s=255,l=0;l<2;l++)for(var c=0;c<t.length;++c){for(var h=0,f=t[c]*p*.5;h<f;++h)n[o++]=s;s^=255}}return u.subimage({data:n,width:n.length,height:1},0,e.id),e.dashLength=i,n}},{close:function(t,e,r){return null!=t?t:e.positions.length>=4&&e.positions[0]===e.positions[e.positions.length-2]&&e.positions[1]===e.positions[e.positions.length-1]},positions:function(t,e,r){if(e.fill&&t.length){for(var n=[],i={},a=0,o=0,s=0,l=e.count;o<l;o++){var u=e.positions[2*o],c=e.positions[2*o+1];Number.isNaN(u)||Number.isNaN(c)?(u=e.positions[2*a],c=e.positions[2*a+1],i[o]=a):a=o,n[s++]=u,n[s++]=c}for(var h=DV(n,e.hole),f=0,p=h.length;f<p;f++)null!=i[h[f]]&&(h[f]=i[h[f]]);e.triangles=h}return e.positions},color:function(t,e,r){var n=e.count;if(t||(t=\"transparent\"),!Array.isArray(t)||\"number\"==typeof t[0]){var i=t;t=Array(n);for(var a=0;a<n;a++)t[a]=i}if(t.length<n)throw Error(\"Not enough colors\");for(var o=new Uint8Array(4*n+4),s=0;s<n;s++){var l=GC(t[s],\"uint8\");o.set(l,4*s)}return o},range:function(t,e,r){if(!e.count)return null;var n=e.bounds;t||(t=n);var i=n[2]-n[0],a=n[3]-n[1],o=t[2]-t[0],s=t[3]-t[1];return e.scale=[i/o,a/s],e.translate=[-t[0]/o+n[0]/o||0,-t[1]/s+n[1]/s||0],e.scaleFract=aU(e.scale),e.translateFract=aU(e.translate),t},viewport:function(t){var e;return Array.isArray(t)?e={x:t[0],y:t[1],width:t[2]-t[0],height:t[3]-t[1]}:t?(e={x:t.x||t.left||0,y:t.y||t.top||0},t.right?e.width=t.right-e.x:e.width=t.w||t.width||0,t.bottom?e.height=t.bottom-e.y:e.height=t.h||t.height||0):e={x:0,y:0,width:c.drawingBufferWidth,height:c.drawingBufferHeight},e}}]),n)}),e){var r=2*e+6*f.length,n=new Float64Array(r),i=0,o=new Uint8Array(2*r);f.forEach(function(t,e){if(t){var r=t.positions,a=t.count,s=t.color;if(t.offset=i,a){var l=new Float64Array(r.length);l.set(r),IV(l,2,t.bounds),t.close?r[0]===r[2*a-2]&&r[1]===r[2*a-1]?(n[2*i+0]=l[2*a-4],n[2*i+1]=l[2*a-3]):(n[2*i+0]=l[2*a-2],n[2*i+1]=l[2*a-1]):(n[2*i+0]=l[0],n[2*i+1]=l[1]),o[4*i+0]=s[0],o[4*i+1]=s[1],o[4*i+2]=s[2],o[4*i+3]=s[3],n.set(l,2*i+2),o.set(s,4*i+4),t.close?r[0]===r[2*a-2]&&r[1]===r[2*a-1]?(n[2*i+2*a+2]=l[2],n[2*i+2*a+3]=l[3],i+=a+2,t.count-=1):(n[2*i+2*a+2]=l[0],n[2*i+2*a+3]=l[1],n[2*i+2*a+4]=l[2],n[2*i+2*a+5]=l[3],i+=a+3):(n[2*i+2*a+2]=l[2*a-2],n[2*i+2*a+3]=l[2*a-1],n[2*i+2*a+4]=l[2*a-2],n[2*i+2*a+5]=l[2*a-1],i+=a+3)}}}),a(o),s(function(t){if(t instanceof Float32Array)return t;var e=new Float32Array(t);return e.set(t),e}(n)),l(aU(n))}return m}}function _(){f.length=0,a.destroy(),o.destroy(),s.destroy(),u.destroy()}return r=t(Us({cull:{enable:!0,face:\"back\"},vert:E_([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aCoord, bCoord, nextCoord, prevCoord;\\nattribute vec4 aColor, bColor;\\nattribute float lineEnd, lineTop;\\n\\nuniform vec2 scale, translate, scaleRatio;\\nuniform float thickness, pixelRatio, id;\\nuniform vec4 viewport;\\nuniform float miterLimit, dashLength, miterMode;\\n\\nvarying vec4 fragColor;\\nvarying vec4 startCutoff, endCutoff;\\nvarying vec2 tangent;\\nvarying vec2 startCoord, endCoord;\\nvarying float enableStartMiter, enableEndMiter;\\n\\nconst float MAX_LINES = 256.;\\nconst float REVERSE_THRESHOLD = -.875;\\nconst float MIN_DIST = 1.;\\n\\n//TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\\n//TODO: precalculate dot products, normalize things beforehead etc.\\n\\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\\n\\tvec2 diff = b - a;\\n\\tvec2 perp = normalize(vec2(-diff.y, diff.x));\\n\\treturn dot(p - a, perp);\\n}\\n\\nbool isNaN( float val ){\\n  return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\\n}\\n\\nvoid main() {\\n\\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\\n\\tvec2 normalWidth = thickness / scaleRatio;\\n\\n\\tfloat lineStart = 1. - lineEnd;\\n\\tfloat lineBot = 1. - lineTop;\\n\\tfloat depth = (MAX_LINES - 1. - id) / MAX_LINES;\\n\\n\\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\\n\\n\\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\\n\\n\\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\\n\\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\\n\\n\\tvec2 prevDiff = aCoord - prevCoord;\\n\\tvec2 currDiff = bCoord - aCoord;\\n\\tvec2 nextDiff = nextCoord - bCoord;\\n\\n\\tvec2 prevDirection = normalize(prevDiff);\\n\\tvec2 currDirection = normalize(currDiff);\\n\\tvec2 nextDirection = normalize(nextDiff);\\n\\n\\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\\n\\tvec2 currTangent = normalize(currDiff * scaleRatio);\\n\\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\\n\\n\\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\\n\\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\\n\\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\\n\\n\\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\\n\\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\\n\\n\\t//collapsed/unidirectional segment cases\\n\\tif (prevDirection == currDirection) {\\n\\t\\tstartJoinDirection = currNormal;\\n\\t}\\n\\tif (nextDirection == currDirection) {\\n\\t\\tendJoinDirection = currNormal;\\n\\t}\\n\\tif (aCoord == bCoord) {\\n\\t\\tendJoinDirection = startJoinDirection;\\n\\t\\tcurrNormal = prevNormal;\\n\\t\\tcurrTangent = prevTangent;\\n\\t}\\n\\n\\ttangent = currTangent;\\n\\n\\t//calculate join shifts relative to normals\\n\\tfloat startJoinShift = dot(currNormal, startJoinDirection);\\n\\tfloat endJoinShift = dot(currNormal, endJoinDirection);\\n\\n\\tfloat startMiterRatio = abs(1. / startJoinShift);\\n\\tfloat endMiterRatio = abs(1. / endJoinShift);\\n\\n\\tvec2 startJoin = startJoinDirection * startMiterRatio;\\n\\tvec2 endJoin = endJoinDirection * endMiterRatio;\\n\\n\\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\\n\\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\\n\\tstartBotJoin = -startTopJoin;\\n\\n\\tendTopJoin = sign(endJoinShift) * endJoin * .5;\\n\\tendBotJoin = -endTopJoin;\\n\\n\\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\\n\\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\\n\\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\\n\\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\\n\\n\\t//miter anti-clipping\\n\\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\\n\\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\\n\\n\\t//prevent close to reverse direction switch\\n\\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) <  length(normalWidth * currNormal);\\n\\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) <  length(normalWidth * currNormal);\\n\\n\\tif (prevReverse) {\\n\\t\\t//make join rectangular\\n\\t\\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\\n\\t\\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\\n\\t\\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\\n\\t\\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\\n\\t}\\n\\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\tbTopCoord -= normalWidth * endTopJoin;\\n\\t\\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\\n\\t}\\n\\n\\tif (nextReverse) {\\n\\t\\t//make join rectangular\\n\\t\\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\\n\\t\\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\\n\\t\\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\\n\\t\\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\\n\\t}\\n\\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\taBotCoord -= normalWidth * startBotJoin;\\n\\t\\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\\n\\t}\\n\\n\\tvec2 aTopPosition = (aTopCoord) * scale + translate;\\n\\tvec2 aBotPosition = (aBotCoord) * scale + translate;\\n\\n\\tvec2 bTopPosition = (bTopCoord) * scale + translate;\\n\\tvec2 bBotPosition = (bBotCoord) * scale + translate;\\n\\n\\t//position is normalized 0..1 coord on the screen\\n\\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\\n\\n\\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\n\\tgl_Position = vec4(position  * 2.0 - 1.0, depth, 1);\\n\\n\\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\\n\\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\\n\\n\\t//bevel miter cutoffs\\n\\tif (miterMode == 1.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n\\n\\t//round miter cutoffs\\n\\telse if (miterMode == 2.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n}\\n\"]),frag:E_([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D dashPattern;\\nuniform vec2 dashShape;\\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\nvarying vec4 startCutoff, endCutoff;\\nvarying vec2 startCoord, endCoord;\\nvarying float enableStartMiter, enableEndMiter;\\n\\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\\n\\tvec2 diff = b - a;\\n\\tvec2 perp = normalize(vec2(-diff.y, diff.x));\\n\\treturn dot(p - a, perp);\\n}\\n\\nvoid main() {\\n\\tfloat alpha = 1., distToStart, distToEnd;\\n\\tfloat cutoff = thickness * .5;\\n\\n\\t//bevel miter\\n\\tif (miterMode == 1.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\\n\\t\\t\\tif (distToStart < -1.) {\\n\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\talpha *= min(max(distToStart + 1., 0.), 1.);\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\\n\\t\\t\\tif (distToEnd < -1.) {\\n\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\talpha *= min(max(distToEnd + 1., 0.), 1.);\\n\\t\\t}\\n\\t}\\n\\n\\t// round miter\\n\\telse if (miterMode == 2.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\\n\\t\\t\\tif (distToStart < 0.) {\\n\\t\\t\\t\\tfloat radius = length(gl_FragCoord.xy - startCoord);\\n\\n\\t\\t\\t\\tif(radius > cutoff + .5) {\\n\\t\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\\n\\t\\t\\tif (distToEnd < 0.) {\\n\\t\\t\\t\\tfloat radius = length(gl_FragCoord.xy - endCoord);\\n\\n\\t\\t\\t\\tif(radius > cutoff + .5) {\\n\\t\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\\n\\tfloat dash = texture2D(dashPattern, vec2(t * dashLength * 2. / dashShape.x, (id + .5) / dashShape.y)).r;\\n\\n\\tgl_FragColor = fragColor * dash;\\n\\tgl_FragColor.a *= alpha * opacity * dash;\\n}\\n\"]),attributes:{lineEnd:{buffer:o,divisor:0,stride:8,offset:0},lineTop:{buffer:o,divisor:0,stride:8,offset:4},aColor:{buffer:a,stride:4,offset:function(t,e){return 4*e.offset},divisor:1},bColor:{buffer:a,stride:4,offset:function(t,e){return 4*e.offset+4},divisor:1},prevCoord:{buffer:s,stride:8,offset:function(t,e){return 8*e.offset},divisor:1},aCoord:{buffer:s,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoord:{buffer:s,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},nextCoord:{buffer:s,stride:8,offset:function(t,e){return 24+8*e.offset},divisor:1}}},v)),n=t(Us({vert:E_([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\\nattribute vec4 color;\\nattribute float lineEnd, lineTop;\\n\\nuniform vec2 scale, scaleFract, translate, translateFract, scaleRatio;\\nuniform float thickness, pixelRatio, id;\\nuniform vec4 viewport;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\n\\nconst float MAX_LINES = 256.;\\n\\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\\n\\t// the order is important\\n\\treturn position * scale + translate\\n       + positionFract * scale + translateFract\\n       + position * scaleFract\\n       + positionFract * scaleFract;\\n}\\n\\nvoid main() {\\n\\t// vec2 scaleRatio = scale * viewport.zw;\\n\\tvec2 normalWidth = thickness / scaleRatio;\\n\\n\\tfloat lineStart = 1. - lineEnd;\\n\\tfloat lineOffset = lineTop * 2. - 1.;\\n\\tfloat depth = (MAX_LINES - 1. - id) / (MAX_LINES);\\n\\n\\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\\n\\ttangent = normalize(diff * scaleRatio);\\n\\tvec2 normal = vec2(-tangent.y, tangent.x);\\n\\n\\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\\n\\t\\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\\n\\n\\t\\t+ thickness * normal * .5 * lineOffset / viewport.zw;\\n\\n\\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\\n\\n\\tfragColor = color / 255.;\\n}\\n\"]),frag:E_([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D dashPattern;\\nuniform vec2 dashShape;\\nuniform float dashLength, pixelRatio, thickness, opacity, id;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\n\\nvoid main() {\\n\\tfloat alpha = 1.;\\n\\n\\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\\n\\tfloat dash = texture2D(dashPattern, vec2(t * dashLength * 2. / dashShape.x, (id + .5) / dashShape.y)).r;\\n\\n\\tgl_FragColor = fragColor * dash;\\n\\tgl_FragColor.a *= alpha * opacity * dash;\\n}\\n\"]),attributes:{lineEnd:{buffer:o,divisor:0,stride:8,offset:0},lineTop:{buffer:o,divisor:0,stride:8,offset:4},aCoord:{buffer:s,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoord:{buffer:s,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},aCoordFract:{buffer:l,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoordFract:{buffer:l,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},color:{buffer:a,stride:4,offset:function(t,e){return 4*e.offset},divisor:1}}},v)),i=t({primitive:\"triangle\",elements:function(t,e){return e.triangles},offset:0,vert:E_([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position, positionFract;\\n\\nuniform vec4 color;\\nuniform vec2 scale, scaleFract, translate, translateFract, scaleRatio;\\nuniform float pixelRatio, id;\\nuniform vec4 viewport;\\n\\nvarying vec4 fragColor;\\n\\nconst float MAX_LINES = 256.;\\n\\nvoid main() {\\n\\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\\n\\n\\tvec2 position = position * scale + translate\\n       + positionFract * scale + translateFract\\n       + position * scaleFract\\n       + positionFract * scaleFract;\\n\\n\\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\\n\\n\\tfragColor = color / 255.;\\n}\\n\"]),frag:E_([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform float opacity;\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n\\tgl_FragColor = fragColor;\\n\\tgl_FragColor.a *= opacity;\\n}\\n\"]),uniforms:{scale:t.prop(\"scale\"),color:t.prop(\"fill\"),scaleFract:t.prop(\"scaleFract\"),translateFract:t.prop(\"translateFract\"),translate:t.prop(\"translate\"),opacity:t.prop(\"opacity\"),pixelRatio:t.context(\"pixelRatio\"),id:t.prop(\"id\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:s,stride:8,offset:function(t,e){return 8+8*e.offset}},positionFract:{buffer:l,stride:8,offset:function(t,e){return 8+8*e.offset}}},blend:v.blend,depth:{enable:!1},scissor:v.scissor,stencil:v.stencil,viewport:v.viewport}),Us(m,{update:b,draw:y,destroy:_,regl:t,gl:c,canvas:c.canvas,lines:f}),m};function aU(t){var e=new Float32Array(t.length);e.set(t);for(var r=0,n=e.length;r<n;r++)e[r]=t[r]-e[r];return e}var oU={};function sU(t,e){null==e&&(e=!0);var r=t[0],n=t[1],i=t[2],a=t[3];return null==a&&(a=e?1:255),e&&(r*=255,n*=255,i*=255,a*=255),16777216*(r=255&FC(r,0,255))+((n=255&FC(n,0,255))<<16)+((i=255&FC(i,0,255))<<8)+(a=255&FC(a,0,255))}(oU=sU).to=sU,oU.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]};var lU=\"undefined\"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion)),uU=function(t){var e;arguments.length>1&&(t=arguments);\"string\"==typeof t&&(t=t.split(/\\s/).map(parseFloat));t.length&&\"number\"==typeof t[0]?e=2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(t=MV(t,{left:\"x l left Left\",top:\"y t top Top\",width:\"w width\",height:\"h height\",bottom:\"b bottom\",right:\"r right\"}),e={x:t.left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height);return e};function cU(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 hU(t,e,r,n){return new Function([cU(\"A\",\"x\"+t+\"y\",e,[\"y\"],n),cU(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],n),\"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(\"\"))()}var fU={ge:hU(\">=\",!1,\"GE\"),gt:hU(\">\",!1,\"GT\"),lt:hU(\"<\",!0,\"LT\"),le:hU(\"<=\",!0,\"LE\"),eq:hU(\"-\",!0,\"EQ\",!0)},pU=function(t,e,r,n,i){i<=4*dU?gU(0,i-1,t,e,r,n):function t(e,r,n,i,a,o){var s=(r-e+1)/6|0,l=e+s,u=r-s,c=e+r>>1,h=c-s,f=c+s,p=l,d=h,g=c,v=f,m=u,y=e+1,x=r-1,b=0;bU(p,d,n,i,a)&&(b=p,p=d,d=b);bU(v,m,n,i,a)&&(b=v,v=m,m=b);bU(p,g,n,i,a)&&(b=p,p=g,g=b);bU(d,g,n,i,a)&&(b=d,d=g,g=b);bU(p,v,n,i,a)&&(b=p,p=v,v=b);bU(g,v,n,i,a)&&(b=g,g=v,v=b);bU(d,m,n,i,a)&&(b=d,d=m,m=b);bU(d,g,n,i,a)&&(b=d,d=g,g=b);bU(v,m,n,i,a)&&(b=v,v=m,m=b);var _=n[d];var w=i[2*d];var M=i[2*d+1];var A=a[d];var k=o[d];var T=n[v];var S=i[2*v];var E=i[2*v+1];var C=a[v];var L=o[v];var z=p;var P=g;var I=m;var D=l;var O=c;var R=u;var F=n[z];var B=n[P];var N=n[I];n[D]=F;n[O]=B;n[R]=N;for(var j=0;j<2;++j){var V=i[2*z+j],U=i[2*P+j],q=i[2*I+j];i[2*D+j]=V,i[2*O+j]=U,i[2*R+j]=q}var H=a[z];var G=a[P];var W=a[I];a[D]=H;a[O]=G;a[R]=W;var Y=o[z];var X=o[P];var Z=o[I];o[D]=Y;o[O]=X;o[R]=Z;mU(h,e,n,i,a,o);mU(f,r,n,i,a,o);for(var J=y;J<=x;++J)if(_U(J,_,w,M,A,n,i,a))J!==y&&vU(J,y,n,i,a,o),++y;else if(!_U(J,T,S,E,C,n,i,a))for(;;){if(_U(x,T,S,E,C,n,i,a)){_U(x,_,w,M,A,n,i,a)?(yU(J,y,x,n,i,a,o),++y,--x):(vU(J,x,n,i,a,o),--x);break}if(--x<J)break}xU(e,y-1,_,w,M,A,k,n,i,a,o);xU(r,x+1,T,S,E,C,L,n,i,a,o);y-2-e<=dU?gU(e,y-2,n,i,a,o):t(e,y-2,n,i,a,o);r-(x+2)<=dU?gU(x+2,r,n,i,a,o):t(x+2,r,n,i,a,o);x-y<=dU?gU(y,x,n,i,a,o):t(y,x,n,i,a,o)}(0,i-1,t,e,r,n)},dU=32;function gU(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 p=r[f-1],d=n[2*(f-1)];if((p-s||l-d)>=0)break;r[f]=p,n[2*f]=d,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 vU(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 mU(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 yU(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 xU(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 bU(t,e,r,n,i){return(r[t]-r[e]||n[2*e]-n[2*t]||i[t]-i[e])<0}function _U(t,e,r,n,i,a,o,s){return(e-a[t]||o[2*t]-r||i-s[t])<0}var wU=function(t,e,r,n){var i=t.length>>>1;if(i<1)return[];e||(e=Array(i));r||(r=Array(i));n||(n=[]);for(var a=0;a<i;++a)e[a]=a;if(!n.length||n.length<4||n[0]>=n[2]||n[1]>=n[3]){var o=_V(t,2);o[0]===o[2]&&(o[2]+=1),o[1]===o[3]&&(o[3]+=1),n[0]=o[0],n[1]=o[1],n[2]=o[2],n[3]=o[3]}var s=n[0],l=n[1],u=n[2],c=n[3],h=1/(u-s),f=1/(c-l),p=Math.max(u-s,c-l),d=new Int32Array(i),g=0;(function n(i,a,o,s,l,u){var c=.5*o;var h=s+1;var f=l-s;r[g]=f;d[g++]=u;for(var p=0;p<2;++p)for(var v=0;v<2;++v){var m=i+p*c,y=a+v*c,x=MU(t,e,h,l,m,y,m+c,y+c);if(x!==h){if(x-h>=Math.max(.9*f,32)){var b=l+s>>>1;n(m,y,c,h,b,u+1),h=b}n(m,y,c,h,x,u+1),h=x}}})(s,l,p,0,i,0),pU(d,t,e,r,i);for(var v=[],m=0,y=i,g=i-1;g>=0;--g){t[2*g]=(t[2*g]-s)*h,t[2*g+1]=(t[2*g+1]-l)*f;var x=d[g];x!==m&&(v.push(new AU(p*Math.pow(.5,x),g+1,y-(g+1))),y=g+1,m=x)}return v.push(new AU(p*Math.pow(.5,x+1),0,y)),v};function MU(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 AU(t,e,r){this.pixelSize=t,this.offset=e,this.count=r}var kU=TV.float32,TU=TV.fract32,SU=function(t,e){\"function\"==typeof t?(e||(e={}),e.regl=t):(e=t,t=null);e&&e.length&&(e.positions=e);var r,n,i,a,o,s,l,u=(t=e.regl)._gl,c=[],h={},f={color:\"black\",borderColor:\"transparent\",borderSize:1,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,offset:0,count:0,bounds:null,positions:[],snap:1e4},p=[],d=[null],g=[null],v=4096,m=100;l=t.texture({data:new Uint8Array(4*v),width:v,height:1,type:\"uint8\",format:\"rgba\",wrapS:\"clamp\",wrapT:\"clamp\",mag:\"nearest\",min:\"nearest\"}),i=t.buffer({usage:\"dynamic\",type:\"float\",data:null}),s=t.buffer({usage:\"dynamic\",type:\"uint16\",data:null}),a=t.buffer({usage:\"dynamic\",type:\"float\",data:null}),o=t.buffer({usage:\"dynamic\",type:\"float\",data:null}),e.clone?(p=e.clone.groups.map(function(e){return(e=Us({},e)).markerIds&&(e.markerIds=e.markerIds.map(function(e){var r=e.slice();return r.lod=e.lod,r.snap=e.snap,r.data=e.data,r.id=e.id,r.x=e.x,r.w=e.w,r.elements=t.elements({primitive:\"points\",type:\"uint32\",data:e.data}),r})),e}),e.clone.markers.forEach(function(t){S(t)}),C(e.clone.palette),T({point:!0,color:!0,size:!0})):k(e);var y={uniforms:{pixelRatio:t.context(\"pixelRatio\"),palette:l,paletteSize:function(t,e){return[v,l.height]},scale:t.prop(\"scale\"),scaleFract:t.prop(\"scaleFract\"),translate:t.prop(\"translate\"),translateFract:t.prop(\"translateFract\"),opacity:t.prop(\"opacity\"),marker:t.prop(\"marker\")},attributes:{position:a,positionFract:o,size:function(t,e){return e.size.length?{buffer:i,stride:2,offset:0}:{constant:[Math.round(255*e.size/m)]}},borderSize:function(t,e){return e.borderSize.length?{buffer:i,stride:2,offset:1}:{constant:[Math.round(255*e.borderSize/m)]}},colorId:function(t,e){return e.color.length?{buffer:s,stride:8,offset:0}:{constant:[e.color]}},borderColorId:function(t,e){return e.borderColor.length?{buffer:s,stride:8,offset:4}:{constant:[e.borderColor]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},scissor:{enable:!0,box:t.prop(\"viewport\")},viewport:t.prop(\"viewport\"),stencil:{enable:!1},depth:{enable:!1},elements:t.prop(\"elements\"),count:t.prop(\"count\"),offset:t.prop(\"offset\"),primitive:\"points\"};if(lU)n=t(Us({},y,{frag:E_([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color, borderColor;\\nuniform float opacity;\\nvarying float fragBorderRadius, fragWidth, fragBorderSize, fragSize;\\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\\n  float centerFraction = fragBorderSize == 0. ? 2. : fragSize / (fragSize + fragBorderSize + 1.25);\\n\\n  vec4 baseColor = mix(borderColor, color, smoothStep(radius, centerFraction));\\n  float alpha = 1.0 - pow(1.0 - baseColor.a, 1.);\\n  gl_FragColor = vec4(baseColor.rgb * alpha, alpha);\\n}\\n\"]),vert:E_([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position, positionFract;\\nattribute float size, borderSize;\\n\\nuniform vec2 scale, scaleFract, translate, translateFract;\\nuniform float pixelRatio;\\n\\nconst float maxSize = 100.;\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragBorderRadius, fragWidth, fragBorderSize, fragSize;\\n\\nvoid main() {\\n  float size = size * maxSize / 255.;\\n  float borderSize = borderSize * maxSize / 255.;\\n  fragBorderSize = borderSize;\\n  fragSize = size;\\n\\n  gl_PointSize = (size + borderSize) * pixelRatio;\\n\\n  vec2 pos = (position + translate) * scale\\n\\t\\t\\t+ (positionFract + translateFract) * scale\\n\\t\\t\\t+ (position + translate) * scaleFract\\n\\t\\t\\t+ (positionFract + translateFract) * scaleFract;\\n\\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\\n\\n  fragBorderRadius = borderSize == 0. ? 2. : 1. - 2. * borderSize / (size + borderSize);\\n  fragWidth = 1. / gl_PointSize;\\n}\\n\"]),uniforms:{color:function(t,e){var r=e.color.length?e.color[0]:e.color;return c.slice(4*r,4*r+4).map(function(t){return t/255})},borderColor:function(t,e){var r=e.borderColor.length?e.borderColor[0]:e.borderColor;return c.slice(4*r,4*r+4).map(function(t){return t/255})},pixelRatio:t.context(\"pixelRatio\"),palette:l,paletteSize:function(t,e){return[v,l.height]},scale:t.prop(\"scale\"),scaleFract:t.prop(\"scaleFract\"),translate:t.prop(\"translate\"),translateFract:t.prop(\"translateFract\"),opacity:t.prop(\"opacity\"),marker:t.prop(\"marker\")},attributes:{position:a,positionFract:o,size:y.attributes.size,borderSize:y.attributes.borderSize}}));else{var x=Us({},y);x.frag=E_([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\\n\\nuniform sampler2D marker;\\nuniform float pixelRatio, opacity;\\n\\nfloat smoothStep(float x, float y) {\\n  return 1.0 / (1.0 + exp(50.0*(x - y)));\\n}\\n\\nvoid main() {\\n  float dist = texture2D(marker, gl_PointCoord).r, delta = fragWidth;\\n\\n  //max-distance alpha\\n  if (dist < 0.003) discard;\\n\\n  //null-border case\\n  if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\\n    float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\\n    gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a);\\n    return;\\n  }\\n\\n  float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\\n  float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\\n\\n  vec4 color = fragBorderColor;\\n  color.a *= borderColorAmt;\\n  color = mix(color, fragColor, colorAmt);\\n  color.a *= opacity;\\n\\n  gl_FragColor = color;\\n}\\n\"]),x.vert=E_([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position, positionFract;\\nattribute float size, borderSize;\\nattribute vec2 colorId, borderColorId;\\n\\nuniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\\nuniform float pixelRatio;\\nuniform sampler2D palette;\\n\\nconst float maxSize = 100.;\\nconst float borderLevel = .5;\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragPointSize, fragBorderRadius,\\n\\t\\tfragWidth, fragBorderColorLevel, fragColorLevel;\\n\\nvec2 paletteCoord(float id) {\\n  return vec2(\\n    (mod(id, paletteSize.x) + .5) / paletteSize.x,\\n    (floor(id / paletteSize.x) + .5) / paletteSize.y\\n  );\\n}\\nvec2 paletteCoord(vec2 id) {\\n  return vec2(\\n    (id.x + .5) / paletteSize.x,\\n    (id.y + .5) / paletteSize.y\\n  );\\n}\\n\\nvoid main() {\\n  vec4 color = texture2D(palette, paletteCoord(colorId));\\n  vec4 borderColor = texture2D(palette, paletteCoord(borderColorId));\\n\\n  float size = size * maxSize / 255.;\\n  float borderSize = borderSize * maxSize / 255.;\\n\\n  gl_PointSize = 2. * size * pixelRatio;\\n  fragPointSize = size * pixelRatio;\\n\\n  vec2 pos = (position + translate) * scale\\n      + (positionFract + translateFract) * scale\\n      + (position + translate) * scaleFract\\n      + (positionFract + translateFract) * scaleFract;\\n\\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\\n\\n  fragColor = color;\\n  fragBorderColor = borderColor;\\n  fragWidth = 1. / gl_PointSize;\\n\\n  fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\\n  fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\\n}\\n\"]),r=t(x);var b=Us({},y);b.frag=E_([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor, fragBorderColor;\\n\\nuniform float opacity;\\nvarying float fragBorderRadius, fragWidth;\\n\\nvoid main() {\\n\\tfloat radius, alpha = 1.0, delta = fragWidth;\\n\\n\\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\\n\\n\\tif(radius > 1.0 + delta) {\\n\\t\\tdiscard;\\n\\t\\treturn;\\n\\t}\\n\\n\\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\\n\\n\\tfloat borderRadius = fragBorderRadius;\\n\\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\\n\\tvec4 color = mix(fragColor, fragBorderColor, ratio);\\n\\tcolor.a *= alpha * opacity;\\n\\tgl_FragColor = color;\\n}\\n\"]),b.vert=E_([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position, positionFract;\\nattribute float size, borderSize;\\nattribute vec2 colorId, borderColorId;\\n\\nuniform vec2 scale, scaleFract, translate, translateFract;\\nuniform float pixelRatio;\\nuniform sampler2D palette;\\nuniform vec2 paletteSize;\\n\\nconst float maxSize = 100.;\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragBorderRadius, fragWidth;\\n\\nvec2 paletteCoord(float id) {\\n  return vec2(\\n    (mod(id, paletteSize.x) + .5) / paletteSize.x,\\n    (floor(id / paletteSize.x) + .5) / paletteSize.y\\n  );\\n}\\nvec2 paletteCoord(vec2 id) {\\n  return vec2(\\n    (id.x + .5) / paletteSize.x,\\n    (id.y + .5) / paletteSize.y\\n  );\\n}\\n\\nvoid main() {\\n  vec4 color = texture2D(palette, paletteCoord(colorId));\\n  vec4 borderColor = texture2D(palette, paletteCoord(borderColorId));\\n\\n  float size = size * maxSize / 255.;\\n  float borderSize = borderSize * maxSize / 255.;\\n\\n  gl_PointSize = (size + borderSize) * pixelRatio;\\n\\n  vec2 pos = (position + translate) * scale\\n\\t\\t\\t+ (positionFract + translateFract) * scale\\n\\t\\t\\t+ (position + translate) * scaleFract\\n\\t\\t\\t+ (positionFract + translateFract) * scaleFract;\\n\\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\\n\\n  fragBorderRadius = borderSize == 0. ? 2. : 1. - 2. * borderSize / (size + borderSize);\\n  fragColor = color;\\n  fragBorderColor = borderColor;\\n  fragWidth = 1. / gl_PointSize;\\n}\\n\"]),n=t(b)}function _(t){t?k(t):null===t&&L(),w()}function w(t){if(\"number\"==typeof t)return M(t);Array.isArray(t)?t.forEach(function(t,e){if(null!=t)return t.length?M(t,e):M(t)}):p.forEach(function(t,e){t&&M(e)})}function M(e,i){var a;if(\"number\"==typeof e&&(e=p[e]),Array.isArray(e)&&(a=e,e=p[i]),e&&e.count&&e.opacity){var o;if(a){o=Array(e.count);for(var s=0;s<a.length;s++)o[a[s]]=!0}if(e.markerIds[0]){t._refresh();var l=A(e.markerIds[0],e,o);n(l)}for(var u=[],c=1;c<e.markerIds.length;c++){var h=e.markerIds[c];h&&h.length&&[].push.apply(u,A(h,e,o))}u.length&&(t._refresh(),r(u))}}function A(t,e,r){var n=e.range,i=e.offset;if(!t.snap){var a=r?x(t.data,r):t.elements;return[Us({},e,{elements:a,offset:0,count:r?a.length:t.length,marker:d[t.id]})]}for(var o=[],s=t.lod,l=t.x,u=t.id,c=Math.min((n[2]-n[0])/e.viewport.width,(n[3]-n[1])/e.viewport.height),h=s.length;h--;){var f=s[h];if(!(f.pixelSize&&f.pixelSize<c&&h>1)){var p=f.offset,g=f.count+p,v=fU.ge(l,n[0],p,g-1),m=fU.lt(l,n[2],v,g-1)+1;if(!(m<=v))if(r){var y=x(t.data.subarray(v,m),r);o.push(Us({},e,{elements:y,marker:d[u],offset:0,count:y.length}))}else o.push(Us({},e,{elements:t.elements,marker:d[u],offset:v,count:m-v}))}}function x(t,e){for(var r=[],n=0,a=t.length;n<a;n++){var o=t[n],s=o-i;e[s]&&r.push(o)}return r}return o}function k(e){if(e){null!=e.length?\"number\"==typeof e[0]&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);var r=0,n=0,i=0;_.groups=p=e.map(function(e,a){var o=p[a];return void 0===e?o:(null===e?e={positions:null}:\"function\"==typeof e?e={after:e}:\"number\"==typeof e[0]&&(e={positions:e}),null===(e=MV(e,{positions:\"positions data points\",snap:\"snap cluster\",size:\"sizes size radius\",borderSize:\"borderSizes borderSize stroke-width strokeWidth outline\",color:\"colors color fill fill-color fillColor\",borderColor:\"borderColors borderColor stroke stroke-color strokeColor\",palette:\"palette swatch\",marker:\"markers marker shape\",range:\"range dataBox\",viewport:\"viewport viewBox\",opacity:\"opacity alpha\"})).positions&&(e.positions=[]),o||(p[a]=o={id:a,scale:null,translate:null,scaleFract:null,translateFract:null,markerIds:[]},e=Us({},f,e)),!e.positions||\"marker\"in e||(e.marker=o.marker,delete o.marker),!e.marker||\"positions\"in e||(e.positions=o.positions,delete o.positions),EV(o,e,[{snap:!0,size:function(t){return n+=t.length?1:0,t},borderSize:function(t){return n+=t.length?1:0,t},opacity:parseFloat,color:function(t){return t=E(t),i++,t},borderColor:function(t){return t=E(t),i++,t},positions:function(t,e,n){t=wV(t,\"float64\");var i=e.count=Math.floor(t.length/2),a=e.bounds=i?_V(t,2):null;return n.range||e.range||(delete e.range,n.range=a),e.offset=r,r+=i,n.marker||e.marker||(delete e.marker,n.marker=null),t}},{marker:function(t,e,r){if(e.markerIds.length=0,t&&\"number\"!=typeof t[0])for(var n=0,i=t.length;n<i;n++){var a=S(t[n]);e.markerIds[a]||(e.markerIds[a]=[]),e.markerIds[a].push(n)}else{var o=S(t),s=gV(e.count);e.markerIds[o]=s}return t}},{positions:function(e,r){for(var n=r.markerIds,i=r.snap,a=r.bounds,o=r.offset,s=0;s<n.length;s++){var l=n[s];if(l&&l.length){var u=l.length,c=void 0;if(l.id=s,i&&(!0===i||u>i)){l.snap=!0;var h=l.x=Array(u),f=l.w=Array(u),p=void 0;if(n.length>1){p=Array(2*u);for(var d=0;d<u;d++){var g=l[d];p[2*d]=e[2*g],p[2*d+1]=e[2*g+1]}}else(p=new Float64Array(e.length)).set(e);var v=new Uint32Array(u);l.lod=wU(p,v,f,a),c=new Uint32Array(u);for(var m=0;m<u;m++){var y=v[m],x=l[y];c[m]=x+o,h[m]=e[2*x]}}else{c=new Uint32Array(u);for(var b=0;b<u;b++)c[b]=l[b]+o}l.data=c,l.elements=t.elements({primitive:\"points\",type:\"uint32\",data:c})}}},range:function(t,e,r){var n=e.bounds;if(n)return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=TU(e.scale),e.translateFract=TU(e.translate),t},viewport:function(t){return uU(t||[u.drawingBufferWidth,u.drawingBufferHeight])}}]),o)}),T({point:r,size:n,color:i})}}function T(t){var e=t.point,r=t.size,n=t.color,l=p.reduce(function(t,e,r){return t+(e?e.count:0)},0);if(e){var u=new Float32Array(2*l),c=new Float32Array(2*l);p.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset;n&&(u.set(kU(r),2*i),c.set(TU(r),2*i))}}),a(u),o(c)}if(r){var h=new Uint8Array(2*l);p.forEach(function(t,e){if(t){var r=t.count,n=t.offset,i=t.size,a=t.borderSize;if(r&&(i.length||a.length)){for(var o=new Uint8Array(2*r),s=0;s<r;s++)o[2*s]=Math.round(255*(null==i[s]?i:i[s])/m),o[2*s+1]=Math.round(255*(null==a[s]?a:a[s])/m);h.set(o,2*n)}}}),i(h)}if(n){var f=new Uint16Array(4*l);p.forEach(function(t,e){if(t){var r=t.count,n=t.offset,i=t.color,a=t.borderColor;if(r&&(i.length||a.length)){for(var o=new Uint16Array(4*r),s=0;s<r;s++)null!=i[s]&&(o[4*s]=i[s]%v,o[4*s+1]=Math.floor(i[s]/v)),null!=a[s]&&(o[4*s+2]=a[s]%v,o[4*s+3]=Math.floor(a[s]/v));f.set(o,4*n)}}}),s(f)}}function S(e){var r,n=null==e?0:g.indexOf(e);if(n>=0)return n;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)r=e;else{r=new Uint8Array(e.length);for(var i=0,a=e.length;i<a;i++)r[i]=255*e[i]}var o=Math.floor(Math.sqrt(r.length));return n=d.length,g.push(e),d.push(t.texture({channels:1,data:r,radius:o,mag:\"linear\",min:\"linear\"})),n}function E(t){Array.isArray(t)||(t=[t]);for(var e=[],r=0;r<t.length;r++){var n=t[r];if(\"number\"!=typeof n){n=GC(n,\"uint8\");var i=oU(n,!1);if(null==h[i]){var a=c.length;h[i]=Math.floor(a/4),c[a]=n[0],c[a+1]=n[1],c[a+2]=n[2],c[a+3]=n[3]}e[r]=h[i]}else e[r]=n}return C(c),1===e.length?e[0]:e}function C(t){var e=Math.ceil(.25*t.length/v);if(e>1)for(var r=.25*(t=t.slice()).length%v;r<e*v;r++)t.push(0,0,0,0);l.height<e&&l.resize(v,e),l.subimage({width:Math.min(.25*t.length,v),height:e,data:t},0,0)}function L(){p.length=0,i.destroy(),a.destroy(),o.destroy(),s.destroy(),l.destroy()}return Us(_,{update:k,draw:w,destroy:L,regl:t,gl:u,canvas:u.canvas,groups:p,markers:g,palette:c}),_};var EU=function(t,e){e||(e={});var r,n,i,a,o,s,l,u,c,h,f,p=null==e.cutoff?.25:e.cutoff,d=null==e.radius?8:e.radius,g=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error(\"For raw data width and height should be provided by options\");r=e.width,n=e.height,a=t,s=e.stride?e.stride:Math.floor(t.length/r/n)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(l=(u=t).getContext(\"2d\"),r=u.width,n=u.height,c=l.getImageData(0,0,r,n),a=c.data,s=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(u=t.canvas,l=t,r=u.width,n=u.height,c=l.getImageData(0,0,r,n),a=c.data,s=4):window.ImageData&&t instanceof window.ImageData&&(c=t,r=t.width,n=t.height,a=c.data,s=4);if(i=Math.max(r,n),window.Uint8ClampedArray&&a instanceof window.Uint8ClampedArray||window.Uint8Array&&a instanceof window.Uint8Array)for(o=a,a=Array(r*n),h=0,f=o.length;h<f;h++)a[h]=o[h*s+g]/255;else if(1!==s)throw Error(\"Raw data can have only 1 value per pixel\");var v=Array(r*n),m=Array(r*n),y=Array(i),x=Array(i),b=Array(i+1),_=Array(i);for(h=0,f=r*n;h<f;h++){var w=a[h];v[h]=1===w?0:0===w?CU:Math.pow(Math.max(0,.5-w),2),m[h]=1===w?CU:0===w?0:Math.pow(Math.max(0,w-.5),2)}LU(v,r,n,y,x,_,b),LU(m,r,n,y,x,_,b);var M=window.Float32Array?new Float32Array(r*n):new Array(r*n);for(h=0,f=r*n;h<f;h++)M[h]=FC(1-((v[h]-m[h])/d+p),0,1);return M},CU=1e20;function LU(t,e,r,n,i,a,o){for(var s=0;s<e;s++){for(var l=0;l<r;l++)n[l]=t[l*e+s];for(zU(n,i,a,o,r),l=0;l<r;l++)t[l*e+s]=i[l]}for(l=0;l<r;l++){for(s=0;s<e;s++)n[s]=t[l*e+s];for(zU(n,i,a,o,e),s=0;s<e;s++)t[l*e+s]=Math.sqrt(i[s])}}function zU(t,e,r,n,i){r[0]=0,n[0]=-CU,n[1]=+CU;for(var a=1,o=0;a<i;a++){for(var s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);s<=n[o];)o--,s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);r[++o]=a,n[o]=s,n[o+1]=+CU}for(a=0,o=0;a<i;a++){for(;n[o+1]<a;)o++;e[a]=(a-r[o])*(a-r[o])+t[r[o]]}}var PU=function(t){var e=0,r=0,n=0,i=0;return t.map(function(t){var a=(t=t.slice())[0],o=a.toUpperCase();if(a!=o)switch(t[0]=o,a){case\"a\":t[6]+=n,t[7]+=i;break;case\"v\":t[1]+=i;break;case\"h\":t[1]+=n;break;default:for(var s=1;s<t.length;)t[s++]+=n,t[s++]+=i}switch(o){case\"Z\":n=e,i=r;break;case\"H\":n=t[1];break;case\"V\":i=t[1];break;case\"M\":n=e=t[1],i=r=t[2];break;default:n=t[t.length-2],i=t[t.length-1]}return t})};var IU=Math.PI,DU=jU(120),OU=function(t){for(var e,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,h=0,f=t.length;h<f;h++){var p=t[h],d=p[0];switch(d){case\"M\":a=p[1],o=p[2];break;case\"A\":(p=BU(u,c,p[1],p[2],jU(p[3]),p[4],p[5],p[6],p[7])).unshift(\"C\"),p.length>7&&(r.push(p.splice(0,7)),p.unshift(\"C\"));break;case\"S\":var g=u,v=c;\"C\"!=e&&\"S\"!=e||(g+=g-n,v+=v-i),p=[\"C\",g,v,p[1],p[2],p[3],p[4]];break;case\"T\":\"Q\"==e||\"T\"==e?(s=2*u-s,l=2*c-l):(s=u,l=c),p=FU(u,c,s,l,p[1],p[2]);break;case\"Q\":s=p[1],l=p[2],p=FU(u,c,p[1],p[2],p[3],p[4]);break;case\"L\":p=RU(u,c,p[1],p[2]);break;case\"H\":p=RU(u,c,p[1],c);break;case\"V\":p=RU(u,c,u,p[1]);break;case\"Z\":p=RU(u,c,a,o)}e=d,u=p[p.length-2],c=p[p.length-1],p.length>4?(n=p[p.length-4],i=p[p.length-3]):(n=u,i=c),r.push(p)}return r};function RU(t,e,r,n){return[\"C\",t,e,r,n,r,n]}function FU(t,e,r,n,i,a){return[\"C\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function BU(t,e,r,n,i,a,o,s,l,u){if(u)x=u[0],b=u[1],m=u[2],y=u[3];else{var c=NU(t,e,-i);t=c.x,e=c.y;var h=(t-(s=(c=NU(s,l,-i)).x))/2,f=(e-(l=c.y))/2,p=h*h/(r*r)+f*f/(n*n);p>1&&(r*=p=Math.sqrt(p),n*=p);var d=r*r,g=n*n,v=(a==o?-1:1)*Math.sqrt(Math.abs((d*g-d*f*f-g*h*h)/(d*f*f+g*h*h)));v==1/0&&(v=1);var m=v*r*f/n+(t+s)/2,y=v*-n*h/r+(e+l)/2,x=Math.asin(((e-y)/n).toFixed(9)),b=Math.asin(((l-y)/n).toFixed(9));x=t<m?IU-x:x,b=s<m?IU-b:b,x<0&&(x=2*IU+x),b<0&&(b=2*IU+b),o&&x>b&&(x-=2*IU),!o&&b>x&&(b-=2*IU)}if(Math.abs(b-x)>DU){var _=b,w=s,M=l;b=x+DU*(o&&b>x?1:-1);var A=BU(s=m+r*Math.cos(b),l=y+n*Math.sin(b),r,n,i,0,o,w,M,[b,_,m,y])}var k=Math.tan((b-x)/4),T=4/3*r*k,S=4/3*n*k,E=[2*t-(t+T*Math.sin(x)),2*e-(e-S*Math.cos(x)),s+T*Math.sin(b),l-S*Math.cos(b),s,l];if(u)return E;A&&(E=E.concat(A));for(var C=0;C<E.length;){var L=NU(E[C],E[C+1],i);E[C++]=L.x,E[C++]=L.y}return E}function NU(t,e,r){return{x:t*Math.cos(r)-e*Math.sin(r),y:t*Math.sin(r)+e*Math.cos(r)}}function jU(t){return t*(IU/180)}var VU={M:\"moveTo\",C:\"bezierCurveTo\"},UU=function(t,e){t.beginPath(),OU(PU(e)).forEach(function(e){var r=e[0],n=e.slice(1);t[VU[r]].apply(t,n)}),t.closePath()},qU=function(t){return\"string\"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\\dz]$/i.test(t)&&t.length>4))},HU=function(t){var e=[];return t.replace(WU,function(t,r,n){var i=r.toLowerCase();for(n=function(t){var e=t.match(YU);return e?e.map(Number):[]}(n),\"m\"==i&&n.length>2&&(e.push([r].concat(n.splice(0,2))),i=\"l\",r=\"m\"==r?\"l\":\"L\");;){if(n.length==GU[i])return n.unshift(r),e.push(n);if(n.length<GU[i])throw new Error(\"malformed path data\");e.push([r].concat(n.splice(0,GU[i])))}}),e},GU={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},WU=/([astvzqmhlc])([^astvzqmhlc]*)/gi;var YU=/-?[0-9]*\\.?[0-9]+(?:e[-+]?\\d+)?/gi;var XU={};XU=\"function\"==typeof Object.create?function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t};var ZU=function(t){return t&&\"object\"==typeof t&&\"function\"==typeof t.copy&&\"function\"==typeof t.fill&&\"function\"==typeof t.readUInt8},JU={};(function(t,e){var r=/%[sdj%]/g;JU.format=function(t){if(!g(t)){for(var e=[],n=0;n<arguments.length;n++)e.push(a(arguments[n]));return e.join(\" \")}n=1;for(var i=arguments,o=i.length,s=String(t).replace(r,function(t){if(\"%%\"===t)return\"%\";if(n>=o)return t;switch(t){case\"%s\":return String(i[n++]);case\"%d\":return Number(i[n++]);case\"%j\":try{return JSON.stringify(i[n++])}catch(t){return\"[Circular]\"}default:return t}}),l=i[n];n<o;l=i[++n])p(l)||!y(l)?s+=\" \"+l:s+=\" \"+a(l);return s},JU.deprecate=function(r,n){if(v(e.process))return function(){return JU.deprecate(r,n).apply(this,arguments)};if(!0===t.noDeprecation)return r;var i=!1;return function(){if(!i){if(t.throwDeprecation)throw new Error(n);t.traceDeprecation?console.trace(n):console.error(n),i=!0}return r.apply(this,arguments)}};var n,i={};function a(t,e){var r={seen:[],stylize:s};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),f(e)?r.showHidden=e:e&&JU._extend(r,e),v(r.showHidden)&&(r.showHidden=!1),v(r.depth)&&(r.depth=2),v(r.colors)&&(r.colors=!1),v(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=o),l(r,t,r.depth)}function o(t,e){var r=a.styles[e];return r?\"\\x1b[\"+a.colors[r][0]+\"m\"+t+\"\\x1b[\"+a.colors[r][1]+\"m\":t}function s(t,e){return t}function l(t,e,r){if(t.customInspect&&e&&_(e.inspect)&&e.inspect!==JU.inspect&&(!e.constructor||e.constructor.prototype!==e)){var n=e.inspect(r,t);return g(n)||(n=l(t,n,r)),n}var i=function(t,e){if(v(e))return t.stylize(\"undefined\",\"undefined\");if(g(e)){var r=\"'\"+JSON.stringify(e).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return t.stylize(r,\"string\")}if(d(e))return t.stylize(\"\"+e,\"number\");if(f(e))return t.stylize(\"\"+e,\"boolean\");if(p(e))return t.stylize(\"null\",\"null\")}(t,e);if(i)return i;var a=Object.keys(e),o=function(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(e)),b(e)&&(a.indexOf(\"message\")>=0||a.indexOf(\"description\")>=0))return u(e);if(0===a.length){if(_(e)){var s=e.name?\": \"+e.name:\"\";return t.stylize(\"[Function\"+s+\"]\",\"special\")}if(m(e))return t.stylize(RegExp.prototype.toString.call(e),\"regexp\");if(x(e))return t.stylize(Date.prototype.toString.call(e),\"date\");if(b(e))return u(e)}var y,w=\"\",M=!1,A=[\"{\",\"}\"];(h(e)&&(M=!0,A=[\"[\",\"]\"]),_(e))&&(w=\" [Function\"+(e.name?\": \"+e.name:\"\")+\"]\");return m(e)&&(w=\" \"+RegExp.prototype.toString.call(e)),x(e)&&(w=\" \"+Date.prototype.toUTCString.call(e)),b(e)&&(w=\" \"+u(e)),0!==a.length||M&&0!=e.length?r<0?m(e)?t.stylize(RegExp.prototype.toString.call(e),\"regexp\"):t.stylize(\"[Object]\",\"special\"):(t.seen.push(e),y=M?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o<s;++o)k(e,String(o))?a.push(c(t,e,r,n,String(o),!0)):a.push(\"\");return i.forEach(function(i){i.match(/^\\d+$/)||a.push(c(t,e,r,n,i,!0))}),a}(t,e,r,o,a):a.map(function(n){return c(t,e,r,o,n,M)}),t.seen.pop(),function(t,e,r){if(t.reduce(function(t,e){return 0,e.indexOf(\"\\n\")>=0&&0,t+e.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0)>60)return r[0]+(\"\"===e?\"\":e+\"\\n \")+\" \"+t.join(\",\\n  \")+\" \"+r[1];return r[0]+e+\" \"+t.join(\", \")+\" \"+r[1]}(y,w,A)):A[0]+w+A[1]}function u(t){return\"[\"+Error.prototype.toString.call(t)+\"]\"}function c(t,e,r,n,i,a){var o,s,u;if((u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=u.set?t.stylize(\"[Getter/Setter]\",\"special\"):t.stylize(\"[Getter]\",\"special\"):u.set&&(s=t.stylize(\"[Setter]\",\"special\")),k(n,i)||(o=\"[\"+i+\"]\"),s||(t.seen.indexOf(u.value)<0?(s=p(r)?l(t,u.value,null):l(t,u.value,r-1)).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\")),v(o)){if(a&&i.match(/^\\d+$/))return s;(o=JSON.stringify(\"\"+i)).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 h(t){return Array.isArray(t)}function f(t){return\"boolean\"==typeof t}function p(t){return null===t}function d(t){return\"number\"==typeof t}function g(t){return\"string\"==typeof t}function v(t){return void 0===t}function m(t){return y(t)&&\"[object RegExp]\"===w(t)}function y(t){return\"object\"==typeof t&&null!==t}function x(t){return y(t)&&\"[object Date]\"===w(t)}function b(t){return y(t)&&(\"[object Error]\"===w(t)||t instanceof Error)}function _(t){return\"function\"==typeof t}function w(t){return Object.prototype.toString.call(t)}function M(t){return t<10?\"0\"+t.toString(10):t.toString(10)}JU.debuglog=function(e){if(v(n)&&(n=t.env.NODE_DEBUG||\"\"),e=e.toUpperCase(),!i[e])if(new RegExp(\"\\\\b\"+e+\"\\\\b\",\"i\").test(n)){var r=t.pid;i[e]=function(){var t=JU.format.apply(JU,arguments);console.error(\"%s %d: %s\",e,r,t)}}else i[e]=function(){};return i[e]},JU.inspect=a,a.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]},a.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},JU.isArray=h,JU.isBoolean=f,JU.isNull=p,JU.isNullOrUndefined=function(t){return null==t},JU.isNumber=d,JU.isString=g,JU.isSymbol=function(t){return\"symbol\"==typeof t},JU.isUndefined=v,JU.isRegExp=m,JU.isObject=y,JU.isDate=x,JU.isError=b,JU.isFunction=_,JU.isPrimitive=function(t){return null===t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||\"symbol\"==typeof t||void 0===t},JU.isBuffer=ZU;var A=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function k(t,e){return Object.prototype.hasOwnProperty.call(t,e)}JU.log=function(){var t,e;console.log(\"%s - %s\",(t=new Date,e=[M(t.getHours()),M(t.getMinutes()),M(t.getSeconds())].join(\":\"),[t.getDate(),A[t.getMonth()],e].join(\" \")),JU.format.apply(JU,arguments))},JU.inherits=XU,JU._extend=function(t,e){if(!e||!y(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,Pp,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{});var KU={};(function(t){\"use strict\";function e(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 r(e){return t.Buffer&&\"function\"==typeof t.Buffer.isBuffer?t.Buffer.isBuffer(e):!(null==e||!e._isBuffer)}var n=Object.prototype.hasOwnProperty,i=Array.prototype.slice,a=\"foo\"===function(){}.name;function o(t){return Object.prototype.toString.call(t)}function s(e){return!r(e)&&(\"function\"==typeof t.ArrayBuffer&&(\"function\"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):!!e&&(e instanceof DataView||!!(e.buffer&&e.buffer instanceof ArrayBuffer))))}var l=KU=d,u=/\\s*function\\s+([^\\(\\s]*)\\s*/;function c(t){if(JU.isFunction(t)){if(a)return t.name;var e=t.toString().match(u);return e&&e[1]}}function h(t,e){return\"string\"==typeof t?t.length<e?t:t.slice(0,e):t}function f(t){if(a||!JU.isFunction(t))return JU.inspect(t);var e=c(t);return\"[Function\"+(e?\": \"+e:\"\")+\"]\"}function p(t,e,r,n,i){throw new l.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function d(t,e){t||p(t,!0,e,\"==\",l.ok)}function g(t,n,a,l){if(t===n)return!0;if(r(t)&&r(n))return 0===e(t,n);if(JU.isDate(t)&&JU.isDate(n))return t.getTime()===n.getTime();if(JU.isRegExp(t)&&JU.isRegExp(n))return t.source===n.source&&t.global===n.global&&t.multiline===n.multiline&&t.lastIndex===n.lastIndex&&t.ignoreCase===n.ignoreCase;if(null!==t&&\"object\"==typeof t||null!==n&&\"object\"==typeof n){if(s(t)&&s(n)&&o(t)===o(n)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===e(new Uint8Array(t.buffer),new Uint8Array(n.buffer));if(r(t)!==r(n))return!1;var u=(l=l||{actual:[],expected:[]}).actual.indexOf(t);return-1!==u&&u===l.expected.indexOf(n)||(l.actual.push(t),l.expected.push(n),function(t,e,r,n){if(null===t||void 0===t||null===e||void 0===e)return!1;if(JU.isPrimitive(t)||JU.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var a=v(t),o=v(e);if(a&&!o||!a&&o)return!1;if(a)return t=i.call(t),e=i.call(e),g(t,e,r);var s,l,u=x(t),c=x(e);if(u.length!==c.length)return!1;for(u.sort(),c.sort(),l=u.length-1;l>=0;l--)if(u[l]!==c[l])return!1;for(l=u.length-1;l>=0;l--)if(s=u[l],!g(t[s],e[s],r,n))return!1;return!0}(t,n,a,l))}return a?t===n:t==n}function v(t){return\"[object Arguments]\"==Object.prototype.toString.call(t)}function m(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)&&!0===e.call({},t)}function y(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=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?\" (\"+r.name+\").\":\".\")+(n?\" \"+n:\".\"),t&&!i&&p(i,r,\"Missing expected exception\"+n);var a=\"string\"==typeof n,o=!t&&JU.isError(i),s=!t&&i&&!r;if((o&&a&&m(i,r)||s)&&p(i,r,\"Got unwanted exception\"+n),t&&i&&r&&!m(i,r)||!t&&i)throw i}l.AssertionError=function(t){var e;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=h(f((e=this).actual),128)+\" \"+e.operator+\" \"+h(f(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||p;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var i=n.stack,a=c(r),o=i.indexOf(\"\\n\"+a);if(o>=0){var s=i.indexOf(\"\\n\",o+1);i=i.substring(s+1)}this.stack=i}}},JU.inherits(l.AssertionError,Error),l.fail=p,l.ok=d,l.equal=function(t,e,r){t!=e&&p(t,e,r,\"==\",l.equal)},l.notEqual=function(t,e,r){t==e&&p(t,e,r,\"!=\",l.notEqual)},l.deepEqual=function(t,e,r){g(t,e,!1)||p(t,e,r,\"deepEqual\",l.deepEqual)},l.deepStrictEqual=function(t,e,r){g(t,e,!0)||p(t,e,r,\"deepStrictEqual\",l.deepStrictEqual)},l.notDeepEqual=function(t,e,r){g(t,e,!1)&&p(t,e,r,\"notDeepEqual\",l.notDeepEqual)},l.notDeepStrictEqual=function t(e,r,n){g(e,r,!0)&&p(e,r,n,\"notDeepStrictEqual\",t)},l.strictEqual=function(t,e,r){t!==e&&p(t,e,r,\"===\",l.strictEqual)},l.notStrictEqual=function(t,e,r){t===e&&p(t,e,r,\"!==\",l.notStrictEqual)},l.throws=function(t,e,r){y(!0,t,e,r)},l.doesNotThrow=function(t,e,r){y(!1,t,e,r)},l.ifError=function(t){if(t)throw t};var x=Object.keys||function(t){var e=[];for(var r in t)n.call(t,r)&&e.push(r);return e}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{});var QU={};Object.defineProperty(QU,\"__esModule\",{value:!0});var $U=function(){return function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),tq=2*Math.PI,eq=function(t,e,r,n,i,a,o){var s=t.x,l=t.y;return{x:n*(s*=e)-i*(l*=r)+a,y:i*s+n*l+o}},rq=function(t,e){var r=4/3*Math.tan(e/4),n=Math.cos(t),i=Math.sin(t),a=Math.cos(t+e),o=Math.sin(t+e);return[{x:n-i*r,y:i+n*r},{x:a+o*r,y:o-a*r},{x:a,y:o}]},nq=function(t,e,r,n){var i=t*n-e*r<0?-1:1,a=(t*r+e*n)/(Math.sqrt(t*t+e*e)*Math.sqrt(t*t+e*e));return a>1&&(a=1),a<-1&&(a=-1),i*Math.acos(a)};QU.default=function(t){var e=t.px,r=t.py,n=t.cx,i=t.cy,a=t.rx,o=t.ry,s=t.xAxisRotation,l=void 0===s?0:s,u=t.largeArcFlag,c=void 0===u?0:u,h=t.sweepFlag,f=void 0===h?0:h,p=[];if(0===a||0===o)return[];var d=Math.sin(l*tq/360),g=Math.cos(l*tq/360),v=g*(e-n)/2+d*(r-i)/2,m=-d*(e-n)/2+g*(r-i)/2;if(0===v&&0===m)return[];a=Math.abs(a),o=Math.abs(o);var y=Math.pow(v,2)/Math.pow(a,2)+Math.pow(m,2)/Math.pow(o,2);y>1&&(a*=Math.sqrt(y),o*=Math.sqrt(y));var x=function(t,e,r,n,i,a,o,s,l,u,c,h){var f=Math.pow(i,2),p=Math.pow(a,2),d=Math.pow(c,2),g=Math.pow(h,2),v=f*p-f*g-p*d;v<0&&(v=0),v/=f*g+p*d;var m=(v=Math.sqrt(v)*(o===s?-1:1))*i/a*h,y=v*-a/i*c,x=u*m-l*y+(t+r)/2,b=l*m+u*y+(e+n)/2,_=(c-m)/i,w=(h-y)/a,M=(-c-m)/i,A=(-h-y)/a,k=nq(1,0,_,w),T=nq(_,w,M,A);return 0===s&&T>0&&(T-=tq),1===s&&T<0&&(T+=tq),[x,b,k,T]}(e,r,n,i,a,o,c,f,d,g,v,m),b=$U(x,4),_=b[0],w=b[1],M=b[2],A=b[3],k=Math.max(Math.ceil(Math.abs(A)/(tq/4)),1);A/=k;for(var T=0;T<k;T++)p.push(rq(M,A)),M+=A;return p.map(function(t){var e=eq(t[0],a,o,g,d,_,w),r=e.x,n=e.y,i=eq(t[1],a,o,g,d,_,w),s=i.x,l=i.y,u=eq(t[2],a,o,g,d,_,w);return{x1:r,y1:n,x2:s,y2:l,x:u.x,y:u.y}})},QU=QU.default;var iq=function(t){for(var e,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,h=0,f=t.length;h<f;h++){var p=t[h],d=p[0];switch(d){case\"M\":a=p[1],o=p[2];break;case\"A\":var g=QU({px:u,py:c,cx:p[6],cy:p[7],rx:p[1],ry:p[2],xAxisRotation:p[3],largeArcFlag:p[4],sweepFlag:p[5]});if(!g.length)continue;for(var v,m=0;m<g.length;m++)v=g[m],p=[\"C\",v.x1,v.y1,v.x2,v.y2,v.x,v.y],m<g.length-1&&r.push(p);break;case\"S\":var y=u,x=c;\"C\"!=e&&\"S\"!=e||(y+=y-n,x+=x-i),p=[\"C\",y,x,p[1],p[2],p[3],p[4]];break;case\"T\":\"Q\"==e||\"T\"==e?(s=2*u-s,l=2*c-l):(s=u,l=c),p=oq(u,c,s,l,p[1],p[2]);break;case\"Q\":s=p[1],l=p[2],p=oq(u,c,p[1],p[2],p[3],p[4]);break;case\"L\":p=aq(u,c,p[1],p[2]);break;case\"H\":p=aq(u,c,p[1],c);break;case\"V\":p=aq(u,c,u,p[1]);break;case\"Z\":p=aq(u,c,a,o)}e=d,u=p[p.length-2],c=p[p.length-1],p.length>4?(n=p[p.length-4],i=p[p.length-3]):(n=u,i=c),r.push(p)}return r};function aq(t,e,r,n){return[\"C\",t,e,r,n,r,n]}function oq(t,e,r,n,i,a){return[\"C\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}var sq=function(t){Array.isArray(t)&&1===t.length&&\"string\"==typeof t[0]&&(t=t[0]);\"string\"==typeof t&&(KU(qU(t),\"String is not an SVG path.\"),t=HU(t));if(KU(Array.isArray(t),\"Argument should be a string or an array of path segments.\"),t=PU(t),!(t=iq(t)).length)return[0,0,0,0];for(var e=[1/0,1/0,-1/0,-1/0],r=0,n=t.length;r<n;r++)for(var i=t[r].slice(1),a=0;a<i.length;a+=2)i[a+0]<e[0]&&(e[0]=i[a+0]),i[a+1]<e[1]&&(e[1]=i[a+1]),i[a+0]>e[2]&&(e[2]=i[a+0]),i[a+1]>e[3]&&(e[3]=i[a+1]);return e};var lq={};(function(t){\"use strict\";var e=document.createElement(\"canvas\"),r=e.getContext(\"2d\");lq=function(n,i){if(!qU(n))throw Error(\"Argument should be valid svg path string\");i||(i={});var a,o;i.shape?(a=i.shape[0],o=i.shape[1]):(a=e.width=i.w||i.width||200,o=e.height=i.h||i.height||200);var s=Math.min(a,o),l=i.stroke||0,u=i.viewbox||i.viewBox||sq(n),c=[a/(u[2]-u[0]),o/(u[3]-u[1])],h=Math.min(c[0]||0,c[1]||0)/2;r.fillStyle=\"black\",r.fillRect(0,0,a,o),r.fillStyle=\"white\",l&&(\"number\"!=typeof l&&(l=1),r.strokeStyle=l>0?\"white\":\"black\",r.lineWidth=Math.abs(l));if(r.translate(.5*a,.5*o),r.scale(h,h),t.Path2D){var f=new Path2D(n);r.fill(f),l&&r.stroke(f)}else{var p=HU(n);UU(r,p),r.fill(),l&&r.stroke()}return r.setTransform(1,0,0,1,0,0),EU(r,{cutoff:null!=i.cutoff?i.cutoff:.5,radius:null!=i.radius?i.radius:.5*s})}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{});var uq={solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]},cq={},hq=m.extendFlat,fq=ye.overrideAll,pq=Zr.line,dq=Zr.marker,gq=dq.line,vq=cq=fq({x:Zr.x,x0:Zr.x0,dx:Zr.dx,y:Zr.y,y0:Zr.y0,dy:Zr.dy,text:hq({},Zr.text,{}),mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\"],extras:[\"none\"]},line:{color:pq.color,width:pq.width,dash:{valType:\"enumerated\",values:Object.keys(uq),dflt:\"solid\"}},marker:hq({},De(),{symbol:dq.symbol,size:dq.size,sizeref:dq.sizeref,sizemin:dq.sizemin,sizemode:dq.sizemode,opacity:dq.opacity,showscale:dq.showscale,colorbar:dq.colorbar,line:hq({},De(),{width:gq.width})}),connectgaps:Zr.connectgaps,fill:Zr.fill,fillcolor:Zr.fillcolor,hoveron:Zr.hoveron,selected:{marker:Zr.selected.marker},unselected:{marker:Zr.unselected.marker},opacity:E.opacity},\"calc\",\"nested\");vq.x.editType=vq.y.editType=vq.x0.editType=vq.y0.editType=\"calc+clearAxisTypes\";var mq=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,cq,r,n)}var a=!!t.marker&&/-open/.test(t.marker.symbol),o=Tr.isBubble(t),s=Ta(t,e,n,i);if(s){i(\"text\"),i(\"mode\",s<Wr.PTS_LINESONLY?\"lines+markers\":\"lines\"),Tr.hasLines(e)&&(i(\"connectgaps\"),px(t,e,r,n,i));var l=[];Tr.hasMarkers(e)&&(gx(t,e,r,n,i),i(\"marker.line.width\",a||o?1:0),l.push(\"points\")),i(\"fill\"),\"none\"!==e.fill&&hx(0,e,r,i),\"tonext\"!==e.fill&&\"toself\"!==e.fill||l.push(\"fills\"),i(\"hoveron\",l.join(\"+\")||\"points\");var u=P.getComponentMethod(\"errorbars\",\"supplyDefaults\");u(t,e,r,{axis:\"y\"}),u(t,e,r,{axis:\"x\",inherit:\"y\"}),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},yq={};(function(e){\"use strict\";var r=sx,n=lx,i=t.BADNUM,a=200,o=20,s=o/20,l={},u=Sr.symbolFuncs[0](.05*o),c=1e5,h=/-dot/,f=/-open/;function p(t,e,r,n){var i,a,o,s,l,u,h,p,d,v,m,y,x,b,_=t._fullLayout,w=n.length/2,M=r.marker;if(!0!==r.visible?(a=!1,o=!1,s=!1,l=!1,u=!1):(a=Tr.hasLines(r)&&n.length>1,o=r.error_x&&!0===r.error_x.visible,s=r.error_y&&!0===r.error_y.visible,l=Tr.hasMarkers(r),u=!!r.fill&&\"none\"!==r.fill),o||s){var A=P.getComponentMethod(\"errorbars\",\"calcFromTrace\")(r,_);o&&(v=C(\"x\",r.error_x,A)),s&&(m=C(\"y\",r.error_y,A))}if(a){(h={}).thickness=r.line.width,h.color=r.line.color,h.opacity=r.opacity,h.overlay=!0;var k=(uq[r.line.dash]||[1]).slice();for(i=0;i<k.length;++i)k[i]*=h.thickness;if(h.dashes=k,\"hv\"===r.line.shape){for(b=[],i=0;i<Math.floor(n.length/2)-1;i++)isNaN(n[2*i])||isNaN(n[2*i+1])?(b.push(NaN),b.push(NaN),b.push(NaN),b.push(NaN)):(b.push(n[2*i]),b.push(n[2*i+1]),b.push(n[2*i+2]),b.push(n[2*i+1]));b.push(n[n.length-2]),b.push(n[n.length-1])}else if(\"vh\"===r.line.shape){for(b=[],i=0;i<Math.floor(n.length/2)-1;i++)isNaN(n[2*i])||isNaN(n[2*i+1])?(b.push(NaN),b.push(NaN),b.push(NaN),b.push(NaN)):(b.push(n[2*i]),b.push(n[2*i+1]),b.push(n[2*i]),b.push(n[2*i+3]));b.push(n[n.length-2]),b.push(n[n.length-1])}else b=n;var T=!1;for(i=0;i<b.length;i++)if(isNaN(b[i])){T=!0;break}if(h.join=T||b.length>c?\"rect\":l?\"rect\":\"round\",T&&r.connectgaps){var S=b[0],E=b[1];for(i=0;i<b.length;i+=2)isNaN(b[i])||isNaN(b[i+1])?(b[i]=S,b[i+1]=E):(S=b[i],E=b[i+1])}h.positions=b}function C(e,i,a){var o={};o.positions=n;for(var s=gn.getFromId(t,r[e+\"axis\"]),l=o.errors=new Float64Array(4*w),u={x:0,y:1}[e],c={x:[0,1,2,3],y:[2,3,0,1]}[e],h=0,f=0;h<w;h++,f+=4)l[f+c[0]]=n[2*h+u]-s.d2l(a[h][e+\"s\"])||0,l[f+c[1]]=s.d2l(a[h][e+\"h\"])-n[2*h+u]||0,l[f+c[2]]=0,l[f+c[3]]=0;return i.copy_ystyle&&(i=r.error_y),o.capSize=2*i.width,o.lineWidth=i.thickness,o.color=i.color,o}function L(t,e){var r={};return t?(t.marker&&t.marker.symbol?r=z(ne.extendFlat({},e,t.marker)):(r={},t.marker.size&&(r.sizes=t.marker.size),t.marker.color&&(r.colors=t.marker.color),void 0!==t.marker.opacity&&(r.opacity=t.marker.opacity)),r):r}function z(t){var e,n,i={},a=Array.isArray(t.symbol),o=ne.isArrayOrTypedArray(t.color),s=ne.isArrayOrTypedArray(t.line.color),l=ne.isArrayOrTypedArray(t.opacity),u=ne.isArrayOrTypedArray(t.size),c=ne.isArrayOrTypedArray(t.line.width);if(a||(n=f.test(t.symbol)),a||o||s||l){i.colors=new Array(w),i.borderColors=new Array(w);var h=Dj(t,t.opacity,w),p=Dj(t.line,t.opacity,w);if(!Array.isArray(p[0])){var d=p;for(p=Array(w),e=0;e<w;e++)p[e]=d}if(!Array.isArray(h[0])){var v=h;for(h=Array(w),e=0;e<w;e++)h[e]=v}for(i.colors=h,i.borderColors=p,e=0;e<w;e++){if(a){var m=t.symbol[e];n=f.test(m)}n&&(p[e]=h[e].slice(),h[e]=h[e].slice(),h[e][3]=0)}i.opacity=r.opacity}else n?(i.color=GC(t.color,\"uint8\"),i.color[3]=0,i.borderColor=GC(t.color,\"uint8\")):(i.color=GC(t.color,\"uint8\"),i.borderColor=GC(t.line.color,\"uint8\")),i.opacity=r.opacity*t.opacity;if(a)for(i.markers=new Array(w),e=0;e<w;e++)i.markers[e]=g(t.symbol[e]);else i.marker=g(t.symbol);var y,x=kr(r);if(u||c){var b,_=i.sizes=new Array(w),M=i.borderSizes=new Array(w),A=0;if(u){for(e=0;e<w;e++)_[e]=x(t.size[e]),A+=_[e];b=A/w}else for(y=x(t.size),e=0;e<w;e++)_[e]=y;if(c)for(e=0;e<w;e++)M[e]=x(t.line.width[e]);else for(y=x(t.line.width),e=0;e<w;e++)M[e]=y;i.sizeAvg=b}else i.size=x(t&&t.size||10),i.borderSizes=x(t.line.width);return i}return u&&((d={}).fill=r.fillcolor,d.thickness=0,d.closed=!0),l&&(p=z(M),y=L(r.selected,M),x=L(r.unselected,M),p.positions=n),{line:h,marker:p,errorX:v,errorY:m,fill:d,selected:y,unselected:x}}function d(t,e){var r=e._scene,n=t._fullLayout,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],selectedOptions:[],unselectedOptions:[],errorXOptions:[],errorYOptions:[]};return e._scene||((r=e._scene=ne.extendFlat({},i,{selectBatch:null,unselectBatch:null,fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,select2d:null})).update=function(t){for(var e=new Array(r.count),n=0;n<r.count;n++)e[n]=t;r.fill2d&&r.fill2d.update(e),r.scatter2d&&r.scatter2d.update(e),r.line2d&&r.line2d.update(e),r.error2d&&r.error2d.update(e.concat(e)),r.select2d&&r.select2d.update(e),r.draw()},r.draw=function(){var t;for(t=0;t<r.count;t++)r.fill2d&&r.fillOptions[t]&&r.fill2d.draw(t);for(t=0;t<r.count;t++)r.line2d&&r.lineOptions[t]&&r.line2d.draw(t),r.error2d&&r.errorXOptions[t]&&r.error2d.draw(t),r.error2d&&r.errorYOptions[t]&&r.error2d.draw(t+r.count),!r.scatter2d||!r.markerOptions[t]||r.selectBatch&&r.selectBatch[t]||r.scatter2d.draw(t);r.scatter2d&&r.select2d&&r.selectBatch&&(r.select2d.draw(r.selectBatch),r.scatter2d.draw(r.unselectBatch)),r.dirty=!1},r.clear=function(){var t,i,a=n._size,o=n.width,s=n.height,l=e.xaxis,u=e.yaxis;t=l&&l.domain&&u&&u.domain?[a.l+l.domain[0]*a.w,a.b+u.domain[0]*a.h,o-a.r-(1-l.domain[1])*a.w,s-a.t-(1-u.domain[1])*a.h]:[a.l,a.b,o-a.r,s-a.t],r.select2d&&((i=r.select2d.regl._gl).enable(i.SCISSOR_TEST),i.scissor(t[0],t[1],t[2]-t[0],t[3]-t[1]),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT)),r.scatter2d&&((i=r.scatter2d.regl._gl).enable(i.SCISSOR_TEST),i.scissor(t[0],t[1],t[2]-t[0],t[3]-t[1]),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT))},r.clearSelect=function(){r.selectBatch&&(r.selectBatch=null,r.unselectBatch=null,r.scatter2d.update(r.markerOptions),r.clear(),r.draw())},r.destroy=function(){r.fill2d&&r.fill2d.destroy(),r.scatter2d&&r.scatter2d.destroy(),r.error2d&&r.error2d.destroy(),r.line2d&&r.line2d.destroy(),r.select2d&&r.select2d.destroy(),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.selectedOptions=null,r.unselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||ne.extendFlat(r,i),r}function g(t){if(\"circle\"===t)return null;var e,r,n=Sr.symbolNumber(t),i=Sr.symbolFuncs[n%100],c=!!Sr.symbolNoDot[n%100],f=!!Sr.symbolNoFill[n%100],p=h.test(t);return l[t]?l[t]:(e=p&&!c?i(1.1*o)+u:i(o),r=lq(e,{w:a,h:a,viewBox:[-o,-o,o,o],stroke:f?s:-s}),l[t]=r,r||null)}yq={moduleType:\"trace\",name:\"scattergl\",basePlotModule:ua,categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"errorBarsOK\",\"markerColorscale\",\"showLegend\",\"scatter-like\"],attributes:cq,supplyDefaults:mq,cleanData:ux,colorbar:is,calc:function(t,e){var a,o,s,l=t._fullLayout,u=gn.getFromId(t,e.xaxis),h=gn.getFromId(t,e.yaxis),f=l._plots[e.xaxis+e.yaxis],g=e._length,v=2*g,m={},y=u.makeCalcdata(e,\"x\"),x=h.makeCalcdata(e,\"y\"),b=new Array(v);for(a=0;a<g;a++)o=y[a],s=x[a],b[2*a]=o===i?NaN:o,b[2*a+1]=s===i?NaN:s;if(\"log\"===u.type)for(a=0;a<v;a+=2)b[a]=u.c2l(b[a]);if(\"log\"===h.type)for(a=1;a<v;a+=2)b[a]=h.c2l(b[a]);if(\"log\"!==u.type&&\"log\"!==h.type)m.tree=vV(b,512);else{var _=m.ids=new Array(g);for(a=0;a<g;a++)_[a]=a}ex(e);var w,M=p(t,0,e,b),A=M.marker,k=d(t,f);return g<c?w=r(e,g):A&&(w=2*(A.sizeAvg||Math.max(A.size,3))),n(t,e,u,h,y,x,w),M.fill&&!k.fill2d&&(k.fill2d=!0),M.marker&&!k.scatter2d&&(k.scatter2d=!0),M.line&&!k.line2d&&(k.line2d=!0),!M.errorX&&!M.errorY||k.error2d||(k.error2d=!0),k.lineOptions.push(M.line),k.errorXOptions.push(M.errorX),k.errorYOptions.push(M.errorY),k.fillOptions.push(M.fill),k.markerOptions.push(M.marker),k.selectedOptions.push(M.selected),k.unselectedOptions.push(M.unselected),k.count++,m.scene=k,m.index=k.count-1,m.x=y,m.y=x,m.positions=b,m.count=g,t.firstscatter=!1,[{x:!1,y:!1,t:m,trace:e}]},plot:function(t,r,n){if(n.length){var i=t._fullLayout,a=n[0][0].t.scene,o=i.dragmode;if(a){var s=i._size,l=i.width,u=i.height;i._glcanvas.each(function(r){r.regl||r.pick||(r.regl=YR({canvas:this,attributes:{antialias:!r.pick,preserveDrawingBuffer:!0},extensions:[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],pixelRatio:t._context.plotGlPixelRatio||e.devicePixelRatio}))});var c=i._glcanvas.data()[0].regl;if(Mx(t,r,n),a.dirty){if(!0===a.error2d&&(a.error2d=zV(c)),!0===a.line2d&&(a.line2d=iU(c)),!0===a.scatter2d&&(a.scatter2d=SU(c)),!0===a.fill2d&&(a.fill2d=iU(c)),a.line2d&&a.line2d.update(a.lineOptions),a.error2d){var h=(a.errorXOptions||[]).concat(a.errorYOptions||[]);a.error2d.update(h)}a.scatter2d&&a.scatter2d.update(a.markerOptions),a.fill2d&&(a.fillOptions=a.fillOptions.map(function(t,e){var r=n[e];if(!(t&&r&&r[0]&&r[0].trace))return null;var i,o,s=r[0],l=s.trace,u=s.t,c=a.lineOptions[e],h=[],f=c&&c.positions||u.positions;if(\"tozeroy\"===l.fill)(h=(h=[f[0],0]).concat(f)).push(f[f.length-2]),h.push(0);else if(\"tozerox\"===l.fill)(h=(h=[0,f[1]]).concat(f)).push(0),h.push(f[f.length-1]);else if(\"toself\"===l.fill||\"tonext\"===l.fill){for(h=[],i=0,o=0;o<f.length;o+=2)(isNaN(f[o])||isNaN(f[o+1]))&&((h=h.concat(f.slice(i,o))).push(f[i],f[i+1]),i=o+2);h=h.concat(f.slice(i)),i&&h.push(f[i],f[i+1])}else{var p=l._nexttrace;if(p){var d=a.lineOptions[e+1];if(d){var g=d.positions;if(\"tonexty\"===l.fill){for(h=f.slice(),e=Math.floor(g.length/2);e--;){var v=g[2*e],m=g[2*e+1];isNaN(v)||isNaN(m)||(h.push(v),h.push(m))}t.fill=p.fillcolor}}}}if(l._prevtrace&&\"tonext\"===l._prevtrace.fill){var y=a.lineOptions[e-1].positions,x=h.length/2,b=[i=x];for(o=0;o<y.length;o+=2)(isNaN(y[o])||isNaN(y[o+1]))&&(b.push(o/2+x+1),i=o+2);h=h.concat(y),t.hole=b}return t.opacity=l.opacity,t.positions=h,t}),a.fill2d.update(a.fillOptions))}var f=\"lasso\"===o||\"select\"===o,p=n.map(function(e){if(e&&e[0]&&e[0].trace){var n,i=e[0],o=i.trace,c=i.t,h=c.index,p=c.x,d=c.y,g=r.xaxis||gn.getFromId(t,o.xaxis||\"x\"),v=r.yaxis||gn.getFromId(t,o.yaxis||\"y\"),m=[(g._rl||g.range)[0],(v._rl||v.range)[0],(g._rl||g.range)[1],(v._rl||v.range)[1]],y=[s.l+g.domain[0]*s.w,s.b+v.domain[0]*s.h,l-s.r-(1-g.domain[1])*s.w,u-s.t-(1-v.domain[1])*s.h];if(o.selectedpoints||f){if(f||(f=!0),a.selectBatch||(a.selectBatch=[]),a.unselectBatch||(a.unselectBatch=[]),o.selectedpoints){a.selectBatch[h]=o.selectedpoints;var x=o.selectedpoints,b={};for(n=0;n<x.length;n++)b[x[n]]=!0;var _=[];for(n=0;n<c.count;n++)b[n]||_.push(n);a.unselectBatch[h]=_}var w=new Array(c.count),M=new Array(c.count);for(n=0;n<c.count;n++)w[n]=g.c2p(p[n]),M[n]=v.c2p(d[n]);c.xpx=w,c.ypx=M}else c.xpx=c.ypx=null;return o.visible?{viewport:y,range:m}:null}});f&&(a.select2d||(a.select2d=SU(i._glcanvas.data()[1].regl,{clone:a.scatter2d})),a.scatter2d&&a.selectBatch&&a.selectBatch.length&&a.scatter2d.update(a.unselectedOptions.map(function(t,e){return a.selectBatch[e]?t:null})),a.select2d&&(a.select2d.update(a.markerOptions),a.select2d.update(a.selectedOptions))),a.fill2d&&a.fill2d.update(p),a.line2d&&a.line2d.update(p),a.error2d&&a.error2d.update(p.concat(p)),a.scatter2d&&a.scatter2d.update(p),a.select2d&&a.select2d.update(p),a.draw()}}},hoverPoints:function(t,e,r,n){var i,a=t.cd,o=a[0].t,s=a[0].trace,l=t.xa,u=t.ya,c=o.x,h=o.y,f=l.c2p(e),p=u.c2p(r),d=t.distance;if(o.tree){var g=l.p2c(f-d),v=l.p2c(f+d),m=u.p2c(p-d),y=u.p2c(p+d);i=\"x\"===n?o.tree.range(Math.min(g,v),Math.min(u._rl[0],u._rl[1]),Math.max(g,v),Math.max(u._rl[0],u._rl[1])):o.tree.range(Math.min(g,v),Math.min(m,y),Math.max(g,v),Math.max(m,y))}else{if(!o.ids)return[t];i=o.ids}var x,b,_,w,M,A,k,T,S=d;if(\"x\"===n)for(w=0;w<i.length;w++)b=c[i[w]],(M=Math.abs(l.c2p(b)-f))<S&&(S=M,A=u.c2p(h[i[w]])-p,T=Math.sqrt(M*M+A*A),x=i[w]);else for(w=0;w<i.length;w++)b=c[i[w]],_=h[i[w]],M=l.c2p(b)-f,A=u.c2p(_)-p,(k=Math.sqrt(M*M+A*A))<S&&(S=T=k,x=i[w]);if(t.index=x,void 0===x)return[t];var E={pointNumber:x,x:c[x],y:h[x]};E.tx=Array.isArray(s.text)?s.text[x]:s.text,E.htx=Array.isArray(s.hovertext)?s.hovertext[x]:s.hovertext,E.data=Array.isArray(s.customdata)?s.customdata[x]:s.customdata,E.tp=Array.isArray(s.textposition)?s.textposition[x]:s.textposition;var C=s.textfont;C&&(E.ts=Array.isArray(C.size)?C.size[x]:C.size,E.tc=Array.isArray(C.color)?C.color[x]:C.color,E.tf=Array.isArray(C.family)?C.family[x]:C.family);var L=s.marker;L&&(E.ms=ne.isArrayOrTypedArray(L.size)?L.size[x]:L.size,E.mo=ne.isArrayOrTypedArray(L.opacity)?L.opacity[x]:L.opacity,E.mx=Array.isArray(L.symbol)?L.symbol[x]:L.symbol,E.mc=ne.isArrayOrTypedArray(L.color)?L.color[x]:L.color);var z=L&&L.line;z&&(E.mlc=Array.isArray(z.color)?z.color[x]:z.color,E.mlw=ne.isArrayOrTypedArray(z.width)?z.width[x]:z.width);var I=L&&L.gradient;I&&\"none\"!==I.type&&(E.mgt=Array.isArray(I.type)?I.type[x]:I.type,E.mgc=Array.isArray(I.color)?I.color[x]:I.color);var D=l.c2p(E.x,!0),O=u.c2p(E.y,!0),R=E.mrc||1,F=s.hoverlabel;F&&(E.hbg=Array.isArray(F.bgcolor)?F.bgcolor[x]:F.bgcolor,E.hbc=Array.isArray(F.bordercolor)?F.bordercolor[x]:F.bordercolor,E.hts=Array.isArray(F.font.size)?F.font.size[x]:F.font.size,E.htc=Array.isArray(F.font.color)?F.font.color[x]:F.font.color,E.htf=Array.isArray(F.font.family)?F.font.family[x]:F.font.family,E.hnl=Array.isArray(F.namelength)?F.namelength[x]:F.namelength);var B=s.hoverinfo;B&&(E.hi=Array.isArray(B)?B[x]:B);var N={};return N[t.index]=E,ne.extendFlat(t,{color:mx(s,E),x0:D-R,x1:D+R,xLabelVal:E.x,y0:O-R,y1:O+R,yLabelVal:E.y,cd:N,distance:S,spikeDistance:T}),E.htx?t.text=E.htx:E.tx?t.text=E.tx:s.text&&(t.text=s.text),xo(E,s,t),P.getComponentMethod(\"errorbars\",\"hoverInfo\")(E,s,t),[t]},style:function(t,e){if(e){var r=e[0].t.scene;r.clear(),r.draw()}},selectPoints:function(t,e){var r=t.cd,n=[],i=r[0].trace,a=r[0].t,o=a.x,s=a.y,l=a.scene;if(!l)return n;var u=!Tr.hasMarkers(i)&&!Tr.hasText(i);if(!0!==i.visible||u)return n;var c,h=null,f=null;if(!1===e||e.degenerate)f=gV(a.count);else for(h=[],f=[],c=0;c<a.count;c++)e.contains([a.xpx[c],a.ypx[c]])?(h.push(c),n.push({pointNumber:c,x:o[c],y:s[c]})):f.push(c);if(l.selectBatch||(l.selectBatch=[],l.unselectBatch=[]),!l.selectBatch[a.index]){for(c=0;c<l.count;c++)l.selectBatch[c]=[],l.unselectBatch[c]=[];l.scatter2d.update(l.unselectedOptions)}return l.selectBatch[a.index]=h,l.unselectBatch[a.index]=f,n},sceneOptions:p,sceneUpdate:d,meta:{}}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{});var xq=yq,bq={exports:{}};(function(t){\"use strict\";!function(e){\"object\"==typeof bq.exports?bq.exports=e():(\"undefined\"!=typeof window?window:void 0!==t?t:\"undefined\"!=typeof self?self:this).mapboxgl=e()}(function(){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||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){function n(t){var e=0;if(t&&t.length>0){e+=Math.abs(i(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(i(t[r]))}return e}function i(t){var e,r,n,i,s,l,u=0,c=t.length;if(c>2){for(l=0;l<c;l++)l===c-2?(n=c-2,i=c-1,s=0):l===c-1?(n=c-1,i=0,s=1):(n=l,i=l+1,s=l+2),e=t[n],r=t[i],u+=(a(t[s][0])-a(e[0]))*Math.sin(a(r[1]));u=u*o.RADIUS*o.RADIUS/2}return u}function a(t){return t*Math.PI/180}var o=t(\"wgs84\");e.exports.geometry=function t(e){var r,i=0;switch(e.type){case\"Polygon\":return n(e.coordinates);case\"MultiPolygon\":for(r=0;r<e.coordinates.length;r++)i+=n(e.coordinates[r]);return i;case\"Point\":case\"MultiPoint\":case\"LineString\":case\"MultiLineString\":return 0;case\"GeometryCollection\":for(r=0;r<e.geometries.length;r++)i+=t(e.geometries[r]);return i}},e.exports.ring=i},{wgs84:37}],2:[function(t,e,r){var n,i;n=this,i=function(){return function(){var t=new Float32Array(3);t[0]=0,t[1]=0,t[2]=0}(),function(){var t=new Float32Array(4);t[0]=0,t[1]=0,t[2]=0,t[3]=0}(),{vec3:{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}},vec4:{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}},mat2:{create:function(){var t=new Float32Array(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},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},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}},mat3:{create:function(){var t=new Float32Array(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},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}},mat4:{create:function(){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},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},translate:function(t,e,r){var n,i,a,o,s,l,u,c,h,f,p,d,g=r[0],v=r[1],m=r[2];return e===t?(t[12]=e[0]*g+e[4]*v+e[8]*m+e[12],t[13]=e[1]*g+e[5]*v+e[9]*m+e[13],t[14]=e[2]*g+e[6]*v+e[10]*m+e[14],t[15]=e[3]*g+e[7]*v+e[11]*m+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],p=e[10],d=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]=p,t[11]=d,t[12]=n*g+s*v+h*m+e[12],t[13]=i*g+l*v+f*m+e[13],t[14]=a*g+u*v+p*m+e[14],t[15]=o*g+c*v+d*m+e[15]),t},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},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],p=e[10],d=e[11],g=e[12],v=e[13],m=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*v,t[2]=x*a+b*u+_*p+w*m,t[3]=x*o+b*c+_*d+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*v,t[6]=x*a+b*u+_*p+w*m,t[7]=x*o+b*c+_*d+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*v,t[10]=x*a+b*u+_*p+w*m,t[11]=x*o+b*c+_*d+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*v,t[14]=x*a+b*u+_*p+w*m,t[15]=x*o+b*c+_*d+w*y,t},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},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},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},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],p=e[11],d=e[12],g=e[13],v=e[14],m=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*d,k=c*v-f*d,T=c*m-p*d,S=h*v-f*g,E=h*m-p*g,C=f*m-p*v,L=y*C-x*E+b*S+_*T-w*k+M*A;return L?(L=1/L,t[0]=(s*C-l*E+u*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(g*M-v*w+m*_)*L,t[3]=(f*w-h*M-p*_)*L,t[4]=(l*T-o*C-u*k)*L,t[5]=(r*C-i*T+a*k)*L,t[6]=(v*b-d*M-m*x)*L,t[7]=(c*M-f*b+p*x)*L,t[8]=(o*E-s*T+u*A)*L,t[9]=(n*T-r*E-a*A)*L,t[10]=(d*w-g*b+m*y)*L,t[11]=(h*b-c*w-p*y)*L,t[12]=(s*k-o*S-l*A)*L,t[13]=(r*S-n*k+i*A)*L,t[14]=(g*x-d*_-v*y)*L,t[15]=(c*_-h*x+f*y)*L,t):null},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}}}},\"object\"==typeof r&&void 0!==e?e.exports=i():n.glMatrix=i()},{}],3:[function(t,e,r){function n(t){return!!(\"undefined\"!=typeof window&&\"undefined\"!=typeof document&&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.prototype&&Function.prototype.bind&&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&&\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON&&function(){if(!(\"Worker\"in window&&\"Blob\"in window))return!1;var t,e,r=new Blob([\"\"],{type:\"text/javascript\"}),n=URL.createObjectURL(r);try{e=new Worker(n),t=!0}catch(e){t=!1}return e&&e.terminate(),URL.revokeObjectURL(n),t}()&&\"Uint8ClampedArray\"in window&&function(t){return void 0===i[t]&&(i[t]=function(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)}(t)),i[t]}(t&&t.failIfMajorPerformanceCaveat))}void 0!==e&&e.exports?e.exports=n:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=n);var i={};n.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}},{}],4:[function(t,e,r){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)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(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)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},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},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,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},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,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}},{}],5:[function(t,e,r){var n,i;n=this,i=function(){function t(t,e,r){r=r||{},this.w=t||64,this.h=e||64,this.autoResize=!!r.autoResize,this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0}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=[],s=0;s<t.length;s++)if(r=t[s].w||t[s].width,n=t[s].h||t[s].height,i=t[s].id,r&&n){if(!(a=this.packOne(r,n,i)))continue;e.inPlace&&(t[s].x=a.x,t[s].y=a.y,t[s].id=a.id),o.push(a)}return this.shrink(),o},t.prototype.packOne=function(t,r,n){var i,a,o,s,l,u,c,h,f={freebin:-1,shelf:-1,waste:1/0},p=0;if(\"string\"==typeof n||\"number\"==typeof n){if(i=this.getBin(n))return this.ref(i),i;\"number\"==typeof n&&(this.maxId=Math.max(n,this.maxId))}else n=++this.maxId;for(s=0;s<this.freebins.length;s++){if(r===(i=this.freebins[s]).maxh&&t===i.maxw)return this.allocFreebin(s,t,r,n);r>i.maxh||t>i.maxw||r<=i.maxh&&t<=i.maxw&&(o=i.maxw*i.maxh-t*r)<f.waste&&(f.waste=o,f.freebin=s)}for(s=0;s<this.shelves.length;s++)if(p+=(a=this.shelves[s]).h,!(t>a.free)){if(r===a.h)return this.allocShelf(s,t,r,n);r>a.h||r<a.h&&(o=(a.h-r)*t)<f.waste&&(f.freebin=-1,f.waste=o,f.shelf=s)}return-1!==f.freebin?this.allocFreebin(f.freebin,t,r,n):-1!==f.shelf?this.allocShelf(f.shelf,t,r,n):r<=this.h-p&&t<=this.w?(a=new e(p,this.w,r),this.allocShelf(this.shelves.push(a)-1,t,r,n)):this.autoResize?(l=u=this.h,((c=h=this.w)<=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,n)):null},t.prototype.allocFreebin=function(t,e,r,n){var i=this.freebins.splice(t,1)[0];return i.id=n,i.w=e,i.h=r,i.refcount=0,this.bins[n]=i,this.ref(i),i},t.prototype.allocShelf=function(t,e,r,n){var i=this.shelves[t].alloc(e,r,n);return this.bins[n]=i,this.ref(i),i},t.prototype.shrink=function(){if(this.shelves.length>0){for(var t=0,e=0,r=0;r<this.shelves.length;r++){var n=this.shelves[r];e+=n.h,t=Math.max(n.w-n.free,t)}this.resize(t,e)}},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1==++t.refcount){var e=t.h;this.stats[e]=1+(0|this.stats[e])}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0==--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},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,r){if(t>this.free||e>this.h)return null;var n=this.x;return this.x+=t,this.free-=t,new function(t,e,r,n,i,a,o){this.id=t,this.x=e,this.y=r,this.w=n,this.h=i,this.maxw=a||n,this.maxh=o||i,this.refcount=0}(r,n,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t},\"object\"==typeof r&&void 0!==e?e.exports=i():n.ShelfPack=i()},{}],6:[function(t,e,r){function n(t,e,r,n,i,a){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=i||\"sans-serif\",this.fontWeight=a||\"normal\",this.radius=r||8;var o=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement(\"canvas\"),this.canvas.width=this.canvas.height=o,this.ctx=this.canvas.getContext(\"2d\"),this.ctx.font=this.fontWeight+\" \"+this.fontSize+\"px \"+this.fontFamily,this.ctx.textBaseline=\"middle\",this.ctx.fillStyle=\"black\",this.gridOuter=new Float64Array(o*o),this.gridInner=new Float64Array(o*o),this.f=new Float64Array(o),this.d=new Float64Array(o),this.z=new Float64Array(o+1),this.v=new Int16Array(o),this.middle=Math.round(o/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]);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=new Uint8ClampedArray(this.size*this.size),n=0;n<this.size*this.size;n++){var a=e.data[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];r[n]=Math.max(0,Math.min(255,Math.round(255-255*(s/this.radius+this.cutoff))))}return r}},{}],7:[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){var r,n,i,a,o;for(void 0===e&&(e=1e-6),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(n=1,(i=t)<(r=0))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))}},{}],8:[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\":9,\"./lib/vectortilefeature.js\":10,\"./lib/vectortilelayer.js\":11}],9:[function(t,e,r){function n(t,e,r){if(3===t){var n=new i(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}var i=t(\"./vectortilelayer\");e.exports=function(t,e){this.layers=t.readFields(n,{},e)}},{\"./vectortilelayer\":11}],10:[function(t,e,r){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?function(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}}(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos)}function a(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],n+=((r=t[o]).x-e.x)*(e.y+r.y);return n}var o=t(\"@mapbox/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,s=0,l=[];t.pos<r;){if(!i){var u=t.readVarint();n=7&u,i=u>>3}if(i--,1===n||2===n)a+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new o(a,s));else{if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},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 o,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 p=[];for(o=0;o<h.length;o++)p[o]=h[o][0];i(h=p);break;case 2:for(o=0;o<h.length;o++)i(h[o]);break;case 3:for(h=function(t){var e=t.length;if(e<=1)return[t];for(var r,n,i=[],o=0;o<e;o++){var s=a(t[o]);0!==s&&(void 0===n&&(n=s<0),n===s<0?(r&&i.push(r),r=[t[o]]):r.push(t[o]))}return r&&i.push(r),i}(h),o=0;o<h.length;o++)for(s=0;s<h[o].length;s++)i(h[o][s])}1===h.length?h=h[0]:f=\"Multi\"+f;var d={type:\"Feature\",geometry:{type:f,coordinates:h},properties:this.properties};return\"id\"in this&&(d.id=this.id),d}},{\"@mapbox/point-geometry\":4}],11:[function(t,e,r){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(function(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}(r))}var a=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 a(this._pbf,e,this.extent,this._keys,this._values)}},{\"./vectortilefeature.js\":10}],12:[function(t,e,r){var n;n=this,function(t){function e(t,e,n){var i=r(256*t,256*(e=Math.pow(2,n)-e-1),n),a=r(256*(t+1),256*(e+1),n);return i[0]+\",\"+i[1]+\",\"+a[0]+\",\"+a[1]}function r(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=function(t,r,n,i,a,o){return o=o||{},t+\"?\"+[\"bbox=\"+e(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=\"+r].join(\"&\")},t.getTileBBox=e,t.getMercCoords=r,Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&void 0!==e?r:n.WhooTS=n.WhooTS||{})},{}],13:[function(t,e,r){function n(t){return(t=Math.round(t))<0?0:t>255?255:t}function i(t){return n(\"%\"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function a(t){return function(t){return t<0?0:t>1?1:t}(\"%\"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))}function o(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}var s={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=function(t){var e,r=t.replace(/ /g,\"\").toLowerCase();if(r in s)return s[r].slice();if(\"#\"===r[0])return 4===r.length?(e=parseInt(r.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===r.length&&(e=parseInt(r.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=r.indexOf(\"(\"),u=r.indexOf(\")\");if(-1!==l&&u+1===r.length){var c=r.substr(0,l),h=r.substr(l+1,u-(l+1)).split(\",\"),f=1;switch(c){case\"rgba\":if(4!==h.length)return null;f=a(h.pop());case\"rgb\":return 3!==h.length?null:[i(h[0]),i(h[1]),i(h[2]),f];case\"hsla\":if(4!==h.length)return null;f=a(h.pop());case\"hsl\":if(3!==h.length)return null;var p=(parseFloat(h[0])%360+360)%360/360,d=a(h[1]),g=a(h[2]),v=g<=.5?g*(d+1):g+d-g*d,m=2*g-v;return[n(255*o(m,v,p+1/3)),n(255*o(m,v,p)),n(255*o(m,v,p-1/3)),f];default:return null}}return null}}catch(t){}},{}],14:[function(t,e,r){function n(t,e,r){r=r||2;var n,s,l,u,c,p,g,v=e&&e.length,m=v?e[0]*r:t.length,y=i(t,0,m,r,!0),x=[];if(!y)return x;if(v&&(y=function(t,e,r,n){var o,s,l,u,c,p=[];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.next&&(c.steiner=!0),p.push(d(c));for(p.sort(h),o=0;o<p.length;o++)f(p[o],r),r=a(r,r.next);return r}(t,e,y,r)),t.length>80*r){n=l=t[0],s=u=t[1];for(var b=r;b<m;b+=r)c=t[b],p=t[b+1],c<n&&(n=c),p<s&&(s=p),c>l&&(l=c),p>u&&(u=p);g=0!==(g=Math.max(l-n,u-s))?1/g:0}return o(y,x,r,n,s,g),x}function i(t,e,r,n,i){var a,o;if(i===k(t,e,r,n)>0)for(a=e;a<r;a+=n)o=w(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=w(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(M(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||!y(n,n.next)&&0!==m(n.prev,n,n.next))n=n.next;else{if(M(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,h,f){if(t){!f&&h&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=p(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,function(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&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,n,i,h);for(var d,g,v=t;t.prev!==t.next;)if(d=t.prev,g=t.next,h?l(t,n,i,h):s(t))e.push(d.i/r),e.push(t.i/r),e.push(g.i/r),M(t),t=g.next,v=g.next;else if((t=g)===v){f?1===f?o(t=u(t,e,r),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(m(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(g(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&m(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(m(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=p(s,l,e,r,n),f=p(u,c,e,r,n),d=t.prevZ,v=t.nextZ;d&&d.z>=h&&v&&v.z<=f;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&m(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,v!==t.prev&&v!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&m(v.prev,v,v.next)>=0)return!1;v=v.nextZ}for(;d&&d.z>=h;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&m(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;v&&v.z<=f;){if(v!==t.prev&&v!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&m(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function u(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!y(i,a)&&x(i,n,n.next,a)&&b(i,a)&&b(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),M(n),M(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&&v(l,u)){var c=_(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){return t.x-e.x}function f(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.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&&i!==n.x&&g(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)&&b(n,t)&&(r=n,f=l),n=n.next;return r}(t,e)){var r=_(e,t);a(r,r.next)}}function p(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function d(t){var e=t,r=t;do{e.x<r.x&&(r=e),e=e.next}while(e!==t);return r}function g(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 v(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(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&&x(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&b(t,e)&&b(e,t)&&function(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&&r.next.y!==r.y&&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}(t,e)}function m(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function x(t,e,r,n){return!!(y(t,e)&&y(r,n)||y(t,n)&&y(r,e))||m(t,e,r)>0!=m(t,e,n)>0&&m(r,n,t)>0!=m(r,n,e)>0}function b(t,e){return m(t.prev,t,t.next)<0?m(t,e,t.next)>=0&&m(t,t.prev,e)>=0:m(t,e,t.prev)<0||m(t,t.next,e)<0}function _(t,e){var r=new A(t.i,t.x,t.y),n=new A(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 w(t,e,r,n){var i=new A(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 M(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 A(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 k(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,e.exports.default=n,n.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(k(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(k(t,u,c,r))}var h=0;for(s=0;s<n.length;s+=3){var f=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;h+=Math.abs((t[f]-t[d])*(t[p+1]-t[f+1])-(t[f]-t[p])*(t[d+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}},{}],15:[function(t,e,r){function n(t,e){return function(r){return t(r,e)}}function i(t,e){e=!!e,t[0]=a(t[0],e);for(var r=1;r<t.length;r++)t[r]=a(t[r],!e);return t}function a(t,e){return function(t){return o.ring(t)>=0}(t)===e?t:t.reverse()}var o=t(\"@mapbox/geojson-area\");e.exports=function t(e,r){switch(e&&e.type||null){case\"FeatureCollection\":return e.features=e.features.map(n(t,r)),e;case\"Feature\":return e.geometry=t(e.geometry,r),e;case\"Polygon\":case\"MultiPolygon\":return function(t,e){return\"Polygon\"===t.type?t.coordinates=i(t.coordinates,e):\"MultiPolygon\"===t.type&&(t.coordinates=t.coordinates.map(n(i,e))),t}(e,r);default:return e}}},{\"@mapbox/geojson-area\":1}],16:[function(t,e,r){function n(t,e,r,n,i){for(var a=0;a<t.length;a+=3){var o=t[a+i];o>=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function i(t,e,r,n,i,a){for(var u=[],c=0===i?s:l,h=0;h<t.length-3;h+=3){var f=t[h],p=t[h+1],d=t[h+2],g=t[h+3],v=t[h+4],m=0===i?f:p,y=0===i?g:v,x=!1;m<r?y>=r&&c(u,f,p,g,v,r):m>n?y<=n&&c(u,f,p,g,v,n):o(u,f,p,d),y<r&&m>=r&&(c(u,f,p,g,v,r),x=!0),y>n&&m<=n&&(c(u,f,p,g,v,n),x=!0),!a&&x&&(u.size=t.size,e.push(u),u=[])}var b=t.length-3;f=t[b],p=t[b+1],d=t[b+2],(m=0===i?f:p)>=r&&m<=n&&o(u,f,p,d),b=u.length-3,a&&b>=3&&(u[b]!==u[0]||u[b+1]!==u[1])&&o(u,u[0],u[1],u[2]),u.length&&(u.size=t.size,e.push(u))}function a(t,e,r,n,a,o){for(var s=0;s<t.length;s++)i(t[s],e,r,n,a,o)}function o(t,e,r,n){t.push(e),t.push(r),t.push(n)}function s(t,e,r,n,i,a){t.push(a),t.push(r+(a-e)*(i-r)/(n-e)),t.push(1)}function l(t,e,r,n,i,a){t.push(e+(a-r)*(n-e)/(i-r)),t.push(a),t.push(1)}e.exports=function(t,e,r,o,s,l,c){if(o/=e,l>=(r/=e)&&c<=o)return t;if(l>o||c<r)return null;for(var h=[],f=0;f<t.length;f++){var p=t[f],d=p.geometry,g=p.type,v=0===s?p.minX:p.minY,m=0===s?p.maxX:p.maxY;if(v>=r&&m<=o)h.push(p);else if(!(v>o||m<r)){var y=[];if(\"Point\"===g||\"MultiPoint\"===g)n(d,y,r,o,s);else if(\"LineString\"===g)i(d,y,r,o,s,!1);else if(\"MultiLineString\"===g)a(d,y,r,o,s,!1);else if(\"Polygon\"===g)a(d,y,r,o,s,!0);else if(\"MultiPolygon\"===g)for(var x=0;x<d.length;x++){var b=[];a(d[x],b,r,o,s,!0),b.length&&y.push(b)}y.length&&(\"LineString\"!==g&&\"MultiLineString\"!==g||(1===y.length?(g=\"LineString\",y=y[0]):g=\"MultiLineString\"),\"Point\"!==g&&\"MultiPoint\"!==g||(g=3===y.length?\"Point\":\"MultiPoint\"),h.push(u(p.id,g,y,p.tags)))}}return h.length?h:null};var u=t(\"./feature\")},{\"./feature\":18}],17:[function(t,e,r){function n(t,e,r){if(e.geometry){var s=e.geometry.coordinates,l=e.geometry.type,u=r*r,h=[];if(\"Point\"===l)i(s,h);else if(\"MultiPoint\"===l)for(var f=0;f<s.length;f++)i(s[f],h);else if(\"LineString\"===l)a(s,h,u,!1);else if(\"MultiLineString\"===l)o(s,h,u,!1);else if(\"Polygon\"===l)o(s,h,u,!0);else{if(\"MultiPolygon\"!==l){if(\"GeometryCollection\"===l){for(f=0;f<e.geometry.geometries.length;f++)n(t,{geometry:e.geometry.geometries[f],properties:e.properties},r);return}throw new Error(\"Input data is not a valid GeoJSON object.\")}for(f=0;f<s.length;f++){var p=[];o(s[f],p,u,!0),h.push(p)}}t.push(c(e.id,l,h,e.properties))}}function i(t,e){e.push(s(t[0])),e.push(l(t[1])),e.push(0)}function a(t,e,r,n){for(var i,a,o=0,c=0;c<t.length;c++){var h=s(t[c][0]),f=l(t[c][1]);e.push(h),e.push(f),e.push(0),c>0&&(o+=n?(i*f-h*a)/2:Math.sqrt(Math.pow(h-i,2)+Math.pow(f-a,2))),i=h,a=f}var p=e.length-3;e[2]=1,u(e,0,p,r),e[p+2]=1,e.size=Math.abs(o)}function o(t,e,r,n){for(var i=0;i<t.length;i++){var o=[];a(t[i],o,r,n),e.push(o)}}function s(t){return t/360+.5}function l(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}e.exports=function(t,e){var r=[];if(\"FeatureCollection\"===t.type)for(var i=0;i<t.features.length;i++)n(r,t.features[i],e);else\"Feature\"===t.type?n(r,t,e):n(r,{geometry:t},e);return r};var u=t(\"./simplify\"),c=t(\"./feature\")},{\"./feature\":18,\"./simplify\":20}],18:[function(t,e,r){function n(t,e){for(var r=0;r<e.length;r+=3)t.minX=Math.min(t.minX,e[r]),t.minY=Math.min(t.minY,e[r+1]),t.maxX=Math.max(t.maxX,e[r]),t.maxY=Math.max(t.maxY,e[r+1])}e.exports=function(t,e,r,i){var a={id:t||null,type:e,geometry:r,tags:i,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if(\"Point\"===r||\"MultiPoint\"===r||\"LineString\"===r)n(t,e);else if(\"Polygon\"===r||\"MultiLineString\"===r)for(var i=0;i<e.length;i++)n(t,e[i]);else if(\"MultiPolygon\"===r)for(i=0;i<e.length;i++)for(var a=0;a<e[i].length;a++)n(t,e[i][a])}(a),a}},{}],19:[function(t,e,r){function n(t,e){var r=(e=this.options=function(t,e){for(var r in e)t[r]=e[r];return t}(Object.create(this.options),e)).debug;if(r&&console.time(\"preprocess data\"),e.maxZoom<0||e.maxZoom>24)throw new Error(\"maxZoom should be in the 0-24 range\");var n=1<<e.maxZoom,i=a(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=l(i,e.buffer/e.extent)).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 i(t,e,r){return 32*((1<<t)*r+e)+t}e.exports=function(t,e){return new n(t,e)};var a=t(\"./convert\"),o=t(\"./transform\"),s=t(\"./clip\"),l=t(\"./wrap\"),u=t(\"./tile\");n.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,debug:0},n.prototype.splitTile=function(t,e,r,n,a,o,l){for(var c=[t,e,r,n],h=this.options,f=h.debug;c.length;){n=c.pop(),r=c.pop(),e=c.pop(),t=c.pop();var p=1<<e,d=i(e,r,n),g=this.tiles[d],v=e===h.maxZoom?0:h.tolerance/(p*h.extent);if(!g&&(f>1&&console.time(\"creation\"),g=this.tiles[d]=u(t,p,r,n,v,e===h.maxZoom),this.tileCoords.push({z:e,x:r,y:n}),f)){f>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",e,r,n,g.numFeatures,g.numPoints,g.numSimplified),console.timeEnd(\"creation\"));var m=\"z\"+e;this.stats[m]=(this.stats[m]||0)+1,this.total++}if(g.source=t,a){if(e===h.maxZoom||e===a)continue;var y=1<<a-e;if(r!==Math.floor(o/y)||n!==Math.floor(l/y))continue}else if(e===h.indexMaxZoom||g.numPoints<=h.indexMaxPoints)continue;if(g.source=null,0!==t.length){f>1&&console.time(\"clipping\");var x,b,_,w,M,A,k=.5*h.buffer/h.extent,T=.5-k,S=.5+k,E=1+k;x=b=_=w=null,M=s(t,p,r-k,r+S,0,g.minX,g.maxX),A=s(t,p,r+T,r+E,0,g.minX,g.maxX),t=null,M&&(x=s(M,p,n-k,n+S,1,g.minY,g.maxY),b=s(M,p,n+T,n+E,1,g.minY,g.maxY),M=null),A&&(_=s(A,p,n-k,n+S,1,g.minY,g.maxY),w=s(A,p,n+T,n+E,1,g.minY,g.maxY),A=null),f>1&&console.timeEnd(\"clipping\"),c.push(x||[],e+1,2*r,2*n),c.push(b||[],e+1,2*r,2*n+1),c.push(_||[],e+1,2*r+1,2*n),c.push(w||[],e+1,2*r+1,2*n+1)}}},n.prototype.getTile=function(t,e,r){var n=this.options,a=n.extent,s=n.debug;if(t<0||t>24)return null;var l=1<<t,u=i(t,e=(e%l+l)%l,r);if(this.tiles[u])return o.tile(this.tiles[u],a);s>1&&console.log(\"drilling down to z%d-%d-%d\",t,e,r);for(var c,h=t,f=e,p=r;!c&&h>0;)h--,f=Math.floor(f/2),p=Math.floor(p/2),c=this.tiles[i(h,f,p)];return c&&c.source?(s>1&&console.log(\"found parent tile z%d-%d-%d\",h,f,p),s>1&&console.time(\"drilling down\"),this.splitTile(c.source,h,f,p,t,e,r),s>1&&console.timeEnd(\"drilling down\"),this.tiles[u]?o.tile(this.tiles[u],a):null):null}},{\"./clip\":16,\"./convert\":17,\"./tile\":21,\"./transform\":22,\"./wrap\":23}],20:[function(t,e,r){function n(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}e.exports=function t(e,r,i,a){for(var o,s=a,l=e[r],u=e[r+1],c=e[i],h=e[i+1],f=r+3;f<i;f+=3){var p=n(e[f],e[f+1],l,u,c,h);p>s&&(o=f,s=p)}s>a&&(o-r>3&&t(e,r,o,a),e[o+2]=s,i-o>3&&t(e,o,i,a))}},{}],21:[function(t,e,r){function n(t,e,r,n){var a=e.geometry,o=e.type,s=[];if(\"Point\"===o||\"MultiPoint\"===o)for(var l=0;l<a.length;l+=3)s.push(a[l]),s.push(a[l+1]),t.numPoints++,t.numSimplified++;else if(\"LineString\"===o)i(s,a,t,r,n,!1,!1);else if(\"MultiLineString\"===o||\"Polygon\"===o)for(l=0;l<a.length;l++)i(s,a[l],t,r,n,\"Polygon\"===o,0===l);else if(\"MultiPolygon\"===o)for(var u=0;u<a.length;u++){var c=a[u];for(l=0;l<c.length;l++)i(s,c[l],t,r,n,!0,0===l)}if(s.length){var h={geometry:s,type:\"Polygon\"===o||\"MultiPolygon\"===o?3:\"LineString\"===o||\"MultiLineString\"===o?2:1,tags:e.tags||null};null!==e.id&&(h.id=e.id),t.features.push(h)}}function i(t,e,r,n,i,a,o){var s=n*n;if(!i&&e.size<(a?s:n))r.numPoints+=e.length/3;else{for(var l=[],u=0;u<e.length;u+=3)(i||e[u+2]>s)&&(r.numSimplified++,l.push(e[u]),l.push(e[u+1])),r.numPoints++;a&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n<i;a=n,n+=2)r+=(t[n]-t[a])*(t[n+1]+t[a+1]);if(r>0===e)for(n=0,i=t.length;n<i/2;n+=2){var o=t[n],s=t[n+1];t[n]=t[i-2-n],t[n+1]=t[i-1-n],t[i-2-n]=o,t[i-1-n]=s}}(l,o),t.push(l)}}e.exports=function(t,e,r,i,a,o){for(var s={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z2:e,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},l=0;l<t.length;l++){s.numFeatures++,n(s,t[l],a,o);var u=t[l].minX,c=t[l].minY,h=t[l].maxX,f=t[l].maxY;u<s.minX&&(s.minX=u),c<s.minY&&(s.minY=c),h>s.maxX&&(s.maxX=h),f>s.maxY&&(s.maxY=f)}return s}},{}],22:[function(t,e,r){function n(t,e,r,n,i,a){return[Math.round(r*(t*n-i)),Math.round(r*(e*n-a))]}r.tile=function(t,e){if(t.transformed)return t;var r,i,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(u.geometry=[],1===h)for(i=0;i<c.length;i+=2)u.geometry.push(n(c[i],c[i+1],e,o,s,l));else for(i=0;i<c.length;i++){var f=[];for(a=0;a<c[i].length;a+=2)f.push(n(c[i][a],c[i][a+1],e,o,s,l));u.geometry.push(f)}}return t.transformed=!0,t},r.point=n},{}],23:[function(t,e,r){function n(t,e){for(var r=[],n=0;n<t.length;n++){var a,s=t[n],l=s.type;if(\"Point\"===l||\"MultiPoint\"===l||\"LineString\"===l)a=i(s.geometry,e);else if(\"MultiLineString\"===l||\"Polygon\"===l){a=[];for(var u=0;u<s.geometry.length;u++)a.push(i(s.geometry[u],e))}else if(\"MultiPolygon\"===l)for(a=[],u=0;u<s.geometry.length;u++){for(var c=[],h=0;h<s.geometry[u].length;h++)c.push(i(s.geometry[u][h],e));a.push(c)}r.push(o(s.id,l,a,s.tags))}return r}function i(t,e){var r=[];r.size=t.size;for(var n=0;n<t.length;n+=3)r.push(t[n]+e,t[n+1],t[n+2]);return r}var a=t(\"./clip\"),o=t(\"./feature\");e.exports=function(t,e){var r=t,i=a(t,1,-1-e,e,0,-1,2),o=a(t,1,1-e,2+e,0,-1,2);return(i||o)&&(r=a(t,1,-e,1+e,0,-1,2)||[],i&&(r=n(i,1).concat(r)),o&&(r=r.concat(n(o,-1)))),r}},{\"./clip\":16,\"./feature\":18}],24:[function(t,e,r){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=[];return this._forEachCell(t,e,r,n,this._queryCell,o,{}),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 p=this.d*f+h;if(i.call(this,t,e,r,n,p,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}},{}],25:[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,p=t[e+h];for(h+=f,a=p&(1<<-c)-1,p>>=-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*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-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,p=n?0:a-1,d=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))*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+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*g}},{}],26:[function(t,e,r){function n(t,e,r,n,s){e=e||i,r=r||a,s=s||Array,this.nodeSize=n||64,this.points=t,this.ids=new s(t.length),this.coords=new s(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]);o(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function i(t){return t[0]}function a(t){return t[1]}var o=t(\"./sort\"),s=t(\"./range\"),l=t(\"./within\");e.exports=function(t,e,r,i,a){return new n(t,e,r,i,a)},n.prototype={range:function(t,e,r,n){return s(this.ids,this.coords,t,e,r,n,this.nodeSize)},within:function(t,e,r){return l(this.ids,this.coords,t,e,r,this.nodeSize)}}},{\"./range\":27,\"./sort\":28,\"./within\":29}],27:[function(t,e,r){e.exports=function(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(),p=u.pop();if(f-p<=o)for(var d=p;d<=f;d++)s=e[2*d],l=e[2*d+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[d]);else{var g=Math.floor((p+f)/2);s=e[2*g],l=e[2*g+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[g]);var v=(h+1)%2;(0===h?r<=s:n<=l)&&(u.push(p),u.push(g-1),u.push(v)),(0===h?i>=s:a>=l)&&(u.push(g+1),u.push(f),u.push(v))}}return c}},{}],28:[function(t,e,r){function n(t,e,r,n){i(t,r,n),i(e,2*r,2*n),i(e,2*r+1,2*n+1)}function i(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=function t(e,r,i,a,o,s){if(!(o-a<=i)){var l=Math.floor((a+o)/2);(function t(e,r,i,a,o,s){for(;o>a;){if(o-a>600){var l=o-a+1,u=i-a+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);t(e,r,i,Math.max(a,Math.floor(i-u*h/l+f)),Math.min(o,Math.floor(i+(l-u)*h/l+f)),s)}var p=r[2*i+s],d=a,g=o;for(n(e,r,a,i),r[2*o+s]>p&&n(e,r,a,o);d<g;){for(n(e,r,d,g),d++,g--;r[2*d+s]<p;)d++;for(;r[2*g+s]>p;)g--}r[2*a+s]===p?n(e,r,a,g):n(e,r,++g,o),g<=i&&(a=g+1),i<=g&&(o=g-1)}})(e,r,l,a,o,s%2),t(e,r,i,a,l-1,s+1),t(e,r,i,l+1,o,s+1)}}},{}],29:[function(t,e,r){function n(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}e.exports=function(t,e,r,i,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 p=f;p<=h;p++)n(e[2*p],e[2*p+1],r,i)<=u&&l.push(t[p]);else{var d=Math.floor((f+h)/2),g=e[2*d],v=e[2*d+1];n(g,v,r,i)<=u&&l.push(t[d]);var m=(c+1)%2;(0===c?r-a<=g:i-a<=v)&&(s.push(f),s.push(d-1),s.push(m)),(0===c?r+a>=g:i+a>=v)&&(s.push(d+1),s.push(h),s.push(m))}}return l}},{}],30:[function(t,e,r){function n(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}function i(t){return t.type===n.Bytes?t.readVarint()+t.pos:t.pos+1}function a(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}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 p(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function d(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])}function v(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function m(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function y(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}e.exports=n;var x=t(\"ieee754\");n.Varint=0,n.Fixed64=1,n.Bytes=2,n.Fixed32=5;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;this.type=7&n,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=v(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=y(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=v(this.buf,this.pos)+4294967296*v(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=v(this.buf,this.pos)+4294967296*y(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=x.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=x.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,o=r.buf;if(n=(112&(i=o[r.pos++]))>>4,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<3,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<10,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<17,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<24,i<128)return a(t,n,e);if(n|=(1&(i=o[r.pos++]))<<31,i<128)return a(t,n,e);throw new Error(\"Expected varint not more than 10 bytes\")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},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=function(t,e,r){for(var n=\"\",i=e;i<r;){var a,o,s,l=t[i],u=null,c=l>239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(a=t[i+1]))&&(u=(31&l)<<6|63&a)<=127&&(u=null):3===c?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((u=(15&l)<<12|(63&a)<<6|63&o)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((u=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c}return n}(this.buf,this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){var r=i(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},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 Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),m(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),m(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),m(this.buf,-1&t,this.pos),m(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),m(this.buf,-1&t,this.pos),m(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeVarint:function(t){(t=+t||0)>268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error(\"Given varint doesn't fit into 10 bytes\");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(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),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a<e.length;a++){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&o(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),x.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),x.write(this.buf,t,this.pos,!0,52,8),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,p,e)},writePackedFixed64:function(t,e){this.writeMessage(t,d,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))}}},{ieee754:25}],31:[function(t,e,r){function n(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function i(t,e){return t<e?-1:t>e?1:0}e.exports=function t(e,r,a,o,s){for(a=a||0,o=o||e.length-1,s=s||i;o>a;){if(o-a>600){var l=o-a+1,u=r-a+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);t(e,r,Math.max(a,Math.floor(r-u*h/l+f)),Math.min(o,Math.floor(r+(l-u)*h/l+f)),s)}var p=e[r],d=a,g=o;for(n(e,a,r),s(e[o],p)>0&&n(e,a,o);d<g;){for(n(e,d,g),d++,g--;s(e[d],p)<0;)d++;for(;s(e[g],p)>0;)g--}0===s(e[a],p)?n(e,a,g):n(e,++g,o),g<=r&&(a=g+1),r<=g&&(o=g-1)}}},{}],32:[function(t,e,r){function n(t){this.options=c(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function i(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:n,properties:i,parentId:-1,numPoints:r}}function a(t,e){var r=t.geometry.coordinates;return{x:l(r[0]),y:u(r[1]),zoom:1/0,id:e,parentId:-1}}function o(t){return{type:\"Feature\",properties:s(t),geometry:{type:\"Point\",coordinates:[function(t){return 360*(t-.5)}(t.x),function(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}(t.y)]}}}function s(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+\"k\":e>=1e3?Math.round(e/100)/10+\"k\":e;return c(c({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function l(t){return t/360+.5}function u(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 c(t,e){for(var r in e)t[r]=e[r];return t}function h(t){return t.x}function f(t){return t.y}var p=t(\"kdbush\");e.exports=function(t){return new n(t)},n.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(a);e&&console.timeEnd(r);for(var i=this.options.maxZoom;i>=this.options.minZoom;i--){var o=+Date.now();this.trees[i+1]=p(n,h,f,this.options.nodeSize,Float32Array),n=this._cluster(n,i),e&&console.log(\"z%d: %d clusters in %dms\",i,n.length,+Date.now()-o)}return this.trees[this.options.minZoom]=p(n,h,f,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(l(t[0]),u(t[3]),l(t[2]),u(t[1])),i=[],a=0;a<n.length;a++){var s=r.points[n[a]];i.push(s.numPoints?o(s):this.points[s.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=[],s=0;s<i.length;s++){var l=this.trees[e+1].points[i[s]];l.parentId===t&&a.push(l.numPoints?o(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/a,s=(r-o)/i,l=(r+1+o)/i,u={features:[]};return this._addTileFeatures(n.range((e-o)/i,s,(e+1+o)/i,l),n.points,e,r,i,u),0===e&&this._addTileFeatures(n.range(1-o/i,s,1,l),n.points,i,r,i,u),e===i-1&&this._addTileFeatures(n.range(0,s,o/i,l),n.points,-1,r,i,u),u.features.length?u: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 l=e[t[o]];a.features.push({type:1,geometry:[[Math.round(this.options.extent*(l.x*i-r)),Math.round(this.options.extent*(l.y*i-n))]],tags:l.numPoints?s(l):this.points[l.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)),a=0;a<t.length;a++){var o=t[a];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 p=0;p<l.length;p++){var d=s.points[l[p]];if(e<d.zoom){var g=d.numPoints||1;d.zoom=e,c+=d.x*g,h+=d.y*g,u+=g,d.parentId=a,this.options.reduce&&this._accumulate(f,d)}}1===u?r.push(o):(o.parentId=a,r.push(i(c/u,h/u,u,a,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:26}],33:[function(t,e,r){function n(t,e){if(!(this instanceof n))return new n(t,e);if(this.data=t||[],this.length=this.data.length,this.compare=e||i,this.length>0)for(var r=this.length>>1;r>=0;r--)this._down(r)}function i(t,e){return t<e?-1:t>e?1:0}e.exports=n,n.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){if(0!==this.length){var t=this.data[0];return this.length--,this.length>0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),t}},peek:function(){return this.data[0]},_up:function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},_down:function(t){for(var e=this.data,r=this.compare,n=this.length,i=n>>1,a=e[t];t<i;){var o=1+(t<<1),s=o+1,l=e[o];if(s<n&&r(e[s],l)<0&&(o=s,l=e[s]),r(l,a)>=0)break;e[t]=l,t=o}e[t]=a}}},{}],34:[function(t,e,r){function n(t){var e=new h;return function(t,e){for(var r in t.layers)e.writeMessage(3,i,t.layers[r])}(t,e),e.finish()}function i(t,e){e.writeVarintField(15,t.version||1),e.writeStringField(1,t.name||\"\"),e.writeVarintField(5,t.extent||4096);var r,n={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<t.length;r++)n.feature=t.feature(r),e.writeMessage(2,a,n);var i=n.keys;for(r=0;r<i.length;r++)e.writeStringField(3,i[r]);var o=n.values;for(r=0;r<o.length;r++)e.writeMessage(4,c,o[r])}function a(t,e){var r=t.feature;void 0!==r.id&&e.writeVarintField(1,r.id),e.writeMessage(2,o,t),e.writeVarintField(3,r.type),e.writeMessage(4,u,r)}function o(t,e){var r=t.feature,n=t.keys,i=t.values,a=t.keycache,o=t.valuecache;for(var s in r.properties){var l=a[s];void 0===l&&(n.push(s),l=n.length-1,a[s]=l),e.writeVarint(l);var u=r.properties[s],c=typeof u;\"string\"!==c&&\"boolean\"!==c&&\"number\"!==c&&(u=JSON.stringify(u));var h=c+\":\"+u,f=o[h];void 0===f&&(i.push(u),f=i.length-1,o[h]=f),e.writeVarint(f)}}function s(t,e){return(e<<3)+(7&t)}function l(t){return t<<1^t>>31}function u(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,u=0;u<o;u++){var c=r[u],h=1;1===n&&(h=c.length),e.writeVarint(s(1,h));for(var f=0;f<c.length;f++){1===f&&1!==n&&e.writeVarint(s(2,c.length-1));var p=c[f].x-i,d=c[f].y-a;e.writeVarint(l(p)),e.writeVarint(l(d)),i+=p,a+=d}}}function c(t,e){var r=typeof t;\"string\"===r?e.writeStringField(1,t):\"boolean\"===r?e.writeBooleanField(7,t):\"number\"===r&&(t%1!=0?e.writeDoubleField(3,t):t<0?e.writeSVarintField(6,t):e.writeVarintField(5,t))}var h=t(\"pbf\"),f=t(\"./lib/geojson_wrapper\");e.exports=n,e.exports.fromVectorTileJs=n,e.exports.fromGeojsonVt=function(t){var e={};for(var r in t)e[r]=new f(t[r].features),e[r].name=r;return n({layers:e})},e.exports.GeoJSONWrapper=f},{\"./lib/geojson_wrapper\":35,pbf:30}],35:[function(t,e,r){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(\"@mapbox/point-geometry\"),o=t(\"@mapbox/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},{\"@mapbox/point-geometry\":4,\"@mapbox/vector-tile\":8}],36:[function(t,e,r){var n=arguments[3],i=arguments[4],a=arguments[5],o=JSON.stringify;e.exports=function(t,e){for(var r,s=Object.keys(a),l=0,u=s.length;l<u;l++){var c=s[l],h=a[c].exports;if(h===t||h&&h.default===t){r=c;break}}if(!r){r=Math.floor(Math.pow(16,8)*Math.random()).toString(16);var f={};for(l=0,u=s.length;l<u;l++){f[c=s[l]]=c}i[r]=[\"function(require,module,exports){\"+t+\"(self); }\",f]}var p=Math.floor(Math.pow(16,8)*Math.random()).toString(16),d={};d[r]=r,i[p]=[\"function(require,module,exports){var f = require(\"+o(r)+\");(f.default ? f.default : f)(self);}\",d];var g={};!function t(e){for(var r in g[e]=!0,i[e][1]){var n=i[e][1][r];g[n]||t(n)}}(p);var v=\"(\"+n+\")({\"+Object.keys(g).map(function(t){return o(t)+\":[\"+i[t][0]+\",\"+o(i[t][1])+\"]\"}).join(\",\")+\"},{},[\"+o(p)+\"])\",m=window.URL||window.webkitURL||window.mozURL||window.msURL,y=new Blob([v],{type:\"text/javascript\"});if(e&&e.bare)return y;var x=m.createObjectURL(y),b=new Worker(x);return b.objectURL=x,b}},{}],37:[function(t,e,r){e.exports.RADIUS=6378137,e.exports.FLATTENING=1/298.257223563,e.exports.POLAR_RADIUS=6356752.3142},{}],38:[function(t,e,r){e.exports={version:\"0.44.1\"}},{}],39:[function(t,e,r){var n=t(\"../util/struct_array\").StructArray,i=t(\"../util/struct_array\").Struct,a=t(\"../util/web_worker_transfer\").register,o=t(\"@mapbox/point-geometry\"),s=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=2*r;return this.int16[n+0]=t,this.int16[n+1]=e,r},e}(n);s.prototype.bytesPerElement=4,a(\"StructArrayLayout2i4\",s);var l=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;this.resize(i+1);var a=4*i;return this.int16[a+0]=t,this.int16[a+1]=e,this.int16[a+2]=r,this.int16[a+3]=n,i},e}(n);l.prototype.bytesPerElement=8,a(\"StructArrayLayout4i8\",l);var u=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;this.resize(o+1);var s=6*o;return this.int16[s+0]=t,this.int16[s+1]=e,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=i,this.int16[s+5]=a,o},e}(n);u.prototype.bytesPerElement=12,a(\"StructArrayLayout2i4i12\",u);var c=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s){var l=this.length;this.resize(l+1);var u=6*l,c=12*l;return this.int16[u+0]=t,this.int16[u+1]=e,this.int16[u+2]=r,this.int16[u+3]=n,this.uint8[c+8]=i,this.uint8[c+9]=a,this.uint8[c+10]=o,this.uint8[c+11]=s,l},e}(n);c.prototype.bytesPerElement=12,a(\"StructArrayLayout4i4ub12\",c);var h=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s){var l=this.length;this.resize(l+1);var u=8*l;return this.int16[u+0]=t,this.int16[u+1]=e,this.int16[u+2]=r,this.int16[u+3]=n,this.uint16[u+4]=i,this.uint16[u+5]=a,this.uint16[u+6]=o,this.uint16[u+7]=s,l},e}(n);h.prototype.bytesPerElement=16,a(\"StructArrayLayout4i4ui16\",h);var f=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=3*n;return this.float32[i+0]=t,this.float32[i+1]=e,this.float32[i+2]=r,n},e}(n);f.prototype.bytesPerElement=12,a(\"StructArrayLayout3f12\",f);var p=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;this.resize(e+1);var r=1*e;return this.uint32[r+0]=t,e},e}(n);p.prototype.bytesPerElement=4,a(\"StructArrayLayout1ul4\",p);var d=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c){var h=this.length;this.resize(h+1);var f=12*h,p=6*h;return this.int16[f+0]=t,this.int16[f+1]=e,this.int16[f+2]=r,this.int16[f+3]=n,this.int16[f+4]=i,this.int16[f+5]=a,this.uint32[p+3]=o,this.uint16[f+8]=s,this.uint16[f+9]=l,this.int16[f+10]=u,this.int16[f+11]=c,h},e}(n);d.prototype.bytesPerElement=24,a(\"StructArrayLayout6i1ul2ui2i24\",d);var g=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;this.resize(o+1);var s=6*o;return this.int16[s+0]=t,this.int16[s+1]=e,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=i,this.int16[s+5]=a,o},e}(n);g.prototype.bytesPerElement=12,a(\"StructArrayLayout2i2i2i12\",g);var v=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=4*r;return this.uint8[n+0]=t,this.uint8[n+1]=e,r},e}(n);v.prototype.bytesPerElement=4,a(\"StructArrayLayout2ub4\",v);var m=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,h,f,p){var d=this.length;this.resize(d+1);var g=20*d,v=10*d,m=40*d;return this.int16[g+0]=t,this.int16[g+1]=e,this.uint16[g+2]=r,this.uint16[g+3]=n,this.uint32[v+2]=i,this.uint32[v+3]=a,this.uint32[v+4]=o,this.uint16[g+10]=s,this.uint16[g+11]=l,this.uint16[g+12]=u,this.float32[v+7]=c,this.float32[v+8]=h,this.uint8[m+36]=f,this.uint8[m+37]=p,d},e}(n);m.prototype.bytesPerElement=40,a(\"StructArrayLayout2i2ui3ul3ui2f2ub40\",m);var y=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;this.resize(e+1);var r=1*e;return this.float32[r+0]=t,e},e}(n);y.prototype.bytesPerElement=4,a(\"StructArrayLayout1f4\",y);var x=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=3*n;return this.int16[i+0]=t,this.int16[i+1]=e,this.int16[i+2]=r,n},e}(n);x.prototype.bytesPerElement=6,a(\"StructArrayLayout3i6\",x);var b=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=2*n,a=4*n;return this.uint32[i+0]=t,this.uint16[a+2]=e,this.uint16[a+3]=r,n},e}(n);b.prototype.bytesPerElement=8,a(\"StructArrayLayout1ul2ui8\",b);var _=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=3*n;return this.uint16[i+0]=t,this.uint16[i+1]=e,this.uint16[i+2]=r,n},e}(n);_.prototype.bytesPerElement=6,a(\"StructArrayLayout3ui6\",_);var w=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=2*r;return this.uint16[n+0]=t,this.uint16[n+1]=e,r},e}(n);w.prototype.bytesPerElement=4,a(\"StructArrayLayout2ui4\",w);var M=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=2*r;return this.float32[n+0]=t,this.float32[n+1]=e,r},e}(n);M.prototype.bytesPerElement=8,a(\"StructArrayLayout2f8\",M);var A=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;this.resize(i+1);var a=4*i;return this.float32[a+0]=t,this.float32[a+1]=e,this.float32[a+2]=r,this.float32[a+3]=n,i},e}(n);A.prototype.bytesPerElement=16,a(\"StructArrayLayout4f16\",A);var k=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{},anchorPointY:{},x1:{},y1:{},x2:{},y2:{},featureIndex:{},sourceLayerIndex:{},bucketIndex:{},radius:{},signedDistanceFromAnchor:{},anchorPoint:{}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorPointY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.x1.set=function(t){this._structArray.int16[this._pos2+2]=t},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.y1.set=function(t){this._structArray.int16[this._pos2+3]=t},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.x2.set=function(t){this._structArray.int16[this._pos2+4]=t},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.y2.set=function(t){this._structArray.int16[this._pos2+5]=t},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+8]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+9]=t},r.radius.get=function(){return this._structArray.int16[this._pos2+10]},r.radius.set=function(t){this._structArray.int16[this._pos2+10]=t},r.signedDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+11]},r.signedDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+11]=t},r.anchorPoint.get=function(){return new o(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(i);k.prototype.size=24;var T=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new k(this,t)},e}(d);a(\"CollisionBoxArray\",T);var S=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{},anchorY:{},glyphStartIndex:{},numGlyphs:{},vertexStartIndex:{},lineStartIndex:{},lineLength:{},segment:{},lowerSize:{},upperSize:{},lineOffsetX:{},lineOffsetY:{},writingMode:{},hidden:{}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.glyphStartIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.numGlyphs.set=function(t){this._structArray.uint16[this._pos2+3]=t},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.vertexStartIndex.set=function(t){this._structArray.uint32[this._pos4+2]=t},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineStartIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.lineLength.set=function(t){this._structArray.uint32[this._pos4+4]=t},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.segment.set=function(t){this._structArray.uint16[this._pos2+10]=t},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.lowerSize.set=function(t){this._structArray.uint16[this._pos2+11]=t},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.upperSize.set=function(t){this._structArray.uint16[this._pos2+12]=t},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetX.set=function(t){this._structArray.float32[this._pos4+7]=t},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.lineOffsetY.set=function(t){this._structArray.float32[this._pos4+8]=t},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.writingMode.set=function(t){this._structArray.uint8[this._pos1+36]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+37]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+37]=t},Object.defineProperties(e.prototype,r),e}(i);S.prototype.size=40;var E=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new S(this,t)},e}(m);a(\"PlacedSymbolArray\",E);var C=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={offsetX:{}};return r.offsetX.get=function(){return this._structArray.float32[this._pos4+0]},r.offsetX.set=function(t){this._structArray.float32[this._pos4+0]=t},Object.defineProperties(e.prototype,r),e}(i);C.prototype.size=4;var L=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e.prototype.get=function(t){return new C(this,t)},e}(y);a(\"GlyphOffsetArray\",L);var z=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={x:{},y:{},tileUnitDistanceFromAnchor:{}};return r.x.get=function(){return this._structArray.int16[this._pos2+0]},r.x.set=function(t){this._structArray.int16[this._pos2+0]=t},r.y.get=function(){return this._structArray.int16[this._pos2+1]},r.y.set=function(t){this._structArray.int16[this._pos2+1]=t},r.tileUnitDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+2]},r.tileUnitDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+2]=t},Object.defineProperties(e.prototype,r),e}(i);z.prototype.size=6;var P=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e.prototype.get=function(t){return new z(this,t)},e}(x);a(\"SymbolLineVertexArray\",P);var I=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{},sourceLayerIndex:{},bucketIndex:{}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+0]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+3]=t},Object.defineProperties(e.prototype,r),e}(i);I.prototype.size=8;var D=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new I(this,t)},e}(b);a(\"FeatureIndexArray\",D),e.exports={StructArrayLayout2i4:s,StructArrayLayout4i8:l,StructArrayLayout2i4i12:u,StructArrayLayout4i4ub12:c,StructArrayLayout4i4ui16:h,StructArrayLayout3f12:f,StructArrayLayout1ul4:p,StructArrayLayout6i1ul2ui2i24:d,StructArrayLayout2i2i2i12:g,StructArrayLayout2ub4:v,StructArrayLayout2i2ui3ul3ui2f2ub40:m,StructArrayLayout1f4:y,StructArrayLayout3i6:x,StructArrayLayout1ul2ui8:b,StructArrayLayout3ui6:_,StructArrayLayout2ui4:w,StructArrayLayout2f8:M,StructArrayLayout4f16:A,PosArray:s,RasterBoundsArray:l,CircleLayoutArray:s,FillLayoutArray:s,FillExtrusionLayoutArray:u,HeatmapLayoutArray:s,LineLayoutArray:c,SymbolLayoutArray:h,SymbolDynamicLayoutArray:f,SymbolOpacityArray:p,CollisionBoxLayoutArray:g,CollisionCircleLayoutArray:g,CollisionVertexArray:v,TriangleIndexArray:_,LineIndexArray:w,CollisionBoxArray:T,PlacedSymbolArray:E,GlyphOffsetArray:L,SymbolLineVertexArray:P,FeatureIndexArray:D}},{\"../util/struct_array\":271,\"../util/web_worker_transfer\":278,\"@mapbox/point-geometry\":4}],40:[function(t,e,r){e.exports={deserialize:function(t,e){var r={};if(!e)return r;for(var n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.layerIds.map(function(t){return e.getLayer(t)}).filter(Boolean);if(0!==o.length){a.layers=o;for(var s=0,l=o;s<l.length;s+=1)r[l[s].id]=a}}return r}}},{}],41:[function(t,e,r){var n=t(\"../../util/struct_array\").createLayout;e.exports=n([{name:\"a_pos\",components:2,type:\"Int16\"}],4)},{\"../../util/struct_array\":271}],42:[function(t,e,r){function n(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var i=t(\"../array_types\").CircleLayoutArray,a=t(\"./circle_attributes\").members,o=t(\"../segment\").SegmentVector,s=t(\"../program_configuration\").ProgramConfigurationSet,l=t(\"../index_array_type\").TriangleIndexArray,u=t(\"../load_geometry\"),c=t(\"../extent\"),h=t(\"../../util/web_worker_transfer\").register,f=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new i,this.indexArray=new l,this.segments=new o,this.programConfigurations=new s(a,t.layers,t.zoom)};f.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var c=u(o);r.addFeature(o,c),e.featureIndex.insert(o,c,s,l,r.index)}}},f.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},f.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,a),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},f.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},f.prototype.addFeature=function(t,e){for(var r=this,i=0,a=e;i<a.length;i+=1)for(var o=0,s=a[i];o<s.length;o+=1){var l=s[o],u=l.x,h=l.y;if(!(u<0||u>=c||h<0||h>=c)){var f=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray),p=f.vertexLength;n(r.layoutVertexArray,u,h,-1,-1),n(r.layoutVertexArray,u,h,1,-1),n(r.layoutVertexArray,u,h,1,1),n(r.layoutVertexArray,u,h,-1,1),r.indexArray.emplaceBack(p,p+1,p+2),r.indexArray.emplaceBack(p,p+3,p+2),f.vertexLength+=4,f.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},h(\"CircleBucket\",f,{omit:[\"layers\"]}),e.exports=f},{\"../../util/web_worker_transfer\":278,\"../array_types\":39,\"../extent\":53,\"../index_array_type\":55,\"../load_geometry\":56,\"../program_configuration\":58,\"../segment\":60,\"./circle_attributes\":41}],43:[function(t,e,r){arguments[4][41][0].apply(r,arguments)},{\"../../util/struct_array\":271,dup:41}],44:[function(t,e,r){var n=t(\"../array_types\").FillLayoutArray,i=t(\"./fill_attributes\").members,a=t(\"../segment\").SegmentVector,o=t(\"../program_configuration\").ProgramConfigurationSet,s=t(\"../index_array_type\"),l=s.LineIndexArray,u=s.TriangleIndexArray,c=t(\"../load_geometry\"),h=t(\"earcut\"),f=t(\"../../util/classify_rings\"),p=t(\"../../util/web_worker_transfer\").register,d=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new n,this.indexArray=new u,this.indexArray2=new l,this.programConfigurations=new o(i,t.layers,t.zoom),this.segments=new a,this.segments2=new a};d.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var u=c(o);r.addFeature(o,u),e.featureIndex.insert(o,u,s,l,r.index)}}},d.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},d.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,i),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2),this.programConfigurations.upload(t)},d.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},d.prototype.addFeature=function(t,e){for(var r=this,n=0,i=f(e,500);n<i.length;n+=1){for(var a=i[n],o=0,s=0,l=a;s<l.length;s+=1)o+=l[s].length;for(var u=r.segments.prepareSegment(o,r.layoutVertexArray,r.indexArray),c=u.vertexLength,p=[],d=[],g=0,v=a;g<v.length;g+=1){var m=v[g];if(0!==m.length){m!==a[0]&&d.push(p.length/2);var y=r.segments2.prepareSegment(m.length,r.layoutVertexArray,r.indexArray2),x=y.vertexLength;r.layoutVertexArray.emplaceBack(m[0].x,m[0].y),r.indexArray2.emplaceBack(x+m.length-1,x),p.push(m[0].x),p.push(m[0].y);for(var b=1;b<m.length;b++)r.layoutVertexArray.emplaceBack(m[b].x,m[b].y),r.indexArray2.emplaceBack(x+b-1,x+b),p.push(m[b].x),p.push(m[b].y);y.vertexLength+=m.length,y.primitiveLength+=m.length}}for(var _=h(p,d),w=0;w<_.length;w+=3)r.indexArray.emplaceBack(c+_[w],c+_[w+1],c+_[w+2]);u.vertexLength+=o,u.primitiveLength+=_.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},p(\"FillBucket\",d,{omit:[\"layers\"]}),e.exports=d},{\"../../util/classify_rings\":255,\"../../util/web_worker_transfer\":278,\"../array_types\":39,\"../index_array_type\":55,\"../load_geometry\":56,\"../program_configuration\":58,\"../segment\":60,\"./fill_attributes\":43,earcut:14}],45:[function(t,e,r){var n=t(\"../../util/struct_array\").createLayout;e.exports=n([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal_ed\",components:4,type:\"Int16\"}],4)},{\"../../util/struct_array\":271}],46:[function(t,e,r){function n(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*y)+o,i*y*2,a*y*2,Math.round(s))}function i(t,e){return t.x===e.x&&(t.x<0||t.x>d)||t.y===e.y&&(t.y<0||t.y>d)}function a(t){return t.every(function(t){return t.x<0})||t.every(function(t){return t.x>d})||t.every(function(t){return t.y<0})||t.every(function(t){return t.y>d})}var o=t(\"../array_types\").FillExtrusionLayoutArray,s=t(\"./fill_extrusion_attributes\").members,l=t(\"../segment\"),u=l.SegmentVector,c=l.MAX_VERTEX_ARRAY_LENGTH,h=t(\"../program_configuration\").ProgramConfigurationSet,f=t(\"../index_array_type\").TriangleIndexArray,p=t(\"../load_geometry\"),d=t(\"../extent\"),g=t(\"earcut\"),v=t(\"../../util/classify_rings\"),m=t(\"../../util/web_worker_transfer\").register,y=Math.pow(2,13),x=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new o,this.indexArray=new f,this.programConfigurations=new h(s,t.layers,t.zoom),this.segments=new u};x.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var u=p(o);r.addFeature(o,u),e.featureIndex.insert(o,u,s,l,r.index)}}},x.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},x.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,s),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},x.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},x.prototype.addFeature=function(t,e){for(var r=this,o=0,s=v(e,500);o<s.length;o+=1){for(var l=s[o],u=0,h=0,f=l;h<f.length;h+=1)u+=f[h].length;for(var p=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray),d=0,m=l;d<m.length;d+=1){var y=m[d];if(0!==y.length&&!a(y))for(var x=0,b=0;b<y.length;b++){var _=y[b];if(b>=1){var w=y[b-1];if(!i(_,w)){p.vertexLength+4>c&&(p=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray));var M=_.sub(w)._perp()._unit(),A=w.dist(_);x+A>32768&&(x=0),n(r.layoutVertexArray,_.x,_.y,M.x,M.y,0,0,x),n(r.layoutVertexArray,_.x,_.y,M.x,M.y,0,1,x),x+=A,n(r.layoutVertexArray,w.x,w.y,M.x,M.y,0,0,x),n(r.layoutVertexArray,w.x,w.y,M.x,M.y,0,1,x);var k=p.vertexLength;r.indexArray.emplaceBack(k,k+1,k+2),r.indexArray.emplaceBack(k+1,k+2,k+3),p.vertexLength+=4,p.primitiveLength+=2}}}}p.vertexLength+u>c&&(p=r.segments.prepareSegment(u,r.layoutVertexArray,r.indexArray));for(var T=[],S=[],E=p.vertexLength,C=0,L=l;C<L.length;C+=1){var z=L[C];if(0!==z.length){z!==l[0]&&S.push(T.length/2);for(var P=0;P<z.length;P++){var I=z[P];n(r.layoutVertexArray,I.x,I.y,0,0,1,1,0),T.push(I.x),T.push(I.y)}}}for(var D=g(T,S),O=0;O<D.length;O+=3)r.indexArray.emplaceBack(E+D[O],E+D[O+1],E+D[O+2]);p.primitiveLength+=D.length/3,p.vertexLength+=u}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},m(\"FillExtrusionBucket\",x,{omit:[\"layers\"]}),e.exports=x},{\"../../util/classify_rings\":255,\"../../util/web_worker_transfer\":278,\"../array_types\":39,\"../extent\":53,\"../index_array_type\":55,\"../load_geometry\":56,\"../program_configuration\":58,\"../segment\":60,\"./fill_extrusion_attributes\":45,earcut:14}],47:[function(t,e,r){var n=t(\"./circle_bucket\"),i=t(\"../../util/web_worker_transfer\").register,a=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(n);i(\"HeatmapBucket\",a,{omit:[\"layers\"]}),e.exports=a},{\"../../util/web_worker_transfer\":278,\"./circle_bucket\":42}],48:[function(t,e,r){var n=t(\"../../util/struct_array\").createLayout;e.exports=n([{name:\"a_pos_normal\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],4)},{\"../../util/struct_array\":271}],49:[function(t,e,r){function n(t,e,r,n,i,a,o){t.emplaceBack(e.x,e.y,n?1:0,i?1:-1,Math.round(p*r.x)+128,Math.round(p*r.y)+128,1+(0===a?0:a<0?-1:1)|(o*g&63)<<2,o*g>>6)}var i=t(\"../array_types\").LineLayoutArray,a=t(\"./line_attributes\").members,o=t(\"../segment\").SegmentVector,s=t(\"../program_configuration\").ProgramConfigurationSet,l=t(\"../index_array_type\").TriangleIndexArray,u=t(\"../load_geometry\"),c=t(\"../extent\"),h=t(\"@mapbox/vector-tile\").VectorTileFeature.types,f=t(\"../../util/web_worker_transfer\").register,p=63,d=Math.cos(Math.PI/180*37.5),g=.5,v=Math.pow(2,14)/g,m=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new i,this.indexArray=new l,this.programConfigurations=new s(a,t.layers,t.zoom),this.segments=new o};m.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var c=u(o);r.addFeature(o,c),e.featureIndex.insert(o,c,s,l,r.index)}}},m.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},m.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,a),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},m.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},m.prototype.addFeature=function(t,e){for(var r=this.layers[0].layout,n=r.get(\"line-join\").evaluate(t),i=r.get(\"line-cap\"),a=r.get(\"line-miter-limit\"),o=r.get(\"line-round-limit\"),s=0,l=e;s<l.length;s+=1){var u=l[s];this.addLine(u,t,n,i,a,o)}},m.prototype.addLine=function(t,e,r,n,i,a){for(var o=this,s=\"Polygon\"===h[e.type],l=t.length;l>=2&&t[l-1].equals(t[l-2]);)l--;for(var u=0;u<l-1&&t[u].equals(t[u+1]);)u++;if(!(l<(s?3:2))){\"bevel\"===r&&(i=1.05);var f=c/(512*this.overscaling)*15,p=t[u],g=this.segments.prepareSegment(10*l,this.layoutVertexArray,this.indexArray);this.distance=0;var v,m,y,x=n,b=s?\"butt\":n,_=!0,w=void 0,M=void 0,A=void 0,k=void 0;this.e1=this.e2=this.e3=-1,s&&(v=t[l-2],k=p.sub(v)._unit()._perp());for(var T=u;T<l;T++)if(!(M=s&&T===l-1?t[u+1]:t[T+1])||!t[T].equals(M)){k&&(A=k),v&&(w=v),v=t[T],k=M?M.sub(v)._unit()._perp():A;var S=(A=A||k).add(k);0===S.x&&0===S.y||S._unit();var E=S.x*k.x+S.y*k.y,C=0!==E?1/E:1/0,L=E<d&&w&&M;if(L&&T>u){var z=v.dist(w);if(z>2*f){var P=v.sub(v.sub(w)._mult(f/z)._round());o.distance+=P.dist(w),o.addCurrentVertex(P,o.distance,A.mult(1),0,0,!1,g),w=P}}var I=w&&M,D=I?r:M?x:b;if(I&&\"round\"===D&&(C<a?D=\"miter\":C<=2&&(D=\"fakeround\")),\"miter\"===D&&C>i&&(D=\"bevel\"),\"bevel\"===D&&(C>2&&(D=\"flipbevel\"),C<i&&(D=\"miter\")),w&&(o.distance+=v.dist(w)),\"miter\"===D)S._mult(C),o.addCurrentVertex(v,o.distance,S,0,0,!1,g);else if(\"flipbevel\"===D){if(C>100)S=k.clone().mult(-1);else{var O=A.x*k.y-A.y*k.x>0?-1:1,R=C*A.add(k).mag()/A.sub(k).mag();S._perp()._mult(R*O)}o.addCurrentVertex(v,o.distance,S,0,0,!1,g),o.addCurrentVertex(v,o.distance,S.mult(-1),0,0,!1,g)}else if(\"bevel\"===D||\"fakeround\"===D){var F=A.x*k.y-A.y*k.x>0,B=-Math.sqrt(C*C-1);if(F?(y=0,m=B):(m=0,y=B),_||o.addCurrentVertex(v,o.distance,A,m,y,!1,g),\"fakeround\"===D){for(var N=Math.floor(8*(.5-(E-.5))),j=void 0,V=0;V<N;V++)j=k.mult((V+1)/(N+1))._add(A)._unit(),o.addPieSliceVertex(v,o.distance,j,F,g);o.addPieSliceVertex(v,o.distance,S,F,g);for(var U=N-1;U>=0;U--)j=A.mult((U+1)/(N+1))._add(k)._unit(),o.addPieSliceVertex(v,o.distance,j,F,g)}M&&o.addCurrentVertex(v,o.distance,k,-m,-y,!1,g)}else\"butt\"===D?(_||o.addCurrentVertex(v,o.distance,A,0,0,!1,g),M&&o.addCurrentVertex(v,o.distance,k,0,0,!1,g)):\"square\"===D?(_||(o.addCurrentVertex(v,o.distance,A,1,1,!1,g),o.e1=o.e2=-1),M&&o.addCurrentVertex(v,o.distance,k,-1,-1,!1,g)):\"round\"===D&&(_||(o.addCurrentVertex(v,o.distance,A,0,0,!1,g),o.addCurrentVertex(v,o.distance,A,1,1,!0,g),o.e1=o.e2=-1),M&&(o.addCurrentVertex(v,o.distance,k,-1,-1,!0,g),o.addCurrentVertex(v,o.distance,k,0,0,!1,g)));if(L&&T<l-1){var q=v.dist(M);if(q>2*f){var H=v.add(M.sub(v)._mult(f/q)._round());o.distance+=H.dist(v),o.addCurrentVertex(H,o.distance,k.mult(1),0,0,!1,g),v=H}}_=!1}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e)}},m.prototype.addCurrentVertex=function(t,e,r,i,a,o,s){var l,u=this.layoutVertexArray,c=this.indexArray;l=r.clone(),i&&l._sub(r.perp()._mult(i)),n(u,t,l,o,!1,i,e),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(c.emplaceBack(this.e1,this.e2,this.e3),s.primitiveLength++),this.e1=this.e2,this.e2=this.e3,l=r.mult(-1),a&&l._sub(r.perp()._mult(a)),n(u,t,l,o,!0,-a,e),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(c.emplaceBack(this.e1,this.e2,this.e3),s.primitiveLength++),this.e1=this.e2,this.e2=this.e3,e>v/2&&(this.distance=0,this.addCurrentVertex(t,this.distance,r,i,a,o,s))},m.prototype.addPieSliceVertex=function(t,e,r,i,a){r=r.mult(i?-1:1);var o=this.layoutVertexArray,s=this.indexArray;n(o,t,r,!1,i,0,e),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(s.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},f(\"LineBucket\",m,{omit:[\"layers\"]}),e.exports=m},{\"../../util/web_worker_transfer\":278,\"../array_types\":39,\"../extent\":53,\"../index_array_type\":55,\"../load_geometry\":56,\"../program_configuration\":58,\"../segment\":60,\"./line_attributes\":48,\"@mapbox/vector-tile\":8}],50:[function(t,e,r){var n=t(\"../../util/struct_array\").createLayout,i={symbolLayoutAttributes:n([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"}]),dynamicLayoutAttributes:n([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4),placementOpacityAttributes:n([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4),collisionVertexAttributes:n([{name:\"a_placed\",components:2,type:\"Uint8\"}],4),collisionBox:n([{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:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"},{type:\"Int16\",name:\"radius\"},{type:\"Int16\",name:\"signedDistanceFromAnchor\"}]),collisionBoxLayout:n([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),collisionCircleLayout:n([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),placement:n([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"hidden\"}]),glyphOffset:n([{type:\"Float32\",name:\"offsetX\"}]),lineVertex:n([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}])};e.exports=i},{\"../../util/struct_array\":271}],51:[function(t,e,r){function n(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,Math.round(64*n),Math.round(64*i),a,o,s?s[0]:0,s?s[1]:0)}function i(t,e,r){t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r)}var a=t(\"./symbol_attributes\"),o=a.symbolLayoutAttributes,s=a.collisionVertexAttributes,l=a.collisionBoxLayout,u=a.collisionCircleLayout,c=a.dynamicLayoutAttributes,h=t(\"../array_types\"),f=h.SymbolLayoutArray,p=h.SymbolDynamicLayoutArray,d=h.SymbolOpacityArray,g=h.CollisionBoxLayoutArray,v=h.CollisionCircleLayoutArray,m=h.CollisionVertexArray,y=h.PlacedSymbolArray,x=h.GlyphOffsetArray,b=h.SymbolLineVertexArray,_=t(\"@mapbox/point-geometry\"),w=t(\"../segment\").SegmentVector,M=t(\"../program_configuration\").ProgramConfigurationSet,A=t(\"../index_array_type\"),k=A.TriangleIndexArray,T=A.LineIndexArray,S=t(\"../../symbol/transform_text\"),E=t(\"../../symbol/mergelines\"),C=t(\"../../util/script_detection\"),L=t(\"../load_geometry\"),z=t(\"@mapbox/vector-tile\").VectorTileFeature.types,P=t(\"../../util/verticalize_punctuation\"),I=(t(\"../../symbol/anchor\"),t(\"../../symbol/symbol_size\").getSizeData),D=t(\"../../util/web_worker_transfer\").register,O=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}],R=function(t){this.layoutVertexArray=new f,this.indexArray=new k,this.programConfigurations=t,this.segments=new w,this.dynamicLayoutVertexArray=new p,this.opacityVertexArray=new d,this.placedSymbolArray=new y};R.prototype.upload=function(t,e){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,o.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.programConfigurations.upload(t),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,c.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,O,!0),this.opacityVertexBuffer.itemSize=1},R.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},D(\"SymbolBuffers\",R);var F=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new w,this.collisionVertexArray=new m};F.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,s.members,!0)},F.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},D(\"CollisionBuffers\",F);var B=function(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.pixelRatio=t.pixelRatio;var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=I(this.zoom,e[\"text-size\"]),this.iconSizeData=I(this.zoom,e[\"icon-size\"]);var r=this.layers[0].layout;this.sortFeaturesByY=r.get(\"text-allow-overlap\")||r.get(\"icon-allow-overlap\")||r.get(\"text-ignore-placement\")||r.get(\"icon-ignore-placement\")};B.prototype.createArrays=function(){this.text=new R(new M(o.members,this.layers,this.zoom,function(t){return/^text/.test(t)})),this.icon=new R(new M(o.members,this.layers,this.zoom,function(t){return/^icon/.test(t)})),this.collisionBox=new F(g,l.members,T),this.collisionCircle=new F(v,u.members,k),this.glyphOffsetArray=new x,this.lineVertexArray=new b},B.prototype.populate=function(t,e){var r=this.layers[0],n=r.layout,i=n.get(\"text-font\"),a=n.get(\"text-field\"),o=n.get(\"icon-image\"),s=(\"constant\"!==a.value.kind||a.value.value.length>0)&&(\"constant\"!==i.value.kind||i.value.value.length>0),l=\"constant\"!==o.value.kind||o.value.value&&o.value.value.length>0;if(this.features=[],s||l){for(var u=e.iconDependencies,c=e.glyphDependencies,h={zoom:this.zoom},f=0,p=t;f<p.length;f+=1){var d=p[f],g=d.feature,v=d.index,m=d.sourceLayerIndex;if(r._featureFilter(h,g)){var y=void 0;s&&(y=r.getValueAndResolveTokens(\"text-field\",g),y=S(y,r,g));var x=void 0;if(l&&(x=r.getValueAndResolveTokens(\"icon-image\",g)),y||x){var b={text:y,icon:x,index:v,sourceLayerIndex:m,geometry:L(g),properties:g.properties,type:z[g.type]};if(void 0!==g.id&&(b.id=g.id),this.features.push(b),x&&(u[x]=!0),y)for(var _=i.evaluate(g).join(\",\"),w=c[_]=c[_]||{},M=\"map\"===n.get(\"text-rotation-alignment\")&&\"line\"===n.get(\"symbol-placement\"),A=C.allowsVerticalWritingMode(y),k=0;k<y.length;k++)if(w[y.charCodeAt(k)]=!0,M&&A){var T=P.lookup[y.charAt(k)];T&&(w[T.charCodeAt(0)]=!0)}}}}\"line\"===n.get(\"symbol-placement\")&&(this.features=E(this.features))}},B.prototype.isEmpty=function(){return 0===this.symbolInstances.length},B.prototype.upload=function(t){this.text.upload(t,this.sortFeaturesByY),this.icon.upload(t,this.sortFeaturesByY),this.collisionBox.upload(t),this.collisionCircle.upload(t)},B.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.collisionBox.destroy(),this.collisionCircle.destroy()},B.prototype.addToLineVertexArray=function(t,e){var r=this.lineVertexArray.length;if(void 0!==t.segment){for(var n=t.dist(e[t.segment+1]),i=t.dist(e[t.segment]),a={},o=t.segment+1;o<e.length;o++)a[o]={x:e[o].x,y:e[o].y,tileUnitDistanceFromAnchor:n},o<e.length-1&&(n+=e[o+1].dist(e[o]));for(var s=t.segment||0;s>=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l<e.length;l++){var u=a[l];this.lineVertexArray.emplaceBack(u.x,u.y,u.tileUnitDistanceFromAnchor)}}return{lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},B.prototype.addSymbols=function(t,e,r,a,o,s,l,u,c,h){for(var f=t.indexArray,p=t.layoutVertexArray,d=t.dynamicLayoutVertexArray,g=t.segments.prepareSegment(4*e.length,t.layoutVertexArray,t.indexArray),v=this.glyphOffsetArray.length,m=g.vertexLength,y=0,x=e;y<x.length;y+=1){var b=x[y],_=b.tl,w=b.tr,M=b.bl,A=b.br,k=b.tex,T=g.vertexLength,S=b.glyphOffset[1];n(p,u.x,u.y,_.x,S+_.y,k.x,k.y,r),n(p,u.x,u.y,w.x,S+w.y,k.x+k.w,k.y,r),n(p,u.x,u.y,M.x,S+M.y,k.x,k.y+k.h,r),n(p,u.x,u.y,A.x,S+A.y,k.x+k.w,k.y+k.h,r),i(d,u,0),f.emplaceBack(T,T+1,T+2),f.emplaceBack(T+1,T+2,T+3),g.vertexLength+=4,g.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(b.glyphOffset[0])}t.placedSymbolArray.emplaceBack(u.x,u.y,v,this.glyphOffsetArray.length-v,m,c,h,u.segment,r?r[0]:0,r?r[1]:0,a[0],a[1],l,!1),t.programConfigurations.populatePaintArrays(t.layoutVertexArray.length,s)},B.prototype._addCollisionDebugVertex=function(t,e,r,n,i){return e.emplaceBack(0,0),t.emplaceBack(r.x,r.y,n.x,n.y,Math.round(i.x),Math.round(i.y))},B.prototype.addCollisionDebugVertices=function(t,e,r,n,i,a,o,s){var l=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),u=l.vertexLength,c=i.layoutVertexArray,h=i.collisionVertexArray;if(this._addCollisionDebugVertex(c,h,a,o.anchor,new _(t,e)),this._addCollisionDebugVertex(c,h,a,o.anchor,new _(r,e)),this._addCollisionDebugVertex(c,h,a,o.anchor,new _(r,n)),this._addCollisionDebugVertex(c,h,a,o.anchor,new _(t,n)),l.vertexLength+=4,s){var f=i.indexArray;f.emplaceBack(u,u+1,u+2),f.emplaceBack(u,u+2,u+3),l.primitiveLength+=2}else{var p=i.indexArray;p.emplaceBack(u,u+1),p.emplaceBack(u+1,u+2),p.emplaceBack(u+2,u+3),p.emplaceBack(u+3,u),l.primitiveLength+=4}},B.prototype.generateCollisionDebugBuffers=function(){for(var t=this,e=0,r=t.symbolInstances;e<r.length;e+=1){var n=r[e];n.textCollisionFeature={boxStartIndex:n.textBoxStartIndex,boxEndIndex:n.textBoxEndIndex},n.iconCollisionFeature={boxStartIndex:n.iconBoxStartIndex,boxEndIndex:n.iconBoxEndIndex};for(var i=0;i<2;i++){var a=n[0===i?\"textCollisionFeature\":\"iconCollisionFeature\"];if(a)for(var o=a.boxStartIndex;o<a.boxEndIndex;o++){var s=t.collisionBoxArray.get(o),l=s.x1,u=s.y1,c=s.x2,h=s.y2,f=s.radius>0;t.addCollisionDebugVertices(l,u,c,h,f?t.collisionCircle:t.collisionBox,s.anchorPoint,n,f)}}}},B.prototype.deserializeCollisionBoxes=function(t,e,r,n,i){for(var a={},o=e;o<r;o++){var s=t.get(o);if(0===s.radius){a.textBox={x1:s.x1,y1:s.y1,x2:s.x2,y2:s.y2,anchorPointX:s.anchorPointX,anchorPointY:s.anchorPointY};break}a.textCircles||(a.textCircles=[]),a.textCircles.push(s.anchorPointX,s.anchorPointY,s.radius,s.signedDistanceFromAnchor,1)}for(var l=n;l<i;l++){var u=t.get(l);if(0===u.radius){a.iconBox={x1:u.x1,y1:u.y1,x2:u.x2,y2:u.y2,anchorPointX:u.anchorPointX,anchorPointY:u.anchorPointY};break}}return a},B.prototype.hasTextData=function(){return this.text.segments.get().length>0},B.prototype.hasIconData=function(){return this.icon.segments.get().length>0},B.prototype.hasCollisionBoxData=function(){return this.collisionBox.segments.get().length>0},B.prototype.hasCollisionCircleData=function(){return this.collisionCircle.segments.get().length>0},B.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&(this.sortedAngle=t,!(this.text.segments.get().length>1||this.icon.segments.get().length>1))){for(var r=[],n=0;n<this.symbolInstances.length;n++)r.push(n);var i=Math.sin(t),a=Math.cos(t);r.sort(function(t,r){var n=e.symbolInstances[t],o=e.symbolInstances[r];return(i*n.anchor.x+a*n.anchor.y|0)-(i*o.anchor.x+a*o.anchor.y|0)||o.featureIndex-n.featureIndex}),this.text.indexArray.clear(),this.icon.indexArray.clear();for(var o=0,s=r;o<s.length;o+=1){for(var l=s[o],u=0,c=e.symbolInstances[l].placedTextSymbolIndices;u<c.length;u+=1)for(var h=c[u],f=e.text.placedSymbolArray.get(h),p=f.vertexStartIndex+4*f.numGlyphs,d=f.vertexStartIndex;d<p;d+=4)e.text.indexArray.emplaceBack(d,d+1,d+2),e.text.indexArray.emplaceBack(d+1,d+2,d+3);var g=e.icon.placedSymbolArray.get(l);if(g.numGlyphs){var v=g.vertexStartIndex;e.icon.indexArray.emplaceBack(v,v+1,v+2),e.icon.indexArray.emplaceBack(v+1,v+2,v+3)}}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},D(\"SymbolBucket\",B,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"],shallow:[\"symbolInstances\"]}),B.MAX_GLYPHS=65535,B.addDynamicAttributes=i,e.exports=B},{\"../../symbol/anchor\":213,\"../../symbol/mergelines\":221,\"../../symbol/symbol_size\":228,\"../../symbol/transform_text\":229,\"../../util/script_detection\":269,\"../../util/verticalize_punctuation\":277,\"../../util/web_worker_transfer\":278,\"../array_types\":39,\"../index_array_type\":55,\"../load_geometry\":56,\"../program_configuration\":58,\"../segment\":60,\"./symbol_attributes\":50,\"@mapbox/point-geometry\":4,\"@mapbox/vector-tile\":8}],52:[function(t,e,r){var n=t(\"../util/image\").RGBAImage,i=t(\"../util/util\"),a=t(\"../util/web_worker_transfer\").register,o=function(t,e,r){if(t<=0)throw new RangeError(\"Level must have positive dimension\");this.dim=t,this.border=e,this.stride=this.dim+2*this.border,this.data=r||new Int32Array((this.dim+2*this.border)*(this.dim+2*this.border))};o.prototype.set=function(t,e,r){this.data[this._idx(t,e)]=r+65536},o.prototype.get=function(t,e){return this.data[this._idx(t,e)]-65536},o.prototype._idx=function(t,e){if(t<-this.border||t>=this.dim+this.border||e<-this.border||e>=this.dim+this.border)throw new RangeError(\"out of range source coordinates for DEM data\");return(e+this.border)*this.stride+(t+this.border)},a(\"Level\",o);var s=function(t,e,r){this.uid=t,this.scale=e||1,this.level=r||new o(256,512),this.loaded=!!r};s.prototype.loadFromImage=function(t){if(t.height!==t.width)throw new RangeError(\"DEM tiles must be square\");for(var e=this.level=new o(t.width,t.width/2),r=t.data,n=0;n<e.dim;n++)for(var i=0;i<e.dim;i++){var a=4*(n*e.dim+i);e.set(i,n,this.scale*((256*r[a]*256+256*r[a+1]+r[a+2])/10-1e4))}for(var s=0;s<e.dim;s++)e.set(-1,s,e.get(0,s)),e.set(e.dim,s,e.get(e.dim-1,s)),e.set(s,-1,e.get(s,0)),e.set(s,e.dim,e.get(s,e.dim-1));e.set(-1,-1,e.get(0,0)),e.set(e.dim,-1,e.get(e.dim-1,0)),e.set(-1,e.dim,e.get(0,e.dim-1)),e.set(e.dim,e.dim,e.get(e.dim-1,e.dim-1)),this.loaded=!0},s.prototype.getPixels=function(){return new n({width:this.level.dim+2*this.level.border,height:this.level.dim+2*this.level.border},new Uint8Array(this.level.data.buffer))},s.prototype.backfillBorder=function(t,e,r){var n=this.level,a=t.level;if(n.dim!==a.dim)throw new Error(\"level mismatch (dem dimension)\");var o=e*n.dim,s=e*n.dim+n.dim,l=r*n.dim,u=r*n.dim+n.dim;switch(e){case-1:o=s-1;break;case 1:s=o+1}switch(r){case-1:l=u-1;break;case 1:u=l+1}for(var c=i.clamp(o,-n.border,n.dim+n.border),h=i.clamp(s,-n.border,n.dim+n.border),f=i.clamp(l,-n.border,n.dim+n.border),p=i.clamp(u,-n.border,n.dim+n.border),d=-e*n.dim,g=-r*n.dim,v=f;v<p;v++)for(var m=c;m<h;m++)n.set(m,v,a.get(m+d,v+g))},a(\"DEMData\",s),e.exports={DEMData:s,Level:o}},{\"../util/image\":263,\"../util/util\":275,\"../util/web_worker_transfer\":278}],53:[function(t,e,r){e.exports=8192},{}],54:[function(t,e,r){function n(t,e){return e-t}t(\"@mapbox/point-geometry\");var i=t(\"./load_geometry\"),a=t(\"./extent\"),o=t(\"../style-spec/feature_filter\"),s=t(\"grid-index\"),l=t(\"../util/dictionary_coder\"),u=t(\"@mapbox/vector-tile\"),c=t(\"pbf\"),h=t(\"../util/vectortile_to_geojson\"),f=t(\"../util/util\").arraysIntersect,p=(t(\"../source/tile_id\").OverscaledTileID,t(\"../util/web_worker_transfer\").register),d=t(\"./array_types\").FeatureIndexArray,g=function(t,e,r,n){this.tileID=t,this.overscaling=e,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=r||new s(a,16,0),this.featureIndexArray=n||new d};g.prototype.insert=function(t,e,r,n,i){var a=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);for(var o=0;o<e.length;o++){for(var s=e[o],l=[1/0,1/0,-1/0,-1/0],u=0;u<s.length;u++){var c=s[u];l[0]=Math.min(l[0],c.x),l[1]=Math.min(l[1],c.y),l[2]=Math.max(l[2],c.x),l[3]=Math.max(l[3],c.y)}this.grid.insert(a,l[0],l[1],l[2],l[3])}},g.prototype.query=function(t,e){this.vtLayers||(this.vtLayers=new u.VectorTile(new c(this.rawTileData)).layers,this.sourceLayerCoder=new l(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"]));for(var r={},i=t.params||{},s=a/t.tileSize/t.scale,h=o(i.filter),f=t.queryGeometry,p=t.additionalRadius*s,d=1/0,g=1/0,v=-1/0,m=-1/0,y=0;y<f.length;y++)for(var x=f[y],b=0;b<x.length;b++){var _=x[b];d=Math.min(d,_.x),g=Math.min(g,_.y),v=Math.max(v,_.x),m=Math.max(m,_.y)}var w=this.grid.query(d-p,g-p,v+p,m+p);w.sort(n),this.filterMatching(r,w,this.featureIndexArray,f,h,i.layers,e,t.bearing,s);var M=t.collisionIndex?t.collisionIndex.queryRenderedSymbols(f,this.tileID,a/t.tileSize,t.collisionBoxArray,t.sourceID,t.bucketInstanceIds):[];return M.sort(),this.filterMatching(r,M,t.collisionBoxArray,f,h,i.layers,e,t.bearing,s),r},g.prototype.filterMatching=function(t,e,r,n,a,o,s,l,u){for(var c,p=this,d=0;d<e.length;d++){var g=e[d];if(g!==c){c=g;var v=r.get(g),m=p.bucketLayerIDs[v.bucketIndex];if(!o||f(o,m)){var y=p.sourceLayerCoder.decode(v.sourceLayerIndex),x=p.vtLayers[y].feature(v.featureIndex);if(a({zoom:p.tileID.overscaledZ},x))for(var b=null,_=0;_<m.length;_++){var w=m[_];if(!(o&&o.indexOf(w)<0)){var M=s[w];if(M&&(\"symbol\"===M.type||(b||(b=i(x)),M.queryIntersectsFeature(n,x,b,p.z,l,u)))){var A=new h(x,p.z,p.x,p.y);A.layer=M.serialize();var k=t[w];void 0===k&&(k=t[w]=[]),k.push({featureIndex:g,feature:A})}}}}}}},g.prototype.hasLayer=function(t){for(var e=0,r=this.bucketLayerIDs;e<r.length;e+=1)for(var n=0,i=r[e];n<i.length;n+=1){if(t===i[n])return!0}return!1},p(\"FeatureIndex\",g,{omit:[\"rawTileData\",\"sourceLayerCoder\"]}),e.exports=g},{\"../source/tile_id\":114,\"../style-spec/feature_filter\":148,\"../util/dictionary_coder\":257,\"../util/util\":275,\"../util/vectortile_to_geojson\":276,\"../util/web_worker_transfer\":278,\"./array_types\":39,\"./extent\":53,\"./load_geometry\":56,\"@mapbox/point-geometry\":4,\"@mapbox/vector-tile\":8,\"grid-index\":24,pbf:30}],55:[function(t,e,r){e.exports={LineIndexArray:t(\"./array_types\").LineIndexArray,TriangleIndexArray:t(\"./array_types\").TriangleIndexArray}},{\"./array_types\":39}],56:[function(t,e,r){var n,i=t(\"../util/util\"),a=t(\"./extent\"),o=(n=16,{min:-1*Math.pow(2,n-1),max:Math.pow(2,n-1)-1});e.exports=function(t){for(var e=a/t.extent,r=t.loadGeometry(),n=0;n<r.length;n++)for(var s=r[n],l=0;l<s.length;l++){var u=s[l];u.x=Math.round(u.x*e),u.y=Math.round(u.y*e),(u.x<o.min||u.x>o.max||u.y<o.min||u.y>o.max)&&i.warnOnce(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return r}},{\"../util/util\":275,\"./extent\":53}],57:[function(t,e,r){var n=t(\"../util/struct_array\").createLayout;e.exports=n([{name:\"a_pos\",type:\"Int16\",components:2}])},{\"../util/struct_array\":271}],58:[function(t,e,r){function n(t){return[a(255*t.r,255*t.g),a(255*t.b,255*t.a)]}function i(t,e){return{\"text-opacity\":\"opacity\",\"icon-opacity\":\"opacity\",\"text-color\":\"fill_color\",\"icon-color\":\"fill_color\",\"text-halo-color\":\"halo_color\",\"icon-halo-color\":\"halo_color\",\"text-halo-blur\":\"halo_blur\",\"icon-halo-blur\":\"halo_blur\",\"text-halo-width\":\"halo_width\",\"icon-halo-width\":\"halo_width\",\"line-gap-width\":\"gapwidth\"}[t]||t.replace(e+\"-\",\"\").replace(/-/g,\"_\")}var a=t(\"../shaders/encode_attribute\").packUint8ToFloat,o=(t(\"../style-spec/util/color\"),t(\"../util/web_worker_transfer\").register),s=t(\"../style/properties\").PossiblyEvaluatedPropertyValue,l=t(\"./array_types\"),u=l.StructArrayLayout1f4,c=l.StructArrayLayout2f8,h=l.StructArrayLayout4f16,f=function(t,e,r){this.value=t,this.name=e,this.type=r,this.statistics={max:-1/0}};f.prototype.defines=function(){return[\"#define HAS_UNIFORM_u_\"+this.name]},f.prototype.populatePaintArray=function(){},f.prototype.upload=function(){},f.prototype.destroy=function(){},f.prototype.setUniforms=function(t,e,r,n){var i=n.constantOr(this.value),a=t.gl;\"color\"===this.type?a.uniform4f(e.uniforms[\"u_\"+this.name],i.r,i.g,i.b,i.a):a.uniform1f(e.uniforms[\"u_\"+this.name],i)};var p=function(t,e,r){this.expression=t,this.name=e,this.type=r,this.statistics={max:-1/0};var n=\"color\"===r?c:u;this.paintVertexAttributes=[{name:\"a_\"+e,type:\"Float32\",components:\"color\"===r?2:1,offset:0}],this.paintVertexArray=new n};p.prototype.defines=function(){return[]},p.prototype.populatePaintArray=function(t,e){var r=this.paintVertexArray,i=r.length;r.reserve(t);var a=this.expression.evaluate({zoom:0},e);if(\"color\"===this.type)for(var o=n(a),s=i;s<t;s++)r.emplaceBack(o[0],o[1]);else{for(var l=i;l<t;l++)r.emplaceBack(a);this.statistics.max=Math.max(this.statistics.max,a)}},p.prototype.upload=function(t){this.paintVertexArray&&(this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes))},p.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},p.prototype.setUniforms=function(t,e){t.gl.uniform1f(e.uniforms[\"a_\"+this.name+\"_t\"],0)};var d=function(t,e,r,n,i){this.expression=t,this.name=e,this.type=r,this.useIntegerZoom=n,this.zoom=i,this.statistics={max:-1/0};var a=\"color\"===r?h:c;this.paintVertexAttributes=[{name:\"a_\"+e,type:\"Float32\",components:\"color\"===r?4:2,offset:0}],this.paintVertexArray=new a};d.prototype.defines=function(){return[]},d.prototype.populatePaintArray=function(t,e){var r=this.paintVertexArray,i=r.length;r.reserve(t);var a=this.expression.evaluate({zoom:this.zoom},e),o=this.expression.evaluate({zoom:this.zoom+1},e);if(\"color\"===this.type)for(var s=n(a),l=n(o),u=i;u<t;u++)r.emplaceBack(s[0],s[1],l[0],l[1]);else{for(var c=i;c<t;c++)r.emplaceBack(a,o);this.statistics.max=Math.max(this.statistics.max,a,o)}},d.prototype.upload=function(t){this.paintVertexArray&&(this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes))},d.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},d.prototype.interpolationFactor=function(t){return this.useIntegerZoom?this.expression.interpolationFactor(Math.floor(t),this.zoom,this.zoom+1):this.expression.interpolationFactor(t,this.zoom,this.zoom+1)},d.prototype.setUniforms=function(t,e,r){t.gl.uniform1f(e.uniforms[\"a_\"+this.name+\"_t\"],this.interpolationFactor(r.zoom))};var g=function(){this.binders={},this.cacheKey=\"\",this._buffers=[]};g.createDynamic=function(t,e,r){var n=new g,a=[];for(var o in t.paint._values)if(r(o)){var l=t.paint.get(o);if(l instanceof s&&l.property.specification[\"property-function\"]){var u=i(o,t.type),c=l.property.specification.type,h=l.property.useIntegerZoom;\"constant\"===l.value.kind?(n.binders[o]=new f(l.value,u,c),a.push(\"/u_\"+u)):\"source\"===l.value.kind?(n.binders[o]=new p(l.value,u,c),a.push(\"/a_\"+u)):(n.binders[o]=new d(l.value,u,c,h,e),a.push(\"/z_\"+u))}}return n.cacheKey=a.sort().join(\"\"),n},g.prototype.populatePaintArrays=function(t,e){for(var r in this.binders)this.binders[r].populatePaintArray(t,e)},g.prototype.defines=function(){var t=[];for(var e in this.binders)t.push.apply(t,this.binders[e].defines());return t},g.prototype.setUniforms=function(t,e,r,n){for(var i in this.binders)this.binders[i].setUniforms(t,e,n,r.get(i))},g.prototype.getPaintVertexBuffers=function(){return this._buffers},g.prototype.upload=function(t){var e=this;for(var r in e.binders)e.binders[r].upload(t);var n=[];for(var i in e.binders){var a=e.binders[i];(a instanceof p||a instanceof d)&&a.paintVertexBuffer&&n.push(a.paintVertexBuffer)}this._buffers=n},g.prototype.destroy=function(){for(var t in this.binders)this.binders[t].destroy()};var v=function(t,e,r,n){void 0===n&&(n=function(){return!0}),this.programConfigurations={};for(var i=0,a=e;i<a.length;i+=1){var o=a[i];this.programConfigurations[o.id]=g.createDynamic(o,r,n),this.programConfigurations[o.id].layoutAttributes=t}};v.prototype.populatePaintArrays=function(t,e){for(var r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(t,e)},v.prototype.get=function(t){return this.programConfigurations[t]},v.prototype.upload=function(t){for(var e in this.programConfigurations)this.programConfigurations[e].upload(t)},v.prototype.destroy=function(){for(var t in this.programConfigurations)this.programConfigurations[t].destroy()},o(\"ConstantBinder\",f),o(\"SourceExpressionBinder\",p),o(\"CompositeExpressionBinder\",d),o(\"ProgramConfiguration\",g,{omit:[\"_buffers\"]}),o(\"ProgramConfigurationSet\",v),e.exports={ProgramConfiguration:g,ProgramConfigurationSet:v}},{\"../shaders/encode_attribute\":96,\"../style-spec/util/color\":153,\"../style/properties\":188,\"../util/web_worker_transfer\":278,\"./array_types\":39}],59:[function(t,e,r){var n=t(\"../util/struct_array\").createLayout;e.exports=n([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}])},{\"../util/struct_array\":271}],60:[function(t,e,r){var n=t(\"../util/util\").warnOnce,i=t(\"../util/web_worker_transfer\").register,a=Math.pow(2,16)-1,o=function(t){void 0===t&&(t=[]),this.segments=t};o.prototype.prepareSegment=function(t,r,i){var o=this.segments[this.segments.length-1];return t>a&&n(\"Max vertices per segment is \"+a+\": bucket requested \"+t),(!o||o.vertexLength+t>e.exports.MAX_VERTEX_ARRAY_LENGTH)&&(o={vertexOffset:r.length,primitiveOffset:i.length,vertexLength:0,primitiveLength:0},this.segments.push(o)),o},o.prototype.get=function(){return this.segments},o.prototype.destroy=function(){for(var t=0,e=this.segments;t<e.length;t+=1){var r=e[t];for(var n in r.vaos)r.vaos[n].destroy()}},i(\"SegmentVector\",o),e.exports={SegmentVector:o,MAX_VERTEX_ARRAY_LENGTH:a}},{\"../util/util\":275,\"../util/web_worker_transfer\":278}],61:[function(t,e,r){var n=function(t,e,r){this.column=t,this.row=e,this.zoom=r};n.prototype.clone=function(){return new n(this.column,this.row,this.zoom)},n.prototype.zoomTo=function(t){return this.clone()._zoomTo(t)},n.prototype.sub=function(t){return this.clone()._sub(t)},n.prototype._zoomTo=function(t){var e=Math.pow(2,t-this.zoom);return this.column*=e,this.row*=e,this.zoom=t,this},n.prototype._sub=function(t){return t=t.zoomTo(this.zoom),this.column-=t.column,this.row-=t.row,this},e.exports=n},{}],62:[function(t,e,r){var n=t(\"../util/util\").wrap,i=function(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\")};i.prototype.wrap=function(){return new i(n(this.lng,-180,180),this.lat)},i.prototype.toArray=function(){return[this.lng,this.lat]},i.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},i.prototype.toBounds=function(e){var r=360*e/40075017,n=r/Math.cos(Math.PI/180*this.lat);return new(t(\"./lng_lat_bounds\"))(new i(this.lng-n,this.lat-r),new i(this.lng+n,this.lat+r))},i.convert=function(t){if(t instanceof i)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new i(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new i(Number(t.lng),Number(t.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")},e.exports=i},{\"../util/util\":275,\"./lng_lat_bounds\":63}],63:[function(t,e,r){var n=t(\"./lng_lat\"),i=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};i.prototype.setNorthEast=function(t){return this._ne=t instanceof n?new n(t.lng,t.lat):n.convert(t),this},i.prototype.setSouthWest=function(t){return this._sw=t instanceof n?new n(t.lng,t.lat):n.convert(t),this},i.prototype.extend=function(t){var e,r,a=this._sw,o=this._ne;if(t instanceof n)e=t,r=t;else{if(!(t instanceof i))return Array.isArray(t)?t.every(Array.isArray)?this.extend(i.convert(t)):this.extend(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 n(e.lng,e.lat),this._ne=new n(r.lng,r.lat)),this},i.prototype.getCenter=function(){return new n((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},i.prototype.getSouthWest=function(){return this._sw},i.prototype.getNorthEast=function(){return this._ne},i.prototype.getNorthWest=function(){return new n(this.getWest(),this.getNorth())},i.prototype.getSouthEast=function(){return new n(this.getEast(),this.getSouth())},i.prototype.getWest=function(){return this._sw.lng},i.prototype.getSouth=function(){return this._sw.lat},i.prototype.getEast=function(){return this._ne.lng},i.prototype.getNorth=function(){return this._ne.lat},i.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},i.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},i.prototype.isEmpty=function(){return!(this._sw&&this._ne)},i.convert=function(t){return!t||t instanceof i?t:new i(t)},e.exports=i},{\"./lng_lat\":62}],64:[function(t,e,r){var n=t(\"./lng_lat\"),i=t(\"@mapbox/point-geometry\"),a=t(\"./coordinate\"),o=t(\"../util/util\"),s=t(\"../style-spec/util/interpolate\").number,l=t(\"../util/tile_cover\"),u=t(\"../source/tile_id\"),c=(u.CanonicalTileID,u.UnwrappedTileID),h=t(\"../data/extent\"),f=t(\"@mapbox/gl-matrix\"),p=f.vec4,d=f.mat4,g=f.mat2,v=function(t,e,r){this.tileSize=512,this._renderWorldCopies=void 0===r||r,this._minZoom=t||0,this._maxZoom=e||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new n(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._posMatrixCache={},this._alignedPosMatrixCache={}},m={minZoom:{},maxZoom:{},renderWorldCopies:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};v.prototype.clone=function(){var t=new v(this._minZoom,this._maxZoom,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._calcMatrices(),t},m.minZoom.get=function(){return this._minZoom},m.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},m.maxZoom.get=function(){return this._maxZoom},m.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},m.renderWorldCopies.get=function(){return this._renderWorldCopies},m.worldSize.get=function(){return this.tileSize*this.scale},m.centerPoint.get=function(){return this.size._div(2)},m.size.get=function(){return new i(this.width,this.height)},m.bearing.get=function(){return-this.angle/Math.PI*180},m.bearing.set=function(t){var e=-o.wrap(t,-180,180)*Math.PI/180;this.angle!==e&&(this._unmodified=!1,this.angle=e,this._calcMatrices(),this.rotationMatrix=g.create(),g.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},m.pitch.get=function(){return this._pitch/Math.PI*180},m.pitch.set=function(t){var e=o.clamp(t,0,60)/180*Math.PI;this._pitch!==e&&(this._unmodified=!1,this._pitch=e,this._calcMatrices())},m.fov.get=function(){return this._fov/Math.PI*180},m.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},m.zoom.get=function(){return this._zoom},m.zoom.set=function(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._constrain(),this._calcMatrices())},m.center.get=function(){return this._center},m.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},v.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},v.prototype.getVisibleUnwrappedCoordinates=function(t){var e=this.pointCoordinate(new i(0,0),0),r=this.pointCoordinate(new i(this.width,0),0),n=Math.floor(e.column),a=Math.floor(r.column),o=[new c(0,t)];if(this._renderWorldCopies)for(var s=n;s<=a;s++)0!==s&&o.push(new c(s,t));return o},v.prototype.coveringTiles=function(t){var e=this.coveringZoomLevel(t),r=e;if(void 0!==t.minzoom&&e<t.minzoom)return[];void 0!==t.maxzoom&&e>t.maxzoom&&(e=t.maxzoom);var n=this.pointCoordinate(this.centerPoint,e),a=new i(n.column-.5,n.row-.5),o=[this.pointCoordinate(new i(0,0),e),this.pointCoordinate(new i(this.width,0),e),this.pointCoordinate(new i(this.width,this.height),e),this.pointCoordinate(new i(0,this.height),e)];return l(e,o,t.reparseOverscaled?r:e,this._renderWorldCopies).sort(function(t,e){return a.dist(t.canonical)-a.dist(e.canonical)})},v.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},m.unmodified.get=function(){return this._unmodified},v.prototype.zoomScale=function(t){return Math.pow(2,t)},v.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},v.prototype.project=function(t){return new i(this.lngX(t.lng),this.latY(t.lat))},v.prototype.unproject=function(t){return new n(this.xLng(t.x),this.yLat(t.y))},m.x.get=function(){return this.lngX(this.center.lng)},m.y.get=function(){return this.latY(this.center.lat)},m.point.get=function(){return new i(this.x,this.y)},v.prototype.lngX=function(t){return(180+t)*this.worldSize/360},v.prototype.latY=function(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*this.worldSize/360},v.prototype.xLng=function(t){return 360*t/this.worldSize-180},v.prototype.yLat=function(t){var e=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90},v.prototype.setLocationAtPoint=function(t,e){var r=this.pointCoordinate(e)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(r)),this._renderWorldCopies&&(this.center=this.center.wrap())},v.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},v.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},v.prototype.locationCoordinate=function(t){return new a(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},v.prototype.coordinateLocation=function(t){var e=t.zoomTo(this.zoom);return new n(this.xLng(e.column*this.tileSize),this.yLat(e.row*this.tileSize))},v.prototype.pointCoordinate=function(t,e){void 0===e&&(e=this.tileZoom);var r=[t.x,t.y,0,1],n=[t.x,t.y,1,1];p.transformMat4(r,r,this.pixelMatrixInverse),p.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],o=n[3],l=r[1]/i,u=n[1]/o,c=r[2]/i,h=n[2]/o,f=c===h?0:(0-c)/(h-c);return new a(s(r[0]/i,n[0]/o,f)/this.tileSize,s(l,u,f)/this.tileSize,this.zoom)._zoomTo(e)},v.prototype.coordinatePoint=function(t){var e=t.zoomTo(this.zoom),r=[e.column*this.tileSize,e.row*this.tileSize,0,1];return p.transformMat4(r,r,this.pixelMatrix),new i(r[0]/r[3],r[1]/r[3])},v.prototype.calculatePosMatrix=function(t,e){void 0===e&&(e=!1);var r=t.key,n=e?this._alignedPosMatrixCache:this._posMatrixCache;if(n[r])return n[r];var i=t.canonical,a=this.worldSize/this.zoomScale(i.z),o=i.x+Math.pow(2,i.z)*t.wrap,s=d.identity(new Float64Array(16));return d.translate(s,s,[o*a,i.y*a,0]),d.scale(s,s,[a/h,a/h,1]),d.multiply(s,e?this.alignedProjMatrix:this.projMatrix,s),n[r]=new Float32Array(s),n[r]},v.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,e,r,n,a=-90,o=90,s=-180,l=180,u=this.size,c=this._unmodified;if(this.latRange){var h=this.latRange;a=this.latY(h[1]),t=(o=this.latY(h[0]))-a<u.y?u.y/(o-a):0}if(this.lngRange){var f=this.lngRange;s=this.lngX(f[0]),e=(l=this.lngX(f[1]))-s<u.x?u.x/(l-s):0}var p=Math.max(e||0,t||0);if(p)return this.center=this.unproject(new i(e?(l+s)/2:this.x,t?(o+a)/2:this.y)),this.zoom+=this.scaleZoom(p),this._unmodified=c,void(this._constraining=!1);if(this.latRange){var d=this.y,g=u.y/2;d-g<a&&(n=a+g),d+g>o&&(n=o-g)}if(this.lngRange){var v=this.x,m=u.x/2;v-m<s&&(r=s+m),v+m>l&&(r=l-m)}void 0===r&&void 0===n||(this.center=this.unproject(new i(void 0!==r?r:this.x,void 0!==n?n:this.y))),this._unmodified=c,this._constraining=!1}},v.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,e=Math.PI/2+this._pitch,r=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-e-t),n=this.x,i=this.y,a=1.01*(Math.cos(Math.PI/2-this._pitch)*r+this.cameraToCenterDistance),o=new Float64Array(16);d.perspective(o,this._fov,this.width/this.height,1,a),d.scale(o,o,[1,-1,1]),d.translate(o,o,[0,0,-this.cameraToCenterDistance]),d.rotateX(o,o,this._pitch),d.rotateZ(o,o,this.angle),d.translate(o,o,[-n,-i,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));d.scale(o,o,[1,1,s,1]),this.projMatrix=o;var l=this.width%2/2,u=this.height%2/2,c=Math.cos(this.angle),h=Math.sin(this.angle),f=n-Math.round(n)+c*l+h*u,p=i-Math.round(i)+c*u+h*l,g=new Float64Array(o);if(d.translate(g,g,[f>.5?f-1:f,p>.5?p-1:p,0]),this.alignedProjMatrix=g,o=d.create(),d.scale(o,o,[this.width/2,-this.height/2,1]),d.translate(o,o,[1,-1,0]),this.pixelMatrix=d.multiply(new Float64Array(16),o,this.projMatrix),!(o=d.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=o,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Object.defineProperties(v.prototype,m),e.exports=v},{\"../data/extent\":53,\"../source/tile_id\":114,\"../style-spec/util/interpolate\":158,\"../util/tile_cover\":273,\"../util/util\":275,\"./coordinate\":61,\"./lng_lat\":62,\"@mapbox/gl-matrix\":2,\"@mapbox/point-geometry\":4}],65:[function(t,e,r){var n=t(\"../style-spec/util/color\"),i=function(t,e,r){this.blendFunction=t,this.blendColor=e,this.mask=r};i.disabled=new i(i.Replace=[1,0],n.transparent,[!1,!1,!1,!1]),i.unblended=new i(i.Replace,n.transparent,[!0,!0,!0,!0]),i.alphaBlended=new i([1,771],n.transparent,[!0,!0,!0,!0]),e.exports=i},{\"../style-spec/util/color\":153}],66:[function(t,e,r){var n=t(\"./index_buffer\"),i=t(\"./vertex_buffer\"),a=t(\"./framebuffer\"),o=(t(\"./depth_mode\"),t(\"./stencil_mode\"),t(\"./color_mode\")),s=t(\"../util/util\"),l=t(\"./value\"),u=l.ClearColor,c=l.ClearDepth,h=l.ClearStencil,f=l.ColorMask,p=l.DepthMask,d=l.StencilMask,g=l.StencilFunc,v=l.StencilOp,m=l.StencilTest,y=l.DepthRange,x=l.DepthTest,b=l.DepthFunc,_=l.Blend,w=l.BlendFunc,M=l.BlendColor,A=l.Program,k=l.LineWidth,T=l.ActiveTextureUnit,S=l.Viewport,E=l.BindFramebuffer,C=l.BindRenderbuffer,L=l.BindTexture,z=l.BindVertexBuffer,P=l.BindElementBuffer,I=l.BindVertexArrayOES,D=l.PixelStoreUnpack,O=l.PixelStoreUnpackPremultiplyAlpha,R=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension(\"OES_vertex_array_object\"),this.lineWidthRange=t.getParameter(t.ALIASED_LINE_WIDTH_RANGE),this.clearColor=new u(this),this.clearDepth=new c(this),this.clearStencil=new h(this),this.colorMask=new f(this),this.depthMask=new p(this),this.stencilMask=new d(this),this.stencilFunc=new g(this),this.stencilOp=new v(this),this.stencilTest=new m(this),this.depthRange=new y(this),this.depthTest=new x(this),this.depthFunc=new b(this),this.blend=new _(this),this.blendFunc=new w(this),this.blendColor=new M(this),this.program=new A(this),this.lineWidth=new k(this),this.activeTexture=new T(this),this.viewport=new S(this),this.bindFramebuffer=new E(this),this.bindRenderbuffer=new C(this),this.bindTexture=new L(this),this.bindVertexBuffer=new z(this),this.bindElementBuffer=new P(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new I(this),this.pixelStoreUnpack=new D(this),this.pixelStoreUnpackPremultiplyAlpha=new O(this),this.extTextureFilterAnisotropic=t.getExtension(\"EXT_texture_filter_anisotropic\")||t.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||t.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=t.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=t.getExtension(\"OES_texture_half_float\"),this.extTextureHalfFloat&&t.getExtension(\"OES_texture_half_float_linear\")};R.prototype.createIndexBuffer=function(t,e){return new n(this,t,e)},R.prototype.createVertexBuffer=function(t,e,r){return new i(this,t,e,r)},R.prototype.createRenderbuffer=function(t,e,r){var n=this.gl,i=n.createRenderbuffer();return this.bindRenderbuffer.set(i),n.renderbufferStorage(n.RENDERBUFFER,t,e,r),this.bindRenderbuffer.set(null),i},R.prototype.createFramebuffer=function(t,e){return new a(this,t,e)},R.prototype.clear=function(t){var e=t.color,r=t.depth,n=this.gl,i=0;e&&(i|=n.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==r&&(i|=n.DEPTH_BUFFER_BIT,this.clearDepth.set(r),this.depthMask.set(!0)),n.clear(i)},R.prototype.setDepthMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.depthTest.set(!0),this.depthFunc.set(t.func),this.depthMask.set(t.mask),this.depthRange.set(t.range)):this.depthTest.set(!1)},R.prototype.setStencilMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.stencilTest.set(!0),this.stencilMask.set(t.mask),this.stencilOp.set([t.fail,t.depthFail,t.pass]),this.stencilFunc.set({func:t.test.func,ref:t.ref,mask:t.test.mask})):this.stencilTest.set(!1)},R.prototype.setColorMode=function(t){s.deepEqual(t.blendFunction,o.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(t.blendFunction),this.blendColor.set(t.blendColor)),this.colorMask.set(t.mask)},e.exports=R},{\"../util/util\":275,\"./color_mode\":65,\"./depth_mode\":67,\"./framebuffer\":68,\"./index_buffer\":69,\"./stencil_mode\":70,\"./value\":71,\"./vertex_buffer\":72}],67:[function(t,e,r){var n=function(t,e,r){this.func=t,this.mask=e,this.range=r};n.ReadOnly=!1,n.ReadWrite=!0,n.disabled=new n(519,n.ReadOnly,[0,1]),e.exports=n},{}],68:[function(t,e,r){var n=t(\"./value\"),i=n.ColorAttachment,a=n.DepthAttachment,o=function(t,e,r){this.context=t,this.width=e,this.height=r;var n=t.gl,o=this.framebuffer=n.createFramebuffer();this.colorAttachment=new i(t,o),this.depthAttachment=new a(t,o)};o.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();e&&t.deleteTexture(e);var r=this.depthAttachment.get();r&&t.deleteRenderbuffer(r),t.deleteFramebuffer(this.framebuffer)},e.exports=o},{\"./value\":71}],69:[function(t,e,r){var n=function(t,e,r){this.context=t;var n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.unbindVAO(),t.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};n.prototype.unbindVAO=function(){this.context.extVertexArrayObject&&this.context.bindVertexArrayOES.set(null)},n.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},n.prototype.updateData=function(t){var e=this.context.gl;this.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)},n.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)},e.exports=n},{}],70:[function(t,e,r){var n=function(t,e,r,n,i,a){this.test=t,this.ref=e,this.mask=r,this.fail=n,this.depthFail=i,this.pass=a};n.disabled=new n({func:519,mask:0},0,0,7680,7680,7680),e.exports=n},{}],71:[function(t,e,r){var n=t(\"../style-spec/util/color\"),i=t(\"../util/util\"),a=function(t){this.context=t,this.current=n.transparent};a.prototype.get=function(){return this.current},a.prototype.set=function(t){var e=this.current;t.r===e.r&&t.g===e.g&&t.b===e.b&&t.a===e.a||(this.context.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t)};var o=function(t){this.context=t,this.current=1};o.prototype.get=function(){return this.current},o.prototype.set=function(t){this.current!==t&&(this.context.gl.clearDepth(t),this.current=t)};var s=function(t){this.context=t,this.current=0};s.prototype.get=function(){return this.current},s.prototype.set=function(t){this.current!==t&&(this.context.gl.clearStencil(t),this.current=t)};var l=function(t){this.context=t,this.current=[!0,!0,!0,!0]};l.prototype.get=function(){return this.current},l.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]||(this.context.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t)};var u=function(t){this.context=t,this.current=!0};u.prototype.get=function(){return this.current},u.prototype.set=function(t){this.current!==t&&(this.context.gl.depthMask(t),this.current=t)};var c=function(t){this.context=t,this.current=255};c.prototype.get=function(){return this.current},c.prototype.set=function(t){this.current!==t&&(this.context.gl.stencilMask(t),this.current=t)};var h=function(t){this.context=t,this.current={func:t.gl.ALWAYS,ref:0,mask:255}};h.prototype.get=function(){return this.current},h.prototype.set=function(t){var e=this.current;t.func===e.func&&t.ref===e.ref&&t.mask===e.mask||(this.context.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t)};var f=function(t){this.context=t;var e=this.context.gl;this.current=[e.KEEP,e.KEEP,e.KEEP]};f.prototype.get=function(){return this.current},f.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]||(this.context.gl.stencilOp(t[0],t[1],t[2]),this.current=t)};var p=function(t){this.context=t,this.current=!1};p.prototype.get=function(){return this.current},p.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t}};var d=function(t){this.context=t,this.current=[0,1]};d.prototype.get=function(){return this.current},d.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.depthRange(t[0],t[1]),this.current=t)};var g=function(t){this.context=t,this.current=!1};g.prototype.get=function(){return this.current},g.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t}};var v=function(t){this.context=t,this.current=t.gl.LESS};v.prototype.get=function(){return this.current},v.prototype.set=function(t){this.current!==t&&(this.context.gl.depthFunc(t),this.current=t)};var m=function(t){this.context=t,this.current=!1};m.prototype.get=function(){return this.current},m.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t}};var y=function(t){this.context=t;var e=this.context.gl;this.current=[e.ONE,e.ZERO]};y.prototype.get=function(){return this.current},y.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.blendFunc(t[0],t[1]),this.current=t)};var x=function(t){this.context=t,this.current=n.transparent};x.prototype.get=function(){return this.current},x.prototype.set=function(t){var e=this.current;t.r===e.r&&t.g===e.g&&t.b===e.b&&t.a===e.a||(this.context.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t)};var b=function(t){this.context=t,this.current=null};b.prototype.get=function(){return this.current},b.prototype.set=function(t){this.current!==t&&(this.context.gl.useProgram(t),this.current=t)};var _=function(t){this.context=t,this.current=1};_.prototype.get=function(){return this.current},_.prototype.set=function(t){var e=this.context.lineWidthRange,r=i.clamp(t,e[0],e[1]);this.current!==r&&(this.context.gl.lineWidth(r),this.current=t)};var w=function(t){this.context=t,this.current=t.gl.TEXTURE0};w.prototype.get=function(){return this.current},w.prototype.set=function(t){this.current!==t&&(this.context.gl.activeTexture(t),this.current=t)};var M=function(t){this.context=t;var e=this.context.gl;this.current=[0,0,e.drawingBufferWidth,e.drawingBufferHeight]};M.prototype.get=function(){return this.current},M.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]||(this.context.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t)};var A=function(t){this.context=t,this.current=null};A.prototype.get=function(){return this.current},A.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t}};var k=function(t){this.context=t,this.current=null};k.prototype.get=function(){return this.current},k.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t}};var T=function(t){this.context=t,this.current=null};T.prototype.get=function(){return this.current},T.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t}};var S=function(t){this.context=t,this.current=null};S.prototype.get=function(){return this.current},S.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t}};var E=function(t){this.context=t,this.current=null};E.prototype.get=function(){return this.current},E.prototype.set=function(t){var e=this.context.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t};var C=function(t){this.context=t,this.current=null};C.prototype.get=function(){return this.current},C.prototype.set=function(t){this.current!==t&&this.context.extVertexArrayObject&&(this.context.extVertexArrayObject.bindVertexArrayOES(t),this.current=t)};var L=function(t){this.context=t,this.current=4};L.prototype.get=function(){return this.current},L.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t}};var z=function(t){this.context=t,this.current=!1};z.prototype.get=function(){return this.current},z.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t}};var P=function(t,e){this.context=t,this.current=null,this.parent=e};P.prototype.get=function(){return this.current};var I=function(t){function e(e,r){t.call(this,e,r),this.dirty=!1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.dirty||this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1}},e.prototype.setDirty=function(){this.dirty=!0},e}(P),D=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t}},e}(P);e.exports={ClearColor:a,ClearDepth:o,ClearStencil:s,ColorMask:l,DepthMask:u,StencilMask:c,StencilFunc:h,StencilOp:f,StencilTest:p,DepthRange:d,DepthTest:g,DepthFunc:v,Blend:m,BlendFunc:y,BlendColor:x,Program:b,LineWidth:_,ActiveTextureUnit:w,Viewport:M,BindFramebuffer:A,BindRenderbuffer:k,BindTexture:T,BindVertexBuffer:S,BindElementBuffer:E,BindVertexArrayOES:C,PixelStoreUnpack:L,PixelStoreUnpackPremultiplyAlpha:z,ColorAttachment:I,DepthAttachment:D}},{\"../style-spec/util/color\":153,\"../util/util\":275}],72:[function(t,e,r){var n={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"},i=function(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;var i=t.gl;this.buffer=i.createBuffer(),t.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};i.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},i.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)},i.prototype.enableAttributes=function(t,e){for(var r=0;r<this.attributes.length;r++){var n=this.attributes[r],i=e.attributes[n.name];void 0!==i&&t.enableVertexAttribArray(i)}},i.prototype.setVertexAttribPointers=function(t,e,r){for(var i=this,a=0;a<this.attributes.length;a++){var o=i.attributes[a],s=e.attributes[o.name];void 0!==s&&t.vertexAttribPointer(s,o.components,t[n[o.type]],!1,i.itemSize,o.offset+i.itemSize*(r||0))}},i.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)},e.exports=i},{}],73:[function(t,e,r){var n=t(\"@mapbox/mapbox-gl-supported\"),i=t(\"./util/browser\"),a=t(\"../package.json\").version,o=t(\"./ui/map\"),s=t(\"./ui/control/navigation_control\"),l=t(\"./ui/control/geolocate_control\"),u=t(\"./ui/control/attribution_control\"),c=t(\"./ui/control/scale_control\"),h=t(\"./ui/control/fullscreen_control\"),f=t(\"./ui/popup\"),p=t(\"./ui/marker\"),d=t(\"./style/style\"),g=t(\"./geo/lng_lat\"),v=t(\"./geo/lng_lat_bounds\"),m=t(\"@mapbox/point-geometry\"),y=t(\"./util/evented\"),x=t(\"./util/config\"),b=t(\"./source/rtl_text_plugin\");e.exports={version:a,supported:n,workerCount:Math.max(Math.floor(i.hardwareConcurrency/2),1),setRTLTextPlugin:b.setRTLTextPlugin,Map:o,NavigationControl:s,GeolocateControl:l,AttributionControl:u,ScaleControl:c,FullscreenControl:h,Popup:f,Marker:p,Style:d,LngLat:g,LngLatBounds:v,Point:m,Evented:y,config:x,get accessToken(){return x.ACCESS_TOKEN},set accessToken(t){x.ACCESS_TOKEN=t}}},{\"../package.json\":38,\"./geo/lng_lat\":62,\"./geo/lng_lat_bounds\":63,\"./source/rtl_text_plugin\":109,\"./style/style\":190,\"./ui/control/attribution_control\":232,\"./ui/control/fullscreen_control\":233,\"./ui/control/geolocate_control\":234,\"./ui/control/navigation_control\":236,\"./ui/control/scale_control\":237,\"./ui/map\":247,\"./ui/marker\":248,\"./ui/popup\":249,\"./util/browser\":252,\"./util/config\":256,\"./util/evented\":260,\"@mapbox/mapbox-gl-supported\":3,\"@mapbox/point-geometry\":4}],74:[function(t,e,r){var n=t(\"./pattern\"),i=t(\"../gl/stencil_mode\"),a=t(\"../gl/depth_mode\");e.exports=function(t,e,r){var o=r.paint.get(\"background-color\"),s=r.paint.get(\"background-opacity\");if(0!==s){var l=t.context,u=l.gl,c=t.transform,h=c.tileSize,f=r.paint.get(\"background-pattern\"),p=f||1!==o.a||1!==s?\"translucent\":\"opaque\";if(t.renderPass===p){var d;if(l.setStencilMode(i.disabled),l.setDepthMode(t.depthModeForSublayer(0,\"opaque\"===p?a.ReadWrite:a.ReadOnly)),l.setColorMode(t.colorModeForRenderPass()),f){if(n.isPatternMissing(f,t))return;d=t.useProgram(\"backgroundPattern\"),n.prepare(f,t,d),t.tileExtentPatternVAO.bind(l,d,t.tileExtentBuffer,[])}else d=t.useProgram(\"background\"),u.uniform4fv(d.uniforms.u_color,[o.r,o.g,o.b,o.a]),t.tileExtentVAO.bind(l,d,t.tileExtentBuffer,[]);u.uniform1f(d.uniforms.u_opacity,s);for(var g=0,v=c.coveringTiles({tileSize:h});g<v.length;g+=1){var m=v[g];f&&n.setTile({tileID:m,tileSize:h},t,d),u.uniformMatrix4fv(d.uniforms.u_matrix,!1,t.transform.calculatePosMatrix(m.toUnwrapped())),u.drawArrays(u.TRIANGLE_STRIP,0,t.tileExtentBuffer.length)}}}}},{\"../gl/depth_mode\":67,\"../gl/stencil_mode\":70,\"./pattern\":91}],75:[function(t,e,r){var n=t(\"../source/pixels_to_tile_units\"),i=t(\"../gl/stencil_mode\"),a=t(\"../gl/depth_mode\");e.exports=function(t,e,r,o){if(\"translucent\"===t.renderPass){var s=r.paint.get(\"circle-opacity\"),l=r.paint.get(\"circle-stroke-width\"),u=r.paint.get(\"circle-stroke-opacity\");if(0!==s.constantOr(1)||0!==l.constantOr(1)&&0!==u.constantOr(1)){var c=t.context,h=c.gl;c.setDepthMode(t.depthModeForSublayer(0,a.ReadOnly)),c.setStencilMode(i.disabled),c.setColorMode(t.colorModeForRenderPass());for(var f=!0,p=0;p<o.length;p++){var d=o[p],g=e.getTile(d),v=g.getBucket(r);if(v){var m=t.context.program.get(),y=v.programConfigurations.get(r.id),x=t.useProgram(\"circle\",y);if((f||x.program!==m)&&(y.setUniforms(c,x,r.paint,{zoom:t.transform.zoom}),f=!1),h.uniform1f(x.uniforms.u_camera_to_center_distance,t.transform.cameraToCenterDistance),h.uniform1i(x.uniforms.u_scale_with_map,\"map\"===r.paint.get(\"circle-pitch-scale\")?1:0),\"map\"===r.paint.get(\"circle-pitch-alignment\")){h.uniform1i(x.uniforms.u_pitch_with_map,1);var b=n(g,1,t.transform.zoom);h.uniform2f(x.uniforms.u_extrude_scale,b,b)}else h.uniform1i(x.uniforms.u_pitch_with_map,0),h.uniform2fv(x.uniforms.u_extrude_scale,t.transform.pixelsToGLUnits);h.uniformMatrix4fv(x.uniforms.u_matrix,!1,t.translatePosMatrix(d.posMatrix,g,r.paint.get(\"circle-translate\"),r.paint.get(\"circle-translate-anchor\"))),x.draw(c,h.TRIANGLES,r.id,v.layoutVertexBuffer,v.indexBuffer,v.segments,y)}}}}}},{\"../gl/depth_mode\":67,\"../gl/stencil_mode\":70,\"../source/pixels_to_tile_units\":104}],76:[function(t,e,r){function n(t,e,r,n,s){var l=t.context,u=l.gl,c=s?t.useProgram(\"collisionCircle\"):t.useProgram(\"collisionBox\");l.setDepthMode(a.disabled),l.setStencilMode(o.disabled),l.setColorMode(t.colorModeForRenderPass());for(var h=0;h<n.length;h++){var f=n[h],p=e.getTile(f),d=p.getBucket(r);if(d){var g=s?d.collisionCircle:d.collisionBox;if(g){u.uniformMatrix4fv(c.uniforms.u_matrix,!1,f.posMatrix),s||l.lineWidth.set(1),u.uniform1f(c.uniforms.u_camera_to_center_distance,t.transform.cameraToCenterDistance);var v=i(p,1,t.transform.zoom),m=Math.pow(2,t.transform.zoom-p.tileID.overscaledZ);u.uniform1f(c.uniforms.u_pixels_to_tile_units,v),u.uniform2f(c.uniforms.u_extrude_scale,t.transform.pixelsToGLUnits[0]/(v*m),t.transform.pixelsToGLUnits[1]/(v*m)),c.draw(l,s?u.TRIANGLES:u.LINES,r.id,g.layoutVertexBuffer,g.indexBuffer,g.segments,null,g.collisionVertexBuffer,null)}}}}var i=t(\"../source/pixels_to_tile_units\"),a=t(\"../gl/depth_mode\"),o=t(\"../gl/stencil_mode\");e.exports=function(t,e,r,i){n(t,e,r,i,!1),n(t,e,r,i,!0)}},{\"../gl/depth_mode\":67,\"../gl/stencil_mode\":70,\"../source/pixels_to_tile_units\":104}],77:[function(t,e,r){function n(t,e,r){var n=t.context,p=n.gl;n.lineWidth.set(1*i.devicePixelRatio);var d=r.posMatrix,g=t.useProgram(\"debug\");n.setDepthMode(c.disabled),n.setStencilMode(h.disabled),n.setColorMode(t.colorModeForRenderPass()),p.uniformMatrix4fv(g.uniforms.u_matrix,!1,d),p.uniform4f(g.uniforms.u_color,1,0,0,1),t.debugVAO.bind(n,g,t.debugBuffer,[]),p.drawArrays(p.LINE_STRIP,0,t.debugBuffer.length);for(var v=function(t,e,r,n){n=n||1;var i,a,o,s,l,u,c,h,p=[];for(i=0,a=t.length;i<a;i++)if(l=f[t[i]]){for(h=null,o=0,s=l[1].length;o<s;o+=2)-1===l[1][o]&&-1===l[1][o+1]?h=null:(u=e+l[1][o]*n,c=r-l[1][o+1]*n,h&&p.push(h.x,h.y,u,c),h={x:u,y:c});e+=l[0]*n}return p}(r.toString(),50,200,5),m=new l,y=0;y<v.length;y+=2)m.emplaceBack(v[y],v[y+1]);var x=n.createVertexBuffer(m,u.members);(new s).bind(n,g,x,[]),p.uniform4f(g.uniforms.u_color,1,1,1,1);for(var b=e.getTile(r).tileSize,_=o/(Math.pow(2,t.transform.zoom-r.overscaledZ)*b),w=[[-1,-1],[-1,1],[1,-1],[1,1]],M=0;M<w.length;M++){var A=w[M];p.uniformMatrix4fv(g.uniforms.u_matrix,!1,a.translate([],d,[_*A[0],_*A[1],0])),p.drawArrays(p.LINES,0,x.length)}p.uniform4f(g.uniforms.u_color,0,0,0,1),p.uniformMatrix4fv(g.uniforms.u_matrix,!1,d),p.drawArrays(p.LINES,0,x.length)}var i=t(\"../util/browser\"),a=t(\"@mapbox/gl-matrix\").mat4,o=t(\"../data/extent\"),s=t(\"./vertex_array_object\"),l=t(\"../data/array_types\").PosArray,u=t(\"../data/pos_attributes\"),c=t(\"../gl/depth_mode\"),h=t(\"../gl/stencil_mode\");e.exports=function(t,e,r){for(var i=0;i<r.length;i++)n(t,e,r[i])};var f={\" \":[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]]}},{\"../data/array_types\":39,\"../data/extent\":53,\"../data/pos_attributes\":57,\"../gl/depth_mode\":67,\"../gl/stencil_mode\":70,\"../util/browser\":252,\"./vertex_array_object\":95,\"@mapbox/gl-matrix\":2}],78:[function(t,e,r){function n(t,e,r,n,i){if(!s.isPatternMissing(r.paint.get(\"fill-pattern\"),t))for(var a=!0,o=0,l=n;o<l.length;o+=1){var u=l[o],c=e.getTile(u),h=c.getBucket(r);h&&(t.context.setStencilMode(t.stencilModeForClipping(u)),i(t,e,r,c,u,h,a),a=!1)}}function i(t,e,r,n,i,a,s){var l=t.context.gl,u=a.programConfigurations.get(r.id);o(\"fill\",r.paint.get(\"fill-pattern\"),t,u,r,n,i,s).draw(t.context,l.TRIANGLES,r.id,a.layoutVertexBuffer,a.indexBuffer,a.segments,u)}function a(t,e,r,n,i,a,s){var l=t.context.gl,u=a.programConfigurations.get(r.id),c=o(\"fillOutline\",r.getPaintProperty(\"fill-outline-color\")?null:r.paint.get(\"fill-pattern\"),t,u,r,n,i,s);l.uniform2f(c.uniforms.u_world,l.drawingBufferWidth,l.drawingBufferHeight),c.draw(t.context,l.LINES,r.id,a.layoutVertexBuffer,a.indexBuffer2,a.segments2,u)}function o(t,e,r,n,i,a,o,l){var u,c=r.context.program.get();return e?(u=r.useProgram(t+\"Pattern\",n),(l||u.program!==c)&&(n.setUniforms(r.context,u,i.paint,{zoom:r.transform.zoom}),s.prepare(e,r,u)),s.setTile(a,r,u)):(u=r.useProgram(t,n),(l||u.program!==c)&&n.setUniforms(r.context,u,i.paint,{zoom:r.transform.zoom})),r.context.gl.uniformMatrix4fv(u.uniforms.u_matrix,!1,r.translatePosMatrix(o.posMatrix,a,i.paint.get(\"fill-translate\"),i.paint.get(\"fill-translate-anchor\"))),u}var s=t(\"./pattern\"),l=t(\"../style-spec/util/color\"),u=t(\"../gl/depth_mode\");e.exports=function(t,e,r,o){var s=r.paint.get(\"fill-color\"),c=r.paint.get(\"fill-opacity\");if(0!==c.constantOr(1)){var h=t.context;h.setColorMode(t.colorModeForRenderPass());var f=r.paint.get(\"fill-pattern\")||1!==s.constantOr(l.transparent).a||1!==c.constantOr(0)?\"translucent\":\"opaque\";t.renderPass===f&&(h.setDepthMode(t.depthModeForSublayer(1,\"opaque\"===t.renderPass?u.ReadWrite:u.ReadOnly)),n(t,e,r,o,i)),\"translucent\"===t.renderPass&&r.paint.get(\"fill-antialias\")&&(h.lineWidth.set(2),h.setDepthMode(t.depthModeForSublayer(r.getPaintProperty(\"fill-outline-color\")?2:0,u.ReadOnly)),n(t,e,r,o,a))}}},{\"../gl/depth_mode\":67,\"../style-spec/util/color\":153,\"./pattern\":91}],79:[function(t,e,r){function n(t,e,r,n,i,o,s){var l=t.context,c=l.gl,f=r.paint.get(\"fill-extrusion-pattern\"),p=t.context.program.get(),d=o.programConfigurations.get(r.id),g=t.useProgram(f?\"fillExtrusionPattern\":\"fillExtrusion\",d);if((s||g.program!==p)&&d.setUniforms(l,g,r.paint,{zoom:t.transform.zoom}),f){if(a.isPatternMissing(f,t))return;a.prepare(f,t,g),a.setTile(n,t,g),c.uniform1f(g.uniforms.u_height_factor,-Math.pow(2,i.overscaledZ)/n.tileSize/8)}t.context.gl.uniformMatrix4fv(g.uniforms.u_matrix,!1,t.translatePosMatrix(i.posMatrix,n,r.paint.get(\"fill-extrusion-translate\"),r.paint.get(\"fill-extrusion-translate-anchor\"))),function(t,e){var r=e.context.gl,n=e.style.light,i=n.properties.get(\"position\"),a=[i.x,i.y,i.z],o=u.create();\"viewport\"===n.properties.get(\"anchor\")&&u.fromRotation(o,-e.transform.angle),h.transformMat3(a,a,o);var s=n.properties.get(\"color\");r.uniform3fv(t.uniforms.u_lightpos,a),r.uniform1f(t.uniforms.u_lightintensity,n.properties.get(\"intensity\")),r.uniform3f(t.uniforms.u_lightcolor,s.r,s.g,s.b)}(g,t),g.draw(l,c.TRIANGLES,r.id,o.layoutVertexBuffer,o.indexBuffer,o.segments,d)}var i=t(\"@mapbox/gl-matrix\"),a=t(\"./pattern\"),o=t(\"./texture\"),s=t(\"../style-spec/util/color\"),l=t(\"../gl/depth_mode\"),u=i.mat3,c=i.mat4,h=i.vec3,f=t(\"../gl/stencil_mode\");e.exports=function(t,e,r,i){if(0!==r.paint.get(\"fill-extrusion-opacity\"))if(\"offscreen\"===t.renderPass){!function(t,e){var r=t.context,n=r.gl,i=e.viewportFrame;if(t.depthRboNeedsClear&&t.setupOffscreenDepthRenderbuffer(),!i){var a=new o(r,{width:t.width,height:t.height,data:null},n.RGBA);a.bind(n.LINEAR,n.CLAMP_TO_EDGE),(i=e.viewportFrame=r.createFramebuffer(t.width,t.height)).colorAttachment.set(a.texture)}r.bindFramebuffer.set(i.framebuffer),i.depthAttachment.set(t.depthRbo),t.depthRboNeedsClear&&(r.clear({depth:1}),t.depthRboNeedsClear=!1),r.clear({color:s.transparent}),r.setStencilMode(f.disabled),r.setDepthMode(new l(n.LEQUAL,l.ReadWrite,[0,1])),r.setColorMode(t.colorModeForRenderPass())}(t,r);for(var a=!0,u=0,h=i;u<h.length;u+=1){var p=h[u],d=e.getTile(p),g=d.getBucket(r);g&&(n(t,0,r,d,p,g,a),a=!1)}}else\"translucent\"===t.renderPass&&function(t,e){var r=e.viewportFrame;if(r){var n=t.context,i=n.gl,a=t.useProgram(\"extrusionTexture\");n.setStencilMode(f.disabled),n.setDepthMode(l.disabled),n.setColorMode(t.colorModeForRenderPass()),n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,r.colorAttachment.get()),i.uniform1f(a.uniforms.u_opacity,e.paint.get(\"fill-extrusion-opacity\")),i.uniform1i(a.uniforms.u_image,0);var o=c.create();c.ortho(o,0,t.width,t.height,0,0,1),i.uniformMatrix4fv(a.uniforms.u_matrix,!1,o),i.uniform2f(a.uniforms.u_world,i.drawingBufferWidth,i.drawingBufferHeight),t.viewportVAO.bind(n,a,t.viewportBuffer,[]),i.drawArrays(i.TRIANGLE_STRIP,0,4)}}(t,r)}},{\"../gl/depth_mode\":67,\"../gl/stencil_mode\":70,\"../style-spec/util/color\":153,\"./pattern\":91,\"./texture\":93,\"@mapbox/gl-matrix\":2}],80:[function(t,e,r){var n=t(\"@mapbox/gl-matrix\").mat4,i=t(\"./texture\"),a=t(\"../source/pixels_to_tile_units\"),o=t(\"../style-spec/util/color\"),s=t(\"../gl/depth_mode\"),l=t(\"../gl/stencil_mode\"),u=t(\"../gl/color_mode\");e.exports=function(t,e,r,c){if(0!==r.paint.get(\"heatmap-opacity\"))if(\"offscreen\"===t.renderPass){var h=t.context,f=h.gl;h.setDepthMode(t.depthModeForSublayer(0,s.ReadOnly)),h.setStencilMode(l.disabled),function(t,e,r){var n=t.gl;t.activeTexture.set(n.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);var i=r.heatmapFbo;if(i)n.bindTexture(n.TEXTURE_2D,i.colorAttachment.get()),t.bindFramebuffer.set(i.framebuffer);else{var a=n.createTexture();n.bindTexture(n.TEXTURE_2D,a),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),i=r.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4),function t(e,r,n,i){var a=e.gl;a.texImage2D(a.TEXTURE_2D,0,a.RGBA,r.width/4,r.height/4,0,a.RGBA,e.extTextureHalfFloat?e.extTextureHalfFloat.HALF_FLOAT_OES:a.UNSIGNED_BYTE,null),i.colorAttachment.set(n),e.extTextureHalfFloat&&a.checkFramebufferStatus(a.FRAMEBUFFER)!==a.FRAMEBUFFER_COMPLETE&&(e.extTextureHalfFloat=null,i.colorAttachment.setDirty(),t(e,r,n,i))}(t,e,a,i)}}(h,t,r),h.clear({color:o.transparent}),h.setColorMode(new u([f.ONE,f.ONE],o.transparent,[!0,!0,!0,!0]));for(var p=!0,d=0;d<c.length;d++){var g=c[d];if(!e.hasRenderableParent(g)){var v=e.getTile(g),m=v.getBucket(r);if(m){var y=t.context.program.get(),x=m.programConfigurations.get(r.id),b=t.useProgram(\"heatmap\",x),_=t.transform.zoom;(p||b.program!==y)&&(x.setUniforms(t.context,b,r.paint,{zoom:_}),p=!1),f.uniform1f(b.uniforms.u_extrude_scale,a(v,1,_)),f.uniform1f(b.uniforms.u_intensity,r.paint.get(\"heatmap-intensity\")),f.uniformMatrix4fv(b.uniforms.u_matrix,!1,g.posMatrix),b.draw(h,f.TRIANGLES,r.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,x)}}}h.viewport.set([0,0,t.width,t.height])}else\"translucent\"===t.renderPass&&(t.context.setColorMode(t.colorModeForRenderPass()),function(t,e){var r=t.context,a=r.gl,o=e.heatmapFbo;if(o){r.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,o.colorAttachment.get()),r.activeTexture.set(a.TEXTURE1);var l=e.colorRampTexture;l||(l=e.colorRampTexture=new i(r,e.colorRamp,a.RGBA)),l.bind(a.LINEAR,a.CLAMP_TO_EDGE),r.setDepthMode(s.disabled);var u=t.useProgram(\"heatmapTexture\"),c=e.paint.get(\"heatmap-opacity\");a.uniform1f(u.uniforms.u_opacity,c),a.uniform1i(u.uniforms.u_image,0),a.uniform1i(u.uniforms.u_color_ramp,1);var h=n.create();n.ortho(h,0,t.width,t.height,0,0,1),a.uniformMatrix4fv(u.uniforms.u_matrix,!1,h),a.uniform2f(u.uniforms.u_world,a.drawingBufferWidth,a.drawingBufferHeight),t.viewportVAO.bind(t.context,u,t.viewportBuffer,[]),a.drawArrays(a.TRIANGLE_STRIP,0,4)}}(t,r))}},{\"../gl/color_mode\":65,\"../gl/depth_mode\":67,\"../gl/stencil_mode\":70,\"../source/pixels_to_tile_units\":104,\"../style-spec/util/color\":153,\"./texture\":93,\"@mapbox/gl-matrix\":2}],81:[function(t,e,r){function n(t,e,r){var n=t.context,i=n.gl,o=e.fbo;if(o){var s=t.useProgram(\"hillshade\"),l=t.transform.calculatePosMatrix(e.tileID.toUnwrapped());!function(t,e,r){var n=r.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);\"viewport\"===r.paint.get(\"hillshade-illumination-anchor\")&&(n-=e.transform.angle),e.context.gl.uniform2f(t.uniforms.u_light,r.paint.get(\"hillshade-exaggeration\"),n)}(s,t,r);var u=function(t,e){var r=e.toCoordinate(),n=new a(r.column,r.row+1,r.zoom);return[t.transform.coordinateLocation(r).lat,t.transform.coordinateLocation(n).lat]}(t,e.tileID);n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,o.colorAttachment.get()),i.uniformMatrix4fv(s.uniforms.u_matrix,!1,l),i.uniform2fv(s.uniforms.u_latrange,u),i.uniform1i(s.uniforms.u_image,0);var c=r.paint.get(\"hillshade-shadow-color\");i.uniform4f(s.uniforms.u_shadow,c.r,c.g,c.b,c.a);var h=r.paint.get(\"hillshade-highlight-color\");i.uniform4f(s.uniforms.u_highlight,h.r,h.g,h.b,h.a);var f=r.paint.get(\"hillshade-accent-color\");if(i.uniform4f(s.uniforms.u_accent,f.r,f.g,f.b,f.a),e.maskedBoundsBuffer&&e.maskedIndexBuffer&&e.segments)s.draw(n,i.TRIANGLES,r.id,e.maskedBoundsBuffer,e.maskedIndexBuffer,e.segments);else{var p=t.rasterBoundsBuffer;t.rasterBoundsVAO.bind(n,s,p,[]),i.drawArrays(i.TRIANGLE_STRIP,0,p.length)}}}function i(t,e){var r=t.context,n=r.gl;if(e.dem&&e.dem.level){var i=e.dem.level.dim,a=e.dem.getPixels();if(r.activeTexture.set(n.TEXTURE1),r.pixelStoreUnpackPremultiplyAlpha.set(!1),e.demTexture=e.demTexture||t.getTileTexture(e.tileSize),e.demTexture){var u=e.demTexture;u.update(a,!1),u.bind(n.NEAREST,n.CLAMP_TO_EDGE)}else e.demTexture=new o(r,a,n.RGBA,!1),e.demTexture.bind(n.NEAREST,n.CLAMP_TO_EDGE);r.activeTexture.set(n.TEXTURE0);var c=e.fbo;if(!c){var h=new o(r,{width:i,height:i,data:null},n.RGBA);h.bind(n.LINEAR,n.CLAMP_TO_EDGE),(c=e.fbo=r.createFramebuffer(i,i)).colorAttachment.set(h.texture)}r.bindFramebuffer.set(c.framebuffer),r.viewport.set([0,0,i,i]);var f=l.create();l.ortho(f,0,s,-s,0,0,1),l.translate(f,f,[0,-s,0]);var p=t.useProgram(\"hillshadePrepare\");n.uniformMatrix4fv(p.uniforms.u_matrix,!1,f),n.uniform1f(p.uniforms.u_zoom,e.tileID.overscaledZ),n.uniform2fv(p.uniforms.u_dimension,[2*i,2*i]),n.uniform1i(p.uniforms.u_image,1);var d=t.rasterBoundsBuffer;t.rasterBoundsVAO.bind(r,p,d,[]),n.drawArrays(n.TRIANGLE_STRIP,0,d.length),e.needsHillshadePrepare=!1}}var a=t(\"../geo/coordinate\"),o=t(\"./texture\"),s=t(\"../data/extent\"),l=t(\"@mapbox/gl-matrix\").mat4,u=t(\"../gl/stencil_mode\"),c=t(\"../gl/depth_mode\");e.exports=function(t,e,r,a){if(\"offscreen\"===t.renderPass||\"translucent\"===t.renderPass){var o=t.context;o.setDepthMode(t.depthModeForSublayer(0,c.ReadOnly)),o.setStencilMode(u.disabled),o.setColorMode(t.colorModeForRenderPass());for(var s=0,l=a;s<l.length;s+=1){var h=l[s],f=e.getTile(h);f.needsHillshadePrepare&&\"offscreen\"===t.renderPass?i(t,f):\"translucent\"===t.renderPass&&n(t,f,r)}o.viewport.set([0,0,t.width,t.height])}}},{\"../data/extent\":53,\"../geo/coordinate\":61,\"../gl/depth_mode\":67,\"../gl/stencil_mode\":70,\"./texture\":93,\"@mapbox/gl-matrix\":2}],82:[function(t,e,r){function n(t,e,r,n,o,s,l,u,c){var h,f,p,d,g=e.context,v=g.gl,m=o.paint.get(\"line-dasharray\"),y=o.paint.get(\"line-pattern\");if(u||c){var x=1/a(r,1,e.transform.tileZoom);if(m){h=e.lineAtlas.getDash(m.from,\"round\"===o.layout.get(\"line-cap\")),f=e.lineAtlas.getDash(m.to,\"round\"===o.layout.get(\"line-cap\"));var b=h.width*m.fromScale,_=f.width*m.toScale;v.uniform2f(t.uniforms.u_patternscale_a,x/b,-h.height/2),v.uniform2f(t.uniforms.u_patternscale_b,x/_,-f.height/2),v.uniform1f(t.uniforms.u_sdfgamma,e.lineAtlas.width/(256*Math.min(b,_)*i.devicePixelRatio)/2)}else if(y){if(p=e.imageManager.getPattern(y.from),d=e.imageManager.getPattern(y.to),!p||!d)return;v.uniform2f(t.uniforms.u_pattern_size_a,p.displaySize[0]*y.fromScale/x,d.displaySize[1]),v.uniform2f(t.uniforms.u_pattern_size_b,d.displaySize[0]*y.toScale/x,d.displaySize[1]);var w=e.imageManager.getPixelSize(),M=w.width,A=w.height;v.uniform2fv(t.uniforms.u_texsize,[M,A])}v.uniform2f(t.uniforms.u_gl_units_to_pixels,1/e.transform.pixelsToGLUnits[0],1/e.transform.pixelsToGLUnits[1])}u&&(m?(v.uniform1i(t.uniforms.u_image,0),g.activeTexture.set(v.TEXTURE0),e.lineAtlas.bind(g),v.uniform1f(t.uniforms.u_tex_y_a,h.y),v.uniform1f(t.uniforms.u_tex_y_b,f.y),v.uniform1f(t.uniforms.u_mix,m.t)):y&&(v.uniform1i(t.uniforms.u_image,0),g.activeTexture.set(v.TEXTURE0),e.imageManager.bind(g),v.uniform2fv(t.uniforms.u_pattern_tl_a,p.tl),v.uniform2fv(t.uniforms.u_pattern_br_a,p.br),v.uniform2fv(t.uniforms.u_pattern_tl_b,d.tl),v.uniform2fv(t.uniforms.u_pattern_br_b,d.br),v.uniform1f(t.uniforms.u_fade,y.t))),g.setStencilMode(e.stencilModeForClipping(s));var k=e.translatePosMatrix(s.posMatrix,r,o.paint.get(\"line-translate\"),o.paint.get(\"line-translate-anchor\"));v.uniformMatrix4fv(t.uniforms.u_matrix,!1,k),v.uniform1f(t.uniforms.u_ratio,1/a(r,1,e.transform.zoom)),t.draw(g,v.TRIANGLES,o.id,n.layoutVertexBuffer,n.indexBuffer,n.segments,l)}var i=t(\"../util/browser\"),a=t(\"../source/pixels_to_tile_units\"),o=t(\"../gl/depth_mode\");e.exports=function(t,e,r,i){if(\"translucent\"===t.renderPass&&0!==r.paint.get(\"line-opacity\").constantOr(1)){var a=t.context;a.setDepthMode(t.depthModeForSublayer(0,o.ReadOnly)),a.setColorMode(t.colorModeForRenderPass());for(var s,l=r.paint.get(\"line-dasharray\")?\"lineSDF\":r.paint.get(\"line-pattern\")?\"linePattern\":\"line\",u=!0,c=0,h=i;c<h.length;c+=1){var f=h[c],p=e.getTile(f),d=p.getBucket(r);if(d){var g=d.programConfigurations.get(r.id),v=t.context.program.get(),m=t.useProgram(l,g),y=u||m.program!==v,x=s!==p.tileID.overscaledZ;y&&g.setUniforms(t.context,m,r.paint,{zoom:t.transform.zoom}),n(m,t,p,d,r,f,g,y,x),s=p.tileID.overscaledZ,u=!1}}}}},{\"../gl/depth_mode\":67,\"../source/pixels_to_tile_units\":104,\"../util/browser\":252}],83:[function(t,e,r){function n(t,e,r,n,a){var s=n.paint.get(\"raster-fade-duration\");if(s>0){var l=o.now(),u=(l-t.timeAdded)/s,c=e?(l-e.timeAdded)/s:-1,h=r.getSource(),f=a.coveringZoomLevel({tileSize:h.tileSize,roundZoom:h.roundZoom}),p=!e||Math.abs(e.tileID.overscaledZ-f)>Math.abs(t.tileID.overscaledZ-f),d=p&&t.refreshedUponExpiration?1:i.clamp(p?u:1-c,0,1);return t.refreshedUponExpiration&&u>=1&&(t.refreshedUponExpiration=!1),e?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var i=t(\"../util/util\"),a=t(\"../source/image_source\"),o=t(\"../util/browser\"),s=t(\"../gl/stencil_mode\"),l=t(\"../gl/depth_mode\");e.exports=function(t,e,r,i){if(\"translucent\"===t.renderPass&&0!==r.paint.get(\"raster-opacity\")){var o=t.context,u=o.gl,c=e.getSource(),h=t.useProgram(\"raster\");o.setStencilMode(s.disabled),o.setColorMode(t.colorModeForRenderPass()),u.uniform1f(h.uniforms.u_brightness_low,r.paint.get(\"raster-brightness-min\")),u.uniform1f(h.uniforms.u_brightness_high,r.paint.get(\"raster-brightness-max\")),u.uniform1f(h.uniforms.u_saturation_factor,function(t){return t>0?1-1/(1.001-t):-t}(r.paint.get(\"raster-saturation\"))),u.uniform1f(h.uniforms.u_contrast_factor,function(t){return t>0?1/(1-t):1+t}(r.paint.get(\"raster-contrast\"))),u.uniform3fv(h.uniforms.u_spin_weights,function(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]}(r.paint.get(\"raster-hue-rotate\"))),u.uniform1f(h.uniforms.u_buffer_scale,1),u.uniform1i(h.uniforms.u_image0,0),u.uniform1i(h.uniforms.u_image1,1);for(var f=i.length&&i[0].overscaledZ,p=0,d=i;p<d.length;p+=1){var g=d[p];o.setDepthMode(t.depthModeForSublayer(g.overscaledZ-f,1===r.paint.get(\"raster-opacity\")?l.ReadWrite:l.ReadOnly,u.LESS));var v=e.getTile(g),m=t.transform.calculatePosMatrix(g.toUnwrapped(),!0);v.registerFadeDuration(r.paint.get(\"raster-fade-duration\")),u.uniformMatrix4fv(h.uniforms.u_matrix,!1,m);var y=e.findLoadedParent(g,0,{}),x=n(v,y,e,r,t.transform),b=void 0,_=void 0;if(o.activeTexture.set(u.TEXTURE0),v.texture.bind(u.LINEAR,u.CLAMP_TO_EDGE,u.LINEAR_MIPMAP_NEAREST),o.activeTexture.set(u.TEXTURE1),y?(y.texture.bind(u.LINEAR,u.CLAMP_TO_EDGE,u.LINEAR_MIPMAP_NEAREST),b=Math.pow(2,y.tileID.overscaledZ-v.tileID.overscaledZ),_=[v.tileID.canonical.x*b%1,v.tileID.canonical.y*b%1]):v.texture.bind(u.LINEAR,u.CLAMP_TO_EDGE,u.LINEAR_MIPMAP_NEAREST),u.uniform2fv(h.uniforms.u_tl_parent,_||[0,0]),u.uniform1f(h.uniforms.u_scale_parent,b||1),u.uniform1f(h.uniforms.u_fade_t,x.mix),u.uniform1f(h.uniforms.u_opacity,x.opacity*r.paint.get(\"raster-opacity\")),c instanceof a){var w=c.boundsBuffer;c.boundsVAO.bind(o,h,w,[]),u.drawArrays(u.TRIANGLE_STRIP,0,w.length)}else if(v.maskedBoundsBuffer&&v.maskedIndexBuffer&&v.segments)h.draw(o,u.TRIANGLES,r.id,v.maskedBoundsBuffer,v.maskedIndexBuffer,v.segments);else{var M=t.rasterBoundsBuffer;t.rasterBoundsVAO.bind(o,h,M,[]),u.drawArrays(u.TRIANGLE_STRIP,0,M.length)}}}}},{\"../gl/depth_mode\":67,\"../gl/stencil_mode\":70,\"../source/image_source\":102,\"../util/browser\":252,\"../util/util\":275}],84:[function(t,e,r){function n(t,e,r,n,o,s,c,f,p,g){var v=t.context,m=v.gl,y=t.transform,x=\"map\"===f,b=\"map\"===p,_=x&&\"line\"===r.layout.get(\"symbol-placement\"),w=x&&!b&&!_,M=b;v.setDepthMode(M?t.depthModeForSublayer(0,d.ReadOnly):d.disabled);for(var A,k=0,T=n;k<T.length;k+=1){var S=T[k],E=e.getTile(S),C=E.getBucket(r);if(C){var L=o?C.text:C.icon;if(L&&L.segments.get().length){var z=L.programConfigurations.get(r.id),P=o||C.sdfIcons,I=o?C.textSizeData:C.iconSizeData;if(A||(A=t.useProgram(P?\"symbolSDF\":\"symbolIcon\",z),z.setUniforms(t.context,A,r.paint,{zoom:t.transform.zoom}),i(A,t,r,o,w,b,I)),v.activeTexture.set(m.TEXTURE0),m.uniform1i(A.uniforms.u_texture,0),o)E.glyphAtlasTexture.bind(m.LINEAR,m.CLAMP_TO_EDGE),m.uniform2fv(A.uniforms.u_texsize,E.glyphAtlasTexture.size);else{var D=1!==r.layout.get(\"icon-size\").constantOr(0)||C.iconsNeedLinear,O=b||0!==y.pitch;E.iconAtlasTexture.bind(P||t.options.rotating||t.options.zooming||D||O?m.LINEAR:m.NEAREST,m.CLAMP_TO_EDGE),m.uniform2fv(A.uniforms.u_texsize,E.iconAtlasTexture.size)}m.uniformMatrix4fv(A.uniforms.u_matrix,!1,t.translatePosMatrix(S.posMatrix,E,s,c));var R=l(E,1,t.transform.zoom),F=u.getLabelPlaneMatrix(S.posMatrix,b,x,t.transform,R),B=u.getGlCoordMatrix(S.posMatrix,b,x,t.transform,R);m.uniformMatrix4fv(A.uniforms.u_gl_coord_matrix,!1,t.translatePosMatrix(B,E,s,c,!0)),_?(m.uniformMatrix4fv(A.uniforms.u_label_plane_matrix,!1,h),u.updateLineLabels(C,S.posMatrix,t,o,F,B,b,g)):m.uniformMatrix4fv(A.uniforms.u_label_plane_matrix,!1,F),m.uniform1f(A.uniforms.u_fade_change,t.options.fadeDuration?t.symbolFadeChange:1),a(A,z,t,r,E,L,o,P,b)}}}}function i(t,e,r,n,i,a,o){var s=e.context.gl,l=e.transform;s.uniform1i(t.uniforms.u_pitch_with_map,a?1:0),s.uniform1f(t.uniforms.u_is_text,n?1:0),s.uniform1f(t.uniforms.u_pitch,l.pitch/360*2*Math.PI);var u=\"constant\"===o.functionType||\"source\"===o.functionType,h=\"constant\"===o.functionType||\"camera\"===o.functionType;s.uniform1i(t.uniforms.u_is_size_zoom_constant,u?1:0),s.uniform1i(t.uniforms.u_is_size_feature_constant,h?1:0),s.uniform1f(t.uniforms.u_camera_to_center_distance,l.cameraToCenterDistance);var p=c.evaluateSizeForZoom(o,l.zoom,f.properties[n?\"text-size\":\"icon-size\"]);void 0!==p.uSizeT&&s.uniform1f(t.uniforms.u_size_t,p.uSizeT),void 0!==p.uSize&&s.uniform1f(t.uniforms.u_size,p.uSize),s.uniform1f(t.uniforms.u_aspect_ratio,l.width/l.height),s.uniform1i(t.uniforms.u_rotate_symbol,i?1:0)}function a(t,e,r,n,i,a,s,l,u){var c=r.context,h=c.gl,f=r.transform;if(l){var p=0!==n.paint.get(s?\"text-halo-width\":\"icon-halo-width\").constantOr(1),d=u?Math.cos(f._pitch)*f.cameraToCenterDistance:1;h.uniform1f(t.uniforms.u_gamma_scale,d),p&&(h.uniform1f(t.uniforms.u_is_halo,1),o(a,n,c,t)),h.uniform1f(t.uniforms.u_is_halo,0)}o(a,n,c,t)}function o(t,e,r,n){n.draw(r,r.gl.TRIANGLES,e.id,t.layoutVertexBuffer,t.indexBuffer,t.segments,t.programConfigurations.get(e.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}var s=t(\"./draw_collision_debug\"),l=t(\"../source/pixels_to_tile_units\"),u=t(\"../symbol/projection\"),c=t(\"../symbol/symbol_size\"),h=t(\"@mapbox/gl-matrix\").mat4.identity(new Float32Array(16)),f=t(\"../style/style_layer/symbol_style_layer_properties\").layout,p=t(\"../gl/stencil_mode\"),d=t(\"../gl/depth_mode\");e.exports=function(t,e,r,i){if(\"translucent\"===t.renderPass){var a=t.context;a.setStencilMode(p.disabled),a.setColorMode(t.colorModeForRenderPass()),0!==r.paint.get(\"icon-opacity\").constantOr(1)&&n(t,e,r,i,!1,r.paint.get(\"icon-translate\"),r.paint.get(\"icon-translate-anchor\"),r.layout.get(\"icon-rotation-alignment\"),r.layout.get(\"icon-pitch-alignment\"),r.layout.get(\"icon-keep-upright\")),0!==r.paint.get(\"text-opacity\").constantOr(1)&&n(t,e,r,i,!0,r.paint.get(\"text-translate\"),r.paint.get(\"text-translate-anchor\"),r.layout.get(\"text-rotation-alignment\"),r.layout.get(\"text-pitch-alignment\"),r.layout.get(\"text-keep-upright\")),e.map.showCollisionBoxes&&s(t,e,r,i)}}},{\"../gl/depth_mode\":67,\"../gl/stencil_mode\":70,\"../source/pixels_to_tile_units\":104,\"../style/style_layer/symbol_style_layer_properties\":209,\"../symbol/projection\":224,\"../symbol/symbol_size\":228,\"./draw_collision_debug\":76,\"@mapbox/gl-matrix\":2}],85:[function(t,e,r){var n=t(\"@mapbox/shelf-pack\"),i=t(\"../util/image\").AlphaImage,a=1;e.exports={makeGlyphAtlas:function(t){var e=new i({width:0,height:0}),r={},o=new n(0,0,{autoResize:!0});for(var s in t){var l=t[s],u=r[s]={};for(var c in l){var h=l[+c];if(h&&0!==h.bitmap.width&&0!==h.bitmap.height){var f=o.packOne(h.bitmap.width+2*a,h.bitmap.height+2*a);e.resize({width:o.w,height:o.h}),i.copy(h.bitmap,e,{x:0,y:0},{x:f.x+a,y:f.y+a},h.bitmap),u[c]={rect:f,metrics:h.metrics}}}}return o.shrink(),e.resize({width:o.w,height:o.h}),{image:e,positions:r}}}},{\"../util/image\":263,\"@mapbox/shelf-pack\":5}],86:[function(t,e,r){var n=t(\"../style/load_glyph_range\"),i=t(\"@mapbox/tiny-sdf\"),a=t(\"../util/is_char_in_unicode_block\"),o=t(\"../util/util\").asyncAll,s=t(\"../util/image\").AlphaImage,l=function(t,e){this.requestTransform=t,this.localIdeographFontFamily=e,this.entries={}};l.prototype.setURL=function(t){this.url=t},l.prototype.getGlyphs=function(t,e){var r=this,i=[];for(var a in t)for(var s=0,l=t[a];s<l.length;s+=1){var u=l[s];i.push({stack:a,id:u})}o(i,function(t,e){var i=t.stack,a=t.id,o=r.entries[i];o||(o=r.entries[i]={glyphs:{},requests:{}});var s=o.glyphs[a];if(void 0===s)if(s=r._tinySDF(o,i,a))e(null,{stack:i,id:a,glyph:s});else{var l=Math.floor(a/256);if(256*l>65535)e(new Error(\"glyphs > 65535 not supported\"));else{var u=o.requests[l];u||(u=o.requests[l]=[],n(i,l,r.url,r.requestTransform,function(t,e){if(e)for(var r in e)o.glyphs[+r]=e[+r];for(var n=0,i=u;n<i.length;n+=1)(0,i[n])(t,e);delete o.requests[l]})),u.push(function(t,r){t?e(t):r&&e(null,{stack:i,id:a,glyph:r[a]||null})})}}else e(null,{stack:i,id:a,glyph:s})},function(t,r){if(t)e(t);else if(r){for(var n={},i=0,a=r;i<a.length;i+=1){var o=a[i],s=o.stack,l=o.id,u=o.glyph;(n[s]||(n[s]={}))[l]=u&&{id:u.id,bitmap:u.bitmap.clone(),metrics:u.metrics}}e(null,n)}})},l.prototype._tinySDF=function(t,e,r){var n=this.localIdeographFontFamily;if(n&&(a[\"CJK Unified Ideographs\"](r)||a[\"Hangul Syllables\"](r))){var o=t.tinySDF;if(!o){var l=\"400\";/bold/i.test(e)?l=\"900\":/medium/i.test(e)?l=\"500\":/light/i.test(e)&&(l=\"200\"),o=t.tinySDF=new i(24,3,8,.25,n,l)}return{id:r,bitmap:new s({width:30,height:30},o.draw(String.fromCharCode(r))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},e.exports=l},{\"../style/load_glyph_range\":184,\"../util/image\":263,\"../util/is_char_in_unicode_block\":265,\"../util/util\":275,\"@mapbox/tiny-sdf\":6}],87:[function(t,e,r){function n(t,e){var r=e.pixelRatio,n={x:t.x+o,y:t.y+o,w:t.w-2*o,h:t.h-2*o};return{pixelRatio:r,textureRect:n,tl:[n.x,n.y],br:[n.x+n.w,n.y+n.h],displaySize:[n.w/r,n.h/r]}}var i=t(\"@mapbox/shelf-pack\"),a=t(\"../util/image\").RGBAImage,o=1;e.exports={imagePosition:n,makeImageAtlas:function(t){var e=new a({width:0,height:0}),r={},s=new i(0,0,{autoResize:!0});for(var l in t){var u=t[l],c=s.packOne(u.data.width+2*o,u.data.height+2*o);e.resize({width:s.w,height:s.h}),a.copy(u.data,e,{x:0,y:0},{x:c.x+o,y:c.y+o},u.data),r[l]=n(c,u)}return s.shrink(),e.resize({width:s.w,height:s.h}),{image:e,positions:r}}}},{\"../util/image\":263,\"@mapbox/shelf-pack\":5}],88:[function(t,e,r){var n=t(\"@mapbox/shelf-pack\"),i=t(\"../util/image\").RGBAImage,a=t(\"./image_atlas\").imagePosition,o=t(\"./texture\"),s=function(){this.images={},this.loaded=!1,this.requestors=[],this.shelfPack=new n(64,64,{autoResize:!0}),this.patterns={},this.atlasImage=new i({width:64,height:64}),this.dirty=!0};s.prototype.isLoaded=function(){return this.loaded},s.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e<r.length;e+=1){var n=r[e],i=n.ids,a=n.callback;this._notify(i,a)}this.requestors=[]}},s.prototype.getImage=function(t){return this.images[t]},s.prototype.addImage=function(t,e){this.images[t]=e},s.prototype.removeImage=function(t){delete this.images[t];var e=this.patterns[t];e&&(this.shelfPack.unref(e.bin),delete this.patterns[t])},s.prototype.getImages=function(t,e){var r=!0;if(!this.isLoaded())for(var n=0,i=t;n<i.length;n+=1){var a=i[n];this.images[a]||(r=!1)}this.isLoaded()||r?this._notify(t,e):this.requestors.push({ids:t,callback:e})},s.prototype._notify=function(t,e){for(var r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=this.images[a];o&&(r[a]={data:o.data.clone(),pixelRatio:o.pixelRatio,sdf:o.sdf})}e(null,r)},s.prototype.getPixelSize=function(){return{width:this.shelfPack.w,height:this.shelfPack.h}},s.prototype.getPattern=function(t){var e=this.patterns[t];if(e)return e.position;var r=this.getImage(t);if(!r)return null;var n=r.data.width+2,o=r.data.height+2,s=this.shelfPack.packOne(n,o);if(!s)return null;this.atlasImage.resize(this.getPixelSize());var l=r.data,u=this.atlasImage,c=s.x+1,h=s.y+1,f=l.width,p=l.height;i.copy(l,u,{x:0,y:0},{x:c,y:h},{width:f,height:p}),i.copy(l,u,{x:0,y:p-1},{x:c,y:h-1},{width:f,height:1}),i.copy(l,u,{x:0,y:0},{x:c,y:h+p},{width:f,height:1}),i.copy(l,u,{x:f-1,y:0},{x:c-1,y:h},{width:1,height:p}),i.copy(l,u,{x:0,y:0},{x:c+f,y:h},{width:1,height:p}),this.dirty=!0;var d=a(s,r);return this.patterns[t]={bin:s,position:d},d},s.prototype.bind=function(t){var e=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new o(t,this.atlasImage,e.RGBA),this.atlasTexture.bind(e.LINEAR,e.CLAMP_TO_EDGE)},e.exports=s},{\"../util/image\":263,\"./image_atlas\":87,\"./texture\":93,\"@mapbox/shelf-pack\":5}],89:[function(t,e,r){var n=t(\"../util/util\"),i=function(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={}};i.prototype.getDash=function(t,e){var r=t.join(\",\")+String(e);return this.positions[r]||(this.positions[r]=this.addDash(t,e)),this.positions[r]},i.prototype.addDash=function(t,e){var r=this,i=e?7:0,a=2*i+1;if(this.nextRow+a>this.height)return n.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=-i;h<=i;h++)for(var f=r.nextRow+i+h,p=r.width*f,d=c?-t[t.length-1]:0,g=t[0],v=1,m=0;m<this.width;m++){for(;g<m/l;)d=g,g+=t[v],c&&v===t.length-1&&(g+=t[0]),v++;var y=Math.abs(m-d*l),x=Math.abs(m-g*l),b=Math.min(y,x),_=v%2==1,w=void 0;if(e){var M=i?h/i*(u+1):0;if(_){var A=u-Math.abs(M);w=Math.sqrt(b*b+A*A)}else w=u-Math.sqrt(b*b+M*M)}else w=(_?1:-1)*b;r.data[3+4*(p+m)]=Math.max(0,Math.min(255,w+128))}var k={y:(this.nextRow+i+.5)/this.height,height:2*i/this.height,width:o};return this.nextRow+=a,this.dirty=!0,k},i.prototype.bind=function(t){var e=t.gl;this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,e.texSubImage2D(e.TEXTURE_2D,0,0,0,this.width,this.height,e.RGBA,e.UNSIGNED_BYTE,this.data))):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT),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,this.width,this.height,0,e.RGBA,e.UNSIGNED_BYTE,this.data))},e.exports=i},{\"../util/util\":275}],90:[function(t,e,r){var n=t(\"../util/browser\"),i=t(\"@mapbox/gl-matrix\").mat4,a=t(\"../source/source_cache\"),o=t(\"../data/extent\"),s=t(\"../source/pixels_to_tile_units\"),l=t(\"../util/util\"),u=t(\"./vertex_array_object\"),c=t(\"../data/array_types\"),h=c.RasterBoundsArray,f=c.PosArray,p=t(\"../data/raster_bounds_attributes\"),d=t(\"../data/pos_attributes\"),g=t(\"../data/program_configuration\").ProgramConfiguration,v=t(\"../symbol/cross_tile_symbol_index\"),m=t(\"../shaders\"),y=t(\"./program\"),x=t(\"../gl/context\"),b=t(\"../gl/depth_mode\"),_=t(\"../gl/stencil_mode\"),w=t(\"../gl/color_mode\"),M=(t(\"./texture\"),t(\"./tile_mask\")),A=t(\"../style-spec/util/color\"),k={symbol:t(\"./draw_symbol\"),circle:t(\"./draw_circle\"),heatmap:t(\"./draw_heatmap\"),line:t(\"./draw_line\"),fill:t(\"./draw_fill\"),\"fill-extrusion\":t(\"./draw_fill_extrusion\"),hillshade:t(\"./draw_hillshade\"),raster:t(\"./draw_raster\"),background:t(\"./draw_background\"),debug:t(\"./draw_debug\")},T=function(t,e){this.context=new x(t),this.transform=e,this._tileTextures={},this.setup(),this.numSublayers=a.maxUnderzooming+a.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.depthRboNeedsClear=!0,this.emptyProgramConfiguration=new g,this.crossTileSymbolIndex=new v};T.prototype.resize=function(t,e){var r=this.context.gl;if(this.width=t*n.devicePixelRatio,this.height=e*n.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var i=0,a=this.style._order;i<a.length;i+=1){var o=a[i];this.style._layers[o].resize()}this.depthRbo&&(r.deleteRenderbuffer(this.depthRbo),this.depthRbo=null)},T.prototype.setup=function(){var t=this.context,e=new f;e.emplaceBack(0,0),e.emplaceBack(o,0),e.emplaceBack(0,o),e.emplaceBack(o,o),this.tileExtentBuffer=t.createVertexBuffer(e,d.members),this.tileExtentVAO=new u,this.tileExtentPatternVAO=new u;var r=new f;r.emplaceBack(0,0),r.emplaceBack(o,0),r.emplaceBack(o,o),r.emplaceBack(0,o),r.emplaceBack(0,0),this.debugBuffer=t.createVertexBuffer(r,d.members),this.debugVAO=new u;var n=new h;n.emplaceBack(0,0,0,0),n.emplaceBack(o,0,o,0),n.emplaceBack(0,o,0,o),n.emplaceBack(o,o,o,o),this.rasterBoundsBuffer=t.createVertexBuffer(n,p.members),this.rasterBoundsVAO=new u;var i=new f;i.emplaceBack(0,0),i.emplaceBack(1,0),i.emplaceBack(0,1),i.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(i,d.members),this.viewportVAO=new u},T.prototype.clearStencil=function(){var t=this.context,e=t.gl;t.setColorMode(w.disabled),t.setDepthMode(b.disabled),t.setStencilMode(new _({func:e.ALWAYS,mask:0},0,255,e.ZERO,e.ZERO,e.ZERO));var r=i.create();i.ortho(r,0,this.width,this.height,0,0,1),i.scale(r,r,[e.drawingBufferWidth,e.drawingBufferHeight,0]);var n=this.useProgram(\"clippingMask\");e.uniformMatrix4fv(n.uniforms.u_matrix,!1,r),this.viewportVAO.bind(t,n,this.viewportBuffer,[]),e.drawArrays(e.TRIANGLE_STRIP,0,4)},T.prototype._renderTileClippingMasks=function(t){var e=this,r=this.context,n=r.gl;r.setColorMode(w.disabled),r.setDepthMode(b.disabled);var i=1;this._tileClippingMaskIDs={};for(var a=0,o=t;a<o.length;a+=1){var s=o[a],l=e._tileClippingMaskIDs[s.key]=i++;r.setStencilMode(new _({func:n.ALWAYS,mask:0},l,255,n.KEEP,n.KEEP,n.REPLACE));var u=e.useProgram(\"clippingMask\");n.uniformMatrix4fv(u.uniforms.u_matrix,!1,s.posMatrix),e.tileExtentVAO.bind(e.context,u,e.tileExtentBuffer,[]),n.drawArrays(n.TRIANGLE_STRIP,0,e.tileExtentBuffer.length)}},T.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new _({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},T.prototype.colorModeForRenderPass=function(){var t=this.context.gl;return this._showOverdrawInspector?new w([t.CONSTANT_COLOR,t.ONE],new A(1/8,1/8,1/8,0),[!0,!0,!0,!0]):\"opaque\"===this.renderPass?w.unblended:w.alphaBlended},T.prototype.depthModeForSublayer=function(t,e,r){var n=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon,i=n-1+this.depthRange;return new b(r||this.context.gl.LEQUAL,e,[i,n])},T.prototype.render=function(t,e){var r=this;for(var i in this.style=t,this.options=e,this.lineAtlas=t.lineAtlas,this.imageManager=t.imageManager,this.glyphManager=t.glyphManager,this.symbolFadeChange=t.placement.symbolFadeChange(n.now()),t.sourceCaches){var a=r.style.sourceCaches[i];a.used&&a.prepare(r.context)}var o=this.style._order,s=l.filterObject(this.style.sourceCaches,function(t){return\"raster\"===t.getSource().type||\"raster-dem\"===t.getSource().type});for(var u in s)!function(t){var e=s[u],n=e.getVisibleCoordinates().map(function(t){return e.getTile(t)});M(n,r.context)}();this.renderPass=\"offscreen\";var c,h=[];this.depthRboNeedsClear=!0;for(var f=0;f<o.length;f++){var p=r.style._layers[o[f]];p.hasOffscreenPass()&&!p.isHidden(r.transform.zoom)&&(p.source!==(c&&c.id)&&(h=[],(c=r.style.sourceCaches[p.source])&&(h=c.getVisibleCoordinates()).reverse()),h.length&&r.renderLayer(r,c,p,h))}this.context.bindFramebuffer.set(null),this.context.clear({color:e.showOverdrawInspector?A.black:A.transparent,depth:1}),this._showOverdrawInspector=e.showOverdrawInspector,this.depthRange=(t._order.length+2)*this.numSublayers*this.depthEpsilon,this.renderPass=\"opaque\";var d,g=[];for(this.currentLayer=o.length-1,this.currentLayer;this.currentLayer>=0;this.currentLayer--){var v=r.style._layers[o[r.currentLayer]];v.source!==(d&&d.id)&&(g=[],(d=r.style.sourceCaches[v.source])&&(r.clearStencil(),g=d.getVisibleCoordinates(),d.getSource().isTileClipped&&r._renderTileClippingMasks(g))),r.renderLayer(r,d,v,g)}this.renderPass=\"translucent\";var m,y=[];for(this.currentLayer=0,this.currentLayer;this.currentLayer<o.length;this.currentLayer++){var x=r.style._layers[o[r.currentLayer]];x.source!==(m&&m.id)&&(y=[],(m=r.style.sourceCaches[x.source])&&(r.clearStencil(),y=m.getVisibleCoordinates(),m.getSource().isTileClipped&&r._renderTileClippingMasks(y)),y.reverse()),r.renderLayer(r,m,x,y)}if(this.options.showTileBoundaries){var b=this.style.sourceCaches[Object.keys(this.style.sourceCaches)[0]];b&&k.debug(this,b,b.getVisibleCoordinates())}},T.prototype.setupOffscreenDepthRenderbuffer=function(){var t=this.context;this.depthRbo||(this.depthRbo=t.createRenderbuffer(t.gl.DEPTH_COMPONENT16,this.width,this.height))},T.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||(\"background\"===r.type||n.length)&&(this.id=r.id,k[r.type](t,e,r,n))},T.prototype.translatePosMatrix=function(t,e,r,n,a){if(!r[0]&&!r[1])return t;var o=a?\"map\"===n?this.transform.angle:0:\"viewport\"===n?-this.transform.angle:0;if(o){var l=Math.sin(o),u=Math.cos(o);r=[r[0]*u-r[1]*l,r[0]*l+r[1]*u]}var c=[a?r[0]:s(e,r[0],this.transform.zoom),a?r[1]:s(e,r[1],this.transform.zoom),0],h=new Float32Array(16);return i.translate(h,t,c),h},T.prototype.saveTileTexture=function(t){var e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t]},T.prototype.getTileTexture=function(t){var e=this._tileTextures[t];return e&&e.length>0?e.pop():null},T.prototype._createProgramCached=function(t,e){this.cache=this.cache||{};var r=\"\"+t+(e.cacheKey||\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[r]||(this.cache[r]=new y(this.context,m[t],e,this._showOverdrawInspector)),this.cache[r]},T.prototype.useProgram=function(t,e){var r=this._createProgramCached(t,e||this.emptyProgramConfiguration);return this.context.program.set(r.program),r},e.exports=T},{\"../data/array_types\":39,\"../data/extent\":53,\"../data/pos_attributes\":57,\"../data/program_configuration\":58,\"../data/raster_bounds_attributes\":59,\"../gl/color_mode\":65,\"../gl/context\":66,\"../gl/depth_mode\":67,\"../gl/stencil_mode\":70,\"../shaders\":97,\"../source/pixels_to_tile_units\":104,\"../source/source_cache\":111,\"../style-spec/util/color\":153,\"../symbol/cross_tile_symbol_index\":218,\"../util/browser\":252,\"../util/util\":275,\"./draw_background\":74,\"./draw_circle\":75,\"./draw_debug\":77,\"./draw_fill\":78,\"./draw_fill_extrusion\":79,\"./draw_heatmap\":80,\"./draw_hillshade\":81,\"./draw_line\":82,\"./draw_raster\":83,\"./draw_symbol\":84,\"./program\":92,\"./texture\":93,\"./tile_mask\":94,\"./vertex_array_object\":95,\"@mapbox/gl-matrix\":2}],91:[function(t,e,r){var n=t(\"../source/pixels_to_tile_units\");r.isPatternMissing=function(t,e){if(!t)return!1;var r=e.imageManager.getPattern(t.from),n=e.imageManager.getPattern(t.to);return!r||!n},r.prepare=function(t,e,r){var n=e.context,i=n.gl,a=e.imageManager.getPattern(t.from),o=e.imageManager.getPattern(t.to);i.uniform1i(r.uniforms.u_image,0),i.uniform2fv(r.uniforms.u_pattern_tl_a,a.tl),i.uniform2fv(r.uniforms.u_pattern_br_a,a.br),i.uniform2fv(r.uniforms.u_pattern_tl_b,o.tl),i.uniform2fv(r.uniforms.u_pattern_br_b,o.br);var s=e.imageManager.getPixelSize(),l=s.width,u=s.height;i.uniform2fv(r.uniforms.u_texsize,[l,u]),i.uniform1f(r.uniforms.u_mix,t.t),i.uniform2fv(r.uniforms.u_pattern_size_a,a.displaySize),i.uniform2fv(r.uniforms.u_pattern_size_b,o.displaySize),i.uniform1f(r.uniforms.u_scale_a,t.fromScale),i.uniform1f(r.uniforms.u_scale_b,t.toScale),n.activeTexture.set(i.TEXTURE0),e.imageManager.bind(e.context)},r.setTile=function(t,e,r){var i=e.context.gl;i.uniform1f(r.uniforms.u_tile_units_to_pixels,1/n(t,1,e.transform.tileZoom));var a=Math.pow(2,t.tileID.overscaledZ),o=t.tileSize*Math.pow(2,e.transform.tileZoom)/a,s=o*(t.tileID.canonical.x+t.tileID.wrap*a),l=o*t.tileID.canonical.y;i.uniform2f(r.uniforms.u_pixel_coord_upper,s>>16,l>>16),i.uniform2f(r.uniforms.u_pixel_coord_lower,65535&s,65535&l)}},{\"../source/pixels_to_tile_units\":104}],92:[function(t,e,r){var n=t(\"../util/browser\"),i=t(\"../shaders\"),a=(t(\"../data/program_configuration\").ProgramConfiguration,t(\"./vertex_array_object\")),o=(t(\"../gl/context\"),function(t,e,r,a){var o=this,s=t.gl;this.program=s.createProgram();var l=r.defines().concat(\"#define DEVICE_PIXEL_RATIO \"+n.devicePixelRatio.toFixed(1));a&&l.push(\"#define OVERDRAW_INSPECTOR;\");var u=l.concat(i.prelude.fragmentSource,e.fragmentSource).join(\"\\n\"),c=l.concat(i.prelude.vertexSource,e.vertexSource).join(\"\\n\"),h=s.createShader(s.FRAGMENT_SHADER);s.shaderSource(h,u),s.compileShader(h),s.attachShader(this.program,h);var f=s.createShader(s.VERTEX_SHADER);s.shaderSource(f,c),s.compileShader(f),s.attachShader(this.program,f);for(var p=r.layoutAttributes||[],d=0;d<p.length;d++)s.bindAttribLocation(o.program,d,p[d].name);s.linkProgram(this.program),this.numAttributes=s.getProgramParameter(this.program,s.ACTIVE_ATTRIBUTES),this.attributes={},this.uniforms={};for(var g=0;g<this.numAttributes;g++){var v=s.getActiveAttrib(o.program,g);v&&(o.attributes[v.name]=s.getAttribLocation(o.program,v.name))}for(var m=s.getProgramParameter(this.program,s.ACTIVE_UNIFORMS),y=0;y<m;y++){var x=s.getActiveUniform(o.program,y);x&&(o.uniforms[x.name]=s.getUniformLocation(o.program,x.name))}});o.prototype.draw=function(t,e,r,n,i,o,s,l,u){for(var c,h=t.gl,f=(c={},c[h.LINES]=2,c[h.TRIANGLES]=3,c)[e],p=0,d=o.get();p<d.length;p+=1){var g=d[p],v=g.vaos||(g.vaos={});(v[r]||(v[r]=new a)).bind(t,this,n,s?s.getPaintVertexBuffers():[],i,g.vertexOffset,l,u),h.drawElements(e,g.primitiveLength*f,h.UNSIGNED_SHORT,g.primitiveOffset*f*2)}},e.exports=o},{\"../data/program_configuration\":58,\"../gl/context\":66,\"../shaders\":97,\"../util/browser\":252,\"./vertex_array_object\":95}],93:[function(t,e,r){var n=t(\"../util/window\"),i=n.HTMLImageElement,a=n.HTMLCanvasElement,o=n.HTMLVideoElement,s=n.ImageData,l=function(t,e,r,n){this.context=t;var i=e.width,a=e.height;this.size=[i,a],this.format=r,this.texture=t.gl.createTexture(),this.update(e,n)};l.prototype.update=function(t,e){var r=t.width,n=t.height;this.size=[r,n];var l=this.context,u=l.gl;u.bindTexture(u.TEXTURE_2D,this.texture),l.pixelStoreUnpack.set(1),this.format===u.RGBA&&!1!==e&&l.pixelStoreUnpackPremultiplyAlpha.set(!0),t instanceof i||t instanceof a||t instanceof o||t instanceof s?u.texImage2D(u.TEXTURE_2D,0,this.format,this.format,u.UNSIGNED_BYTE,t):u.texImage2D(u.TEXTURE_2D,0,this.format,r,n,0,this.format,u.UNSIGNED_BYTE,t.data)},l.prototype.bind=function(t,e,r){var n=this.context.gl;n.bindTexture(n.TEXTURE_2D,this.texture),t!==this.filter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,r||t),this.filter=t),e!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,e),this.wrap=e)},l.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null},e.exports=l},{\"../util/window\":254}],94:[function(t,e,r){function n(t,e,r,i,a){for(var s=0;s<r.length;s++){var l=r[s];if(i.isLessThan(l.tileID))break;if(e.key===l.tileID.key)return;if(l.tileID.isChildOf(e)){for(var u=e.children(1/0),c=0;c<u.length;c++)n(t,u[c],r.slice(s),i,a);return}}var h=e.overscaledZ-t.overscaledZ,f=new o(h,e.canonical.x-(t.canonical.x<<h),e.canonical.y-(t.canonical.y<<h));a[f.key]=a[f.key]||f}var i=t(\"../source/tile_id\"),a=i.OverscaledTileID,o=i.CanonicalTileID;e.exports=function(t,e){for(var r=t.sort(function(t,e){return t.tileID.isLessThan(e.tileID)?-1:e.tileID.isLessThan(t.tileID)?1:0}),i=0;i<r.length;i++){var o={},s=r[i],l=r.slice(i+1);n(s.tileID.wrapped(),s.tileID,l,new a(0,s.tileID.wrap+1,0,0,0),o),s.setMask(o,e)}}},{\"../source/tile_id\":114}],95:[function(t,e,r){var n=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};n.prototype.bind=function(t,e,r,n,i,a,o,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==n.length,u=0;!l&&u<n.length;u++)this.boundPaintVertexBuffers[u]!==n[u]&&(l=!0);var c=!this.vao||this.boundProgram!==e||this.boundLayoutVertexBuffer!==r||l||this.boundIndexBuffer!==i||this.boundVertexOffset!==a||this.boundDynamicVertexBuffer!==o||this.boundDynamicVertexBuffer2!==s;!t.extVertexArrayObject||c?this.freshBind(e,r,n,i,a,o,s):(t.bindVertexArrayOES.set(this.vao),o&&o.bind(),i&&i.dynamicDraw&&i.bind(),s&&s.bind())},n.prototype.freshBind=function(t,e,r,n,i,a,o){var s,l=t.numAttributes,u=this.context,c=u.gl;if(u.extVertexArrayObject)this.vao&&this.destroy(),this.vao=u.extVertexArrayObject.createVertexArrayOES(),u.bindVertexArrayOES.set(this.vao),s=0,this.boundProgram=t,this.boundLayoutVertexBuffer=e,this.boundPaintVertexBuffers=r,this.boundIndexBuffer=n,this.boundVertexOffset=i,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=o;else{s=u.currentNumAttributes||0;for(var h=l;h<s;h++)c.disableVertexAttribArray(h)}e.enableAttributes(c,t);for(var f=0,p=r;f<p.length;f+=1)p[f].enableAttributes(c,t);a&&a.enableAttributes(c,t),o&&o.enableAttributes(c,t),e.bind(),e.setVertexAttribPointers(c,t,i);for(var d=0,g=r;d<g.length;d+=1){var v=g[d];v.bind(),v.setVertexAttribPointers(c,t,i)}a&&(a.bind(),a.setVertexAttribPointers(c,t,i)),n&&n.bind(),o&&(o.bind(),o.setVertexAttribPointers(c,t,i)),u.currentNumAttributes=l},n.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)},e.exports=n},{}],96:[function(t,e,r){var n=t(\"../util/util\");r.packUint8ToFloat=function(t,e){return 256*(t=n.clamp(Math.floor(t),0,255))+(e=n.clamp(Math.floor(e),0,255))}},{\"../util/util\":275}],97:[function(t,e,r){var n={prelude:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\\n// Unpack a pair of values that have been packed into a single float.\\n// The packed values are assumed to be 8-bit unsigned integers, and are\\n// packed like so:\\n// packedValue = floor(input[0]) * 256 + input[1],\\nvec2 unpack_float(const float packedValue) {\\n    int packedIntValue = int(packedValue);\\n    int v0 = packedIntValue / 256;\\n    return vec2(v0, packedIntValue - v0 * 256);\\n}\\n\\nvec2 unpack_opacity(const float packedOpacity) {\\n    int intOpacity = int(packedOpacity) / 2;\\n    return vec2(float(intOpacity) / 127.0, mod(packedOpacity, 2.0));\\n}\\n\\n// To minimize the number of attributes needed, we encode a 4-component\\n// color into a pair of floats (i.e. a vec2) as follows:\\n// [ floor(color.r * 255) * 256 + color.g * 255,\\n//   floor(color.b * 255) * 256 + color.g * 255 ]\\nvec4 decode_color(const vec2 encodedColor) {\\n    return vec4(\\n        unpack_float(encodedColor[0]) / 255.0,\\n        unpack_float(encodedColor[1]) / 255.0\\n    );\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\\n    return mix(packedValue[0], packedValue[1], t);\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\\n    vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\\n    vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\\n    return mix(minColor, maxColor, t);\\n}\\n\\n// The offset depends on how many pixels are between the world origin and 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 and the edge of the tile.\\n// The glsl spec only guarantees 16 bits of 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:\\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\\n    const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\\n\\n    vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\\n    return (tile_units_to_pixels * pos + offset) / pattern_size;\\n}\\n\"},background:{fragmentSource:\"uniform vec4 u_color;\\nuniform float u_opacity;\\n\\nvoid main() {\\n    gl_FragColor = u_color * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},backgroundPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform vec2 u_texsize;\\nuniform float u_mix;\\nuniform float u_opacity;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\nvoid main() {\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, 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_texsize, u_pattern_br_b / u_texsize, 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:\"uniform 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\\n    v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\\n    v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\\n}\\n\"},circle:{fragmentSource:\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec3 v_data;\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize mediump float radius\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize highp vec4 stroke_color\\n    #pragma mapbox: initialize mediump float stroke_width\\n    #pragma mapbox: initialize lowp float stroke_opacity\\n\\n    vec2 extrude = v_data.xy;\\n    float extrude_length = length(extrude);\\n\\n    lowp float antialiasblur = v_data.z;\\n    float antialiased_blur = -max(blur, antialiasblur);\\n\\n    float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\\n\\n    float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\\n        antialiased_blur,\\n        0.0,\\n        extrude_length - radius / (radius + stroke_width)\\n    );\\n\\n    gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform bool u_scale_with_map;\\nuniform bool u_pitch_with_map;\\nuniform vec2 u_extrude_scale;\\nuniform highp float u_camera_to_center_distance;\\n\\nattribute vec2 a_pos;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec3 v_data;\\n\\nvoid main(void) {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize mediump float radius\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize highp vec4 stroke_color\\n    #pragma mapbox: initialize mediump float stroke_width\\n    #pragma mapbox: initialize lowp float stroke_opacity\\n\\n    // unencode the extrusion vector that we snuck into the a_pos vector\\n    vec2 extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\n\\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\n    // in extrusion data\\n    vec2 circle_center = floor(a_pos * 0.5);\\n    if (u_pitch_with_map) {\\n        vec2 corner_position = circle_center;\\n        if (u_scale_with_map) {\\n            corner_position += extrude * (radius + stroke_width) * u_extrude_scale;\\n        } else {\\n            // Pitching the circle with the map effectively scales it with the map\\n            // To counteract the effect for pitch-scale: viewport, we rescale the\\n            // whole circle based on the pitch scaling effect at its central point\\n            vec4 projected_center = u_matrix * vec4(circle_center, 0, 1);\\n            corner_position += extrude * (radius + stroke_width) * u_extrude_scale * (projected_center.w / u_camera_to_center_distance);\\n        }\\n\\n        gl_Position = u_matrix * vec4(corner_position, 0, 1);\\n    } else {\\n        gl_Position = u_matrix * vec4(circle_center, 0, 1);\\n\\n        if (u_scale_with_map) {\\n            gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * u_camera_to_center_distance;\\n        } else {\\n            gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * gl_Position.w;\\n        }\\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    lowp float antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\\n\\n    v_data = vec3(extrude.x, extrude.y, antialiasblur);\\n}\\n\"},clippingMask:{fragmentSource:\"void main() {\\n    gl_FragColor = vec4(1.0);\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},heatmap:{fragmentSource:\"#pragma mapbox: define highp float weight\\n\\nuniform highp float u_intensity;\\nvarying vec2 v_extrude;\\n\\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\\n#define GAUSS_COEF 0.3989422804014327\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp float weight\\n\\n    // Kernel density estimation with a Gaussian kernel of size 5x5\\n    float d = -0.5 * 3.0 * 3.0 * dot(v_extrude, v_extrude);\\n    float val = weight * u_intensity * GAUSS_COEF * exp(d);\\n\\n    gl_FragColor = vec4(val, 1.0, 1.0, 1.0);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#pragma mapbox: define highp float weight\\n#pragma mapbox: define mediump float radius\\n\\nuniform mat4 u_matrix;\\nuniform float u_extrude_scale;\\nuniform float u_opacity;\\nuniform float u_intensity;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_extrude;\\n\\n// Effective \\\"0\\\" in the kernel density texture to adjust the kernel size to;\\n// this empirically chosen number minimizes artifacts on overlapping kernels\\n// for typical heatmap cases (assuming clustered source)\\nconst highp float ZERO = 1.0 / 255.0 / 16.0;\\n\\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\\n#define GAUSS_COEF 0.3989422804014327\\n\\nvoid main(void) {\\n    #pragma mapbox: initialize highp float weight\\n    #pragma mapbox: initialize mediump float radius\\n\\n    // unencode the extrusion vector that we snuck into the a_pos vector\\n    vec2 unscaled_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\n\\n    // This 'extrude' comes in ranging from [-1, -1], to [1, 1].  We'll use\\n    // it to produce the vertices of a square mesh framing the point feature\\n    // we're adding to the kernel density texture.  We'll also pass it as\\n    // a varying, so that the fragment shader can determine the distance of\\n    // each fragment from the point feature.\\n    // Before we do so, we need to scale it up sufficiently so that the\\n    // kernel falls effectively to zero at the edge of the mesh.\\n    // That is, we want to know S such that\\n    // weight * u_intensity * GAUSS_COEF * exp(-0.5 * 3.0^2 * S^2) == ZERO\\n    // Which solves to:\\n    // S = sqrt(-2.0 * log(ZERO / (weight * u_intensity * GAUSS_COEF))) / 3.0\\n    float S = sqrt(-2.0 * log(ZERO / weight / u_intensity / GAUSS_COEF)) / 3.0;\\n\\n    // Pass the varying in units of radius\\n    v_extrude = S * unscaled_extrude;\\n\\n    // Scale by radius and the zoom-based scale factor to produce actual\\n    // mesh position\\n    vec2 extrude = v_extrude * radius * u_extrude_scale;\\n\\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\n    // in extrusion data\\n    vec4 pos = vec4(floor(a_pos * 0.5) + extrude, 0, 1);\\n\\n    gl_Position = u_matrix * pos;\\n}\\n\"},heatmapTexture:{fragmentSource:\"uniform sampler2D u_image;\\nuniform sampler2D u_color_ramp;\\nuniform float u_opacity;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    float t = texture2D(u_image, v_pos).r;\\n    vec4 color = texture2D(u_color_ramp, vec2(t, 0.5));\\n    gl_FragColor = color * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(0.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_world;\\nattribute vec2 a_pos;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\\n\\n    v_pos.x = a_pos.x;\\n    v_pos.y = 1.0 - a_pos.y;\\n}\\n\"},collisionBox:{fragmentSource:\"\\nvarying float v_placed;\\nvarying float v_notUsed;\\n\\nvoid main() {\\n\\n    float alpha = 0.5;\\n\\n    // Red = collision, hide label\\n    gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\n\\n    // Blue = no collision, label is showing\\n    if (v_placed > 0.5) {\\n        gl_FragColor = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\\n    }\\n\\n    if (v_notUsed > 0.5) {\\n        // This box not used, fade it out\\n        gl_FragColor *= .1;\\n    }\\n}\",vertexSource:\"attribute vec2 a_pos;\\nattribute vec2 a_anchor_pos;\\nattribute vec2 a_extrude;\\nattribute vec2 a_placed;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_extrude_scale;\\nuniform float u_camera_to_center_distance;\\n\\nvarying float v_placed;\\nvarying float v_notUsed;\\n\\nvoid main() {\\n    vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\n    highp float collision_perspective_ratio = 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance);\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\\n    gl_Position.xy += a_extrude * u_extrude_scale * gl_Position.w * collision_perspective_ratio;\\n\\n    v_placed = a_placed.x;\\n    v_notUsed = a_placed.y;\\n}\\n\"},collisionCircle:{fragmentSource:\"\\nvarying float v_placed;\\nvarying float v_notUsed;\\nvarying float v_radius;\\nvarying vec2 v_extrude;\\nvarying vec2 v_extrude_scale;\\n\\nvoid main() {\\n    float alpha = 0.5;\\n\\n    // Red = collision, hide label\\n    vec4 color = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\n\\n    // Blue = no collision, label is showing\\n    if (v_placed > 0.5) {\\n        color = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\\n    }\\n\\n    if (v_notUsed > 0.5) {\\n        // This box not used, fade it out\\n        color *= .2;\\n    }\\n\\n    float extrude_scale_length = length(v_extrude_scale);\\n    float extrude_length = length(v_extrude) * extrude_scale_length;\\n    float stroke_width = 15.0 * extrude_scale_length;\\n    float radius = v_radius * extrude_scale_length;\\n\\n    float distance_to_edge = abs(extrude_length - radius);\\n    float opacity_t = smoothstep(-stroke_width, 0.0, -distance_to_edge);\\n\\n    gl_FragColor = opacity_t * color;\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\nattribute vec2 a_anchor_pos;\\nattribute vec2 a_extrude;\\nattribute vec2 a_placed;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_extrude_scale;\\nuniform float u_camera_to_center_distance;\\n\\nvarying float v_placed;\\nvarying float v_notUsed;\\nvarying float v_radius;\\n\\nvarying vec2 v_extrude;\\nvarying vec2 v_extrude_scale;\\n\\nvoid main() {\\n    vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\n    highp float collision_perspective_ratio = 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance);\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\\n\\n    highp float padding_factor = 1.2; // Pad the vertices slightly to make room for anti-alias blur\\n    gl_Position.xy += a_extrude * u_extrude_scale * padding_factor * gl_Position.w * collision_perspective_ratio;\\n\\n    v_placed = a_placed.x;\\n    v_notUsed = a_placed.y;\\n    v_radius = abs(a_extrude.y); // We don't pitch the circles, so both units of the extrusion vector are equal in magnitude to the radius\\n\\n    v_extrude = a_extrude * padding_factor;\\n    v_extrude_scale = u_extrude_scale * u_camera_to_center_distance * collision_perspective_ratio;\\n}\\n\"},debug:{fragmentSource:\"uniform highp vec4 u_color;\\n\\nvoid main() {\\n    gl_FragColor = u_color;\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},fill:{fragmentSource:\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp 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:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},fillOutline:{fragmentSource:\"#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 outline_color\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    float dist = length(v_pos - gl_FragCoord.xy);\\n    float alpha = 1.0 - smoothstep(0.0, 1.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:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_world;\\n\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp 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\"},fillOutlinePattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform vec2 u_texsize;\\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\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, 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_texsize, u_pattern_br_b / u_texsize, 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 = 1.0 - smoothstep(0.0, 1.0, dist);\\n\\n\\n    gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_world;\\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;\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n    v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\\n    v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\\n\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},fillPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform vec2 u_texsize;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, 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_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\n    vec4 color2 = texture2D(u_image, pos2);\\n\\n    gl_FragColor = mix(color1, color2, u_mix) * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform 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\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n    v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\\n    v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\\n}\\n\"},fillExtrusion:{fragmentSource:\"varying vec4 v_color;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define highp vec4 color\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float base\\n    #pragma mapbox: initialize lowp float height\\n    #pragma mapbox: initialize highp vec4 color\\n\\n    gl_FragColor = v_color;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_normal_ed;\\n\\nvarying vec4 v_color;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\n#pragma mapbox: define highp vec4 color\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float base\\n    #pragma mapbox: initialize lowp float height\\n    #pragma mapbox: initialize highp vec4 color\\n\\n    vec3 normal = a_normal_ed.xyz;\\n\\n    base = max(0.0, base);\\n    height = max(0.0, height);\\n\\n    float t = mod(normal.x, 2.0);\\n\\n    gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\\n\\n    // Relative luminance (how dark/bright is the surface color?)\\n    float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\\n\\n    v_color = vec4(0.0, 0.0, 0.0, 1.0);\\n\\n    // Add slight ambient lighting so no extrusions are totally black\\n    vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\\n    color += ambientlight;\\n\\n    // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\\n    float directional = clamp(dot(normal / 16384.0, u_lightpos), 0.0, 1.0);\\n\\n    // Adjust directional so that\\n    // the range of values for highlight/shading is narrower\\n    // with lower light intensity\\n    // and with lighter/brighter surface colors\\n    directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\\n\\n    // Add gradient along z axis of side surfaces\\n    if (normal.y != 0.0) {\\n        directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n    }\\n\\n    // Assign final color based on surface + ambient light color, diffuse light directional, and light color\\n    // with lower bounds adjusted to hue of light\\n    // so that shading is tinted with the complementary (opposite) color to the light color\\n    v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\\n    v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\\n    v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\\n}\\n\"},fillExtrusionPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform vec2 u_texsize;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float base\\n    #pragma mapbox: initialize lowp float height\\n\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, 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_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\n    vec4 color2 = texture2D(u_image, pos2);\\n\\n    vec4 mixedColor = mix(color1, color2, u_mix);\\n\\n    gl_FragColor = mixedColor * v_lighting;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform 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;\\nuniform float u_height_factor;\\n\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_normal_ed;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\nvarying float v_directional;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float base\\n    #pragma mapbox: initialize lowp float height\\n\\n    vec3 normal = a_normal_ed.xyz;\\n    float edgedistance = a_normal_ed.w;\\n\\n    base = max(0.0, base);\\n    height = max(0.0, height);\\n\\n    float t = mod(normal.x, 2.0);\\n    float z = t > 0.0 ? height : base;\\n\\n    gl_Position = u_matrix * vec4(a_pos, z, 1);\\n\\n    vec2 pos = normal.x == 1.0 && normal.y == 0.0 && normal.z == 16384.0\\n        ? a_pos // extrusion top\\n        : vec2(edgedistance, z * u_height_factor); // extrusion side\\n\\n    v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, pos);\\n    v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, pos);\\n\\n    v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\\n    float directional = clamp(dot(normal / 16383.0, u_lightpos), 0.0, 1.0);\\n    directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\\n\\n    if (normal.y != 0.0) {\\n        directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n    }\\n\\n    v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\\n}\\n\"},extrusionTexture:{fragmentSource:\"uniform sampler2D u_image;\\nuniform float u_opacity;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_FragColor = texture2D(u_image, v_pos) * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(0.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_world;\\nattribute vec2 a_pos;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\\n\\n    v_pos.x = a_pos.x;\\n    v_pos.y = 1.0 - a_pos.y;\\n}\\n\"},hillshadePrepare:{fragmentSource:\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\n\\nuniform sampler2D u_image;\\nvarying vec2 v_pos;\\nuniform vec2 u_dimension;\\nuniform float u_zoom;\\n\\nfloat getElevation(vec2 coord, float bias) {\\n    // Convert encoded elevation value to meters\\n    vec4 data = texture2D(u_image, coord) * 255.0;\\n    return (data.r + data.g * 256.0 + data.b * 256.0 * 256.0) / 4.0;\\n}\\n\\nvoid main() {\\n    vec2 epsilon = 1.0 / u_dimension;\\n\\n    // queried pixels:\\n    // +-----------+\\n    // |   |   |   |\\n    // | a | b | c |\\n    // |   |   |   |\\n    // +-----------+\\n    // |   |   |   |\\n    // | d | e | f |\\n    // |   |   |   |\\n    // +-----------+\\n    // |   |   |   |\\n    // | g | h | i |\\n    // |   |   |   |\\n    // +-----------+\\n\\n    float a = getElevation(v_pos + vec2(-epsilon.x, -epsilon.y), 0.0);\\n    float b = getElevation(v_pos + vec2(0, -epsilon.y), 0.0);\\n    float c = getElevation(v_pos + vec2(epsilon.x, -epsilon.y), 0.0);\\n    float d = getElevation(v_pos + vec2(-epsilon.x, 0), 0.0);\\n    float e = getElevation(v_pos, 0.0);\\n    float f = getElevation(v_pos + vec2(epsilon.x, 0), 0.0);\\n    float g = getElevation(v_pos + vec2(-epsilon.x, epsilon.y), 0.0);\\n    float h = getElevation(v_pos + vec2(0, epsilon.y), 0.0);\\n    float i = getElevation(v_pos + vec2(epsilon.x, epsilon.y), 0.0);\\n\\n    // here we divide the x and y slopes by 8 * pixel size\\n    // where pixel size (aka meters/pixel) is:\\n    // circumference of the world / (pixels per tile * number of tiles)\\n    // which is equivalent to: 8 * 40075016.6855785 / (512 * pow(2, u_zoom))\\n    // which can be reduced to: pow(2, 19.25619978527 - u_zoom)\\n    // we want to vertically exaggerate the hillshading though, because otherwise\\n    // it is barely noticeable at low zooms. to do this, we multiply this by some\\n    // scale factor pow(2, (u_zoom - 14) * a) where a is an arbitrary value and 14 is the\\n    // maxzoom of the tile source. here we use a=0.3 which works out to the\\n    // expression below. see nickidlugash's awesome breakdown for more info\\n    // https://github.com/mapbox/mapbox-gl-js/pull/5286#discussion_r148419556\\n    float exaggeration = u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;\\n\\n    vec2 deriv = vec2(\\n        (c + f + f + i) - (a + d + d + g),\\n        (g + h + h + i) - (a + b + b + c)\\n    ) /  pow(2.0, (u_zoom - 14.0) * exaggeration + 19.2562 - u_zoom);\\n\\n    gl_FragColor = clamp(vec4(\\n        deriv.x / 2.0 + 0.5,\\n        deriv.y / 2.0 + 0.5,\\n        1.0,\\n        1.0), 0.0, 1.0);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_texture_pos;\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n    v_pos = (a_texture_pos / 8192.0) / 2.0 + 0.25;\\n}\\n\"},hillshade:{fragmentSource:\"uniform sampler2D u_image;\\nvarying vec2 v_pos;\\n\\nuniform vec2 u_latrange;\\nuniform vec2 u_light;\\nuniform vec4 u_shadow;\\nuniform vec4 u_highlight;\\nuniform vec4 u_accent;\\n\\n#define PI 3.141592653589793\\n\\nvoid main() {\\n    vec4 pixel = texture2D(u_image, v_pos);\\n\\n    vec2 deriv = ((pixel.rg * 2.0) - 1.0);\\n\\n    // We divide the slope by a scale factor based on the cosin of the pixel's approximate latitude\\n    // to account for mercator projection distortion. see #4807 for details\\n    float scaleFactor = cos(radians((u_latrange[0] - u_latrange[1]) * (1.0 - v_pos.y) + u_latrange[1]));\\n    // We also multiply the slope by an arbitrary z-factor of 1.25\\n    float slope = atan(1.25 * length(deriv) / scaleFactor);\\n    float aspect = deriv.x != 0.0 ? atan(deriv.y, -deriv.x) : PI / 2.0 * (deriv.y > 0.0 ? 1.0 : -1.0);\\n\\n    float intensity = u_light.x;\\n    // We add PI to make this property match the global light object, which adds PI/2 to the light's azimuthal\\n    // position property to account for 0deg corresponding to north/the top of the viewport in the style spec\\n    // and the original shader was written to accept (-illuminationDirection - 90) as the azimuthal.\\n    float azimuth = u_light.y + PI;\\n\\n    // We scale the slope exponentially based on intensity, using a calculation similar to\\n    // the exponential interpolation function in the style spec:\\n    // https://github.com/mapbox/mapbox-gl-js/blob/master/src/style-spec/expression/definitions/interpolate.js#L217-L228\\n    // so that higher intensity values create more opaque hillshading.\\n    float base = 1.875 - intensity * 1.75;\\n    float maxValue = 0.5 * PI;\\n    float scaledSlope = intensity != 0.5 ? ((pow(base, slope) - 1.0) / (pow(base, maxValue) - 1.0)) * maxValue : slope;\\n\\n    // The accent color is calculated with the cosine of the slope while the shade color is calculated with the sine\\n    // so that the accent color's rate of change eases in while the shade color's eases out.\\n    float accent = cos(scaledSlope);\\n    // We multiply both the accent and shade color by a clamped intensity value\\n    // so that intensities >= 0.5 do not additionally affect the color values\\n    // while intensity values < 0.5 make the overall color more transparent.\\n    vec4 accent_color = (1.0 - accent) * u_accent * clamp(intensity * 2.0, 0.0, 1.0);\\n    float shade = abs(mod((aspect + azimuth) / PI + 0.5, 2.0) - 1.0);\\n    vec4 shade_color = mix(u_shadow, u_highlight, shade) * sin(scaledSlope) * clamp(intensity * 2.0, 0.0, 1.0);\\n    gl_FragColor = accent_color * (1.0 - shade_color.a) + shade_color;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_texture_pos;\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n    v_pos = a_texture_pos / 8192.0;\\n}\\n\"},line:{fragmentSource:\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_width2;\\nvarying vec2 v_normal;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    // Calculate the distance of the pixel from the line in pixels.\\n    float dist = length(v_normal) * v_width2.s;\\n\\n    // Calculate the antialiasing fade factor. This is either when fading in\\n    // the line in case of an offset line (v_width2.t) or when fading out\\n    // (v_width2.s)\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n    gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\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 vec4 a_pos_normal;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize mediump float gapwidth\\n    #pragma mapbox: initialize lowp float offset\\n    #pragma mapbox: initialize mediump float width\\n\\n    vec2 a_extrude = a_data.xy - 128.0;\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\n\\n    vec2 pos = a_pos_normal.xy;\\n\\n    // x is 1 if it's a round cap, 0 otherwise\\n    // y is 1 if the normal points up, and -1 if it points down\\n    mediump vec2 normal = a_pos_normal.zw;\\n    v_normal = normal;\\n\\n    // these transformations used to be applied in the JS and native code bases.\\n    // moved them into the shader for clarity and simplicity.\\n    gapwidth = gapwidth / 2.0;\\n    float halfwidth = width / 2.0;\\n    offset = -1.0 * offset;\\n\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + 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 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n    // calculate how much the perspective view squishes or stretches the extrude\\n    float extrude_length_without_perspective = length(dist);\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n    v_width2 = vec2(outset, inset);\\n}\\n\"},linePattern:{fragmentSource:\"uniform 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 vec2 u_texsize;\\nuniform float u_fade;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    // Calculate the distance of the pixel from the line in pixels.\\n    float dist = length(v_normal) * v_width2.s;\\n\\n    // Calculate the antialiasing fade factor. This is either when fading in\\n    // the line in case of an offset line (v_width2.t) or when fading out\\n    // (v_width2.s)\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 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_width2.s / u_pattern_size_a.y);\\n    float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\\n    vec2 pos_a = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, vec2(x_a, y_a));\\n    vec2 pos_b = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, vec2(x_b, y_b));\\n\\n    vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\\n\\n    gl_FragColor = color * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// 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\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec4 a_pos_normal;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define mediump float width\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize lowp float offset\\n    #pragma mapbox: initialize mediump float gapwidth\\n    #pragma mapbox: initialize mediump float width\\n\\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    vec2 pos = a_pos_normal.xy;\\n\\n    // x is 1 if it's a round cap, 0 otherwise\\n    // y is 1 if the normal points up, and -1 if it points down\\n    mediump vec2 normal = a_pos_normal.zw;\\n    v_normal = normal;\\n\\n    // these transformations used to be applied in the JS and native code bases.\\n    // moved them into the shader for clarity and simplicity.\\n    gapwidth = gapwidth / 2.0;\\n    float halfwidth = width / 2.0;\\n    offset = -1.0 * offset;\\n\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + 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 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n    // calculate how much the perspective view squishes or stretches the extrude\\n    float extrude_length_without_perspective = length(dist);\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n    v_linesofar = a_linesofar;\\n    v_width2 = vec2(outset, inset);\\n}\\n\"},lineSDF:{fragmentSource:\"\\nuniform sampler2D u_image;\\nuniform float u_sdfgamma;\\nuniform float u_mix;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize mediump float width\\n    #pragma mapbox: initialize lowp float floorwidth\\n\\n    // Calculate the distance of the pixel from the line in pixels.\\n    float dist = length(v_normal) * v_width2.s;\\n\\n    // Calculate the antialiasing fade factor. This is either when fading in\\n    // the line in case of an offset line (v_width2.t) or when fading out\\n    // (v_width2.s)\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 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 / floorwidth, 0.5 + u_sdfgamma / floorwidth, sdfdist);\\n\\n    gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// 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\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec4 a_pos_normal;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform vec2 u_patternscale_a;\\nuniform float u_tex_y_a;\\nuniform vec2 u_patternscale_b;\\nuniform float u_tex_y_b;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize mediump float gapwidth\\n    #pragma mapbox: initialize lowp float offset\\n    #pragma mapbox: initialize mediump float width\\n    #pragma mapbox: initialize lowp float floorwidth\\n\\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    vec2 pos = a_pos_normal.xy;\\n\\n    // x is 1 if it's a round cap, 0 otherwise\\n    // y is 1 if the normal points up, and -1 if it points down\\n    mediump vec2 normal = a_pos_normal.zw;\\n    v_normal = normal;\\n\\n    // these transformations used to be applied in the JS and native code bases.\\n    // moved them into the shader for clarity and simplicity.\\n    gapwidth = gapwidth / 2.0;\\n    float halfwidth = width / 2.0;\\n    offset = -1.0 * offset;\\n\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + 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 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n    // calculate how much the perspective view squishes or stretches the extrude\\n    float extrude_length_without_perspective = length(dist);\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n    v_tex_a = vec2(a_linesofar * u_patternscale_a.x / floorwidth, normal.y * u_patternscale_a.y + u_tex_y_a);\\n    v_tex_b = vec2(a_linesofar * u_patternscale_b.x / floorwidth, normal.y * u_patternscale_b.y + u_tex_y_b);\\n\\n    v_width2 = vec2(outset, inset);\\n}\\n\"},raster:{fragmentSource:\"uniform float u_fade_t;\\nuniform float u_opacity;\\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    if (color0.a > 0.0) {\\n        color0.rgb = color0.rgb / color0.a;\\n    }\\n    if (color1.a > 0.0) {\\n        color1.rgb = color1.rgb / color1.a;\\n    }\\n    vec4 color = mix(color0, color1, u_fade_t);\\n    color.a *= u_opacity;\\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, color.a);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform 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    // We are using Int16 for texture position coordinates to give us enough precision for\\n    // fractional coordinates. We use 8192 to scale the texture coordinates in the buffer\\n    // as an arbitrarily high number to preserve adequate precision when rendering.\\n    // This is also the same value as the EXTENT we are using for our tile buffer pos coordinates,\\n    // so math for modifying either is consistent.\\n    v_pos0 = (((a_texture_pos / 8192.0) - 0.5) / u_buffer_scale ) + 0.5;\\n    v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\\n}\\n\"},symbolIcon:{fragmentSource:\"uniform sampler2D u_texture;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_tex;\\nvarying float v_fade_opacity;\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    lowp float alpha = opacity * v_fade_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:\"const float PI = 3.141592653589793;\\n\\nattribute vec4 a_pos_offset;\\nattribute vec4 a_data;\\nattribute vec3 a_projected_pos;\\nattribute float a_fade_opacity;\\n\\nuniform bool u_is_size_zoom_constant;\\nuniform bool u_is_size_feature_constant;\\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\\nuniform highp float u_size; // used when size is both zoom and feature constant\\nuniform highp float u_camera_to_center_distance;\\nuniform highp float u_pitch;\\nuniform bool u_rotate_symbol;\\nuniform highp float u_aspect_ratio;\\nuniform float u_fade_change;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nuniform mat4 u_matrix;\\nuniform mat4 u_label_plane_matrix;\\nuniform mat4 u_gl_coord_matrix;\\n\\nuniform bool u_is_text;\\nuniform bool u_pitch_with_map;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying float v_fade_opacity;\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    vec2 a_pos = a_pos_offset.xy;\\n    vec2 a_offset = a_pos_offset.zw;\\n\\n    vec2 a_tex = a_data.xy;\\n    vec2 a_size = a_data.zw;\\n\\n    highp float segment_angle = -a_projected_pos[2];\\n\\n    float size;\\n    if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n        size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\\n    } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n        size = a_size[0] / 10.0;\\n    } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\\n        size = u_size;\\n    } else {\\n        size = u_size;\\n    }\\n\\n    vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\n    // See comments in symbol_sdf.vertex\\n    highp float distance_ratio = u_pitch_with_map ?\\n        camera_to_anchor_distance / u_camera_to_center_distance :\\n        u_camera_to_center_distance / camera_to_anchor_distance;\\n    highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\\n\\n    size *= perspective_ratio;\\n\\n    float fontScale = u_is_text ? size / 24.0 : size;\\n\\n    highp float symbol_rotation = 0.0;\\n    if (u_rotate_symbol) {\\n        // See comments in symbol_sdf.vertex\\n        vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\\n\\n        vec2 a = projectedPoint.xy / projectedPoint.w;\\n        vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\\n\\n        symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\\n    }\\n\\n    highp float angle_sin = sin(segment_angle + symbol_rotation);\\n    highp float angle_cos = cos(segment_angle + symbol_rotation);\\n    mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\\n\\n    vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\\n    gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\\n\\n    v_tex = a_tex / u_texsize;\\n    vec2 fade_opacity = unpack_opacity(a_fade_opacity);\\n    float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\\n    v_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\\n}\\n\"},symbolSDF:{fragmentSource:\"#define SDF_PX 8.0\\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\\n\\nuniform bool u_is_halo;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\nuniform sampler2D u_texture;\\nuniform highp float u_gamma_scale;\\nuniform bool u_is_text;\\n\\nvarying vec2 v_data0;\\nvarying vec3 v_data1;\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 fill_color\\n    #pragma mapbox: initialize highp vec4 halo_color\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize lowp float halo_width\\n    #pragma mapbox: initialize lowp float halo_blur\\n\\n    vec2 tex = v_data0.xy;\\n    float gamma_scale = v_data1.x;\\n    float size = v_data1.y;\\n    float fade_opacity = v_data1[2];\\n\\n    float fontScale = u_is_text ? size / 24.0 : size;\\n\\n    lowp vec4 color = fill_color;\\n    highp float gamma = EDGE_GAMMA / (fontScale * u_gamma_scale);\\n    lowp float buff = (256.0 - 64.0) / 256.0;\\n    if (u_is_halo) {\\n        color = halo_color;\\n        gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (fontScale * u_gamma_scale);\\n        buff = (6.0 - halo_width / fontScale) / SDF_PX;\\n    }\\n\\n    lowp float dist = texture2D(u_texture, tex).a;\\n    highp float gamma_scaled = gamma * gamma_scale;\\n    highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist);\\n\\n    gl_FragColor = color * (alpha * opacity * fade_opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"const float PI = 3.141592653589793;\\n\\nattribute vec4 a_pos_offset;\\nattribute vec4 a_data;\\nattribute vec3 a_projected_pos;\\nattribute float a_fade_opacity;\\n\\n// contents of a_size vary based on the type of property value\\n// used for {text,icon}-size.\\n// For constants, a_size is disabled.\\n// For source functions, we bind only one value per vertex: the value of {text,icon}-size evaluated for the current feature.\\n// For composite functions:\\n// [ text-size(lowerZoomStop, feature),\\n//   text-size(upperZoomStop, feature) ]\\nuniform bool u_is_size_zoom_constant;\\nuniform bool u_is_size_feature_constant;\\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\\nuniform highp float u_size; // used when size is both zoom and feature constant\\n\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\nuniform mat4 u_matrix;\\nuniform mat4 u_label_plane_matrix;\\nuniform mat4 u_gl_coord_matrix;\\n\\nuniform bool u_is_text;\\nuniform bool u_pitch_with_map;\\nuniform highp float u_pitch;\\nuniform bool u_rotate_symbol;\\nuniform highp float u_aspect_ratio;\\nuniform highp float u_camera_to_center_distance;\\nuniform float u_fade_change;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_data0;\\nvarying vec3 v_data1;\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 fill_color\\n    #pragma mapbox: initialize highp vec4 halo_color\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize lowp float halo_width\\n    #pragma mapbox: initialize lowp float halo_blur\\n\\n    vec2 a_pos = a_pos_offset.xy;\\n    vec2 a_offset = a_pos_offset.zw;\\n\\n    vec2 a_tex = a_data.xy;\\n    vec2 a_size = a_data.zw;\\n\\n    highp float segment_angle = -a_projected_pos[2];\\n    float size;\\n\\n    if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n        size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\\n    } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n        size = a_size[0] / 10.0;\\n    } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\\n        size = u_size;\\n    } else {\\n        size = u_size;\\n    }\\n\\n    vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\n    // If the label is pitched with the map, layout is done in pitched space,\\n    // which makes labels in the distance smaller relative to viewport space.\\n    // We counteract part of that effect by multiplying by the perspective ratio.\\n    // If the label isn't pitched with the map, we do layout in viewport space,\\n    // which makes labels in the distance larger relative to the features around\\n    // them. We counteract part of that effect by dividing by the perspective ratio.\\n    highp float distance_ratio = u_pitch_with_map ?\\n        camera_to_anchor_distance / u_camera_to_center_distance :\\n        u_camera_to_center_distance / camera_to_anchor_distance;\\n    highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\\n\\n    size *= perspective_ratio;\\n\\n    float fontScale = u_is_text ? size / 24.0 : size;\\n\\n    highp float symbol_rotation = 0.0;\\n    if (u_rotate_symbol) {\\n        // Point labels with 'rotation-alignment: map' are horizontal with respect to tile units\\n        // To figure out that angle in projected space, we draw a short horizontal line in tile\\n        // space, project it, and measure its angle in projected space.\\n        vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\\n\\n        vec2 a = projectedPoint.xy / projectedPoint.w;\\n        vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\\n\\n        symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\\n    }\\n\\n    highp float angle_sin = sin(segment_angle + symbol_rotation);\\n    highp float angle_cos = cos(segment_angle + symbol_rotation);\\n    mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\\n\\n    vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\\n    gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\\n    float gamma_scale = gl_Position.w;\\n\\n    vec2 tex = a_tex / u_texsize;\\n    vec2 fade_opacity = unpack_opacity(a_fade_opacity);\\n    float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\\n    float interpolated_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\\n\\n    v_data0 = vec2(tex.x, tex.y);\\n    v_data1 = vec3(gamma_scale, size, interpolated_fade_opacity);\\n}\\n\"}},i=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,a=function(t){var e=n[t],r={};e.fragmentSource=e.fragmentSource.replace(i,function(t,e,n,i,a){return r[a]=!0,\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nvarying \"+n+\" \"+i+\" \"+a+\";\\n#else\\nuniform \"+n+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"\\n#ifdef HAS_UNIFORM_u_\"+a+\"\\n    \"+n+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\"}),e.vertexSource=e.vertexSource.replace(i,function(t,e,n,i,a){var o=\"float\"===i?\"vec2\":\"vec4\";return r[a]?\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nuniform lowp float a_\"+a+\"_t;\\nattribute \"+n+\" \"+o+\" a_\"+a+\";\\nvarying \"+n+\" \"+i+\" \"+a+\";\\n#else\\nuniform \"+n+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n    \"+a+\" = unpack_mix_\"+o+\"(a_\"+a+\", a_\"+a+\"_t);\\n#else\\n    \"+n+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\":\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nuniform lowp float a_\"+a+\"_t;\\nattribute \"+n+\" \"+o+\" a_\"+a+\";\\n#else\\nuniform \"+n+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n    \"+n+\" \"+i+\" \"+a+\" = unpack_mix_\"+o+\"(a_\"+a+\", a_\"+a+\"_t);\\n#else\\n    \"+n+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\"})};for(var o in n)a(o);e.exports=n},{}],98:[function(t,e,r){var n=t(\"./image_source\"),i=t(\"../util/window\"),a=t(\"../data/raster_bounds_attributes\"),o=t(\"../render/vertex_array_object\"),s=t(\"../render/texture\"),l=function(t){function e(e,r,n,i){t.call(this,e,r,n,i),this.options=r,this.animate=void 0===r.animate||r.animate}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){this.canvas=this.canvas||i.document.getElementById(this.options.canvas),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(\"error\",new Error(\"Canvas dimensions cannot be less than or equal to zero.\")):(this.play=function(){this._playing=!0,this.map._rerender()},this.pause=function(){this._playing=!1},this._finishLoading())},e.prototype.getCanvas=function(){return this.canvas},e.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},e.prototype.onRemove=function(){this.pause()},e.prototype.prepare=function(){var t=this,e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,a.members)),this.boundsVAO||(this.boundsVAO=new o),this.texture?e?this.texture.update(this.canvas):this._playing&&(this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE),n.texSubImage2D(n.TEXTURE_2D,0,0,0,n.RGBA,n.UNSIGNED_BYTE,this.canvas)):(this.texture=new s(r,this.canvas,n.RGBA),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE)),t.tiles){var l=t.tiles[i];\"loaded\"!==l.state&&(l.state=\"loaded\",l.texture=t.texture)}}},e.prototype.serialize=function(){return{type:\"canvas\",canvas:this.canvas,coordinates:this.coordinates}},e.prototype.hasTransition=function(){return this._playing},e.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];t<e.length;t+=1){var r=e[t];if(isNaN(r)||r<=0)return!0}return!1},e}(n);e.exports=l},{\"../data/raster_bounds_attributes\":59,\"../render/texture\":93,\"../render/vertex_array_object\":95,\"../util/window\":254,\"./image_source\":102}],99:[function(t,e,r){var n=t(\"../util/evented\"),i=t(\"../util/util\"),a=t(\"../util/window\"),o=t(\"../data/extent\"),s=t(\"../util/ajax\").ResourceType,l=t(\"../util/browser\"),u=function(t){function e(e,r,n,a){t.call(this),this.id=e,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this.dispatcher=n,this.setEventedParent(a),this._data=r.data,this._options=i.extend({},r),this._collectResourceTiming=r.collectResourceTiming,this._resourceTiming=[],void 0!==r.maxzoom&&(this.maxzoom=r.maxzoom),r.type&&(this.type=r.type);var s=o/this.tileSize;this.workerOptions=i.extend({source:this.id,cluster:r.cluster||!1,geojsonVtOptions:{buffer:(void 0!==r.buffer?r.buffer:128)*s,tolerance:(void 0!==r.tolerance?r.tolerance:.375)*s,extent:o,maxZoom:this.maxzoom},superclusterOptions:{maxZoom:void 0!==r.clusterMaxZoom?Math.min(r.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,extent:o,radius:(r.clusterRadius||50)*s,log:!1}},r.workerOptions)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\"dataloading\",{dataType:\"source\"}),this._updateWorkerData(function(e){if(e)t.fire(\"error\",{error:e});else{var r={dataType:\"source\",sourceDataType:\"metadata\"};t._collectResourceTiming&&t._resourceTiming&&t._resourceTiming.length>0&&(r.resourceTiming=t._resourceTiming,t._resourceTiming=[]),t.fire(\"data\",r)}})},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.setData=function(t){var e=this;return this._data=t,this.fire(\"dataloading\",{dataType:\"source\"}),this._updateWorkerData(function(t){if(t)return e.fire(\"error\",{error:t});var r={dataType:\"source\",sourceDataType:\"content\"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(r.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(\"data\",r)}),this},e.prototype._updateWorkerData=function(t){var e=this,r=i.extend({},this.workerOptions),n=this._data;\"string\"==typeof n?(r.request=this.map._transformRequest(function(t){var e=a.document.createElement(\"a\");return e.href=t,e.href}(n),s.Source),r.request.collectResourceTiming=this._collectResourceTiming):r.data=JSON.stringify(n),this.workerID=this.dispatcher.send(this.type+\".loadData\",r,function(r,n){e._loaded=!0,n&&n.resourceTiming&&n.resourceTiming[e.id]&&(e._resourceTiming=n.resourceTiming[e.id].slice(0)),t(r)},this.workerID)},e.prototype.loadTile=function(t,e){var r=this,n=void 0===t.workerID||\"expired\"===t.state?\"loadTile\":\"reloadTile\",i={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:l.devicePixelRatio,overscaling:t.tileID.overscaleFactor(),showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(n,i,function(i,a){return t.unloadVectorData(),t.aborted?e(null):i?e(i):(t.loadVectorData(a,r.map.painter,\"reloadTile\"===n),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},null,t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast(\"removeSource\",{type:this.type,source:this.id})},e.prototype.serialize=function(){return i.extend({},this._options,{type:this.type,data:this._data})},e.prototype.hasTransition=function(){return!1},e}(n);e.exports=u},{\"../data/extent\":53,\"../util/ajax\":251,\"../util/browser\":252,\"../util/evented\":260,\"../util/util\":275,\"../util/window\":254}],100:[function(t,e,r){function n(t,e){var r=t.source,n=t.tileID.canonical;if(!this._geoJSONIndexes[r])return e(null,null);var i=this._geoJSONIndexes[r].getTile(n.z,n.x,n.y);if(!i)return e(null,null);var a=new s(i.features),o=l(a);0===o.byteOffset&&o.byteLength===o.buffer.byteLength||(o=new Uint8Array(o)),e(null,{vectorTile:a,rawData:o.buffer})}var i=t(\"../util/ajax\"),a=t(\"../util/performance\"),o=t(\"geojson-rewind\"),s=t(\"./geojson_wrapper\"),l=t(\"vt-pbf\"),u=t(\"supercluster\"),c=t(\"geojson-vt\"),h=function(t){function e(e,r,i){t.call(this,e,r,n),i&&(this.loadGeoJSON=i),this._geoJSONIndexes={}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.loadData=function(t,e){var r=this;this.loadGeoJSON(t,function(n,i){if(n||!i)return e(n);if(\"object\"!=typeof i)return e(new Error(\"Input data is not a valid GeoJSON object.\"));o(i,!0);try{r._geoJSONIndexes[t.source]=t.cluster?u(t.superclusterOptions).load(i.features):c(i,t.geojsonVtOptions)}catch(n){return e(n)}r.loaded[t.source]={};var s={};if(t.request&&t.request.collectResourceTiming){var l=a.getEntriesByName(t.request.url);l&&(s.resourceTiming={},s.resourceTiming[t.source]=JSON.parse(JSON.stringify(l)))}e(null,s)})},e.prototype.reloadTile=function(e,r){var n=this.loaded[e.source],i=e.uid;return n&&n[i]?t.prototype.reloadTile.call(this,e,r):this.loadTile(e,r)},e.prototype.loadGeoJSON=function(t,e){if(t.request)i.getJSON(t.request,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.\"))}}},e.prototype.removeSource=function(t,e){this._geoJSONIndexes[t.source]&&delete this._geoJSONIndexes[t.source],e()},e}(t(\"./vector_tile_worker_source\"));e.exports=h},{\"../util/ajax\":251,\"../util/performance\":268,\"./geojson_wrapper\":101,\"./vector_tile_worker_source\":116,\"geojson-rewind\":15,\"geojson-vt\":19,supercluster:32,\"vt-pbf\":34}],101:[function(t,e,r){var n=t(\"@mapbox/point-geometry\"),i=t(\"@mapbox/vector-tile\").VectorTileFeature.prototype.toGeoJSON,a=t(\"../data/extent\"),o=function(t){this._feature=t,this.extent=a,this.type=t.type,this.properties=t.tags,\"id\"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10))};o.prototype.loadGeometry=function(){if(1===this._feature.type){for(var t=[],e=0,r=this._feature.geometry;e<r.length;e+=1){var i=r[e];t.push([new n(i[0],i[1])])}return t}for(var a=[],o=0,s=this._feature.geometry;o<s.length;o+=1){for(var l=[],u=0,c=s[o];u<c.length;u+=1){var h=c[u];l.push(new n(h[0],h[1]))}a.push(l)}return a},o.prototype.toGeoJSON=function(t,e,r){return i.call(this,t,e,r)};var s=function(t){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=a,this.length=t.length,this._features=t};s.prototype.feature=function(t){return new o(this._features[t])},e.exports=s},{\"../data/extent\":53,\"@mapbox/point-geometry\":4,\"@mapbox/vector-tile\":8}],102:[function(t,e,r){var n=t(\"../util/util\"),i=t(\"./tile_id\").CanonicalTileID,a=t(\"../geo/lng_lat\"),o=t(\"@mapbox/point-geometry\"),s=t(\"../util/evented\"),l=t(\"../util/ajax\"),u=t(\"../util/browser\"),c=t(\"../data/extent\"),h=t(\"../data/array_types\").RasterBoundsArray,f=t(\"../data/raster_bounds_attributes\"),p=t(\"../render/vertex_array_object\"),d=t(\"../render/texture\"),g=function(t){function e(e,r,n,i){t.call(this),this.id=e,this.dispatcher=n,this.coordinates=r.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this.setEventedParent(i),this.options=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\"dataloading\",{dataType:\"source\"}),this.url=this.options.url,l.getImage(this.map._transformRequest(this.url,l.ResourceType.Image),function(e,r){e?t.fire(\"error\",{error:e}):r&&(t.image=u.getImageData(r),t._finishLoading())})},e.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"}))},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.setCoordinates=function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(a.convert(t)).zoomTo(0)}),s=this.centerCoord=n.getCoordinatesCenter(r);s.column=Math.floor(s.column),s.row=Math.floor(s.row),this.tileID=new i(s.zoom,s.column,s.row),this.minzoom=this.maxzoom=s.zoom;var l=r.map(function(t){var e=t.zoomTo(s.zoom);return new o(Math.round((e.column-s.column)*c),Math.round((e.row-s.row)*c))});return this._boundsArray=new h,this._boundsArray.emplaceBack(l[0].x,l[0].y,0,0),this._boundsArray.emplaceBack(l[1].x,l[1].y,c,0),this._boundsArray.emplaceBack(l[3].x,l[3].y,0,c),this._boundsArray.emplaceBack(l[2].x,l[2].y,c,c),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(\"data\",{dataType:\"source\",sourceDataType:\"content\"}),this},e.prototype.prepare=function(){var t=this;if(0!==Object.keys(this.tiles).length&&this.image){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,f.members)),this.boundsVAO||(this.boundsVAO=new p),this.texture||(this.texture=new d(e,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),t.tiles){var i=t.tiles[n];\"loaded\"!==i.state&&(i.state=\"loaded\",i.texture=t.texture)}}},e.prototype.loadTile=function(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state=\"errored\",e(null))},e.prototype.serialize=function(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}},e.prototype.hasTransition=function(){return!1},e}(s);e.exports=g},{\"../data/array_types\":39,\"../data/extent\":53,\"../data/raster_bounds_attributes\":59,\"../geo/lng_lat\":62,\"../render/texture\":93,\"../render/vertex_array_object\":95,\"../util/ajax\":251,\"../util/browser\":252,\"../util/evented\":260,\"../util/util\":275,\"./tile_id\":114,\"@mapbox/point-geometry\":4}],103:[function(t,e,r){var n=t(\"../util/util\"),i=t(\"../util/ajax\"),a=t(\"../util/browser\"),o=t(\"../util/mapbox\").normalizeSourceURL;e.exports=function(t,e,r){var s=function(t,e){if(t)return r(t);if(e){var i=n.pick(e,[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"mapbox_logo\",\"bounds\"]);e.vector_layers&&(i.vectorLayers=e.vector_layers,i.vectorLayerIds=i.vectorLayers.map(function(t){return t.id})),r(null,i)}};t.url?i.getJSON(e(o(t.url),i.ResourceType.Source),s):a.frame(function(){return s(null,t)})}},{\"../util/ajax\":251,\"../util/browser\":252,\"../util/mapbox\":267,\"../util/util\":275}],104:[function(t,e,r){var n=t(\"../data/extent\");e.exports=function(t,e,r){return e*(n/(t.tileSize*Math.pow(2,r-t.tileID.overscaledZ)))}},{\"../data/extent\":53}],105:[function(t,e,r){function n(t,e){var r=t.tileID,n=e.tileID;return r.overscaledZ-n.overscaledZ||r.canonical.y-n.canonical.y||r.wrap-n.wrap||r.canonical.x-n.canonical.x}r.rendered=function(t,e,r,i,a,o,s){var l=t.tilesIn(r);l.sort(n);for(var u=[],c=0,h=l;c<h.length;c+=1){var f=h[c];u.push({wrappedTileID:f.tileID.wrapped().key,queryResults:f.tile.queryRenderedFeatures(e,f.queryGeometry,f.scale,i,o,t.id,s)})}return function(t){for(var e={},r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.queryResults,s=a.wrappedTileID,l=r[s]=r[s]||{};for(var u in o)for(var c=o[u],h=l[u]=l[u]||{},f=e[u]=e[u]||[],p=0,d=c;p<d.length;p+=1){var g=d[p];h[g.featureIndex]||(h[g.featureIndex]=!0,f.push(g.feature))}}return e}(u)},r.source=function(t,e){for(var r=t.getRenderableIds().map(function(e){return t.getTileByID(e)}),n=[],i={},a=0;a<r.length;a++){var o=r[a],s=o.tileID.canonical.key;i[s]||(i[s]=!0,o.querySourceFeatures(n,e))}return n}},{}],106:[function(t,e,r){var n=t(\"../util/ajax\"),i=t(\"../util/util\"),a=(t(\"../util/evented\"),t(\"../util/mapbox\").normalizeTileURL),o=t(\"../util/browser\"),s=t(\"./tile_id\").OverscaledTileID,l=function(t){function e(e,r,n,a){t.call(this,e,r,n,a),this.type=\"raster-dem\",this.maxzoom=22,this._options=i.extend({},r)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.serialize=function(){return{type:\"raster-dem\",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds}},e.prototype.loadTile=function(t,e){var r=a(t.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);t.request=n.getImage(this.map._transformRequest(r,n.ResourceType.Tile),function(r,n){if(delete t.request,t.aborted)t.state=\"unloaded\",e(null);else if(r)t.state=\"errored\",e(r);else if(n){this.map._refreshExpiredTiles&&t.setExpiryData(n),delete n.cacheControl,delete n.expires;var i=o.getImageData(n),a={uid:t.uid,coord:t.tileID,source:this.id,rawImageData:i};t.workerID&&\"expired\"!==t.state||(t.workerID=this.dispatcher.send(\"loadDEMTile\",a,function(r,n){r&&(t.state=\"errored\",e(r)),n&&(t.dem=n,t.needsHillshadePrepare=!0,t.state=\"loaded\",e(null))}.bind(this)))}}.bind(this)),t.neighboringTiles=this._getNeighboringTiles(t.tileID)},e.prototype._getNeighboringTiles=function(t){var e=t.canonical,r=Math.pow(2,e.z),n=(e.x-1+r)%r,i=0===e.x?t.wrap-1:t.wrap,a=(e.x+1+r)%r,o=e.x+1===r?t.wrap+1:t.wrap,l={};return l[new s(t.overscaledZ,i,e.z,n,e.y).key]={backfilled:!1},l[new s(t.overscaledZ,o,e.z,a,e.y).key]={backfilled:!1},e.y>0&&(l[new s(t.overscaledZ,i,e.z,n,e.y-1).key]={backfilled:!1},l[new s(t.overscaledZ,t.wrap,e.z,e.x,e.y-1).key]={backfilled:!1},l[new s(t.overscaledZ,o,e.z,a,e.y-1).key]={backfilled:!1}),e.y+1<r&&(l[new s(t.overscaledZ,i,e.z,n,e.y+1).key]={backfilled:!1},l[new s(t.overscaledZ,t.wrap,e.z,e.x,e.y+1).key]={backfilled:!1},l[new s(t.overscaledZ,o,e.z,a,e.y+1).key]={backfilled:!1}),l},e.prototype.unloadTile=function(t){t.demTexture&&this.map.painter.saveTileTexture(t.demTexture),t.fbo&&(t.fbo.destroy(),delete t.fbo),t.dem&&delete t.dem,delete t.neighboringTiles,t.state=\"unloaded\",this.dispatcher.send(\"removeDEMTile\",{uid:t.uid,source:this.id},void 0,t.workerID)},e}(t(\"./raster_tile_source\"));e.exports=l},{\"../util/ajax\":251,\"../util/browser\":252,\"../util/evented\":260,\"../util/mapbox\":267,\"../util/util\":275,\"./raster_tile_source\":108,\"./tile_id\":114}],107:[function(t,e,r){var n=t(\"../data/dem_data\").DEMData,i=function(){this.loading={},this.loaded={}};i.prototype.loadTile=function(t,e){var r=t.source,i=t.uid;this.loading[r]||(this.loading[r]={});var a=new n(i);this.loading[r][i]=a,a.loadFromImage(t.rawImageData),delete this.loading[r][i],this.loaded[r]=this.loaded[r]||{},this.loaded[r][i]=a,e(null,a)},i.prototype.removeTile=function(t){var e=this.loaded[t.source],r=t.uid;e&&e[r]&&delete e[r]},e.exports=i},{\"../data/dem_data\":52}],108:[function(t,e,r){var n=t(\"../util/util\"),i=t(\"../util/ajax\"),a=t(\"../util/evented\"),o=t(\"./load_tilejson\"),s=t(\"../util/mapbox\").normalizeTileURL,l=t(\"./tile_bounds\"),u=t(\"../render/texture\"),c=function(t){function e(e,r,i,a){t.call(this),this.id=e,this.dispatcher=i,this.setEventedParent(a),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=n.extend({},r),n.extend(this,n.pick(r,[\"url\",\"scheme\",\"tileSize\"]))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\"dataloading\",{dataType:\"source\"}),o(this._options,this.map._transformRequest,function(e,r){e?t.fire(\"error\",e):r&&(n.extend(t,r),r.bounds&&(t.tileBounds=new l(r.bounds,t.minzoom,t.maxzoom)),t.fire(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"}),t.fire(\"data\",{dataType:\"source\",sourceDataType:\"content\"}))})},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.serialize=function(){return n.extend({},this._options)},e.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},e.prototype.loadTile=function(t,e){var r=this,n=s(t.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);t.request=i.getImage(this.map._transformRequest(n,i.ResourceType.Tile),function(n,i){if(delete t.request,t.aborted)t.state=\"unloaded\",e(null);else if(n)t.state=\"errored\",e(n);else if(i){r.map._refreshExpiredTiles&&t.setExpiryData(i),delete i.cacheControl,delete i.expires;var a=r.map.painter.context,o=a.gl;t.texture=r.map.painter.getTileTexture(i.width),t.texture?(t.texture.bind(o.LINEAR,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),o.texSubImage2D(o.TEXTURE_2D,0,0,0,o.RGBA,o.UNSIGNED_BYTE,i)):(t.texture=new u(a,i,o.RGBA),t.texture.bind(o.LINEAR,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),a.extTextureFilterAnisotropic&&o.texParameterf(o.TEXTURE_2D,a.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,a.extTextureFilterAnisotropicMax)),o.generateMipmap(o.TEXTURE_2D),t.state=\"loaded\",e(null)}})},e.prototype.abortTile=function(t,e){t.request&&(t.request.abort(),delete t.request),e()},e.prototype.unloadTile=function(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()},e.prototype.hasTransition=function(){return!1},e}(a);e.exports=c},{\"../render/texture\":93,\"../util/ajax\":251,\"../util/evented\":260,\"../util/mapbox\":267,\"../util/util\":275,\"./load_tilejson\":103,\"./tile_bounds\":113}],109:[function(t,e,r){var n=t(\"../util/ajax\"),i=t(\"../util/evented\"),a=t(\"../util/window\"),o=!1,s=null;e.exports.evented=new i,e.exports.registerForPluginAvailability=function(t){return s?t({pluginBlobURL:s,errorCallback:e.exports.errorCallback}):e.exports.evented.once(\"pluginAvailable\",t),t},e.exports.createBlobURL=function(t){return a.URL.createObjectURL(new a.Blob([t.data],{type:\"text/javascript\"}))},e.exports.clearRTLTextPlugin=function(){o=!1,s=null},e.exports.setRTLTextPlugin=function(t,r){if(o)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");o=!0,e.exports.errorCallback=r,n.getArrayBuffer({url:t},function(t,n){t?r(t):n&&(s=e.exports.createBlobURL(n),e.exports.evented.fire(\"pluginAvailable\",{pluginBlobURL:s,errorCallback:r}))})},e.exports.applyArabicShaping=null,e.exports.processBidirectionalText=null},{\"../util/ajax\":251,\"../util/evented\":260,\"../util/window\":254}],110:[function(t,e,r){var n=t(\"../util/util\"),i={vector:t(\"../source/vector_tile_source\"),raster:t(\"../source/raster_tile_source\"),\"raster-dem\":t(\"../source/raster_dem_tile_source\"),geojson:t(\"../source/geojson_source\"),video:t(\"../source/video_source\"),image:t(\"../source/image_source\"),canvas:t(\"../source/canvas_source\")};r.create=function(t,e,r,a){var o=new i[e.type](t,e,r,a);if(o.id!==t)throw new Error(\"Expected Source id to be \"+t+\" instead of \"+o.id);return n.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],o),o},r.getType=function(t){return i[t]},r.setType=function(t,e){i[t]=e}},{\"../source/canvas_source\":98,\"../source/geojson_source\":99,\"../source/image_source\":102,\"../source/raster_dem_tile_source\":106,\"../source/raster_tile_source\":108,\"../source/vector_tile_source\":115,\"../source/video_source\":117,\"../util/util\":275}],111:[function(t,e,r){function n(t,e){var r=e.zoomTo(t.canonical.z);return new f((r.column-(t.canonical.x+t.wrap*Math.pow(2,t.canonical.z)))*h,(r.row-t.canonical.y)*h)}function i(t){return\"raster\"===t||\"image\"===t||\"video\"===t}var a=t(\"./source\").create,o=t(\"./tile\"),s=t(\"../util/evented\"),l=t(\"../util/lru_cache\"),u=t(\"../geo/coordinate\"),c=t(\"../util/util\"),h=t(\"../data/extent\"),f=(t(\"../gl/context\"),t(\"@mapbox/point-geometry\")),p=t(\"../util/browser\"),d=t(\"./tile_id\").OverscaledTileID,g=function(t){function e(e,r,n){var i=this;t.call(this),this.id=e,this.dispatcher=n,this.on(\"data\",function(t){\"source\"===t.dataType&&\"metadata\"===t.sourceDataType&&(i._sourceLoaded=!0),i._sourceLoaded&&!i._paused&&\"source\"===t.dataType&&\"content\"===t.sourceDataType&&(i.reload(),i.transform&&i.update(i.transform))}),this.on(\"error\",function(){i._sourceErrored=!0}),this._source=a(e,r,n,this),this._tiles={},this._cache=new l(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._isIdRenderable=this._isIdRenderable.bind(this),this._coveredTiles={}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.onAdd=function(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t)},e.prototype.onRemove=function(t){this._source&&this._source.onRemove&&this._source.onRemove(t)},e.prototype.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},e.prototype.getSource=function(){return this._source},e.prototype.pause=function(){this._paused=!0},e.prototype.resume=function(){if(this._paused){var t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform)}},e.prototype._loadTile=function(t,e){return this._source.loadTile(t,e)},e.prototype._unloadTile=function(t){if(this._source.unloadTile)return this._source.unloadTile(t,function(){})},e.prototype._abortTile=function(t){if(this._source.abortTile)return this._source.abortTile(t,function(){})},e.prototype.serialize=function(){return this._source.serialize()},e.prototype.prepare=function(t){for(var e in this._source.prepare&&this._source.prepare(),this._tiles)this._tiles[e].upload(t)},e.prototype.getIds=function(){var t=this;return Object.keys(this._tiles).map(Number).sort(function(e,r){var n=t._tiles[e].tileID,i=t._tiles[r].tileID,a=new f(n.canonical.x,n.canonical.y).rotate(t.transform.angle),o=new f(i.canonical.x,i.canonical.y).rotate(t.transform.angle);return n.overscaledZ-i.overscaledZ||o.y-a.y||o.x-a.x})},e.prototype.getRenderableIds=function(){return this.getIds().filter(this._isIdRenderable)},e.prototype.hasRenderableParent=function(t){var e=this.findLoadedParent(t,0,{});return!!e&&this._isIdRenderable(e.tileID.key)},e.prototype._isIdRenderable=function(t){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]},e.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var t in this._resetCache(),this._tiles)this._reloadTile(t,\"reloading\")},e.prototype._reloadTile=function(t,e){var r=this._tiles[t];r&&(\"loading\"!==r.state&&(r.state=e),this._loadTile(r,this._tileLoaded.bind(this,r,t,e)))},e.prototype._tileLoaded=function(t,e,r,n){if(n)return t.state=\"errored\",void(404!==n.status?this._source.fire(\"error\",{tile:t,error:n}):this.update(this.transform));t.timeAdded=p.now(),\"expired\"===r&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(e,t),\"raster-dem\"===this.getSource().type&&t.dem&&this._backfillDEM(t),this._source.fire(\"data\",{dataType:\"source\",tile:t,coord:t.tileID}),this.map&&(this.map.painter.tileExtentVAO.vao=null)},e.prototype._backfillDEM=function(t){function e(t,e){t.needsHillshadePrepare=!0;var r=e.tileID.canonical.x-t.tileID.canonical.x,n=e.tileID.canonical.y-t.tileID.canonical.y,i=Math.pow(2,t.tileID.canonical.z),a=e.tileID.key;0===r&&0===n||Math.abs(n)>1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}for(var r=this.getRenderableIds(),n=0;n<r.length;n++){var i=r[n];if(t.neighboringTiles&&t.neighboringTiles[i]){var a=this.getTileByID(i);e(t,a),e(a,t)}}},e.prototype.getTile=function(t){return this.getTileByID(t.key)},e.prototype.getTileByID=function(t){return this._tiles[t]},e.prototype.getZoom=function(t){return t.zoom+t.scaleZoom(t.tileSize/this._source.tileSize)},e.prototype._findLoadedChildren=function(t,e,r){var n=this,i=!1;for(var a in n._tiles){var o=n._tiles[a];if(!(r[a]||!o.hasData()||o.tileID.overscaledZ<=t.overscaledZ||o.tileID.overscaledZ>e)){var s=Math.pow(2,o.tileID.canonical.z-t.canonical.z);if(Math.floor(o.tileID.canonical.x/s)===t.canonical.x&&Math.floor(o.tileID.canonical.y/s)===t.canonical.y)for(r[a]=o.tileID,i=!0;o&&o.tileID.overscaledZ-1>t.overscaledZ;){var l=o.tileID.scaledTo(o.tileID.overscaledZ-1);if(!l)break;(o=n._tiles[l.key])&&o.hasData()&&(delete r[a],r[l.key]=l)}}}return i},e.prototype.findLoadedParent=function(t,e,r){for(var n=this,i=t.overscaledZ-1;i>=e;i--){var a=t.scaledTo(i);if(!a)return;var o=String(a.key),s=n._tiles[o];if(s&&s.hasData())return r[o]=a,s;if(n._cache.has(o))return r[o]=a,n._cache.get(o)}},e.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},e.prototype.update=function(t){var r=this;if(this.transform=t,this._sourceLoaded&&!this._paused){var n;this.updateCacheSize(t),this._coveredTiles={},this.used?this._source.tileID?n=t.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(t){return new d(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y)}):(n=t.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(n=n.filter(function(t){return r._source.hasTile(t)}))):n=[];var a,o=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(t)),s=Math.max(o-e.maxOverzooming,this._source.minzoom),l=Math.max(o+e.maxUnderzooming,this._source.minzoom),u=this._updateRetainedTiles(n,o),h={};if(i(this._source.type))for(var f=Object.keys(u),g=0;g<f.length;g++){var v=f[g],m=u[v],y=r._tiles[v];if(y&&(void 0===y.fadeEndTime||y.fadeEndTime>=p.now())){r._findLoadedChildren(m,l,u)&&(u[v]=m);var x=r.findLoadedParent(m,s,h);x&&r._addTile(x.tileID)}}for(a in h)u[a]||(r._coveredTiles[a]=!0);for(a in h)u[a]=h[a];for(var b=c.keysDifference(this._tiles,u),_=0;_<b.length;_++)r._removeTile(b[_])}},e.prototype._updateRetainedTiles=function(t,r){for(var n=this,i={},a={},o=Math.max(r-e.maxOverzooming,this._source.minzoom),s=Math.max(r+e.maxUnderzooming,this._source.minzoom),l=0;l<t.length;l++){var u=t[l],c=n._addTile(u),h=!1;if(c.hasData())i[u.key]=u;else{h=c.wasRequested(),i[u.key]=u;var f=!0;if(r+1>n._source.maxzoom){var p=u.children(n._source.maxzoom)[0],d=n.getTile(p);d&&d.hasData()?i[p.key]=p:f=!1}else{n._findLoadedChildren(u,s,i);for(var g=u.children(n._source.maxzoom),v=0;v<g.length;v++)if(!i[g[v].key]){f=!1;break}}if(!f)for(var m=u.overscaledZ-1;m>=o;--m){var y=u.scaledTo(m);if(a[y.key])break;if(a[y.key]=!0,!(c=n.getTile(y))&&h&&(c=n._addTile(y)),c&&(i[y.key]=y,h=c.wasRequested(),c.hasData()))break}}}return i},e.prototype._addTile=function(t){var e=this._tiles[t.key];if(e)return e;(e=this._cache.getAndRemove(t.key))&&this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,e));var r=Boolean(e);return r||(e=new o(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(e,this._tileLoaded.bind(this,e,t.key,e.state))),e?(e.uses++,this._tiles[t.key]=e,r||this._source.fire(\"dataloading\",{tile:e,coord:e.tileID,dataType:\"source\"}),e):null},e.prototype._setTileReloadTimer=function(t,e){var r=this;t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);var n=e.getExpiryTimeout();n&&(this._timers[t]=setTimeout(function(){r._reloadTile(t,\"expired\"),delete r._timers[t]},n))},e.prototype._setCacheInvalidationTimer=function(t,e){var r=this;t in this._cacheTimers&&(clearTimeout(this._cacheTimers[t]),delete this._cacheTimers[t]);var n=e.getExpiryTimeout();n&&(this._cacheTimers[t]=setTimeout(function(){r._cache.remove(t),delete r._cacheTimers[t]},n))},e.prototype._removeTile=function(t){var e=this._tiles[t];if(e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),!(e.uses>0)))if(e.hasData()){e.tileID=e.tileID.wrapped();var r=e.tileID.key;this._cache.add(r,e),this._setCacheInvalidationTimer(r,e)}else e.aborted=!0,this._abortTile(e),this._unloadTile(e)},e.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._resetCache()},e.prototype._resetCache=function(){for(var t in this._cacheTimers)clearTimeout(this._cacheTimers[t]);this._cacheTimers={},this._cache.reset()},e.prototype.tilesIn=function(t){for(var e=[],r=this.getIds(),i=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];i=Math.min(i,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 d=this._tiles[r[p]],g=d.tileID,v=[n(g,new u(i,a,l)),n(g,new u(o,s,l))];if(v[0].x<h&&v[0].y<h&&v[1].x>=0&&v[1].y>=0){for(var m=[],y=0;y<t.length;y++)m.push(n(g,t[y]));e.push({tile:d,tileID:g,queryGeometry:[m],scale:Math.pow(2,this.transform.zoom-d.tileID.overscaledZ)})}}return e},e.prototype.getVisibleCoordinates=function(){for(var t=this,e=this.getRenderableIds().map(function(e){return t._tiles[e].tileID}),r=0,n=e;r<n.length;r+=1){var i=n[r];i.posMatrix=t.transform.calculatePosMatrix(i.toUnwrapped())}return e},e.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(i(this._source.type))for(var t in this._tiles){var e=this._tiles[t];if(void 0!==e.fadeEndTime&&e.fadeEndTime>=p.now())return!0}return!1},e}(s);g.maxOverzooming=10,g.maxUnderzooming=3,e.exports=g},{\"../data/extent\":53,\"../geo/coordinate\":61,\"../gl/context\":66,\"../util/browser\":252,\"../util/evented\":260,\"../util/lru_cache\":266,\"../util/util\":275,\"./source\":110,\"./tile\":112,\"./tile_id\":114,\"@mapbox/point-geometry\":4}],112:[function(t,e,r){var n=t(\"../util/util\"),i=t(\"../data/bucket\").deserialize,a=(t(\"../data/feature_index\"),t(\"@mapbox/vector-tile\")),o=t(\"pbf\"),s=t(\"../util/vectortile_to_geojson\"),l=t(\"../style-spec/feature_filter\"),u=(t(\"../symbol/collision_index\"),t(\"../data/bucket/symbol_bucket\")),c=t(\"../data/array_types\"),h=c.RasterBoundsArray,f=c.CollisionBoxArray,p=t(\"../data/raster_bounds_attributes\"),d=t(\"../data/extent\"),g=t(\"@mapbox/point-geometry\"),v=t(\"../render/texture\"),m=t(\"../data/segment\").SegmentVector,y=t(\"../data/index_array_type\").TriangleIndexArray,x=t(\"../util/browser\"),b=function(t,e){this.tileID=t,this.uid=n.uniqueId(),this.uses=0,this.tileSize=e,this.buckets={},this.expirationTime=null,this.expiredRequestCount=0,this.state=\"loading\"};b.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e<x.now()||this.fadeEndTime&&e<this.fadeEndTime||(this.fadeEndTime=e)},b.prototype.wasRequested=function(){return\"errored\"===this.state||\"loaded\"===this.state||\"reloading\"===this.state},b.prototype.loadVectorData=function(t,e,r){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",t){if(t.rawTileData&&(this.rawTileData=t.rawTileData),this.collisionBoxArray=t.collisionBoxArray,this.featureIndex=t.featureIndex,this.featureIndex.rawTileData=this.rawTileData,this.buckets=i(t.buckets,e.style),r)for(var n in this.buckets){var a=this.buckets[n];a instanceof u&&(a.justReloaded=!0)}t.iconAtlasImage&&(this.iconAtlasImage=t.iconAtlasImage),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage)}else this.collisionBoxArray=new f},b.prototype.unloadVectorData=function(){for(var t in this.buckets)this.buckets[t].destroy();this.buckets={},this.iconAtlasTexture&&this.iconAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.collisionBoxArray=null,this.featureIndex=null,this.state=\"unloaded\"},b.prototype.unloadDEMData=function(){this.dem=null,this.neighboringTiles=null,this.state=\"unloaded\"},b.prototype.getBucket=function(t){return this.buckets[t.id]},b.prototype.upload=function(t){for(var e in this.buckets){var r=this.buckets[e];r.uploaded||(r.upload(t),r.uploaded=!0)}var n=t.gl;this.iconAtlasImage&&(this.iconAtlasTexture=new v(t,this.iconAtlasImage,n.RGBA),this.iconAtlasImage=null),this.glyphAtlasImage&&(this.glyphAtlasTexture=new v(t,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null)},b.prototype.queryRenderedFeatures=function(t,e,r,n,i,a,o){if(!this.featureIndex||!this.collisionBoxArray)return{};var s=0,l={};for(var c in t){var h=this.getBucket(t[c]);h&&(s=Math.max(s,t[c].queryRadius(h)),h instanceof u&&void 0!==h.bucketInstanceId&&(l[h.bucketInstanceId]=!0))}return this.featureIndex.query({queryGeometry:e,scale:r,tileSize:this.tileSize,bearing:i,params:n,additionalRadius:s,collisionBoxArray:this.collisionBoxArray,sourceID:a,collisionIndex:o,bucketInstanceIds:l},t)},b.prototype.querySourceFeatures=function(t,e){if(this.rawTileData){this.vtLayers||(this.vtLayers=new a.VectorTile(new o(this.rawTileData)).layers);var r=e?e.sourceLayer:\"\",n=this.vtLayers._geojsonTileLayer||this.vtLayers[r];if(n)for(var i=l(e&&e.filter),u={z:this.tileID.overscaledZ,x:this.tileID.canonical.x,y:this.tileID.canonical.y},c=0;c<n.length;c++){var h=n.feature(c);if(i({zoom:this.tileID.overscaledZ},h)){var f=new s(h,u.z,u.x,u.y);f.tile=u,t.push(f)}}}},b.prototype.clearMask=function(){this.segments&&(this.segments.destroy(),delete this.segments),this.maskedBoundsBuffer&&(this.maskedBoundsBuffer.destroy(),delete this.maskedBoundsBuffer),this.maskedIndexBuffer&&(this.maskedIndexBuffer.destroy(),delete this.maskedIndexBuffer)},b.prototype.setMask=function(t,e){if(!n.deepEqual(this.mask,t)&&(this.mask=t,this.clearMask(),!n.deepEqual(t,{0:!0}))){var r=new h,i=new y;this.segments=new m,this.segments.prepareSegment(0,r,i);for(var a=Object.keys(t),o=0;o<a.length;o++){var s=t[a[o]],l=d>>s.z,u=new g(s.x*l,s.y*l),c=new g(u.x+l,u.y+l),f=this.segments.prepareSegment(4,r,i);r.emplaceBack(u.x,u.y,u.x,u.y),r.emplaceBack(c.x,u.y,c.x,u.y),r.emplaceBack(u.x,c.y,u.x,c.y),r.emplaceBack(c.x,c.y,c.x,c.y);var v=f.vertexLength;i.emplaceBack(v,v+1,v+2),i.emplaceBack(v+1,v+2,v+3),f.vertexLength+=4,f.primitiveLength+=2}this.maskedBoundsBuffer=e.createVertexBuffer(r,p.members),this.maskedIndexBuffer=e.createIndexBuffer(i)}},b.prototype.hasData=function(){return\"loaded\"===this.state||\"reloading\"===this.state||\"expired\"===this.state},b.prototype.setExpiryData=function(t){var e=this.expirationTime;if(t.cacheControl){var r=n.parseCacheControl(t.cacheControl);r[\"max-age\"]&&(this.expirationTime=Date.now()+1e3*r[\"max-age\"])}else t.expires&&(this.expirationTime=new Date(t.expires).getTime());if(this.expirationTime){var i=Date.now(),a=!1;if(this.expirationTime>i)a=!1;else if(e)if(this.expirationTime<e)a=!0;else{var o=this.expirationTime-e;o?this.expirationTime=i+Math.max(o,3e4):a=!0}else a=!0;a?(this.expiredRequestCount++,this.state=\"expired\"):this.expiredRequestCount=0}},b.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1)},e.exports=b},{\"../data/array_types\":39,\"../data/bucket\":40,\"../data/bucket/symbol_bucket\":51,\"../data/extent\":53,\"../data/feature_index\":54,\"../data/index_array_type\":55,\"../data/raster_bounds_attributes\":59,\"../data/segment\":60,\"../render/texture\":93,\"../style-spec/feature_filter\":148,\"../symbol/collision_index\":217,\"../util/browser\":252,\"../util/util\":275,\"../util/vectortile_to_geojson\":276,\"@mapbox/point-geometry\":4,\"@mapbox/vector-tile\":8,pbf:30}],113:[function(t,e,r){var n=t(\"../geo/lng_lat_bounds\"),i=t(\"../util/util\").clamp,a=function(t,e,r){this.bounds=n.convert(this.validateBounds(t)),this.minzoom=e||0,this.maxzoom=r||24};a.prototype.validateBounds=function(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]},a.prototype.contains=function(t){var e=Math.floor(this.lngX(this.bounds.getWest(),t.z)),r=Math.floor(this.latY(this.bounds.getNorth(),t.z)),n=Math.ceil(this.lngX(this.bounds.getEast(),t.z)),i=Math.ceil(this.latY(this.bounds.getSouth(),t.z));return t.x>=e&&t.x<n&&t.y>=r&&t.y<i},a.prototype.lngX=function(t,e){return(t+180)*(Math.pow(2,e)/360)},a.prototype.latY=function(t,e){var r=i(Math.sin(Math.PI/180*t),-.9999,.9999),n=Math.pow(2,e)/(2*Math.PI);return Math.pow(2,e-1)+.5*Math.log((1+r)/(1-r))*-n},e.exports=a},{\"../geo/lng_lat_bounds\":63,\"../util/util\":275}],114:[function(t,e,r){function n(t,e,r,n){(t*=2)<0&&(t=-1*t-1);var i=1<<e;return 32*(i*i*t+i*n+r)+e}var i=t(\"@mapbox/whoots-js\"),a=t(\"../util/web_worker_transfer\").register,o=t(\"../geo/coordinate\"),s=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=n(0,t,e,r)};s.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},s.prototype.url=function(t,e){var r=i.getTileBBox(this.x,this.y,this.z),n=function(t,e,r){for(var n,i=\"\",a=t;a>0;a--)i+=(e&(n=1<<a-1)?1:0)+(r&n?2:0);return 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}\",String(this.z)).replace(\"{x}\",String(this.x)).replace(\"{y}\",String(\"tms\"===e?Math.pow(2,this.z)-this.y-1:this.y)).replace(\"{quadkey}\",n).replace(\"{bbox-epsg-3857}\",r)};var l=function(t,e){this.wrap=t,this.canonical=e,this.key=n(t,e.z,e.x,e.y)},u=function(t,e,r,i,a){this.overscaledZ=t,this.wrap=e,this.canonical=new s(r,+i,+a),this.key=n(e,t,i,a)};u.prototype.scaledTo=function(t){var e=this.canonical.z-t;return t>this.canonical.z?new u(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new u(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},u.prototype.isChildOf=function(t){var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ<this.overscaledZ&&t.canonical.x===this.canonical.x>>e&&t.canonical.y===this.canonical.y>>e},u.prototype.children=function(t){if(this.overscaledZ>=t)return[new u(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new u(e,this.wrap,e,r,n),new u(e,this.wrap,e,r+1,n),new u(e,this.wrap,e,r,n+1),new u(e,this.wrap,e,r+1,n+1)]},u.prototype.isLessThan=function(t){return this.wrap<t.wrap||!(this.wrap>t.wrap)&&(this.overscaledZ<t.overscaledZ||!(this.overscaledZ>t.overscaledZ)&&(this.canonical.x<t.canonical.x||!(this.canonical.x>t.canonical.x)&&this.canonical.y<t.canonical.y))},u.prototype.wrapped=function(){return new u(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},u.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},u.prototype.toUnwrapped=function(){return new l(this.wrap,this.canonical)},u.prototype.toString=function(){return this.overscaledZ+\"/\"+this.canonical.x+\"/\"+this.canonical.y},u.prototype.toCoordinate=function(){return new o(this.canonical.x+Math.pow(2,this.wrap),this.canonical.y,this.canonical.z)},a(\"CanonicalTileID\",s),a(\"OverscaledTileID\",u,{omit:[\"posMatrix\"]}),e.exports={CanonicalTileID:s,OverscaledTileID:u,UnwrappedTileID:l}},{\"../geo/coordinate\":61,\"../util/web_worker_transfer\":278,\"@mapbox/whoots-js\":12}],115:[function(t,e,r){var n=t(\"../util/evented\"),i=t(\"../util/util\"),a=t(\"./load_tilejson\"),o=t(\"../util/mapbox\").normalizeTileURL,s=t(\"./tile_bounds\"),l=t(\"../util/ajax\").ResourceType,u=t(\"../util/browser\"),c=function(t){function e(e,r,n,a){if(t.call(this),this.id=e,this.dispatcher=n,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,i.extend(this,i.pick(r,[\"url\",\"scheme\",\"tileSize\"])),this._options=i.extend({type:\"vector\"},r),this._collectResourceTiming=r.collectResourceTiming,512!==this.tileSize)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(a)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\"dataloading\",{dataType:\"source\"}),a(this._options,this.map._transformRequest,function(e,r){e?t.fire(\"error\",e):r&&(i.extend(t,r),r.bounds&&(t.tileBounds=new s(r.bounds,t.minzoom,t.maxzoom)),t.fire(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"}),t.fire(\"data\",{dataType:\"source\",sourceDataType:\"content\"}))})},e.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.serialize=function(){return i.extend({},this._options)},e.prototype.loadTile=function(t,e){function r(r,n){return t.aborted?e(null):r?e(r):(n&&n.resourceTiming&&(t.resourceTiming=n.resourceTiming),this.map._refreshExpiredTiles&&t.setExpiryData(n),t.loadVectorData(n,this.map.painter),e(null),void(t.reloadCallback&&(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)))}var n=t.tileID.overscaleFactor(),i=o(t.tileID.canonical.url(this.tiles,this.scheme),this.url),a={request:this.map._transformRequest(i,l.Tile),uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*n,type:this.type,source:this.id,pixelRatio:u.devicePixelRatio,overscaling:n,showCollisionBoxes:this.map.showCollisionBoxes};a.request.collectResourceTiming=this._collectResourceTiming,void 0===t.workerID||\"expired\"===t.state?t.workerID=this.dispatcher.send(\"loadTile\",a,r.bind(this)):\"loading\"===t.state?t.reloadCallback=e:this.dispatcher.send(\"reloadTile\",a,r.bind(this),t.workerID)},e.prototype.abortTile=function(t){this.dispatcher.send(\"abortTile\",{uid:t.uid,type:this.type,source:this.id},void 0,t.workerID)},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},void 0,t.workerID)},e.prototype.hasTransition=function(){return!1},e}(n);e.exports=c},{\"../util/ajax\":251,\"../util/browser\":252,\"../util/evented\":260,\"../util/mapbox\":267,\"../util/util\":275,\"./load_tilejson\":103,\"./tile_bounds\":113}],116:[function(t,e,r){function n(t,e){var r=i.getArrayBuffer(t.request,function(t,r){t?e(t):r&&e(null,{vectorTile:new a.VectorTile(new o(r.data)),rawData:r.data,cacheControl:r.cacheControl,expires:r.expires})});return function(){r.abort(),e()}}var i=t(\"../util/ajax\"),a=t(\"@mapbox/vector-tile\"),o=t(\"pbf\"),s=t(\"./worker_tile\"),l=t(\"../util/util\"),u=t(\"../util/performance\"),c=function(t,e,r){this.actor=t,this.layerIndex=e,this.loadVectorData=r||n,this.loading={},this.loaded={}};c.prototype.loadTile=function(t,e){var r=this,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,function(o,s){if(delete r.loading[n][i],o||!s)return e(o);var c=s.rawData,h={};s.expires&&(h.expires=s.expires),s.cacheControl&&(h.cacheControl=s.cacheControl);var f={};if(t.request&&t.request.collectResourceTiming){var p=u.getEntriesByName(t.request.url);p&&(f.resourceTiming=JSON.parse(JSON.stringify(p)))}a.vectorTile=s.vectorTile,a.parse(s.vectorTile,r.layerIndex,r.actor,function(t,r){if(t||!r)return e(t);e(null,l.extend({rawTileData:c.slice(0)},r,h,f))}),r.loaded[n]=r.loaded[n]||{},r.loaded[n][i]=a})},c.prototype.reloadTile=function(t,e){var r=this.loaded[t.source],n=t.uid,i=this;if(r&&r[n]){var a=r[n];a.showCollisionBoxes=t.showCollisionBoxes,\"parsing\"===a.status?a.reloadCallback=e:\"done\"===a.status&&a.parse(a.vectorTile,this.layerIndex,this.actor,function(t,r){if(this.reloadCallback){var n=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,i.layerIndex,i.actor,n)}e(t,r)}.bind(a))}},c.prototype.abortTile=function(t,e){var r=this.loading[t.source],n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},c.prototype.removeTile=function(t,e){var r=this.loaded[t.source],n=t.uid;r&&r[n]&&delete r[n],e()},e.exports=c},{\"../util/ajax\":251,\"../util/performance\":268,\"../util/util\":275,\"./worker_tile\":119,\"@mapbox/vector-tile\":8,pbf:30}],117:[function(t,e,r){var n=t(\"../util/ajax\"),i=t(\"./image_source\"),a=t(\"../data/raster_bounds_attributes\"),o=t(\"../render/vertex_array_object\"),s=t(\"../render/texture\"),l=function(t){function e(e,r,n,i){t.call(this,e,r,n,i),this.roundZoom=!0,this.type=\"video\",this.options=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this,e=this.options;this.urls=e.urls,n.getVideo(e.urls,function(e,r){e?t.fire(\"error\",{error:e}):r&&(t.video=r,t.video.loop=!0,t.video.addEventListener(\"playing\",function(){t.map._rerender()}),t.map&&t.video.play(),t._finishLoading())})},e.prototype.getVideo=function(){return this.video},e.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},e.prototype.prepare=function(){var t=this;if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,a.members)),this.boundsVAO||(this.boundsVAO=new o),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new s(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),t.tiles){var i=t.tiles[n];\"loaded\"!==i.state&&(i.state=\"loaded\",i.texture=t.texture)}}},e.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},e.prototype.hasTransition=function(){return this.video&&!this.video.paused},e}(i);e.exports=l},{\"../data/raster_bounds_attributes\":59,\"../render/texture\":93,\"../render/vertex_array_object\":95,\"../util/ajax\":251,\"./image_source\":102}],118:[function(t,e,r){var n=t(\"../util/actor\"),i=t(\"../style/style_layer_index\"),a=t(\"./vector_tile_worker_source\"),o=t(\"./raster_dem_tile_worker_source\"),s=t(\"./geojson_worker_source\"),l=t(\"./rtl_text_plugin\"),u=function(t){var e=this;this.self=t,this.actor=new n(t,this),this.layerIndexes={},this.workerSourceTypes={vector:a,geojson:s},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(t,r){if(e.workerSourceTypes[t])throw new Error('Worker source with name \"'+t+'\" already registered.');e.workerSourceTypes[t]=r},this.self.registerRTLTextPlugin=function(t){if(l.applyArabicShaping||l.processBidirectionalText)throw new Error(\"RTL text plugin already registered.\");l.applyArabicShaping=t.applyArabicShaping,l.processBidirectionalText=t.processBidirectionalText}};u.prototype.setLayers=function(t,e,r){this.getLayerIndex(t).replace(e),r()},u.prototype.updateLayers=function(t,e,r){this.getLayerIndex(t).update(e.layers,e.removedIds),r()},u.prototype.loadTile=function(t,e,r){this.getWorkerSource(t,e.type).loadTile(e,r)},u.prototype.loadDEMTile=function(t,e,r){this.getDEMWorkerSource(t).loadTile(e,r)},u.prototype.reloadTile=function(t,e,r){this.getWorkerSource(t,e.type).reloadTile(e,r)},u.prototype.abortTile=function(t,e,r){this.getWorkerSource(t,e.type).abortTile(e,r)},u.prototype.removeTile=function(t,e,r){this.getWorkerSource(t,e.type).removeTile(e,r)},u.prototype.removeDEMTile=function(t,e){this.getDEMWorkerSource(t).removeTile(e)},u.prototype.removeSource=function(t,e,r){var n=this.getWorkerSource(t,e.type);void 0!==n.removeSource?n.removeSource(e,r):r()},u.prototype.loadWorkerSource=function(t,e,r){try{this.self.importScripts(e.url),r()}catch(t){r(t)}},u.prototype.loadRTLTextPlugin=function(t,e,r){try{l.applyArabicShaping||l.processBidirectionalText||(this.self.importScripts(e),l.applyArabicShaping&&l.processBidirectionalText||r(new Error(\"RTL Text Plugin failed to import scripts from \"+e)))}catch(t){r(t)}},u.prototype.getLayerIndex=function(t){var e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new i),e},u.prototype.getWorkerSource=function(t,e){var r=this;if(this.workerSources[t]||(this.workerSources[t]={}),!this.workerSources[t][e]){var n={send:function(e,n,i){r.actor.send(e,n,i,t)}};this.workerSources[t][e]=new this.workerSourceTypes[e](n,this.getLayerIndex(t))}return this.workerSources[t][e]},u.prototype.getDEMWorkerSource=function(t){return this.demWorkerSources[t]||(this.demWorkerSources[t]=new o),this.demWorkerSources[t]},e.exports=function(t){return new u(t)}},{\"../style/style_layer_index\":210,\"../util/actor\":250,\"./geojson_worker_source\":100,\"./raster_dem_tile_worker_source\":107,\"./rtl_text_plugin\":109,\"./vector_tile_worker_source\":116}],119:[function(t,e,r){function n(t,e){for(var r=new f(e),n=0,i=t;n<i.length;n+=1)i[n].recalculate(r)}var i=t(\"../data/feature_index\"),a=t(\"../symbol/symbol_layout\").performSymbolLayout,o=t(\"../data/array_types\").CollisionBoxArray,s=t(\"../util/dictionary_coder\"),l=t(\"../data/bucket/symbol_bucket\"),u=t(\"../util/util\"),c=t(\"../render/image_atlas\").makeImageAtlas,h=t(\"../render/glyph_atlas\").makeGlyphAtlas,f=t(\"../style/evaluation_parameters\"),p=t(\"./tile_id\").OverscaledTileID,d=function(t){this.tileID=new p(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=t.overscaling,this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming};d.prototype.parse=function(t,e,r,f){function p(){if(L)return f(L);if(z&&P){var t=h(z),e=c(P);for(var r in m){var i=m[r];i instanceof l&&(n(i.layers,this.zoom),a(i,z,t.positions,P,e.positions,this.showCollisionBoxes))}this.status=\"done\",f(null,{buckets:u.values(m).filter(function(t){return!t.isEmpty()}),featureIndex:v,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,iconAtlasImage:e.image})}}var d=this;this.status=\"parsing\",this.data=t,this.collisionBoxArray=new o;var g=new s(Object.keys(t.layers).sort()),v=new i(this.tileID,this.overscaling);v.bucketLayerIDs=[];var m={},y={featureIndex:v,iconDependencies:{},glyphDependencies:{}},x=e.familiesBySource[this.source];for(var b in x){var _=t.layers[b];if(_){1===_.version&&u.warnOnce('Vector tile source \"'+d.source+'\" layer \"'+b+'\" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var w=g.encode(b),M=[],A=0;A<_.length;A++){var k=_.feature(A);M.push({feature:k,index:A,sourceLayerIndex:w})}for(var T=0,S=x[b];T<S.length;T+=1){var E=S[T],C=E[0];C.minzoom&&d.zoom<Math.floor(C.minzoom)||C.maxzoom&&d.zoom>=C.maxzoom||\"none\"===C.visibility||(n(E,d.zoom),(m[C.id]=C.createBucket({index:v.bucketLayerIDs.length,layers:E,zoom:d.zoom,pixelRatio:d.pixelRatio,overscaling:d.overscaling,collisionBoxArray:d.collisionBoxArray})).populate(M,y),v.bucketLayerIDs.push(E.map(function(t){return t.id})))}}}var L,z,P,I=u.mapObject(y.glyphDependencies,function(t){return Object.keys(t).map(Number)});Object.keys(I).length?r.send(\"getGlyphs\",{uid:this.uid,stacks:I},function(t,e){L||(L=t,z=e,p.call(d))}):z={};var D=Object.keys(y.iconDependencies);D.length?r.send(\"getImages\",{icons:D},function(t,e){L||(L=t,P=e,p.call(d))}):P={},p.call(this)},e.exports=d},{\"../data/array_types\":39,\"../data/bucket/symbol_bucket\":51,\"../data/feature_index\":54,\"../render/glyph_atlas\":85,\"../render/image_atlas\":87,\"../style/evaluation_parameters\":182,\"../symbol/symbol_layout\":227,\"../util/dictionary_coder\":257,\"../util/util\":275,\"./tile_id\":114}],120:[function(t,e,r){function n(t,e){var r={};for(var n in t)\"ref\"!==n&&(r[n]=t[n]);return i.forEach(function(t){t in e&&(r[t]=e[t])}),r}var i=t(\"./util/ref_properties\");e.exports=function(t){t=t.slice();for(var e=Object.create(null),r=0;r<t.length;r++)e[t[r].id]=t[r];for(var i=0;i<t.length;i++)\"ref\"in t[i]&&(t[i]=n(t[i],e[t[i].ref]));return t}},{\"./util/ref_properties\":159}],121:[function(t,e,r){function n(t,e,r){r.push({command:h.addSource,args:[t,e[t]]})}function i(t,e,r){e.push({command:h.removeSource,args:[t]}),r[t]=!0}function a(t,e,r,a){i(t,r,a),n(t,e,r)}function o(t,e,r){var n;for(n in t[r])if(t[r].hasOwnProperty(n)&&\"data\"!==n&&!c(t[r][n],e[r][n]))return!1;for(n in e[r])if(e[r].hasOwnProperty(n)&&\"data\"!==n&&!c(t[r][n],e[r][n]))return!1;return!0}function s(t,e,r,n,i,a){var o;for(o in t=t||{},e=e||{},t)t.hasOwnProperty(o)&&(c(t[o],e[o])||r.push({command:a,args:[n,o,e[o],i]}));for(o in e)e.hasOwnProperty(o)&&!t.hasOwnProperty(o)&&(c(t[o],e[o])||r.push({command:a,args:[n,o,e[o],i]}))}function l(t){return t.id}function u(t,e){return t[e.id]=e,t}var c=t(\"./util/deep_equal\"),h={setStyle:\"setStyle\",addLayer:\"addLayer\",removeLayer:\"removeLayer\",setPaintProperty:\"setPaintProperty\",setLayoutProperty:\"setLayoutProperty\",setFilter:\"setFilter\",addSource:\"addSource\",removeSource:\"removeSource\",setGeoJSONSourceData:\"setGeoJSONSourceData\",setLayerZoomRange:\"setLayerZoomRange\",setLayerProperty:\"setLayerProperty\",setCenter:\"setCenter\",setZoom:\"setZoom\",setBearing:\"setBearing\",setPitch:\"setPitch\",setSprite:\"setSprite\",setGlyphs:\"setGlyphs\",setTransition:\"setTransition\",setLight:\"setLight\"};e.exports=function(t,e){if(!t)return[{command:h.setStyle,args:[e]}];var r=[];try{if(!c(t.version,e.version))return[{command:h.setStyle,args:[e]}];c(t.center,e.center)||r.push({command:h.setCenter,args:[e.center]}),c(t.zoom,e.zoom)||r.push({command:h.setZoom,args:[e.zoom]}),c(t.bearing,e.bearing)||r.push({command:h.setBearing,args:[e.bearing]}),c(t.pitch,e.pitch)||r.push({command:h.setPitch,args:[e.pitch]}),c(t.sprite,e.sprite)||r.push({command:h.setSprite,args:[e.sprite]}),c(t.glyphs,e.glyphs)||r.push({command:h.setGlyphs,args:[e.glyphs]}),c(t.transition,e.transition)||r.push({command:h.setTransition,args:[e.transition]}),c(t.light,e.light)||r.push({command:h.setLight,args:[e.light]});var f={},p=[];!function(t,e,r,s){var l;for(l in t=t||{},e=e||{},t)t.hasOwnProperty(l)&&(e.hasOwnProperty(l)||i(l,r,s));for(l in e)e.hasOwnProperty(l)&&(t.hasOwnProperty(l)?c(t[l],e[l])||(\"geojson\"===t[l].type&&\"geojson\"===e[l].type&&o(t,e,l)?r.push({command:h.setGeoJSONSourceData,args:[l,e[l].data]}):a(l,e,r,s)):n(l,e,r))}(t.sources,e.sources,p,f);var d=[];t.layers&&t.layers.forEach(function(t){f[t.source]?r.push({command:h.removeLayer,args:[t.id]}):d.push(t)}),r=r.concat(p),function(t,e,r){t=t||[],e=e||[];var n,i,a,o,f,p,d,g=t.map(l),v=e.map(l),m=t.reduce(u,{}),y=e.reduce(u,{}),x=g.slice(),b=Object.create(null);for(n=0,i=0;n<g.length;n++)a=g[n],y.hasOwnProperty(a)?i++:(r.push({command:h.removeLayer,args:[a]}),x.splice(x.indexOf(a,i),1));for(n=0,i=0;n<v.length;n++)a=v[v.length-1-n],x[x.length-1-n]!==a&&(m.hasOwnProperty(a)?(r.push({command:h.removeLayer,args:[a]}),x.splice(x.lastIndexOf(a,x.length-i),1)):i++,p=x[x.length-n],r.push({command:h.addLayer,args:[y[a],p]}),x.splice(x.length-n,0,a),b[a]=!0);for(n=0;n<v.length;n++)if(o=m[a=v[n]],f=y[a],!b[a]&&!c(o,f))if(c(o.source,f.source)&&c(o[\"source-layer\"],f[\"source-layer\"])&&c(o.type,f.type)){for(d in s(o.layout,f.layout,r,a,null,h.setLayoutProperty),s(o.paint,f.paint,r,a,null,h.setPaintProperty),c(o.filter,f.filter)||r.push({command:h.setFilter,args:[a,f.filter]}),c(o.minzoom,f.minzoom)&&c(o.maxzoom,f.maxzoom)||r.push({command:h.setLayerZoomRange,args:[a,f.minzoom,f.maxzoom]}),o)o.hasOwnProperty(d)&&\"layout\"!==d&&\"paint\"!==d&&\"filter\"!==d&&\"metadata\"!==d&&\"minzoom\"!==d&&\"maxzoom\"!==d&&(0===d.indexOf(\"paint.\")?s(o[d],f[d],r,a,d.slice(6),h.setPaintProperty):c(o[d],f[d])||r.push({command:h.setLayerProperty,args:[a,d,f[d]]}));for(d in f)f.hasOwnProperty(d)&&!o.hasOwnProperty(d)&&\"layout\"!==d&&\"paint\"!==d&&\"filter\"!==d&&\"metadata\"!==d&&\"minzoom\"!==d&&\"maxzoom\"!==d&&(0===d.indexOf(\"paint.\")?s(o[d],f[d],r,a,d.slice(6),h.setPaintProperty):c(o[d],f[d])||r.push({command:h.setLayerProperty,args:[a,d,f[d]]}))}else r.push({command:h.removeLayer,args:[a]}),p=x[x.lastIndexOf(a)+1],r.push({command:h.addLayer,args:[f,p]})}(d,e.layers,r)}catch(t){console.warn(\"Unable to compute style diff:\",t),r=[{command:h.setStyle,args:[e]}]}return r},e.exports.operations=h},{\"./util/deep_equal\":155}],122:[function(t,e,r){e.exports=function(t,e,r){this.message=(t?t+\": \":\"\")+r,null!==e&&void 0!==e&&e.__line__&&(this.line=e.__line__)}},{}],123:[function(t,e,r){var n=t(\"./types\").toString,i=t(\"./parsing_context\"),a=(t(\"./evaluation_context\"),function(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n});a.prototype.evaluate=function(t){return this._evaluate(t,this.args)},a.prototype.eachChild=function(t){this.args.forEach(t)},a.prototype.possibleOutputs=function(){return[void 0]},a.parse=function(t,e){var r=t[0],o=a.definitions[r];if(!o)return e.error('Unknown expression \"'+r+'\". If you wanted a literal array, use [\"literal\", [...]].',0);for(var s=Array.isArray(o)?o[0]:o.type,l=Array.isArray(o)?[[o[1],o[2]]]:o.overloads,u=l.filter(function(e){var r=e[0];return!Array.isArray(r)||r.length===t.length-1}),c=[],h=1;h<t.length;h++){var f=t[h],p=void 0;if(1===u.length){var d=u[0][0];p=Array.isArray(d)?d[h-1]:d.type}var g=e.parse(f,1+c.length,p);if(!g)return null;c.push(g)}for(var v=null,m=0,y=u;m<y.length;m+=1){var x=y[m],b=x[0],_=x[1];if(v=new i(e.registry,e.path,null,e.scope),Array.isArray(b)&&b.length!==c.length)v.error(\"Expected \"+b.length+\" arguments, but found \"+c.length+\" instead.\");else{for(var w=0;w<c.length;w++){var M=Array.isArray(b)?b[w]:b.type,A=c[w];v.concat(w+1).checkSubtype(M,A.type)}if(0===v.errors.length)return new a(r,s,_,c)}}if(1===u.length)e.errors.push.apply(e.errors,v.errors);else{var k=(u.length?u:l).map(function(t){return function(t){return Array.isArray(t)?\"(\"+t.map(n).join(\", \")+\")\":\"(\"+n(t.type)+\"...)\"}(t[0])}).join(\" | \"),T=c.map(function(t){return n(t.type)}).join(\", \");e.error(\"Expected arguments of type \"+k+\", but found (\"+T+\") instead.\")}return null},a.register=function(t,e){for(var r in a.definitions=e,e)t[r]=a},e.exports={CompoundExpression:a,varargs:function(t){return{type:t}}}},{\"./evaluation_context\":138,\"./parsing_context\":141,\"./types\":146}],124:[function(t,e,r){var n=t(\"../types\"),i=n.toString,a=n.array,o=n.ValueType,s=n.StringType,l=n.NumberType,u=n.BooleanType,c=n.checkSubtype,h=t(\"../values\").typeOf,f=t(\"../runtime_error\"),p={string:s,number:l,boolean:u},d=function(t,e){this.type=t,this.input=e};d.parse=function(t,e){if(t.length<2||t.length>4)return e.error(\"Expected 1, 2, or 3 arguments, but found \"+(t.length-1)+\" instead.\");var r,n;if(t.length>2){var i=t[1];if(\"string\"!=typeof i||!(i in p))return e.error('The item type argument of \"array\" must be one of string, number, boolean',1);r=p[i]}else r=o;if(t.length>3){if(\"number\"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2]))return e.error('The length argument to \"array\" must be a positive integer literal',2);n=t[2]}var s=a(r,n),l=e.parse(t[t.length-1],t.length-1,o);return l?new d(s,l):null},d.prototype.evaluate=function(t){var e=this.input.evaluate(t);if(c(this.type,h(e)))throw new f(\"Expected value to be of type \"+i(this.type)+\", but found \"+i(h(e))+\" instead.\");return e},d.prototype.eachChild=function(t){t(this.input)},d.prototype.possibleOutputs=function(){return this.input.possibleOutputs()},e.exports=d},{\"../runtime_error\":143,\"../types\":146,\"../values\":147}],125:[function(t,e,r){var n=t(\"../types\"),i=n.ObjectType,a=n.ValueType,o=n.StringType,s=n.NumberType,l=n.BooleanType,u=t(\"../runtime_error\"),c=t(\"../types\"),h=c.checkSubtype,f=c.toString,p=t(\"../values\").typeOf,d={string:o,number:s,boolean:l,object:i},g=function(t,e){this.type=t,this.args=e};g.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");for(var r=t[0],n=d[r],i=[],o=1;o<t.length;o++){var s=e.parse(t[o],o,a);if(!s)return null;i.push(s)}return new g(n,i)},g.prototype.evaluate=function(t){for(var e=this,r=0;r<this.args.length;r++){var n=e.args[r].evaluate(t);if(!h(e.type,p(n)))return n;if(r===e.args.length-1)throw new u(\"Expected value to be of type \"+f(e.type)+\", but found \"+f(p(n))+\" instead.\")}return null},g.prototype.eachChild=function(t){this.args.forEach(t)},g.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},e.exports=g},{\"../runtime_error\":143,\"../types\":146,\"../values\":147}],126:[function(t,e,r){var n=t(\"../types\"),i=n.array,a=n.ValueType,o=n.NumberType,s=t(\"../runtime_error\"),l=function(t,e,r){this.type=t,this.index=e,this.input=r};l.parse=function(t,e){if(3!==t.length)return e.error(\"Expected 2 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,o),n=e.parse(t[2],2,i(e.expectedType||a));if(!r||!n)return null;var s=n.type;return new l(s.itemType,r,n)},l.prototype.evaluate=function(t){var e=this.index.evaluate(t),r=this.input.evaluate(t);if(e<0||e>=r.length)throw new s(\"Array index out of bounds: \"+e+\" > \"+r.length+\".\");if(e!==Math.floor(e))throw new s(\"Array index must be an integer, but found \"+e+\" instead.\");return r[e]},l.prototype.eachChild=function(t){t(this.index),t(this.input)},l.prototype.possibleOutputs=function(){return[void 0]},e.exports=l},{\"../runtime_error\":143,\"../types\":146}],127:[function(t,e,r){var n=t(\"../types\").BooleanType,i=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r};i.parse=function(t,e){if(t.length<4)return e.error(\"Expected at least 3 arguments, but found only \"+(t.length-1)+\".\");if(t.length%2!=0)return e.error(\"Expected an odd number of arguments.\");var r;e.expectedType&&\"value\"!==e.expectedType.kind&&(r=e.expectedType);for(var a=[],o=1;o<t.length-1;o+=2){var s=e.parse(t[o],o,n);if(!s)return null;var l=e.parse(t[o+1],o+1,r);if(!l)return null;a.push([s,l]),r=r||l.type}var u=e.parse(t[t.length-1],t.length-1,r);return u?new i(r,a,u):null},i.prototype.evaluate=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];if(i.evaluate(t))return a.evaluate(t)}return this.otherwise.evaluate(t)},i.prototype.eachChild=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];t(i),t(a)}t(this.otherwise)},i.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.branches.map(function(t){return t[0],t[1].possibleOutputs()})).concat(this.otherwise.possibleOutputs());var t},e.exports=i},{\"../types\":146}],128:[function(t,e,r){var n=t(\"../types\"),i=n.checkSubtype,a=n.ValueType,o=function(t,e){this.type=t,this.args=e};o.parse=function(t,e){if(t.length<2)return e.error(\"Expectected at least one argument.\");var r=null,n=e.expectedType;n&&\"value\"!==n.kind&&(r=n);for(var s=[],l=0,u=t.slice(1);l<u.length;l+=1){var c=u[l],h=e.parse(c,1+s.length,r,void 0,{omitTypeAnnotations:!0});if(!h)return null;r=r||h.type,s.push(h)}return n&&s.some(function(t){return i(n,t.type)})?new o(a,s):new o(r,s)},o.prototype.evaluate=function(t){for(var e=null,r=0,n=this.args;r<n.length&&null===(e=n[r].evaluate(t));r+=1);return e},o.prototype.eachChild=function(t){this.args.forEach(t)},o.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},e.exports=o},{\"../types\":146}],129:[function(t,e,r){var n=t(\"../types\"),i=n.ColorType,a=n.ValueType,o=n.NumberType,s=t(\"../values\"),l=s.Color,u=s.validateRGBA,c=t(\"../runtime_error\"),h={\"to-number\":o,\"to-color\":i},f=function(t,e){this.type=t,this.args=e};f.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");for(var r=t[0],n=h[r],i=[],o=1;o<t.length;o++){var s=e.parse(t[o],o,a);if(!s)return null;i.push(s)}return new f(n,i)},f.prototype.evaluate=function(t){if(\"color\"===this.type.kind){for(var e,r,n=0,i=this.args;n<i.length;n+=1)if(r=null,\"string\"==typeof(e=i[n].evaluate(t))){var a=t.parseColor(e);if(a)return a}else if(Array.isArray(e)&&!(r=e.length<3||e.length>4?\"Invalid rbga value \"+JSON.stringify(e)+\": expected an array containing either three or four numeric values.\":u(e[0],e[1],e[2],e[3])))return new l(e[0]/255,e[1]/255,e[2]/255,e[3]);throw new c(r||\"Could not parse color from value '\"+(\"string\"==typeof e?e:JSON.stringify(e))+\"'\")}for(var o=null,s=0,h=this.args;s<h.length;s+=1)if(null!==(o=h[s].evaluate(t))){var f=Number(o);if(!isNaN(f))return f}throw new c(\"Could not convert \"+JSON.stringify(o)+\" to number.\")},f.prototype.eachChild=function(t){this.args.forEach(t)},f.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},e.exports=f},{\"../runtime_error\":143,\"../types\":146,\"../values\":147}],130:[function(t,e,r){function n(t){return\"string\"===t.kind||\"number\"===t.kind||\"boolean\"===t.kind||\"null\"===t.kind}function i(t){return function(){function e(t,e){this.type=s,this.lhs=t,this.rhs=e}return e.parse=function(t,r){if(3!==t.length)return r.error(\"Expected two arguments.\");var i=r.parse(t[1],1,o);if(!i)return null;var a=r.parse(t[2],2,o);return a?n(i.type)||n(a.type)?i.type.kind!==a.type.kind&&\"value\"!==i.type.kind&&\"value\"!==a.type.kind?r.error(\"Cannot compare \"+l(i.type)+\" and \"+l(a.type)+\".\"):new e(i,a):r.error(\"Expected at least one argument to be a string, number, boolean, or null, but found (\"+l(i.type)+\", \"+l(a.type)+\") instead.\"):null},e.prototype.evaluate=function(e){return t(this.lhs.evaluate(e),this.rhs.evaluate(e))},e.prototype.eachChild=function(t){t(this.lhs),t(this.rhs)},e.prototype.possibleOutputs=function(){return[!0,!1]},e}()}var a=t(\"../types\"),o=a.ValueType,s=a.BooleanType,l=t(\"../types\").toString;e.exports={Equals:i(function(t,e){return t===e}),NotEquals:i(function(t,e){return t!==e})}},{\"../types\":146}],131:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=A(r,n,i,o);if(s)throw new E(s);return new M(r/255*o,n/255*o,i/255*o,o)}function i(t,e){return t in e}function a(t,e){var r=e[t];return void 0===r?null:r}function o(t,e){return e[0].evaluate(t).length}function s(t,e){var r=e[0],n=e[1];return r.evaluate(t)<n.evaluate(t)}function l(t,e){var r=e[0],n=e[1];return r.evaluate(t)>n.evaluate(t)}function u(t,e){var r=e[0],n=e[1];return r.evaluate(t)<=n.evaluate(t)}function c(t,e){var r=e[0],n=e[1];return r.evaluate(t)>=n.evaluate(t)}var h=t(\"../types\"),f=h.NumberType,p=h.StringType,d=h.BooleanType,g=h.ColorType,v=h.ObjectType,m=h.ValueType,y=h.ErrorType,x=h.array,b=h.toString,_=t(\"../values\"),w=_.typeOf,M=_.Color,A=_.validateRGBA,k=t(\"../compound_expression\"),T=k.CompoundExpression,S=k.varargs,E=t(\"../runtime_error\"),C=t(\"./let\"),L=t(\"./var\"),z=t(\"./literal\"),P=t(\"./assertion\"),I=t(\"./array\"),D=t(\"./coercion\"),O=t(\"./at\"),R=t(\"./match\"),F=t(\"./case\"),B=t(\"./step\"),N=t(\"./interpolate\"),j=t(\"./coalesce\"),V=t(\"./equals\"),U={\"==\":V.Equals,\"!=\":V.NotEquals,array:I,at:O,boolean:P,case:F,coalesce:j,interpolate:N,let:C,literal:z,match:R,number:P,object:P,step:B,string:P,\"to-color\":D,\"to-number\":D,var:L};T.register(U,{error:[y,[p],function(t,e){var r=e[0];throw new E(r.evaluate(t))}],typeof:[p,[m],function(t,e){var r=e[0];return b(w(r.evaluate(t)))}],\"to-string\":[p,[m],function(t,e){var r=e[0],n=typeof(r=r.evaluate(t));return null===r||\"string\"===n||\"number\"===n||\"boolean\"===n?String(r):r instanceof M?r.toString():JSON.stringify(r)}],\"to-boolean\":[d,[m],function(t,e){var r=e[0];return Boolean(r.evaluate(t))}],\"to-rgba\":[x(f,4),[g],function(t,e){var r=e[0].evaluate(t),n=r.r,i=r.g,a=r.b,o=r.a;return[255*n/o,255*i/o,255*a/o,o]}],rgb:[g,[f,f,f],n],rgba:[g,[f,f,f,f],n],length:{type:f,overloads:[[[p],o],[[x(m)],o]]},has:{type:d,overloads:[[[p],function(t,e){return i(e[0].evaluate(t),t.properties())}],[[p,v],function(t,e){var r=e[0],n=e[1];return i(r.evaluate(t),n.evaluate(t))}]]},get:{type:m,overloads:[[[p],function(t,e){return a(e[0].evaluate(t),t.properties())}],[[p,v],function(t,e){var r=e[0],n=e[1];return a(r.evaluate(t),n.evaluate(t))}]]},properties:[v,[],function(t){return t.properties()}],\"geometry-type\":[p,[],function(t){return t.geometryType()}],id:[m,[],function(t){return t.id()}],zoom:[f,[],function(t){return t.globals.zoom}],\"heatmap-density\":[f,[],function(t){return t.globals.heatmapDensity||0}],\"+\":[f,S(f),function(t,e){for(var r=0,n=0,i=e;n<i.length;n+=1)r+=i[n].evaluate(t);return r}],\"*\":[f,S(f),function(t,e){for(var r=1,n=0,i=e;n<i.length;n+=1)r*=i[n].evaluate(t);return r}],\"-\":{type:f,overloads:[[[f,f],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)-n.evaluate(t)}],[[f],function(t,e){return-e[0].evaluate(t)}]]},\"/\":[f,[f,f],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)/n.evaluate(t)}],\"%\":[f,[f,f],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)%n.evaluate(t)}],ln2:[f,[],function(){return Math.LN2}],pi:[f,[],function(){return Math.PI}],e:[f,[],function(){return Math.E}],\"^\":[f,[f,f],function(t,e){var r=e[0],n=e[1];return Math.pow(r.evaluate(t),n.evaluate(t))}],sqrt:[f,[f],function(t,e){var r=e[0];return Math.sqrt(r.evaluate(t))}],log10:[f,[f],function(t,e){var r=e[0];return Math.log10(r.evaluate(t))}],ln:[f,[f],function(t,e){var r=e[0];return Math.log(r.evaluate(t))}],log2:[f,[f],function(t,e){var r=e[0];return Math.log2(r.evaluate(t))}],sin:[f,[f],function(t,e){var r=e[0];return Math.sin(r.evaluate(t))}],cos:[f,[f],function(t,e){var r=e[0];return Math.cos(r.evaluate(t))}],tan:[f,[f],function(t,e){var r=e[0];return Math.tan(r.evaluate(t))}],asin:[f,[f],function(t,e){var r=e[0];return Math.asin(r.evaluate(t))}],acos:[f,[f],function(t,e){var r=e[0];return Math.acos(r.evaluate(t))}],atan:[f,[f],function(t,e){var r=e[0];return Math.atan(r.evaluate(t))}],min:[f,S(f),function(t,e){return Math.min.apply(Math,e.map(function(e){return e.evaluate(t)}))}],max:[f,S(f),function(t,e){return Math.max.apply(Math,e.map(function(e){return e.evaluate(t)}))}],\"filter-==\":[d,[p,m],function(t,e){var r=e[0],n=e[1];return t.properties()[r.value]===n.value}],\"filter-id-==\":[d,[m],function(t,e){var r=e[0];return t.id()===r.value}],\"filter-type-==\":[d,[p],function(t,e){var r=e[0];return t.geometryType()===r.value}],\"filter-<\":[d,[p,m],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<a}],\"filter-id-<\":[d,[m],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<i}],\"filter->\":[d,[p,m],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],\"filter-id->\":[d,[m],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],\"filter-<=\":[d,[p,m],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],\"filter-id-<=\":[d,[m],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],\"filter->=\":[d,[p,m],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],\"filter-id->=\":[d,[m],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],\"filter-has\":[d,[m],function(t,e){return e[0].value in t.properties()}],\"filter-has-id\":[d,[],function(t){return null!==t.id()}],\"filter-type-in\":[d,[x(p)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],\"filter-id-in\":[d,[x(m)],function(t,e){return e[0].value.indexOf(t.id())>=0}],\"filter-in-small\":[d,[p,x(m)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],\"filter-in-large\":[d,[p,x(m)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],\">\":{type:d,overloads:[[[f,f],l],[[p,p],l]]},\"<\":{type:d,overloads:[[[f,f],s],[[p,p],s]]},\">=\":{type:d,overloads:[[[f,f],c],[[p,p],c]]},\"<=\":{type:d,overloads:[[[f,f],u],[[p,p],u]]},all:{type:d,overloads:[[[d,d],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[S(d),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(!n[r].evaluate(t))return!1;return!0}]]},any:{type:d,overloads:[[[d,d],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)||n.evaluate(t)}],[S(d),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(n[r].evaluate(t))return!0;return!1}]]},\"!\":[d,[d],function(t,e){return!e[0].evaluate(t)}],upcase:[p,[p],function(t,e){return e[0].evaluate(t).toUpperCase()}],downcase:[p,[p],function(t,e){return e[0].evaluate(t).toLowerCase()}],concat:[p,S(p),function(t,e){return e.map(function(e){return e.evaluate(t)}).join(\"\")}]}),e.exports=U},{\"../compound_expression\":123,\"../runtime_error\":143,\"../types\":146,\"../values\":147,\"./array\":124,\"./assertion\":125,\"./at\":126,\"./case\":127,\"./coalesce\":128,\"./coercion\":129,\"./equals\":130,\"./interpolate\":132,\"./let\":133,\"./literal\":134,\"./match\":135,\"./step\":136,\"./var\":137}],132:[function(t,e,r){function n(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}var i=t(\"@mapbox/unitbezier\"),a=t(\"../../util/interpolate\"),o=t(\"../types\"),s=o.toString,l=o.NumberType,u=t(\"../stops\").findStopLessThanOrEqualTo,c=function(t,e,r,n){this.type=t,this.interpolation=e,this.input=r,this.labels=[],this.outputs=[];for(var i=0,a=n;i<a.length;i+=1){var o=a[i],s=o[0],l=o[1];this.labels.push(s),this.outputs.push(l)}};c.interpolationFactor=function(t,e,r,a){var o=0;if(\"exponential\"===t.name)o=n(e,t.base,r,a);else if(\"linear\"===t.name)o=n(e,1,r,a);else if(\"cubic-bezier\"===t.name){var s=t.controlPoints;o=new i(s[0],s[1],s[2],s[3]).solve(n(e,1,r,a))}return o},c.parse=function(t,e){var r=t[1],n=t[2],i=t.slice(3);if(!Array.isArray(r)||0===r.length)return e.error(\"Expected an interpolation type expression.\",1);if(\"linear\"===r[0])r={name:\"linear\"};else if(\"exponential\"===r[0]){var a=r[1];if(\"number\"!=typeof a)return e.error(\"Exponential interpolation requires a numeric base.\",1,1);r={name:\"exponential\",base:a}}else{if(\"cubic-bezier\"!==r[0])return e.error(\"Unknown interpolation type \"+String(r[0]),1,0);var o=r.slice(1);if(4!==o.length||o.some(function(t){return\"number\"!=typeof t||t<0||t>1}))return e.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);r={name:\"cubic-bezier\",controlPoints:o}}if(t.length-1<4)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");if(!(n=e.parse(n,2,l)))return null;var u=[],h=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(h=e.expectedType);for(var f=0;f<i.length;f+=2){var p=i[f],d=i[f+1],g=f+3,v=f+4;if(\"number\"!=typeof p)return e.error('Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',g);if(u.length&&u[u.length-1][0]>=p)return e.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',g);var m=e.parse(d,v,h);if(!m)return null;h=h||m.type,u.push([p,m])}return\"number\"===h.kind||\"color\"===h.kind||\"array\"===h.kind&&\"number\"===h.itemType.kind&&\"number\"==typeof h.N?new c(h,r,n,u):e.error(\"Type \"+s(h)+\" is not interpolatable.\")},c.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var o=u(e,n),s=e[o],l=e[o+1],h=c.interpolationFactor(this.interpolation,n,s,l),f=r[o].evaluate(t),p=r[o+1].evaluate(t);return a[this.type.kind.toLowerCase()](f,p,h)},c.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},c.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}));var t},e.exports=c},{\"../../util/interpolate\":158,\"../stops\":145,\"../types\":146,\"@mapbox/unitbezier\":7}],133:[function(t,e,r){var n=function(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e};n.prototype.evaluate=function(t){t.pushScope(this.bindings);var e=this.result.evaluate(t);return t.popScope(),e},n.prototype.eachChild=function(t){for(var e=0,r=this.bindings;e<r.length;e+=1)t(r[e][1]);t(this.result)},n.parse=function(t,e){if(t.length<4)return e.error(\"Expected at least 3 arguments, but found \"+(t.length-1)+\" instead.\");for(var r=[],i=1;i<t.length-1;i+=2){var a=t[i];if(\"string\"!=typeof a)return e.error(\"Expected string, but found \"+typeof a+\" instead.\",i);if(/[^a-zA-Z0-9_]/.test(a))return e.error(\"Variable names must contain only alphanumeric characters or '_'.\",i);var o=e.parse(t[i+1],i+1);if(!o)return null;r.push([a,o])}var s=e.parse(t[t.length-1],t.length-1,void 0,r);return s?new n(r,s):null},n.prototype.possibleOutputs=function(){return this.result.possibleOutputs()},e.exports=n},{}],134:[function(t,e,r){var n=t(\"../values\"),i=n.isValue,a=n.typeOf,o=function(t,e){this.type=t,this.value=e};o.parse=function(t,e){if(2!==t.length)return e.error(\"'literal' expression requires exactly one argument, but found \"+(t.length-1)+\" instead.\");if(!i(t[1]))return e.error(\"invalid value\");var r=t[1],n=a(r),s=e.expectedType;return\"array\"!==n.kind||0!==n.N||!s||\"array\"!==s.kind||\"number\"==typeof s.N&&0!==s.N||(n=s),new o(n,r)},o.prototype.evaluate=function(){return this.value},o.prototype.eachChild=function(){},o.prototype.possibleOutputs=function(){return[this.value]},e.exports=o},{\"../values\":147}],135:[function(t,e,r){var n=t(\"../values\").typeOf,i=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};i.parse=function(t,e){if(t.length<5)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if(t.length%2!=1)return e.error(\"Expected an even number of arguments.\");var r,a;e.expectedType&&\"value\"!==e.expectedType.kind&&(a=e.expectedType);for(var o={},s=[],l=2;l<t.length-1;l+=2){var u=t[l],c=t[l+1];Array.isArray(u)||(u=[u]);var h=e.concat(l);if(0===u.length)return h.error(\"Expected at least one branch label.\");for(var f=0,p=u;f<p.length;f+=1){var d=p[f];if(\"number\"!=typeof d&&\"string\"!=typeof d)return h.error(\"Branch labels must be numbers or strings.\");if(\"number\"==typeof d&&Math.abs(d)>Number.MAX_SAFE_INTEGER)return h.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(\"number\"==typeof d&&Math.floor(d)!==d)return h.error(\"Numeric branch labels must be integer values.\");if(r){if(h.checkSubtype(r,n(d)))return null}else r=n(d);if(void 0!==o[String(d)])return h.error(\"Branch labels must be unique.\");o[String(d)]=s.length}var g=e.parse(c,l,a);if(!g)return null;a=a||g.type,s.push(g)}var v=e.parse(t[1],1,r);if(!v)return null;var m=e.parse(t[t.length-1],t.length-1,a);return m?new i(r,a,v,o,s,m):null},i.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},i.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},i.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()})).concat(this.otherwise.possibleOutputs());var t},e.exports=i},{\"../values\":147}],136:[function(t,e,r){var n=t(\"../types\").NumberType,i=t(\"../stops\").findStopLessThanOrEqualTo,a=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n<i.length;n+=1){var a=i[n],o=a[0],s=a[1];this.labels.push(o),this.outputs.push(s)}};a.parse=function(t,e){var r=t[1],i=t.slice(2);if(t.length-1<4)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");if(!(r=e.parse(r,1,n)))return null;var o=[],s=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(s=e.expectedType),i.unshift(-1/0);for(var l=0;l<i.length;l+=2){var u=i[l],c=i[l+1],h=l+1,f=l+2;if(\"number\"!=typeof u)return e.error('Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',h);if(o.length&&o[o.length-1][0]>=u)return e.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',h);var p=e.parse(c,f,s);if(!p)return null;s=s||p.type,o.push([u,p])}return new a(s,r,o)},a.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var a=e.length;return n>=e[a-1]?r[a-1].evaluate(t):r[i(e,n)].evaluate(t)},a.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},a.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}));var t},e.exports=a},{\"../stops\":145,\"../types\":146}],137:[function(t,e,r){var n=function(t,e){this.type=e,this.name=t};n.parse=function(t,e){if(2!==t.length||\"string\"!=typeof t[1])return e.error(\"'var' expression requires exactly one string literal argument.\");var r=t[1];return e.scope.has(r)?new n(r,e.scope.get(r).type):e.error('Unknown variable \"'+r+'\". Make sure \"'+r+'\" has been bound in an enclosing \"let\" expression before using it.',1)},n.prototype.evaluate=function(t){return t.scope.get(this.name).evaluate(t)},n.prototype.eachChild=function(){},n.prototype.possibleOutputs=function(){return[void 0]},e.exports=n},{}],138:[function(t,e,r){var n=t(\"./scope\"),i=t(\"./values\").Color,a=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],o=function(){this.scope=new n,this._parseColorCache={}};o.prototype.id=function(){return this.feature&&\"id\"in this.feature?this.feature.id:null},o.prototype.geometryType=function(){return this.feature?\"number\"==typeof this.feature.type?a[this.feature.type]:this.feature.type:null},o.prototype.properties=function(){return this.feature&&this.feature.properties||{}},o.prototype.pushScope=function(t){this.scope=this.scope.concat(t)},o.prototype.popScope=function(){this.scope=this.scope.parent},o.prototype.parseColor=function(t){var e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=i.parse(t)),e},e.exports=o},{\"./scope\":144,\"./values\":147}],139:[function(t,e,r){function n(t){return Array.isArray(t)&&t.length>0&&\"string\"==typeof t[0]&&t[0]in g}function i(t,e,r){void 0===r&&(r={});var n=new l(g,[],function(t){var e={color:z,string:P,number:I,enum:P,boolean:D};return\"array\"===t.type?R(e[t.value]||O,t.length):e[t.type]||null}(e)),i=n.parse(t);return i?x(!1===r.handleErrors?new _(i):new w(i,e)):b(n.errors)}function a(t,e,r){if(void 0===r&&(r={}),\"error\"===(t=i(t,e,r)).result)return t;var n=t.value.expression,a=v.isFeatureConstant(n);if(!a&&!e[\"property-function\"])return b([new s(\"\",\"property expressions not supported\")]);var o=v.isGlobalPropertyConstant(n,[\"zoom\"]);if(!o&&!1===e[\"zoom-function\"])return b([new s(\"\",\"zoom expressions not supported\")]);var l=function t(e){var r=null;if(e instanceof d)r=t(e.result);else if(e instanceof p)for(var n=0,i=e.args;n<i.length;n+=1){var a=i[n];if(r=t(a))break}else(e instanceof h||e instanceof f)&&e.input instanceof c&&\"zoom\"===e.input.name&&(r=e);return r instanceof s?r:(e.eachChild(function(e){var n=t(e);n instanceof s?r=n:!r&&n?r=new s(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):r&&n&&r!==n&&(r=new s(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),r)}(n);return l||o?l instanceof s?b([l]):l instanceof f&&\"piecewise-constant\"===e.function?b([new s(\"\",'\"interpolate\" expressions cannot be used with this property')]):x(l?new A(a?\"camera\":\"composite\",t.value,l):new M(a?\"constant\":\"source\",t.value)):b([new s(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}var o=t(\"../util/extend\"),s=t(\"./parsing_error\"),l=t(\"./parsing_context\"),u=t(\"./evaluation_context\"),c=t(\"./compound_expression\").CompoundExpression,h=t(\"./definitions/step\"),f=t(\"./definitions/interpolate\"),p=t(\"./definitions/coalesce\"),d=t(\"./definitions/let\"),g=t(\"./definitions\"),v=t(\"./is_constant\"),m=t(\"./runtime_error\"),y=t(\"../util/result\"),x=y.success,b=y.error,_=function(t){this.expression=t};_.prototype.evaluate=function(t,e){return this._evaluator||(this._evaluator=new u),this._evaluator.globals=t,this._evaluator.feature=e,this.expression.evaluate(this._evaluator)};var w=function(t){function e(e,r){t.call(this,e),this._warningHistory={},this._defaultValue=function(t){return\"color\"===t.type&&T(t.default)?new E(0,0,0,0):\"color\"===t.type?E.parse(t.default)||null:void 0===t.default?null:t.default}(r),\"enum\"===r.type&&(this._enumValues=r.values)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.evaluate=function(t,e){this._evaluator||(this._evaluator=new u),this._evaluator.globals=t,this._evaluator.feature=e;try{var r=this.expression.evaluate(this._evaluator);if(null===r||void 0===r)return this._defaultValue;if(this._enumValues&&!(r in this._enumValues))throw new m(\"Expected value to be one of \"+Object.keys(this._enumValues).map(function(t){return JSON.stringify(t)}).join(\", \")+\", but found \"+JSON.stringify(r)+\" instead.\");return r}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\"undefined\"!=typeof console&&console.warn(t.message)),this._defaultValue}},e}(_),M=function(t,e){this.kind=t,this._styleExpression=e};M.prototype.evaluate=function(t,e){return this._styleExpression.evaluate(t,e)};var A=function(t,e,r){this.kind=t,this.zoomStops=r.labels,this._styleExpression=e,r instanceof f&&(this._interpolationType=r.interpolation)};A.prototype.evaluate=function(t,e){return this._styleExpression.evaluate(t,e)},A.prototype.interpolationFactor=function(t,e,r){return this._interpolationType?f.interpolationFactor(this._interpolationType,t,e,r):0};var k=t(\"../function\"),T=k.isFunction,S=k.createFunction,E=t(\"./values\").Color,C=function(t,e){this._parameters=t,this._specification=e,o(this,S(this._parameters,this._specification))};C.deserialize=function(t){return new C(t._parameters,t._specification)},C.serialize=function(t){return{_parameters:t._parameters,_specification:t._specification}},e.exports={StyleExpression:_,StyleExpressionWithErrorHandling:w,isExpression:n,createExpression:i,createPropertyExpression:a,normalizePropertyExpression:function(t,e){if(T(t))return new C(t,e);if(n(t)){var r=a(t,e);if(\"error\"===r.result)throw new Error(r.value.map(function(t){return t.key+\": \"+t.message}).join(\", \"));return r.value}var i=t;return\"string\"==typeof t&&\"color\"===e.type&&(i=E.parse(t)),{kind:\"constant\",evaluate:function(){return i}}},ZoomConstantExpression:M,ZoomDependentExpression:A,StylePropertyFunction:C};var L=t(\"./types\"),z=L.ColorType,P=L.StringType,I=L.NumberType,D=L.BooleanType,O=L.ValueType,R=L.array},{\"../function\":149,\"../util/extend\":156,\"../util/result\":160,\"./compound_expression\":123,\"./definitions\":131,\"./definitions/coalesce\":128,\"./definitions/interpolate\":132,\"./definitions/let\":133,\"./definitions/step\":136,\"./evaluation_context\":138,\"./is_constant\":140,\"./parsing_context\":141,\"./parsing_error\":142,\"./runtime_error\":143,\"./types\":146,\"./values\":147}],140:[function(t,e,r){var n=t(\"./compound_expression\").CompoundExpression;e.exports={isFeatureConstant:function t(e){if(e instanceof n){if(\"get\"===e.name&&1===e.args.length)return!1;if(\"has\"===e.name&&1===e.args.length)return!1;if(\"properties\"===e.name||\"geometry-type\"===e.name||\"id\"===e.name)return!1;if(/^filter-/.test(e.name))return!1}var r=!0;return e.eachChild(function(e){r&&!t(e)&&(r=!1)}),r},isGlobalPropertyConstant:function t(e,r){if(e instanceof n&&r.indexOf(e.name)>=0)return!1;var i=!0;return e.eachChild(function(e){i&&!t(e,r)&&(i=!1)}),i}}},{\"./compound_expression\":123}],141:[function(t,e,r){var n=t(\"./scope\"),i=t(\"./types\").checkSubtype,a=t(\"./parsing_error\"),o=t(\"./definitions/literal\"),s=t(\"./definitions/assertion\"),l=t(\"./definitions/array\"),u=t(\"./definitions/coercion\"),c=function(t,e,r,i,a){void 0===e&&(e=[]),void 0===i&&(i=new n),void 0===a&&(a=[]),this.registry=t,this.path=e,this.key=e.map(function(t){return\"[\"+t+\"]\"}).join(\"\"),this.scope=i,this.errors=a,this.expectedType=r};c.prototype.parse=function(e,r,n,i,a){void 0===a&&(a={});var c=this;if(r&&(c=c.concat(r,n,i)),null!==e&&\"string\"!=typeof e&&\"boolean\"!=typeof e&&\"number\"!=typeof e||(e=[\"literal\",e]),Array.isArray(e)){if(0===e.length)return c.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var h=e[0];if(\"string\"!=typeof h)return c.error(\"Expression name must be a string, but found \"+typeof h+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var f=c.registry[h];if(f){var p=f.parse(e,c);if(!p)return null;if(c.expectedType){var d=c.expectedType,g=p.type;if(\"string\"!==d.kind&&\"number\"!==d.kind&&\"boolean\"!==d.kind||\"value\"!==g.kind)if(\"array\"===d.kind&&\"value\"===g.kind)a.omitTypeAnnotations||(p=new l(d,p));else if(\"color\"!==d.kind||\"value\"!==g.kind&&\"string\"!==g.kind){if(c.checkSubtype(c.expectedType,p.type))return null}else a.omitTypeAnnotations||(p=new u(d,[p]));else a.omitTypeAnnotations||(p=new s(d,[p]))}if(!(p instanceof o)&&function(e){var r=t(\"./compound_expression\").CompoundExpression,n=t(\"./is_constant\"),i=n.isGlobalPropertyConstant,a=n.isFeatureConstant;if(e instanceof t(\"./definitions/var\"))return!1;if(e instanceof r&&\"error\"===e.name)return!1;var s=!0;return e.eachChild(function(t){t instanceof o||(s=!1)}),!!s&&a(e)&&i(e,[\"zoom\",\"heatmap-density\"])}(p)){var v=new(t(\"./evaluation_context\"));try{p=new o(p.type,p.evaluate(v))}catch(e){return c.error(e.message),null}}return p}return c.error('Unknown expression \"'+h+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}return void 0===e?c.error(\"'undefined' value invalid. Use null instead.\"):\"object\"==typeof e?c.error('Bare objects invalid. Use [\"literal\", {...}] instead.'):c.error(\"Expected an array, but found \"+typeof e+\" instead.\")},c.prototype.concat=function(t,e,r){var n=\"number\"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new c(this.registry,n,e||null,i,this.errors)},c.prototype.error=function(t){for(var e=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];var i=\"\"+this.key+r.map(function(t){return\"[\"+t+\"]\"}).join(\"\");this.errors.push(new a(i,t))},c.prototype.checkSubtype=function(t,e){var r=i(t,e);return r&&this.error(r),r},e.exports=c},{\"./compound_expression\":123,\"./definitions/array\":124,\"./definitions/assertion\":125,\"./definitions/coercion\":129,\"./definitions/literal\":134,\"./definitions/var\":137,\"./evaluation_context\":138,\"./is_constant\":140,\"./parsing_error\":142,\"./scope\":144,\"./types\":146}],142:[function(t,e,r){var n=function(t){function e(e,r){t.call(this,r),this.message=r,this.key=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error);e.exports=n},{}],143:[function(t,e,r){var n=function(t){this.name=\"ExpressionEvaluationError\",this.message=t};n.prototype.toJSON=function(){return this.message},e.exports=n},{}],144:[function(t,e,r){var n=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;r<n.length;r+=1){var i=n[r],a=i[0],o=i[1];this.bindings[a]=o}};n.prototype.concat=function(t){return new n(this,t)},n.prototype.get=function(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(t+\" not found in scope.\")},n.prototype.has=function(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)},e.exports=n},{}],145:[function(t,e,r){var n=t(\"./runtime_error\");e.exports={findStopLessThanOrEqualTo:function(t,e){for(var r,i,a=0,o=t.length-1,s=0;a<=o;){if(r=t[s=Math.floor((a+o)/2)],i=t[s+1],e===r||e>r&&e<i)return s;if(r<e)a=s+1;else{if(!(r>e))throw new n(\"Input is not a number.\");o=s-1}}return Math.max(s-1,0)}}},{\"./runtime_error\":143}],146:[function(t,e,r){function n(t,e){return{kind:\"array\",itemType:t,N:e}}function i(t){if(\"array\"===t.kind){var e=i(t.itemType);return\"number\"==typeof t.N?\"array<\"+e+\", \"+t.N+\">\":\"value\"===t.itemType.kind?\"array\":\"array<\"+e+\">\"}return t.kind}var a={kind:\"null\"},o={kind:\"number\"},s={kind:\"string\"},l={kind:\"boolean\"},u={kind:\"color\"},c={kind:\"object\"},h={kind:\"value\"},f=[a,o,s,l,u,c,n(h)];e.exports={NullType:a,NumberType:o,StringType:s,BooleanType:l,ColorType:u,ObjectType:c,ValueType:h,array:n,ErrorType:{kind:\"error\"},toString:i,checkSubtype:function t(e,r){if(\"error\"===r.kind)return null;if(\"array\"===e.kind){if(\"array\"===r.kind&&!t(e.itemType,r.itemType)&&(\"number\"!=typeof e.N||e.N===r.N))return null}else{if(e.kind===r.kind)return null;if(\"value\"===e.kind)for(var n=0,a=f;n<a.length;n+=1)if(!t(a[n],r))return null}return\"Expected \"+i(e)+\" but found \"+i(r)+\" instead.\"}}},{}],147:[function(t,e,r){var n=t(\"../util/color\"),i=t(\"./types\"),a=i.NullType,o=i.NumberType,s=i.StringType,l=i.BooleanType,u=i.ColorType,c=i.ObjectType,h=i.ValueType,f=i.array;e.exports={Color:n,validateRGBA:function(t,e,r,n){return\"number\"==typeof t&&t>=0&&t<=255&&\"number\"==typeof e&&e>=0&&e<=255&&\"number\"==typeof r&&r>=0&&r<=255?void 0===n||\"number\"==typeof n&&n>=0&&n<=1?null:\"Invalid rgba value [\"+[t,e,r,n].join(\", \")+\"]: 'a' must be between 0 and 1.\":\"Invalid rgba value [\"+(\"number\"==typeof n?[t,e,r,n]:[t,e,r]).join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"},isValue:function t(e){if(null===e)return!0;if(\"string\"==typeof e)return!0;if(\"boolean\"==typeof e)return!0;if(\"number\"==typeof e)return!0;if(e instanceof n)return!0;if(Array.isArray(e)){for(var r=0,i=e;r<i.length;r+=1)if(!t(i[r]))return!1;return!0}if(\"object\"==typeof e){for(var a in e)if(!t(e[a]))return!1;return!0}return!1},typeOf:function t(e){if(null===e)return a;if(\"string\"==typeof e)return s;if(\"boolean\"==typeof e)return l;if(\"number\"==typeof e)return o;if(e instanceof n)return u;if(Array.isArray(e)){for(var r,i=e.length,p=0,d=e;p<d.length;p+=1){var g=t(d[p]);if(r){if(r===g)continue;r=h;break}r=g}return f(r||h,i)}return c}}},{\"../util/color\":153,\"./types\":146}],148:[function(t,e,r){function n(t){if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case\"has\":return t.length>=2&&\"$id\"!==t[1]&&\"$type\"!==t[1];case\"in\":case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return 3===t.length&&(Array.isArray(t[1])||Array.isArray(t[2]));case\"any\":case\"all\":for(var e=0,r=t.slice(1);e<r.length;e+=1){var i=r[e];if(!n(i)&&\"boolean\"!=typeof i)return!1}return!0;default:return!0}}function i(t,e){return t<e?-1:t>e?1:0}function a(t){if(!t)return!0;var e=t[0];return t.length<=1?\"any\"!==e:\"==\"===e?o(t[1],t[2],\"==\"):\"!=\"===e?u(o(t[1],t[2],\"==\")):\"<\"===e||\">\"===e||\"<=\"===e||\">=\"===e?o(t[1],t[2],e):\"any\"===e?function(t){return[\"any\"].concat(t.map(a))}(t.slice(1)):\"all\"===e?[\"all\"].concat(t.slice(1).map(a)):\"none\"===e?[\"all\"].concat(t.slice(1).map(a).map(u)):\"in\"===e?s(t[1],t.slice(2)):\"!in\"===e?u(s(t[1],t.slice(2))):\"has\"===e?l(t[1]):\"!has\"!==e||u(l(t[1]))}function o(t,e,r){switch(t){case\"$type\":return[\"filter-type-\"+r,e];case\"$id\":return[\"filter-id-\"+r,e];default:return[\"filter-\"+r,t,e]}}function s(t,e){if(0===e.length)return!1;switch(t){case\"$type\":return[\"filter-type-in\",[\"literal\",e]];case\"$id\":return[\"filter-id-in\",[\"literal\",e]];default:return e.length>200&&!e.some(function(t){return typeof t!=typeof e[0]})?[\"filter-in-large\",t,[\"literal\",e.sort(i)]]:[\"filter-in-small\",t,[\"literal\",e]]}}function l(t){switch(t){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",t]}}function u(t){return[\"!\",t]}var c=t(\"../expression\").createExpression;e.exports=function(t){if(!t)return function(){return!0};n(t)||(t=a(t));var e=c(t,h);if(\"error\"===e.result)throw new Error(e.value.map(function(t){return t.key+\": \"+t.message}).join(\", \"));return function(t,r){return e.value.evaluate(t,r)}},e.exports.isExpressionFilter=n;var h={type:\"boolean\",default:!1,function:!0,\"property-function\":!0,\"zoom-function\":!0}},{\"../expression\":139}],149:[function(t,e,r){function n(t){return t}function i(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function a(t,e,r,n,a){return i(typeof r===a?n[r]:void 0,t.default,e.default)}function o(t,e,r){if(\"number\"!==p(r))return i(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];var a=u(t.stops,r);return t.stops[a][1]}function s(t,e,r){var a=void 0!==t.base?t.base:1;if(\"number\"!==p(r))return i(t.default,e.default);var o=t.stops.length;if(1===o)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[o-1][0])return t.stops[o-1][1];var s=u(t.stops,r),l=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,a,t.stops[s][0],t.stops[s+1][0]),h=t.stops[s][1],f=t.stops[s+1][1],g=d[e.type]||n;if(t.colorSpace&&\"rgb\"!==t.colorSpace){var v=c[t.colorSpace];g=function(t,e){return v.reverse(v.interpolate(v.forward(t),v.forward(e),l))}}return\"function\"==typeof h.evaluate?{evaluate:function(){for(var t=arguments,e=[],r=arguments.length;r--;)e[r]=t[r];var n=h.evaluate.apply(void 0,e),i=f.evaluate.apply(void 0,e);if(void 0!==n&&void 0!==i)return g(n,i,l)}}:g(h,f,l)}function l(t,e,r){return\"color\"===e.type?r=h.parse(r):p(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0),i(r,t.default,e.default)}function u(t,e){for(var r,n,i=0,a=t.length-1,o=0;i<=a;){if(r=t[o=Math.floor((i+a)/2)][0],n=t[o+1][0],e===r||e>r&&e<n)return o;r<e?i=o+1:r>e&&(a=o-1)}return Math.max(o-1,0)}var c=t(\"../util/color_spaces\"),h=t(\"../util/color\"),f=t(\"../util/extend\"),p=t(\"../util/get_type\"),d=t(\"../util/interpolate\"),g=t(\"../expression/definitions/interpolate\");e.exports={createFunction:function t(e,r){var n,u,p,d=\"color\"===r.type,v=e.stops&&\"object\"==typeof e.stops[0][0],m=v||void 0!==e.property,y=v||!m,x=e.type||(\"interpolated\"===r.function?\"exponential\":\"interval\");if(d&&((e=f({},e)).stops&&(e.stops=e.stops.map(function(t){return[t[0],h.parse(t[1])]})),e.default?e.default=h.parse(e.default):e.default=h.parse(r.default)),e.colorSpace&&\"rgb\"!==e.colorSpace&&!c[e.colorSpace])throw new Error(\"Unknown color space: \"+e.colorSpace);if(\"exponential\"===x)n=s;else if(\"interval\"===x)n=o;else if(\"categorical\"===x){n=a,u=Object.create(null);for(var b=0,_=e.stops;b<_.length;b+=1){var w=_[b];u[w[0]]=w[1]}p=typeof e.stops[0][0]}else{if(\"identity\"!==x)throw new Error('Unknown function type \"'+x+'\"');n=l}if(v){for(var M={},A=[],k=0;k<e.stops.length;k++){var T=e.stops[k],S=T[0].zoom;void 0===M[S]&&(M[S]={zoom:S,type:e.type,property:e.property,default:e.default,stops:[]},A.push(S)),M[S].stops.push([T[0].value,T[1]])}for(var E=[],C=0,L=A;C<L.length;C+=1){var z=L[C];E.push([M[z].zoom,t(M[z],r)])}return{kind:\"composite\",interpolationFactor:g.interpolationFactor.bind(void 0,{name:\"linear\"}),zoomStops:E.map(function(t){return t[0]}),evaluate:function(t,n){var i=t.zoom;return s({stops:E,base:e.base},r,i).evaluate(i,n)}}}return y?{kind:\"camera\",interpolationFactor:\"exponential\"===x?g.interpolationFactor.bind(void 0,{name:\"exponential\",base:void 0!==e.base?e.base:1}):function(){return 0},zoomStops:e.stops.map(function(t){return t[0]}),evaluate:function(t){var i=t.zoom;return n(e,r,i,u,p)}}:{kind:\"source\",evaluate:function(t,a){var o=a&&a.properties?a.properties[e.property]:void 0;return void 0===o?i(e.default,r.default):n(e,r,o,u,p)}}},isFunction:function(t){return\"object\"==typeof t&&null!==t&&!Array.isArray(t)}}},{\"../expression/definitions/interpolate\":132,\"../util/color\":153,\"../util/color_spaces\":154,\"../util/extend\":156,\"../util/get_type\":157,\"../util/interpolate\":158}],150:[function(t,e,r){function n(t){var e=typeof t;if(\"number\"===e||\"boolean\"===e||\"string\"===e||void 0===t||null===t)return JSON.stringify(t);if(Array.isArray(t)){for(var r=\"[\",i=0,a=t;i<a.length;i+=1)r+=n(a[i])+\",\";return r+\"]\"}for(var o=Object.keys(t).sort(),s=\"{\",l=0;l<o.length;l++)s+=JSON.stringify(o[l])+\":\"+n(t[o[l]])+\",\";return s+\"}\"}function i(t){for(var e=\"\",r=0,i=a;r<i.length;r+=1)e+=\"/\"+n(t[i[r]]);return e}var a=t(\"./util/ref_properties\");e.exports=function(t){for(var e={},r=0;r<t.length;r++){var n=i(t[r]),a=e[n];a||(a=e[n]=[]),a.push(t[r])}var o=[];for(var s in e)o.push(e[s]);return o}},{\"./util/ref_properties\":159}],151:[function(t,e,r){e.exports=t(\"./v8.json\")},{\"./v8.json\":152}],152:[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\"},light:{type:\"light\"},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_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\",\"source_canvas\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.0511,180,85.0511]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.0511,180,85.0511]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.0511,180,85.0511]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{type:\"*\"},maxzoom:{type:\"number\",default:18},buffer:{type:\"number\",default:128,maximum:512,minimum:0},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},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\"}}},source_canvas:{type:{required:!0,type:\"enum\",values:{canvas:{}}},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}},animate:{type:\"boolean\",default:\"true\"},canvas:{type:\"string\",required:!0}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_fill:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_circle:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_line:{\"line-cap\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-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,requires:[{\"line-join\":\"miter\"}]},\"line-round-limit\":{type:\"number\",default:1.05,function:\"interpolated\",\"zoom-function\":!0,requires:[{\"line-join\":\"round\"}]},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{point:{},line:{}},default:\"point\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,function:\"interpolated\",\"zoom-function\":!0,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}]},\"symbol-avoid-edges\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1},\"icon-allow-overlap\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"icon-image\"]},\"icon-ignore-placement\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"icon-image\"]},\"icon-optional\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"icon-image\",\"text-field\"]},\"icon-rotation-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"]},\"icon-size\":{type:\"number\",default:1,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,units:\"factor of the original icon size\",requires:[\"icon-image\"]},\"icon-text-fit\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{none:{},width:{},height:{},both:{}},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,requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}]},\"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,units:\"pixels\",requires:[\"icon-image\"]},\"icon-keep-upright\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-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\"]},\"icon-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:[\"icon-image\"]},\"icon-pitch-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"]},\"text-pitch-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"]},\"text-rotation-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{},auto:{}},default:\"auto\",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:\"ems\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",function:\"interpolated\",\"zoom-function\":!0,requires:[\"text-field\"]},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",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,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,requires:[\"text-field\"]},\"text-keep-upright\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-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,default:!1,requires:[\"text-field\"]},\"text-ignore-placement\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"text-field\"]},\"text-optional\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"text-field\",\"icon-image\"]},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_hillshade:{visibility:{type:\"enum\",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:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:22,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},expression_name:{type:\"enum\",values:{let:{group:\"Variable binding\"},var:{group:\"Variable binding\"},literal:{group:\"Types\"},array:{group:\"Types\"},at:{group:\"Lookup\"},case:{group:\"Decision\"},match:{group:\"Decision\"},coalesce:{group:\"Decision\"},step:{group:\"Ramps, scales, curves\"},interpolate:{group:\"Ramps, scales, curves\"},ln2:{group:\"Math\"},pi:{group:\"Math\"},e:{group:\"Math\"},typeof:{group:\"Types\"},string:{group:\"Types\"},number:{group:\"Types\"},boolean:{group:\"Types\"},object:{group:\"Types\"},\"to-string\":{group:\"Types\"},\"to-number\":{group:\"Types\"},\"to-boolean\":{group:\"Types\"},\"to-rgba\":{group:\"Color\"},\"to-color\":{group:\"Types\"},rgb:{group:\"Color\"},rgba:{group:\"Color\"},get:{group:\"Lookup\"},has:{group:\"Lookup\"},length:{group:\"Lookup\"},properties:{group:\"Feature data\"},\"geometry-type\":{group:\"Feature data\"},id:{group:\"Feature data\"},zoom:{group:\"Zoom\"},\"heatmap-density\":{group:\"Heatmap\"},\"+\":{group:\"Math\"},\"*\":{group:\"Math\"},\"-\":{group:\"Math\"},\"/\":{group:\"Math\"},\"%\":{group:\"Math\"},\"^\":{group:\"Math\"},sqrt:{group:\"Math\"},log10:{group:\"Math\"},ln:{group:\"Math\"},log2:{group:\"Math\"},sin:{group:\"Math\"},cos:{group:\"Math\"},tan:{group:\"Math\"},asin:{group:\"Math\"},acos:{group:\"Math\"},atan:{group:\"Math\"},min:{group:\"Math\"},max:{group:\"Math\"},\"==\":{group:\"Decision\"},\"!=\":{group:\"Decision\"},\">\":{group:\"Decision\"},\"<\":{group:\"Decision\"},\">=\":{group:\"Decision\"},\"<=\":{group:\"Decision\"},all:{group:\"Decision\"},any:{group:\"Decision\"},\"!\":{group:\"Decision\"},upcase:{group:\"String\"},downcase:{group:\"String\"},concat:{group:\"String\"}}},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},transition:!1,\"zoom-function\":!0,\"property-function\":!1,function:\"piecewise-constant\"},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",transition:!0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1},color:{type:\"color\",default:\"#ffffff\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1,transition:!0},intensity:{type:\"number\",default:.5,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1,transition:!0}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-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,transition:!0,units:\"pixels\"},\"fill-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"]},\"fill-pattern\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,transition:!0}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1,default:1,minimum:0,maximum:1,transition:!0},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}]},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,transition:!0,units:\"pixels\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"]},\"fill-extrusion-pattern\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,transition:!0},\"fill-extrusion-height\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,default:0,minimum:0,units:\"meters\",transition:!0},\"fill-extrusion-base\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"]}},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,transition:!0,units:\"pixels\"},\"line-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-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,minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}]},\"line-pattern\":{type:\"string\",function:\"piecewise-constant\",\"zoom-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,transition:!0,units:\"pixels\"},\"circle-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"]},\"circle-pitch-scale\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\"},\"circle-pitch-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"viewport\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!1},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1,transition:!0},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],function:\"interpolated\",\"zoom-function\":!1,\"property-function\":!1,transition:!1},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1,transition:!0}},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,transition:!0,units:\"pixels\",requires:[\"icon-image\"]},\"icon-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-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,transition:!0,units:\"pixels\",requires:[\"text-field\"]},\"text-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-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:!1,units:\"milliseconds\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,function:\"interpolated\",\"zoom-function\":!0,transition:!1},\"hillshade-illumination-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"viewport\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,transition:!0}},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\"}}}},{}],153:[function(t,e,r){var n=t(\"csscolorparser\").parseCSSColor,i=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};i.parse=function(t){if(t){if(t instanceof i)return t;if(\"string\"==typeof t){var e=n(t);if(e)return new i(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},i.prototype.toString=function(){var t=this;return\"rgba(\"+[this.r,this.g,this.b].map(function(e){return Math.round(255*e/t.a)}).concat(this.a).join(\",\")+\")\"},i.black=new i(0,0,0,1),i.white=new i(1,1,1,1),i.transparent=new i(0,0,0,0),e.exports=i},{csscolorparser:13}],154:[function(t,e,r){function n(t){return t>m?Math.pow(t,1/3):t/v+d}function i(t){return t>g?t*t*t:v*(t-d)}function a(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function o(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function s(t){var e=o(t.r),r=o(t.g),i=o(t.b),a=n((.4124564*e+.3575761*r+.1804375*i)/h),s=n((.2126729*e+.7151522*r+.072175*i)/f);return{l:116*s-16,a:500*(a-s),b:200*(s-n((.0193339*e+.119192*r+.9503041*i)/p)),alpha:t.a}}function l(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=f*i(e),r=h*i(r),n=p*i(n),new u(a(3.2404542*r-1.5371385*e-.4985314*n),a(-.969266*r+1.8760108*e+.041556*n),a(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}var u=t(\"./color\"),c=t(\"./interpolate\").number,h=.95047,f=1,p=1.08883,d=4/29,g=6/29,v=3*g*g,m=g*g*g,y=Math.PI/180,x=180/Math.PI;e.exports={lab:{forward:s,reverse:l,interpolate:function(t,e,r){return{l:c(t.l,e.l,r),a:c(t.a,e.a,r),b:c(t.b,e.b,r),alpha:c(t.alpha,e.alpha,r)}}},hcl:{forward:function(t){var e=s(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*x;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*y,r=t.c;return l({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:function(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}(t.h,e.h,r),c:c(t.c,e.c,r),l:c(t.l,e.l,r),alpha:c(t.alpha,e.alpha,r)}}}}},{\"./color\":153,\"./interpolate\":158}],155:[function(t,e,r){e.exports=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}},{}],156:[function(t,e,r){e.exports=function(t){for(var e=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];for(var i=0,a=r;i<a.length;i+=1){var o=a[i];for(var s in o)t[s]=o[s]}return t}},{}],157:[function(t,e,r){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}},{}],158:[function(t,e,r){function n(t,e,r){return t*(1-r)+e*r}var i=t(\"./color\");e.exports={number:n,color:function(t,e,r){return new i(n(t.r,e.r,r),n(t.g,e.g,r),n(t.b,e.b,r),n(t.a,e.a,r))},array:function(t,e,r){return t.map(function(t,i){return n(t,e[i],r)})}}},{\"./color\":153}],159:[function(t,e,r){e.exports=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"]},{}],160:[function(t,e,r){e.exports={success:function(t){return{result:\"success\",value:t}},error:function(t){return{result:\"error\",value:t}}}},{}],161:[function(t,e,r){function n(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}e.exports=n,e.exports.deep=function t(e){return Array.isArray(e)?e.map(t):n(e)}},{}],162:[function(t,e,r){var n=t(\"../util/extend\"),i=t(\"../util/unbundle_jsonlint\"),a=t(\"../expression\").isExpression,o=t(\"../function\").isFunction;e.exports=function(e){var r=t(\"./validate_function\"),s=t(\"./validate_expression\"),l=t(\"./validate_object\"),u={\"*\":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\"),light:t(\"./validate_light\"),string:t(\"./validate_string\")},c=e.value,h=e.valueSpec,f=e.styleSpec;return h.function&&o(i(c))?r(e):h.function&&a(i.deep(c))?s(e):h.type&&u[h.type]?u[h.type](e):l(n({},e,{valueSpec:h.type?f[h.type]:h}))}},{\"../expression\":139,\"../function\":149,\"../util/extend\":156,\"../util/unbundle_jsonlint\":161,\"./validate_array\":163,\"./validate_boolean\":164,\"./validate_color\":165,\"./validate_constants\":166,\"./validate_enum\":167,\"./validate_expression\":168,\"./validate_filter\":169,\"./validate_function\":170,\"./validate_layer\":172,\"./validate_light\":174,\"./validate_number\":175,\"./validate_object\":176,\"./validate_source\":179,\"./validate_string\":180}],163:[function(t,e,r){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, \"+n(e)+\" found\")];if(r.length&&e.length!==r.length)return[new a(l,e,\"array length \"+r.length+\" expected, length \"+e.length+\" found\")];if(r[\"min-length\"]&&e.length<r[\"min-length\"])return[new a(l,e,\"array length at least \"+r[\"min-length\"]+\" expected, length \"+e.length+\" found\")];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\":122,\"../util/get_type\":157,\"./validate\":162}],164:[function(t,e,r){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, \"+a+\" found\")]:[]}},{\"../error/validation_error\":122,\"../util/get_type\":157}],165:[function(t,e,r){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, \"+o+\" found\")]:null===a(r)?[new n(e,r,'color expected, \"'+r+'\" found')]:[]}},{\"../error/validation_error\":122,\"../util/get_type\":157,csscolorparser:13}],166:[function(t,e,r){var n=t(\"../error/validation_error\");e.exports=function(t){var e=t.key,r=t.value;return r?[new n(e,r,\"constants have been deprecated as of v8\")]:[]}},{\"../error/validation_error\":122}],167:[function(t,e,r){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 Array.isArray(a.values)?-1===a.values.indexOf(i(r))&&o.push(new n(e,r,\"expected one of [\"+a.values.join(\", \")+\"], \"+JSON.stringify(r)+\" found\")):-1===Object.keys(a.values).indexOf(i(r))&&o.push(new n(e,r,\"expected one of [\"+Object.keys(a.values).join(\", \")+\"], \"+JSON.stringify(r)+\" found\")),o}},{\"../error/validation_error\":122,\"../util/unbundle_jsonlint\":161}],168:[function(t,e,r){var n=t(\"../error/validation_error\"),i=t(\"../expression\"),a=i.createExpression,o=i.createPropertyExpression,s=t(\"../util/unbundle_jsonlint\");e.exports=function(t){var e=(\"property\"===t.expressionContext?o:a)(s.deep(t.value),t.valueSpec);return\"error\"===e.result?e.value.map(function(e){return new n(\"\"+t.key+e.key,t.value,e.message)}):\"property\"===t.expressionContext&&\"text-font\"===t.propertyKey&&-1!==e.value._styleExpression.expression.possibleOutputs().indexOf(void 0)?[new n(t.key,t.value,'Invalid data expression for \"text-font\". Output values must be contained as literals within the expression.')]:[]}},{\"../error/validation_error\":122,\"../expression\":139,\"../util/unbundle_jsonlint\":161}],169:[function(t,e,r){var n=t(\"../error/validation_error\"),i=t(\"./validate_expression\"),a=t(\"./validate_enum\"),o=t(\"../util/get_type\"),s=t(\"../util/unbundle_jsonlint\"),l=t(\"../util/extend\"),u=t(\"../feature_filter\").isExpressionFilter;e.exports=function(t){return u(s.deep(t.value))?i(l({},t,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):function t(e){var r=e.value,i=e.key;if(\"array\"!==o(r))return[new n(i,r,\"array expected, \"+o(r)+\" found\")];var l,u=e.styleSpec,c=[];if(r.length<1)return[new n(i,r,\"filter array must have at least 1 element\")];switch(c=c.concat(a({key:i+\"[0]\",value:r[0],valueSpec:u.filter_operator,style:e.style,styleSpec:e.styleSpec})),s(r[0])){case\"<\":case\"<=\":case\">\":case\">=\":r.length>=2&&\"$type\"===s(r[1])&&c.push(new n(i,r,'\"$type\" cannot be use with operator \"'+r[0]+'\"'));case\"==\":case\"!=\":3!==r.length&&c.push(new n(i,r,'filter array for operator \"'+r[0]+'\" must have 3 elements'));case\"in\":case\"!in\":r.length>=2&&\"string\"!==(l=o(r[1]))&&c.push(new n(i+\"[1]\",r[1],\"string expected, \"+l+\" found\"));for(var h=2;h<r.length;h++)l=o(r[h]),\"$type\"===s(r[1])?c=c.concat(a({key:i+\"[\"+h+\"]\",value:r[h],valueSpec:u.geometry_type,style:e.style,styleSpec:e.styleSpec})):\"string\"!==l&&\"number\"!==l&&\"boolean\"!==l&&c.push(new n(i+\"[\"+h+\"]\",r[h],\"string, number, or boolean expected, \"+l+\" found\"));break;case\"any\":case\"all\":case\"none\":for(var f=1;f<r.length;f++)c=c.concat(t({key:i+\"[\"+f+\"]\",value:r[f],style:e.style,styleSpec:e.styleSpec}));break;case\"has\":case\"!has\":l=o(r[1]),2!==r.length?c.push(new n(i,r,'filter array for \"'+r[0]+'\" operator must have 2 elements')):\"string\"!==l&&c.push(new n(i+\"[1]\",r[1],\"string expected, \"+l+\" found\"))}return c}(t)}},{\"../error/validation_error\":122,\"../feature_filter\":148,\"../util/extend\":156,\"../util/get_type\":157,\"../util/unbundle_jsonlint\":161,\"./validate_enum\":167,\"./validate_expression\":168}],170:[function(t,e,r){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\"),u=t(\"../util/unbundle_jsonlint\");e.exports=function(t){function e(t){var e=[],s=t.value,c=t.key;if(\"array\"!==i(s))return[new n(c,s,\"array expected, \"+i(s)+\" found\")];if(2!==s.length)return[new n(c,s,\"array length 2 expected, length \"+s.length+\" found\")];if(y){if(\"object\"!==i(s[0]))return[new n(c,s,\"object expected, \"+i(s[0])+\" found\")];if(void 0===s[0].zoom)return[new n(c,s,\"object stop key must have zoom\")];if(void 0===s[0].value)return[new n(c,s,\"object stop key must have value\")];if(f&&f>u(s[0].zoom))return[new n(c,s[0].zoom,\"stop zoom values must appear in ascending order\")];u(s[0].zoom)!==f&&(f=u(s[0].zoom),h=void 0,g={}),e=e.concat(o({key:c+\"[0]\",value:s[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:l,value:r}}))}else e=e.concat(r({key:c+\"[0]\",value:s[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},s));return e.concat(a({key:c+\"[1]\",value:s[1],valueSpec:p,style:t.style,styleSpec:t.styleSpec}))}function r(t,e){var r=i(t.value),a=u(t.value),o=null!==t.value?t.value:e;if(c){if(r!==c)return[new n(t.key,o,r+\" stop domain type must match previous stop domain type \"+c)]}else c=r;if(\"number\"!==r&&\"string\"!==r&&\"boolean\"!==r)return[new n(t.key,o,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==r&&\"categorical\"!==d){var s=\"number expected, \"+r+\" found\";return p[\"property-function\"]&&void 0===d&&(s+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new n(t.key,o,s)]}return\"categorical\"!==d||\"number\"!==r||isFinite(a)&&Math.floor(a)===a?\"categorical\"!==d&&\"number\"===r&&void 0!==h&&a<h?[new n(t.key,o,\"stop domain values must appear in ascending order\")]:(h=a,\"categorical\"===d&&a in g?[new n(t.key,o,\"stop domain values must be unique\")]:(g[a]=!0,[])):[new n(t.key,o,\"integer expected, found \"+a)]}var c,h,f,p=t.valueSpec,d=u(t.value.type),g={},v=\"categorical\"!==d&&void 0===t.value.property,m=!v,y=\"array\"===i(t.value.stops)&&\"array\"===i(t.value.stops[0])&&\"object\"===i(t.value.stops[0][0]),x=o({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\"identity\"===d)return[new n(t.key,t.value,'identity function may not have a \"stops\" property')];var r=[],a=t.value;return r=r.concat(s({key:t.key,value:a,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:e})),\"array\"===i(a)&&0===a.length&&r.push(new n(t.key,a,\"array must have at least one stop\")),r},default:function(t){return a({key:t.key,value:t.value,valueSpec:p,style:t.style,styleSpec:t.styleSpec})}}});return\"identity\"===d&&v&&x.push(new n(t.key,t.value,'missing required property \"property\"')),\"identity\"===d||t.value.stops||x.push(new n(t.key,t.value,'missing required property \"stops\"')),\"exponential\"===d&&\"piecewise-constant\"===t.valueSpec.function&&x.push(new n(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(m&&!t.valueSpec[\"property-function\"]?x.push(new n(t.key,t.value,\"property functions not supported\")):v&&!t.valueSpec[\"zoom-function\"]&&\"heatmap-color\"!==t.objectKey&&x.push(new n(t.key,t.value,\"zoom functions not supported\"))),\"categorical\"!==d&&!y||void 0!==t.value.property||x.push(new n(t.key,t.value,'\"property\" property is required')),x}},{\"../error/validation_error\":122,\"../util/get_type\":157,\"../util/unbundle_jsonlint\":161,\"./validate\":162,\"./validate_array\":163,\"./validate_number\":175,\"./validate_object\":176}],171:[function(t,e,r){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:(-1===e.indexOf(\"{fontstack}\")&&a.push(new n(r,e,'\"glyphs\" url must include a \"{fontstack}\" token')),-1===e.indexOf(\"{range}\")&&a.push(new n(r,e,'\"glyphs\" url must include a \"{range}\" token')),a)}},{\"../error/validation_error\":122,\"./validate_string\":180}],172:[function(t,e,r){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(\"./validate\"),c=t(\"../util/extend\");e.exports=function(t){var e=[],r=t.value,h=t.key,f=t.style,p=t.styleSpec;r.type||r.ref||e.push(new n(h,r,'either \"type\" or \"ref\" is required'));var d,g=i(r.type),v=i(r.ref);if(r.id)for(var m=i(r.id),y=0;y<t.arrayIndex;y++){var x=f.layers[y];i(x.id)===m&&e.push(new n(h,r.id,'duplicate layer id \"'+r.id+'\", previously used at line '+x.id.__line__))}if(\"ref\"in r)[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach(function(t){t in r&&e.push(new n(h,r[t],'\"'+t+'\" is prohibited for ref layers'))}),f.layers.forEach(function(t){i(t.id)===v&&(d=t)}),d?d.ref?e.push(new n(h,r.ref,\"ref cannot reference another ref layer\")):g=i(d.type):e.push(new n(h,r.ref,'ref layer \"'+v+'\" not found'));else if(\"background\"!==g)if(r.source){var b=f.sources&&f.sources[r.source],_=b&&i(b.type);b?\"vector\"===_&&\"raster\"===g?e.push(new n(h,r.source,'layer \"'+r.id+'\" requires a raster source')):\"raster\"===_&&\"raster\"!==g?e.push(new n(h,r.source,'layer \"'+r.id+'\" requires a vector source')):\"vector\"!==_||r[\"source-layer\"]?\"raster-dem\"===_&&\"hillshade\"!==g&&e.push(new n(h,r.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):e.push(new n(h,r,'layer \"'+r.id+'\" must specify a \"source-layer\"')):e.push(new n(h,r.source,'source \"'+r.source+'\" not found'))}else e.push(new n(h,r,'missing required property \"source\"'));return e=e.concat(a({key:h,value:r,valueSpec:p.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(){return[]},type:function(){return u({key:h+\".type\",value:r.type,valueSpec:p.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:\"type\"})},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(c({layerType:g},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(c({layerType:g},t))}}})}}}))}},{\"../error/validation_error\":122,\"../util/extend\":156,\"../util/unbundle_jsonlint\":161,\"./validate\":162,\"./validate_filter\":169,\"./validate_layout_property\":173,\"./validate_object\":176,\"./validate_paint_property\":177}],173:[function(t,e,r){var n=t(\"./validate_property\");e.exports=function(t){return n(t,\"layout\")}},{\"./validate_property\":178}],174:[function(t,e,r){var n=t(\"../error/validation_error\"),i=t(\"../util/get_type\"),a=t(\"./validate\");e.exports=function(t){var e=t.value,r=t.styleSpec,o=r.light,s=t.style,l=[],u=i(e);if(void 0===e)return l;if(\"object\"!==u)return l.concat([new n(\"light\",e,\"object expected, \"+u+\" found\")]);for(var c in e){var h=c.match(/^(.*)-transition$/);l=h&&o[h[1]]&&o[h[1]].transition?l.concat(a({key:c,value:e[c],valueSpec:r.transition,style:s,styleSpec:r})):o[c]?l.concat(a({key:c,value:e[c],valueSpec:o[c],style:s,styleSpec:r})):l.concat([new n(c,e[c],'unknown property \"'+c+'\"')])}return l}},{\"../error/validation_error\":122,\"../util/get_type\":157,\"./validate\":162}],175:[function(t,e,r){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, \"+o+\" found\")]:\"minimum\"in a&&r<a.minimum?[new i(e,r,r+\" is less than the minimum value \"+a.minimum)]:\"maximum\"in a&&r>a.maximum?[new i(e,r,r+\" is greater than the maximum value \"+a.maximum)]:[]}},{\"../error/validation_error\":122,\"../util/get_type\":157}],176:[function(t,e,r){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, \"+h+\" found\")];for(var f in r){var p=f.split(\".\")[0],d=o[p]||o[\"*\"],g=void 0;if(s[p])g=s[p];else if(o[p])g=a;else if(s[\"*\"])g=s[\"*\"];else{if(!o[\"*\"]){c.push(new n(e,r[f],'unknown property \"'+f+'\"'));continue}g=a}c=c.concat(g({key:(e?e+\".\":e)+f,value:r[f],valueSpec:d,style:l,styleSpec:u,object:r,objectKey:f},r))}for(var v in o)s[v]||o[v].required&&void 0===o[v].default&&void 0===r[v]&&c.push(new n(e,r,'missing required property \"'+v+'\"'));return c}},{\"../error/validation_error\":122,\"../util/get_type\":157,\"./validate\":162}],177:[function(t,e,r){var n=t(\"./validate_property\");e.exports=function(t){return n(t,\"paint\")}},{\"./validate_property\":178}],178:[function(t,e,r){var n=t(\"./validate\"),i=t(\"../error/validation_error\"),a=t(\"../util/get_type\"),o=t(\"../function\").isFunction,s=t(\"../util/unbundle_jsonlint\");e.exports=function(t,e){var r=t.key,l=t.style,u=t.styleSpec,c=t.value,h=t.objectKey,f=u[e+\"_\"+t.layerType];if(!f)return[];var p=h.match(/^(.*)-transition$/);if(\"paint\"===e&&p&&f[p[1]]&&f[p[1]].transition)return n({key:r,value:c,valueSpec:u.transition,style:l,styleSpec:u});var d,g=t.valueSpec||f[h];if(!g)return[new i(r,c,'unknown property \"'+h+'\"')];if(\"string\"===a(c)&&g[\"property-function\"]&&!g.tokens&&(d=/^{([^}]+)}$/.exec(c)))return[new i(r,c,'\"'+h+'\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": '+JSON.stringify(d[1])+\" }`.\")];var v=[];return\"symbol\"===t.layerType&&(\"text-field\"===h&&l&&!l.glyphs&&v.push(new i(r,c,'use of \"text-field\" requires a style \"glyphs\" property')),\"text-font\"===h&&o(s.deep(c))&&\"identity\"===s(c.type)&&v.push(new i(r,c,'\"text-font\" does not support identity functions'))),v.concat(n({key:t.key,value:c,valueSpec:g,style:l,styleSpec:u,expressionContext:\"property\",propertyKey:h}))}},{\"../error/validation_error\":122,\"../function\":149,\"../util/get_type\":157,\"../util/unbundle_jsonlint\":161,\"./validate\":162}],179:[function(t,e,r){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),c=[];switch(u){case\"vector\":case\"raster\":case\"raster-dem\":if(c=c.concat(a({key:r,value:e,valueSpec:s[\"source_\"+u.replace(\"-\",\"_\")],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 \"'+h+'\" property'));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});case\"canvas\":return a({key:r,value:e,valueSpec:s.source_canvas,style:l,styleSpec:s});default:return o({key:r+\".type\",value:e.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\",\"canvas\"]},style:l,styleSpec:s})}}},{\"../error/validation_error\":122,\"../util/unbundle_jsonlint\":161,\"./validate_enum\":167,\"./validate_object\":176}],180:[function(t,e,r){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, \"+a+\" found\")]:[]}},{\"../error/validation_error\":122,\"../util/get_type\":157}],181:[function(t,e,r){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,\"*\":function(){return[]}}})),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\"),u=t(\"./validate/validate_glyphs_url\");n.source=a(t(\"./validate/validate_source\")),n.light=a(t(\"./validate/validate_light\")),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\":151,\"./validate/validate\":162,\"./validate/validate_constants\":166,\"./validate/validate_filter\":169,\"./validate/validate_glyphs_url\":171,\"./validate/validate_layer\":172,\"./validate/validate_layout_property\":173,\"./validate/validate_light\":174,\"./validate/validate_paint_property\":177,\"./validate/validate_source\":179}],182:[function(t,e,r){var n=t(\"./zoom_history\"),i=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new n,this.transition={})};i.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},e.exports=i},{\"./zoom_history\":212}],183:[function(t,e,r){var n=t(\"../style-spec/reference/latest\"),i=t(\"../util/util\"),a=t(\"../util/evented\"),o=t(\"./validate_style\"),s=t(\"../util/util\").sphericalToCartesian,l=(t(\"../style-spec/util/color\"),t(\"../style-spec/util/interpolate\")),u=t(\"./properties\"),c=u.Properties,h=u.Transitionable,f=(u.Transitioning,u.PossiblyEvaluated,u.DataConstantProperty),p=function(){this.specification=n.light.position};p.prototype.possiblyEvaluate=function(t,e){return s(t.expression.evaluate(e))},p.prototype.interpolate=function(t,e,r){return{x:l.number(t.x,e.x,r),y:l.number(t.y,e.y,r),z:l.number(t.z,e.z,r)}};var d=new c({anchor:new f(n.light.anchor),position:new p,color:new f(n.light.color),intensity:new f(n.light.intensity)}),g=function(t){function e(e){t.call(this),this._transitionable=new h(d),this.setLight(e),this._transitioning=this._transitionable.untransitioned()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getLight=function(){return this._transitionable.serialize()},e.prototype.setLight=function(t){if(!this._validate(o.light,t))for(var e in t){var r=t[e];i.endsWith(e,\"-transition\")?this._transitionable.setTransition(e.slice(0,-\"-transition\".length),r):this._transitionable.setValue(e,r)}},e.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)},e.prototype.hasTransition=function(){return this._transitioning.hasTransition()},e.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t)},e.prototype._validate=function(t,e){return o.emitErrors(this,t.call(o,i.extend({value:e,style:{glyphs:!0,sprite:!0},styleSpec:n})))},e}(a);e.exports=g},{\"../style-spec/reference/latest\":151,\"../style-spec/util/color\":153,\"../style-spec/util/interpolate\":158,\"../util/evented\":260,\"../util/util\":275,\"./properties\":188,\"./validate_style\":211}],184:[function(t,e,r){var n=t(\"../util/mapbox\").normalizeGlyphsURL,i=t(\"../util/ajax\"),a=t(\"./parse_glyph_pbf\");e.exports=function(t,e,r,o,s){var l=256*e,u=l+255,c=o(n(r).replace(\"{fontstack}\",t).replace(\"{range}\",l+\"-\"+u),i.ResourceType.Glyphs);i.getArrayBuffer(c,function(t,e){if(t)s(t);else if(e){for(var r={},n=0,i=a(e.data);n<i.length;n+=1){var o=i[n];r[o.id]=o}s(null,r)}})}},{\"../util/ajax\":251,\"../util/mapbox\":267,\"./parse_glyph_pbf\":186}],185:[function(t,e,r){var n=t(\"../util/ajax\"),i=t(\"../util/browser\"),a=t(\"../util/mapbox\").normalizeSpriteURL,o=t(\"../util/image\").RGBAImage;e.exports=function(t,e,r){function s(){if(c)r(c);else if(l&&u){var t=i.getImageData(u),e={};for(var n in l){var a=l[n],s=a.width,h=a.height,f=a.x,p=a.y,d=a.sdf,g=a.pixelRatio,v=new o({width:s,height:h});o.copy(t,v,{x:f,y:p},{x:0,y:0},{width:s,height:h}),e[n]={data:v,pixelRatio:g,sdf:d}}r(null,e)}}var l,u,c,h=i.devicePixelRatio>1?\"@2x\":\"\";n.getJSON(e(a(t,h,\".json\"),n.ResourceType.SpriteJSON),function(t,e){c||(c=t,l=e,s())}),n.getImage(e(a(t,h,\".png\"),n.ResourceType.SpriteImage),function(t,e){c||(c=t,u=e,s())})}},{\"../util/ajax\":251,\"../util/browser\":252,\"../util/image\":263,\"../util/mapbox\":267}],186:[function(t,e,r){function n(t,e,r){1===t&&r.readMessage(i,e)}function i(t,e,r){if(3===t){var n=r.readMessage(a,{}),i=n.id,s=n.bitmap,u=n.width,c=n.height,h=n.left,f=n.top,p=n.advance;e.push({id:i,bitmap:new o({width:u+2*l,height:c+2*l},s),metrics:{width:u,height:c,left:h,top:f,advance:p}})}}function a(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())}var o=t(\"../util/image\").AlphaImage,s=t(\"pbf\"),l=3;e.exports=function(t){return new s(t).readFields(n,[])},e.exports.GLYPH_PBF_BORDER=l},{\"../util/image\":263,pbf:30}],187:[function(t,e,r){var n=t(\"../util/browser\"),i=t(\"../symbol/placement\"),a=function(){this._currentTileIndex=0,this._seenCrossTileIDs={}};a.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this;this._currentTileIndex<t.length;){var o=t[a._currentTileIndex];if(e.placeLayerTile(n,o,r,a._seenCrossTileIDs),a._currentTileIndex++,i())return!0}};var o=function(t,e,r,n,a){this.placement=new i(t,a),this._currentPlacementIndex=e.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=n,this._done=!1};o.prototype.isDone=function(){return this._done},o.prototype.continuePlacement=function(t,e,r){for(var i=this,o=n.now(),s=function(){var t=n.now()-o;return!i._forceFullPlacement&&t>2};this._currentPlacementIndex>=0;){var l=e[t[i._currentPlacementIndex]],u=i.placement.collisionIndex.transform.zoom;if(\"symbol\"===l.type&&(!l.minzoom||l.minzoom<=u)&&(!l.maxzoom||l.maxzoom>u)){if(i._inProgressLayer||(i._inProgressLayer=new a),i._inProgressLayer.continuePlacement(r[l.source],i.placement,i._showCollisionBoxes,l,s))return;delete i._inProgressLayer}i._currentPlacementIndex--}this._done=!0},o.prototype.commit=function(t,e){return this.placement.commit(t,e),this.placement},e.exports=o},{\"../symbol/placement\":223,\"../util/browser\":252}],188:[function(t,e,r){var n=t(\"../util/util\"),i=n.clone,a=n.extend,o=n.easeCubicInOut,s=t(\"../style-spec/util/interpolate\"),l=t(\"../style-spec/expression\").normalizePropertyExpression,u=(t(\"../style-spec/util/color\"),t(\"../util/web_worker_transfer\").register),c=function(t,e){this.property=t,this.value=e,this.expression=l(void 0===e?t.specification.default:e,t.specification)};c.prototype.isDataDriven=function(){return\"source\"===this.expression.kind||\"composite\"===this.expression.kind},c.prototype.possiblyEvaluate=function(t){return this.property.possiblyEvaluate(this,t)};var h=function(t){this.property=t,this.value=new c(t,void 0)};h.prototype.transitioned=function(t,e){return new p(this.property,this.value,e,a({},t.transition,this.transition),t.now)},h.prototype.untransitioned=function(){return new p(this.property,this.value,null,{},0)};var f=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};f.prototype.getValue=function(t){return i(this._values[t].value.value)},f.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new h(this._values[t].property)),this._values[t].value=new c(this._values[t].property,null===e?void 0:i(e))},f.prototype.getTransition=function(t){return i(this._values[t].transition)},f.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new h(this._values[t].property)),this._values[t].transition=i(e)||void 0},f.prototype.serialize=function(){for(var t=this,e={},r=0,n=Object.keys(t._values);r<n.length;r+=1){var i=n[r],a=t.getValue(i);void 0!==a&&(e[i]=a);var o=t.getTransition(i);void 0!==o&&(e[i+\"-transition\"]=o)}return e},f.prototype.transitioned=function(t,e){for(var r=new d(this._properties),n=0,i=Object.keys(this._values);n<i.length;n+=1){var a=i[n];r._values[a]=this._values[a].transitioned(t,e._values[a])}return r},f.prototype.untransitioned=function(){for(var t=new d(this._properties),e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e];t._values[n]=this._values[n].untransitioned()}return t};var p=function(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r)};p.prototype.possiblyEvaluate=function(t){var e=t.now||0,r=this.value.possiblyEvaluate(t),n=this.prior;if(n){if(e>this.end)return this.prior=null,r;if(this.value.isDataDriven())return this.prior=null,r;if(e<this.begin)return n.possiblyEvaluate(t);var i=(e-this.begin)/(this.end-this.begin);return this.property.interpolate(n.possiblyEvaluate(t),r,o(i))}return r};var d=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};d.prototype.possiblyEvaluate=function(t){for(var e=new m(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var i=n[r];e._values[i]=this._values[i].possiblyEvaluate(t)}return e},d.prototype.hasTransition=function(){for(var t=0,e=Object.keys(this._values);t<e.length;t+=1){var r=e[t];if(this._values[r].prior)return!0}return!1};var g=function(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)};g.prototype.getValue=function(t){return i(this._values[t].value)},g.prototype.setValue=function(t,e){this._values[t]=new c(this._values[t].property,null===e?void 0:i(e))},g.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i)}return t},g.prototype.possiblyEvaluate=function(t){for(var e=new m(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var i=n[r];e._values[i]=this._values[i].possiblyEvaluate(t)}return e};var v=function(t,e,r){this.property=t,this.value=e,this.globals=r};v.prototype.isConstant=function(){return\"constant\"===this.value.kind},v.prototype.constantOr=function(t){return\"constant\"===this.value.kind?this.value.value:t},v.prototype.evaluate=function(t){return this.property.evaluate(this.value,this.globals,t)};var m=function(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)};m.prototype.get=function(t){return this._values[t]};var y=function(t){this.specification=t};y.prototype.possiblyEvaluate=function(t,e){return t.expression.evaluate(e)},y.prototype.interpolate=function(t,e,r){var n=s[this.specification.type];return n?n(t,e,r):t};var x=function(t){this.specification=t};x.prototype.possiblyEvaluate=function(t,e){return\"constant\"===t.expression.kind||\"camera\"===t.expression.kind?new v(this,{kind:\"constant\",value:t.expression.evaluate(e)},e):new v(this,t.expression,e)},x.prototype.interpolate=function(t,e,r){if(\"constant\"!==t.value.kind||\"constant\"!==e.value.kind)return t;if(void 0!==t.value.value&&void 0!==e.value.value){var n=s[this.specification.type];return n?new v(this,{kind:\"constant\",value:n(t.value.value,e.value.value,r)},t.globals):t}},x.prototype.evaluate=function(t,e,r){return\"constant\"===t.kind?t.value:t.evaluate(e,r)};var b=function(t){this.specification=t};b.prototype.possiblyEvaluate=function(t,e){if(void 0!==t.value){if(\"constant\"===t.expression.kind){var r=t.expression.evaluate(e);return this._calculate(r,r,r,e)}return this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e)}},b.prototype._calculate=function(t,e,r,n){var i=n.zoom,a=i-Math.floor(i),o=n.crossFadingFactor();return i>n.zoomHistory.lastIntegerZoom?{from:t,to:e,fromScale:2,toScale:1,t:a+(1-a)*o}:{from:r,to:e,fromScale:.5,toScale:1,t:1-(1-o)*a}},b.prototype.interpolate=function(t){return t};var _=function(t){this.specification=t};_.prototype.possiblyEvaluate=function(){},_.prototype.interpolate=function(){};u(\"DataDrivenProperty\",x),u(\"DataConstantProperty\",y),u(\"CrossFadedProperty\",b),u(\"HeatmapColorProperty\",_),e.exports={PropertyValue:c,Transitionable:f,Transitioning:d,Layout:g,PossiblyEvaluatedPropertyValue:v,PossiblyEvaluated:m,DataConstantProperty:y,DataDrivenProperty:x,CrossFadedProperty:b,HeatmapColorProperty:_,Properties:function(t){var e=this;for(var r in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},t){var n=t[r],i=e.defaultPropertyValues[r]=new c(n,void 0),a=e.defaultTransitionablePropertyValues[r]=new h(n);e.defaultTransitioningPropertyValues[r]=a.untransitioned(),e.defaultPossiblyEvaluatedValues[r]=i.possiblyEvaluate({})}}}},{\"../style-spec/expression\":139,\"../style-spec/util/color\":153,\"../style-spec/util/interpolate\":158,\"../util/util\":275,\"../util/web_worker_transfer\":278}],189:[function(t,e,r){var n=t(\"@mapbox/point-geometry\");e.exports={getMaximumPaintValue:function(t,e,r){var n=e.paint.get(t).value;return\"constant\"===n.kind?n.value:r.programConfigurations.get(e.id).binders[t].statistics.max},translateDistance:function(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])},translate:function(t,e,r,i,a){if(!e[0]&&!e[1])return t;var o=n.convert(e);\"viewport\"===r&&o._rotate(-i);for(var s=[],l=0;l<t.length;l++){for(var u=t[l],c=[],h=0;h<u.length;h++)c.push(u[h].sub(o._mult(a)));s.push(c)}return s}}},{\"@mapbox/point-geometry\":4}],190:[function(t,e,r){var n=t(\"../util/evented\"),i=t(\"./style_layer\"),a=t(\"./load_sprite\"),o=t(\"../render/image_manager\"),s=t(\"../render/glyph_manager\"),l=t(\"./light\"),u=t(\"../render/line_atlas\"),c=t(\"../util/util\"),h=t(\"../util/ajax\"),f=t(\"../util/mapbox\"),p=t(\"../util/browser\"),d=t(\"../util/dispatcher\"),g=t(\"./validate_style\"),v=t(\"../source/source\").getType,m=t(\"../source/source\").setType,y=t(\"../source/query_features\"),x=t(\"../source/source_cache\"),b=(t(\"../source/geojson_source\"),t(\"../style-spec/reference/latest\")),_=t(\"../util/global_worker_pool\"),w=t(\"../style-spec/deref\"),M=t(\"../style-spec/diff\"),A=t(\"../source/rtl_text_plugin\"),k=t(\"./pauseable_placement\"),T=t(\"./zoom_history\"),S=t(\"../symbol/cross_tile_symbol_index\"),E=c.pick(M.operations,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\"]),C=c.pick(M.operations,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),L=function(t){function e(e,r){var n=this;void 0===r&&(r={}),t.call(this),this.map=e,this.dispatcher=new d(_(),this),this.imageManager=new o,this.glyphManager=new s(e._transformRequest,r.localIdeographFontFamily),this.lineAtlas=new u(256,512),this.crossTileSymbolIndex=new S,this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new T,this._loaded=!1,this._resetUpdates();var i=this;this._rtlTextPluginCallback=A.registerForPluginAvailability(function(t){for(var e in i.dispatcher.broadcast(\"loadRTLTextPlugin\",t.pluginBlobURL,t.errorCallback),i.sourceCaches)i.sourceCaches[e].reload()}),this.on(\"data\",function(t){if(\"source\"===t.dataType&&\"metadata\"===t.sourceDataType){var e=n.sourceCaches[t.sourceId];if(e){var r=e.getSource();if(r&&r.vectorLayerIds)for(var i in n._layers){var a=n._layers[i];a.source===r.id&&n._validateLayer(a)}}}})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.loadURL=function(t,e){var r=this;void 0===e&&(e={}),this.fire(\"dataloading\",{dataType:\"style\"});var n=\"boolean\"==typeof e.validate?e.validate:!f.isMapboxURL(t);t=f.normalizeStyleURL(t,e.accessToken);var i=this.map._transformRequest(t,h.ResourceType.Style);h.getJSON(i,function(t,e){t?r.fire(\"error\",{error:t}):e&&r._load(e,n)})},e.prototype.loadJSON=function(t,e){var r=this;void 0===e&&(e={}),this.fire(\"dataloading\",{dataType:\"style\"}),p.frame(function(){r._load(t,!1!==e.validate)})},e.prototype._load=function(t,e){var r=this;if(!e||!g.emitErrors(this,g(t))){for(var n in this._loaded=!0,this.stylesheet=t,t.sources)r.addSource(n,t.sources[n],{validate:!1});t.sprite?a(t.sprite,this.map._transformRequest,function(t,e){if(t)r.fire(\"error\",t);else if(e)for(var n in e)r.imageManager.addImage(n,e[n]);r.imageManager.setLoaded(!0),r.fire(\"data\",{dataType:\"style\"})}):this.imageManager.setLoaded(!0),this.glyphManager.setURL(t.glyphs);var o=w(this.stylesheet.layers);this._order=o.map(function(t){return t.id}),this._layers={};for(var s=0,u=o;s<u.length;s+=1){var c=u[s];(c=i.create(c)).setEventedParent(r,{layer:{id:c.id}}),r._layers[c.id]=c}this.dispatcher.broadcast(\"setLayers\",this._serializeLayers(this._order)),this.light=new l(this.stylesheet.light),this.fire(\"data\",{dataType:\"style\"}),this.fire(\"style.load\")}},e.prototype._validateLayer=function(t){var e=this.sourceCaches[t.source];if(e){var r=t.sourceLayer;if(r){var n=e.getSource();(\"geojson\"===n.type||n.vectorLayerIds&&-1===n.vectorLayerIds.indexOf(r))&&this.fire(\"error\",{error:new Error('Source layer \"'+r+'\" does not exist on source \"'+n.id+'\" as specified by style layer \"'+t.id+'\"')})}}},e.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},e.prototype._serializeLayers=function(t){var e=this;return t.map(function(t){return e._layers[t].serialize()})},e.prototype.hasTransitions=function(){var t=this;if(this.light&&this.light.hasTransition())return!0;for(var e in t.sourceCaches)if(t.sourceCaches[e].hasTransition())return!0;for(var r in t._layers)if(t._layers[r].hasTransition())return!0;return!1},e.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},e.prototype.update=function(t){var e=this;if(this._loaded){if(this._changed){var r=Object.keys(this._updatedLayers),n=Object.keys(this._removedLayers);for(var i in(r.length||n.length)&&this._updateWorkerLayers(r,n),e._updatedSources){var a=e._updatedSources[i];\"reload\"===a?e._reloadSource(i):\"clear\"===a&&e._clearSource(i)}for(var o in e._updatedPaintProps)e._layers[o].updateTransitions(t);this.light.updateTransitions(t),this._resetUpdates(),this.fire(\"data\",{dataType:\"style\"})}for(var s in e.sourceCaches)e.sourceCaches[s].used=!1;for(var l=0,u=e._order;l<u.length;l+=1){var c=u[l],h=e._layers[c];h.recalculate(t),!h.isHidden(t.zoom)&&h.source&&(e.sourceCaches[h.source].used=!0)}this.light.recalculate(t),this.z=t.zoom}},e.prototype._updateWorkerLayers=function(t,e){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(t),removedIds:e})},e.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={}},e.prototype.setState=function(t){var e=this;if(this._checkLoaded(),g.emitErrors(this,g(t)))return!1;(t=c.clone(t)).layers=w(t.layers);var r=M(this.serialize(),t).filter(function(t){return!(t.command in C)});if(0===r.length)return!1;var n=r.filter(function(t){return!(t.command in E)});if(n.length>0)throw new Error(\"Unimplemented: \"+n.map(function(t){return t.command}).join(\", \")+\".\");return r.forEach(function(t){\"setTransition\"!==t.command&&e[t.command].apply(e,t.args)}),this.stylesheet=t,!0},e.prototype.addImage=function(t,e){if(this.getImage(t))return this.fire(\"error\",{error:new Error(\"An image with this name already exists.\")});this.imageManager.addImage(t,e),this.fire(\"data\",{dataType:\"style\"})},e.prototype.getImage=function(t){return this.imageManager.getImage(t)},e.prototype.removeImage=function(t){if(!this.getImage(t))return this.fire(\"error\",{error:new Error(\"No image with this name exists.\")});this.imageManager.removeImage(t),this.fire(\"data\",{dataType:\"style\"})},e.prototype.addSource=function(t,e,r){var n=this;if(this._checkLoaded(),void 0!==this.sourceCaches[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).join(\", \")+\".\");if(!([\"vector\",\"raster\",\"geojson\",\"video\",\"image\",\"canvas\"].indexOf(e.type)>=0&&this._validate(g.source,\"sources.\"+t,e,null,r))){this.map&&this.map._collectResourceTiming&&(e.collectResourceTiming=!0);var i=this.sourceCaches[t]=new x(t,e,this.dispatcher);i.style=this,i.setEventedParent(this,function(){return{isSourceLoaded:n.loaded(),source:i.serialize(),sourceId:t}}),i.onAdd(this.map),this._changed=!0}},e.prototype.removeSource=function(t){var e=this;if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(\"There is no source with this ID\");for(var r in e._layers)if(e._layers[r].source===t)return e.fire(\"error\",{error:new Error('Source \"'+t+'\" cannot be removed while layer \"'+r+'\" is using it.')});var n=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],n.fire(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:t}),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},e.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},e.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},e.prototype.addLayer=function(t,e,r){this._checkLoaded();var n=t.id;if(\"object\"==typeof t.source&&(this.addSource(n,t.source),t=c.clone(t),t=c.extend(t,{source:n})),!this._validate(g.layer,\"layers.\"+n,t,{arrayIndex:-1},r)){var a=i.create(t);this._validateLayer(a),a.setEventedParent(this,{layer:{id:n}});var o=e?this._order.indexOf(e):this._order.length;if(e&&-1===o)return void this.fire(\"error\",{error:new Error('Layer with id \"'+e+'\" does not exist on this map.')});if(this._order.splice(o,0,n),this._layerOrderChanged=!0,this._layers[n]=a,this._removedLayers[n]&&a.source){var s=this._removedLayers[n];delete this._removedLayers[n],s.type!==a.type?this._updatedSources[a.source]=\"clear\":(this._updatedSources[a.source]=\"reload\",this.sourceCaches[a.source].pause())}this._updateLayer(a)}},e.prototype.moveLayer=function(t,e){if(this._checkLoaded(),this._changed=!0,this._layers[t]){var r=this._order.indexOf(t);this._order.splice(r,1);var n=e?this._order.indexOf(e):this._order.length;e&&-1===n?this.fire(\"error\",{error:new Error('Layer with id \"'+e+'\" does not exist on this map.')}):(this._order.splice(n,0,t),this._layerOrderChanged=!0)}else this.fire(\"error\",{error:new Error(\"The layer '\"+t+\"' does not exist in the map's style and cannot be moved.\")})},e.prototype.removeLayer=function(t){this._checkLoaded();var e=this._layers[t];if(e){e.setEventedParent(null);var r=this._order.indexOf(t);this._order.splice(r,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=e,delete this._layers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t]}else this.fire(\"error\",{error:new Error(\"The layer '\"+t+\"' does not exist in the map's style and cannot be removed.\")})},e.prototype.getLayer=function(t){return this._layers[t]},e.prototype.setLayerZoomRange=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);n?n.minzoom===e&&n.maxzoom===r||(null!=e&&(n.minzoom=e),null!=r&&(n.maxzoom=r),this._updateLayer(n)):this.fire(\"error\",{error:new Error(\"The layer '\"+t+\"' does not exist in the map's style and cannot have zoom extent.\")})},e.prototype.setFilter=function(t,e){this._checkLoaded();var r=this.getLayer(t);if(r)return c.deepEqual(r.filter,e)?void 0:null===e||void 0===e?(r.filter=void 0,void this._updateLayer(r)):void(this._validate(g.filter,\"layers.\"+r.id+\".filter\",e)||(r.filter=c.clone(e),this._updateLayer(r)));this.fire(\"error\",{error:new Error(\"The layer '\"+t+\"' does not exist in the map's style and cannot be filtered.\")})},e.prototype.getFilter=function(t){return c.clone(this.getLayer(t).filter)},e.prototype.setLayoutProperty=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);n?c.deepEqual(n.getLayoutProperty(e),r)||(n.setLayoutProperty(e,r),this._updateLayer(n)):this.fire(\"error\",{error:new Error(\"The layer '\"+t+\"' does not exist in the map's style and cannot be styled.\")})},e.prototype.getLayoutProperty=function(t,e){return this.getLayer(t).getLayoutProperty(e)},e.prototype.setPaintProperty=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);if(n){if(!c.deepEqual(n.getPaintProperty(e),r)){var i=n._transitionablePaint._values[e].value.isDataDriven();n.setPaintProperty(e,r),(n._transitionablePaint._values[e].value.isDataDriven()||i)&&this._updateLayer(n),this._changed=!0,this._updatedPaintProps[t]=!0}}else this.fire(\"error\",{error:new Error(\"The layer '\"+t+\"' does not exist in the map's style and cannot be styled.\")})},e.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},e.prototype.getTransition=function(){return c.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},e.prototype.serialize=function(){var t=this;return c.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,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.sourceCaches,function(t){return t.serialize()}),layers:this._order.map(function(e){return t._layers[e].serialize()})},function(t){return void 0!==t})},e.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&(this._updatedSources[t.source]=\"reload\",this.sourceCaches[t.source].pause()),this._changed=!0},e.prototype._flattenRenderedFeatures=function(t){for(var e=[],r=this._order.length-1;r>=0;r--)for(var n=this._order[r],i=0,a=t;i<a.length;i+=1){var o=a[i][n];if(o)for(var s=0,l=o;s<l.length;s+=1){var u=l[s];e.push(u)}}return e},e.prototype.queryRenderedFeatures=function(t,e,r,n){var i=this;e&&e.filter&&this._validate(g.filter,\"queryRenderedFeatures.filter\",e.filter);var a={};if(e&&e.layers){if(!Array.isArray(e.layers))return this.fire(\"error\",{error:\"parameters.layers must be an Array.\"}),[];for(var o=0,s=e.layers;o<s.length;o+=1){var l=s[o],u=i._layers[l];if(!u)return i.fire(\"error\",{error:\"The layer '\"+l+\"' does not exist in the map's style and cannot be queried for features.\"}),[];a[u.source]=!0}}var c=[];for(var h in i.sourceCaches)if(!e.layers||a[h]){var f=y.rendered(i.sourceCaches[h],i._layers,t,e,r,n,i.placement?i.placement.collisionIndex:null);c.push(f)}return this._flattenRenderedFeatures(c)},e.prototype.querySourceFeatures=function(t,e){e&&e.filter&&this._validate(g.filter,\"querySourceFeatures.filter\",e.filter);var r=this.sourceCaches[t];return r?y.source(r,e):[]},e.prototype.addSourceType=function(t,e,r){return v(t)?r(new Error('A source type called \"'+t+'\" already exists.')):(m(t,e),e.workerSourceURL?void this.dispatcher.broadcast(\"loadWorkerSource\",{name:t,url:e.workerSourceURL},r):r(null,null))},e.prototype.getLight=function(){return this.light.getLight()},e.prototype.setLight=function(t){this._checkLoaded();var e=this.light.getLight(),r=!1;for(var n in t)if(!c.deepEqual(t[n],e[n])){r=!0;break}if(r){var i={now:p.now(),transition:c.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(t),this.light.updateTransitions(i)}},e.prototype._validate=function(t,e,r,n,i){return(!i||!1!==i.validate)&&g.emitErrors(this,t.call(g,c.extend({key:e,style:this.serialize(),value:r,styleSpec:b},n)))},e.prototype._remove=function(){for(var t in A.evented.off(\"pluginAvailable\",this._rtlTextPluginCallback),this.sourceCaches)this.sourceCaches[t].clearTiles();this.dispatcher.remove()},e.prototype._clearSource=function(t){this.sourceCaches[t].clearTiles()},e.prototype._reloadSource=function(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload()},e.prototype._updateSources=function(t){for(var e in this.sourceCaches)this.sourceCaches[e].update(t)},e.prototype._generateCollisionBoxes=function(){for(var t in this.sourceCaches)this._reloadSource(t)},e.prototype._updatePlacement=function(t,e,r){for(var n=this,i=!1,a=!1,o={},s=0,l=n._order;s<l.length;s+=1){var u=l[s],c=n._layers[u];if(\"symbol\"===c.type){if(!o[c.source]){var h=n.sourceCaches[c.source];o[c.source]=h.getRenderableIds().map(function(t){return h.getTileByID(t)}).sort(function(t,e){return e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)})}var f=n.crossTileSymbolIndex.addLayer(c,o[c.source]);i=i||f}}this.crossTileSymbolIndex.pruneUnusedLayers(this._order);var d=this._layerOrderChanged;if((d||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(p.now()))&&(this.pauseablePlacement=new k(t,this._order,d,e,r),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,o),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(this.placement,p.now()),a=!0),i&&this.pauseablePlacement.placement.setStale()),a||i)for(var g=0,v=n._order;g<v.length;g+=1){var m=v[g],y=n._layers[m];\"symbol\"===y.type&&n.placement.updateLayerOpacities(y,o[y.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(p.now())},e.prototype.getImages=function(t,e,r){this.imageManager.getImages(e.icons,r)},e.prototype.getGlyphs=function(t,e,r){this.glyphManager.getGlyphs(e.stacks,r)},e}(n);e.exports=L},{\"../render/glyph_manager\":86,\"../render/image_manager\":88,\"../render/line_atlas\":89,\"../source/geojson_source\":99,\"../source/query_features\":105,\"../source/rtl_text_plugin\":109,\"../source/source\":110,\"../source/source_cache\":111,\"../style-spec/deref\":120,\"../style-spec/diff\":121,\"../style-spec/reference/latest\":151,\"../symbol/cross_tile_symbol_index\":218,\"../util/ajax\":251,\"../util/browser\":252,\"../util/dispatcher\":258,\"../util/evented\":260,\"../util/global_worker_pool\":262,\"../util/mapbox\":267,\"../util/util\":275,\"./light\":183,\"./load_sprite\":185,\"./pauseable_placement\":187,\"./style_layer\":191,\"./validate_style\":211,\"./zoom_history\":212}],191:[function(t,e,r){var n=t(\"../util/util\"),i=t(\"../style-spec/reference/latest\"),a=t(\"./validate_style\"),o=t(\"../util/evented\"),s=t(\"./properties\"),l=s.Layout,u=s.Transitionable,c=(s.Transitioning,s.Properties,function(t){function e(e,r){for(var n in t.call(this),this.id=e.id,this.metadata=e.metadata,this.type=e.type,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,this.visibility=\"visible\",\"background\"!==e.type&&(this.source=e.source,this.sourceLayer=e[\"source-layer\"],this.filter=e.filter),this._featureFilter=function(){return!0},r.layout&&(this._unevaluatedLayout=new l(r.layout)),this._transitionablePaint=new u(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getLayoutProperty=function(t){return\"visibility\"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(null!==e&&void 0!==e){var n=\"layers.\"+this.id+\".layout.\"+t;if(this._validate(a.layoutProperty,n,t,e,r))return}\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=\"none\"===e?e:\"visible\"},e.prototype.getPaintProperty=function(t){return n.endsWith(t,\"-transition\")?this._transitionablePaint.getTransition(t.slice(0,-\"-transition\".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(null!==e&&void 0!==e){var i=\"layers.\"+this.id+\".paint.\"+t;if(this._validate(a.paintProperty,i,t,e,r))return}n.endsWith(t,\"-transition\")?this._transitionablePaint.setTransition(t.slice(0,-\"-transition\".length),e||void 0):this._transitionablePaint.setValue(t,e)},e.prototype.isHidden=function(t){return!!(this.minzoom&&t<this.minzoom)||!!(this.maxzoom&&t>=this.maxzoom)||\"none\"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t){this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t)),this.paint=this._transitioningPaint.possiblyEvaluate(t)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return\"none\"===this.visibility&&(t.layout=t.layout||{},t.layout.visibility=\"none\"),n.filterObject(t,function(t,e){return!(void 0===t||\"layout\"===e&&!Object.keys(t).length||\"paint\"===e&&!Object.keys(t).length)})},e.prototype._validate=function(t,e,r,n,o){return(!o||!1!==o.validate)&&a.emitErrors(this,t.call(a,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:i,style:{glyphs:!0,sprite:!0}}))},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e}(o));e.exports=c;var h={circle:t(\"./style_layer/circle_style_layer\"),heatmap:t(\"./style_layer/heatmap_style_layer\"),hillshade:t(\"./style_layer/hillshade_style_layer\"),fill:t(\"./style_layer/fill_style_layer\"),\"fill-extrusion\":t(\"./style_layer/fill_extrusion_style_layer\"),line:t(\"./style_layer/line_style_layer\"),symbol:t(\"./style_layer/symbol_style_layer\"),background:t(\"./style_layer/background_style_layer\"),raster:t(\"./style_layer/raster_style_layer\")};c.create=function(t){return new h[t.type](t)}},{\"../style-spec/reference/latest\":151,\"../util/evented\":260,\"../util/util\":275,\"./properties\":188,\"./style_layer/background_style_layer\":192,\"./style_layer/circle_style_layer\":194,\"./style_layer/fill_extrusion_style_layer\":196,\"./style_layer/fill_style_layer\":198,\"./style_layer/heatmap_style_layer\":200,\"./style_layer/hillshade_style_layer\":202,\"./style_layer/line_style_layer\":204,\"./style_layer/raster_style_layer\":206,\"./style_layer/symbol_style_layer\":208,\"./validate_style\":211}],192:[function(t,e,r){var n=t(\"../style_layer\"),i=t(\"./background_style_layer_properties\"),a=t(\"../properties\"),o=(a.Transitionable,a.Transitioning,a.PossiblyEvaluated,function(t){function e(e){t.call(this,e,i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(n));e.exports=o},{\"../properties\":188,\"../style_layer\":191,\"./background_style_layer_properties\":193}],193:[function(t,e,r){var n=t(\"../../style-spec/reference/latest\"),i=t(\"../properties\"),a=i.Properties,o=i.DataConstantProperty,s=(i.DataDrivenProperty,i.CrossFadedProperty),l=(i.HeatmapColorProperty,new a({\"background-color\":new o(n.paint_background[\"background-color\"]),\"background-pattern\":new s(n.paint_background[\"background-pattern\"]),\"background-opacity\":new o(n.paint_background[\"background-opacity\"])}));e.exports={paint:l}},{\"../../style-spec/reference/latest\":151,\"../properties\":188}],194:[function(t,e,r){var n=t(\"../style_layer\"),i=t(\"../../data/bucket/circle_bucket\"),a=t(\"../../util/intersection_tests\").multiPolygonIntersectsBufferedMultiPoint,o=t(\"../query_utils\"),s=o.getMaximumPaintValue,l=o.translateDistance,u=o.translate,c=t(\"./circle_style_layer_properties\"),h=t(\"../properties\"),f=(h.Transitionable,h.Transitioning,h.PossiblyEvaluated,function(t){function e(e){t.call(this,e,c)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(t){var e=t;return s(\"circle-radius\",this,e)+s(\"circle-stroke-width\",this,e)+l(this.paint.get(\"circle-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=u(t,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),i,o),l=this.paint.get(\"circle-radius\").evaluate(e)*o,c=this.paint.get(\"circle-stroke-width\").evaluate(e)*o;return a(s,r,l+c)},e}(n));e.exports=f},{\"../../data/bucket/circle_bucket\":42,\"../../util/intersection_tests\":264,\"../properties\":188,\"../query_utils\":189,\"../style_layer\":191,\"./circle_style_layer_properties\":195}],195:[function(t,e,r){var n=t(\"../../style-spec/reference/latest\"),i=t(\"../properties\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=(i.CrossFadedProperty,i.HeatmapColorProperty,new a({\"circle-radius\":new s(n.paint_circle[\"circle-radius\"]),\"circle-color\":new s(n.paint_circle[\"circle-color\"]),\"circle-blur\":new s(n.paint_circle[\"circle-blur\"]),\"circle-opacity\":new s(n.paint_circle[\"circle-opacity\"]),\"circle-translate\":new o(n.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new o(n.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new o(n.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new o(n.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new s(n.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new s(n.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new s(n.paint_circle[\"circle-stroke-opacity\"])}));e.exports={paint:l}},{\"../../style-spec/reference/latest\":151,\"../properties\":188}],196:[function(t,e,r){var n=t(\"../style_layer\"),i=t(\"../../data/bucket/fill_extrusion_bucket\"),a=t(\"../../util/intersection_tests\").multiPolygonIntersectsMultiPolygon,o=t(\"../query_utils\"),s=o.translateDistance,l=o.translate,u=t(\"./fill_extrusion_style_layer_properties\"),c=t(\"../properties\"),h=(c.Transitionable,c.Transitioning,c.PossiblyEvaluated,function(t){function e(e){t.call(this,e,u)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return s(this.paint.get(\"fill-extrusion-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=l(t,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),i,o);return a(s,r)},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"fill-extrusion-opacity\")&&\"none\"!==this.visibility},e.prototype.resize=function(){this.viewportFrame&&(this.viewportFrame.destroy(),this.viewportFrame=null)},e}(n));e.exports=h},{\"../../data/bucket/fill_extrusion_bucket\":46,\"../../util/intersection_tests\":264,\"../properties\":188,\"../query_utils\":189,\"../style_layer\":191,\"./fill_extrusion_style_layer_properties\":197}],197:[function(t,e,r){var n=t(\"../../style-spec/reference/latest\"),i=t(\"../properties\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,u=(i.HeatmapColorProperty,new a({\"fill-extrusion-opacity\":new o(n[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new s(n[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new o(n[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new o(n[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new l(n[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new s(n[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new s(n[\"paint_fill-extrusion\"][\"fill-extrusion-base\"])}));e.exports={paint:u}},{\"../../style-spec/reference/latest\":151,\"../properties\":188}],198:[function(t,e,r){var n=t(\"../style_layer\"),i=t(\"../../data/bucket/fill_bucket\"),a=t(\"../../util/intersection_tests\").multiPolygonIntersectsMultiPolygon,o=t(\"../query_utils\"),s=o.translateDistance,l=o.translate,u=t(\"./fill_style_layer_properties\"),c=t(\"../properties\"),h=(c.Transitionable,c.Transitioning,c.PossiblyEvaluated,function(t){function e(e){t.call(this,e,u)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(t){this.paint=this._transitioningPaint.possiblyEvaluate(t),void 0===this._transitionablePaint.getValue(\"fill-outline-color\")&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"])},e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return s(this.paint.get(\"fill-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=l(t,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),i,o);return a(s,r)},e}(n));e.exports=h},{\"../../data/bucket/fill_bucket\":44,\"../../util/intersection_tests\":264,\"../properties\":188,\"../query_utils\":189,\"../style_layer\":191,\"./fill_style_layer_properties\":199}],199:[function(t,e,r){var n=t(\"../../style-spec/reference/latest\"),i=t(\"../properties\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,u=(i.HeatmapColorProperty,new a({\"fill-antialias\":new o(n.paint_fill[\"fill-antialias\"]),\"fill-opacity\":new s(n.paint_fill[\"fill-opacity\"]),\"fill-color\":new s(n.paint_fill[\"fill-color\"]),\"fill-outline-color\":new s(n.paint_fill[\"fill-outline-color\"]),\"fill-translate\":new o(n.paint_fill[\"fill-translate\"]),\"fill-translate-anchor\":new o(n.paint_fill[\"fill-translate-anchor\"]),\"fill-pattern\":new l(n.paint_fill[\"fill-pattern\"])}));e.exports={paint:u}},{\"../../style-spec/reference/latest\":151,\"../properties\":188}],200:[function(t,e,r){var n=t(\"../style_layer\"),i=t(\"../../data/bucket/heatmap_bucket\"),a=t(\"../../util/image\").RGBAImage,o=t(\"./heatmap_style_layer_properties\"),s=t(\"../properties\"),l=(s.Transitionable,s.Transitioning,s.PossiblyEvaluated,function(t){function e(e){t.call(this,e,o),this._updateColorRamp()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.setPaintProperty=function(e,r,n){t.prototype.setPaintProperty.call(this,e,r,n),\"heatmap-color\"===e&&this._updateColorRamp()},e.prototype._updateColorRamp=function(){for(var t=this._transitionablePaint._values[\"heatmap-color\"].value.expression,e=new Uint8Array(1024),r=e.length,n=4;n<r;n+=4){var i=t.evaluate({heatmapDensity:n/r});e[n+0]=Math.floor(255*i.r/i.a),e[n+1]=Math.floor(255*i.g/i.a),e[n+2]=Math.floor(255*i.b/i.a),e[n+3]=Math.floor(255*i.a)}this.colorRamp=new a({width:256,height:1},e),this.colorRampTexture=null},e.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"heatmap-opacity\")&&\"none\"!==this.visibility},e}(n));e.exports=l},{\"../../data/bucket/heatmap_bucket\":47,\"../../util/image\":263,\"../properties\":188,\"../style_layer\":191,\"./heatmap_style_layer_properties\":201}],201:[function(t,e,r){var n=t(\"../../style-spec/reference/latest\"),i=t(\"../properties\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=(i.CrossFadedProperty,i.HeatmapColorProperty),u=new a({\"heatmap-radius\":new s(n.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new s(n.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new o(n.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new l(n.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new o(n.paint_heatmap[\"heatmap-opacity\"])});e.exports={paint:u}},{\"../../style-spec/reference/latest\":151,\"../properties\":188}],202:[function(t,e,r){var n=t(\"../style_layer\"),i=t(\"./hillshade_style_layer_properties\"),a=t(\"../properties\"),o=(a.Transitionable,a.Transitioning,a.PossiblyEvaluated,function(t){function e(e){t.call(this,e,i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"hillshade-exaggeration\")&&\"none\"!==this.visibility},e}(n));e.exports=o},{\"../properties\":188,\"../style_layer\":191,\"./hillshade_style_layer_properties\":203}],203:[function(t,e,r){var n=t(\"../../style-spec/reference/latest\"),i=t(\"../properties\"),a=i.Properties,o=i.DataConstantProperty,s=(i.DataDrivenProperty,i.CrossFadedProperty,i.HeatmapColorProperty,new a({\"hillshade-illumination-direction\":new o(n.paint_hillshade[\"hillshade-illumination-direction\"]),\"hillshade-illumination-anchor\":new o(n.paint_hillshade[\"hillshade-illumination-anchor\"]),\"hillshade-exaggeration\":new o(n.paint_hillshade[\"hillshade-exaggeration\"]),\"hillshade-shadow-color\":new o(n.paint_hillshade[\"hillshade-shadow-color\"]),\"hillshade-highlight-color\":new o(n.paint_hillshade[\"hillshade-highlight-color\"]),\"hillshade-accent-color\":new o(n.paint_hillshade[\"hillshade-accent-color\"])}));e.exports={paint:s}},{\"../../style-spec/reference/latest\":151,\"../properties\":188}],204:[function(t,e,r){function n(t,e){return e>0?e+2*t:t}var i=t(\"@mapbox/point-geometry\"),a=t(\"../style_layer\"),o=t(\"../../data/bucket/line_bucket\"),s=t(\"../../util/intersection_tests\").multiPolygonIntersectsBufferedMultiLine,l=t(\"../query_utils\"),u=l.getMaximumPaintValue,c=l.translateDistance,h=l.translate,f=t(\"./line_style_layer_properties\"),p=t(\"../../util/util\").extend,d=t(\"../evaluation_parameters\"),g=t(\"../properties\"),v=(g.Transitionable,g.Transitioning,g.Layout,g.PossiblyEvaluated,new(function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new d(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n){return r=p({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n)},e}(g.DataDrivenProperty))(f.paint.properties[\"line-width\"].specification));v.useIntegerZoom=!0;var m=function(t){function e(e){t.call(this,e,f)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),this.paint._values[\"line-floorwidth\"]=v.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,e)},e.prototype.createBucket=function(t){return new o(t)},e.prototype.queryRadius=function(t){var e=t,r=n(u(\"line-width\",this,e),u(\"line-gap-width\",this,e)),i=u(\"line-offset\",this,e);return r/2+Math.abs(i)+c(this.paint.get(\"line-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,a,o,l){var u=h(t,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),o,l),c=l/2*n(this.paint.get(\"line-width\").evaluate(e),this.paint.get(\"line-gap-width\").evaluate(e)),f=this.paint.get(\"line-offset\").evaluate(e);return f&&(r=function(t,e){for(var r=[],n=new i(0,0),a=0;a<t.length;a++){for(var o=t[a],s=[],l=0;l<o.length;l++){var u=o[l-1],c=o[l],h=o[l+1],f=0===l?n:c.sub(u)._unit()._perp(),p=l===o.length-1?n:h.sub(c)._unit()._perp(),d=f._add(p)._unit(),g=d.x*p.x+d.y*p.y;d._mult(1/g),s.push(d._mult(e)._add(c))}r.push(s)}return r}(r,f*l)),s(u,r,c)},e}(a);e.exports=m},{\"../../data/bucket/line_bucket\":49,\"../../util/intersection_tests\":264,\"../../util/util\":275,\"../evaluation_parameters\":182,\"../properties\":188,\"../query_utils\":189,\"../style_layer\":191,\"./line_style_layer_properties\":205,\"@mapbox/point-geometry\":4}],205:[function(t,e,r){var n=t(\"../../style-spec/reference/latest\"),i=t(\"../properties\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,u=(i.HeatmapColorProperty,new a({\"line-cap\":new o(n.layout_line[\"line-cap\"]),\"line-join\":new s(n.layout_line[\"line-join\"]),\"line-miter-limit\":new o(n.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new o(n.layout_line[\"line-round-limit\"])})),c=new a({\"line-opacity\":new s(n.paint_line[\"line-opacity\"]),\"line-color\":new s(n.paint_line[\"line-color\"]),\"line-translate\":new o(n.paint_line[\"line-translate\"]),\"line-translate-anchor\":new o(n.paint_line[\"line-translate-anchor\"]),\"line-width\":new s(n.paint_line[\"line-width\"]),\"line-gap-width\":new s(n.paint_line[\"line-gap-width\"]),\"line-offset\":new s(n.paint_line[\"line-offset\"]),\"line-blur\":new s(n.paint_line[\"line-blur\"]),\"line-dasharray\":new l(n.paint_line[\"line-dasharray\"]),\"line-pattern\":new l(n.paint_line[\"line-pattern\"])});e.exports={paint:c,layout:u}},{\"../../style-spec/reference/latest\":151,\"../properties\":188}],206:[function(t,e,r){var n=t(\"../style_layer\"),i=t(\"./raster_style_layer_properties\"),a=t(\"../properties\"),o=(a.Transitionable,a.Transitioning,a.PossiblyEvaluated,function(t){function e(e){t.call(this,e,i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(n));e.exports=o},{\"../properties\":188,\"../style_layer\":191,\"./raster_style_layer_properties\":207}],207:[function(t,e,r){var n=t(\"../../style-spec/reference/latest\"),i=t(\"../properties\"),a=i.Properties,o=i.DataConstantProperty,s=(i.DataDrivenProperty,i.CrossFadedProperty,i.HeatmapColorProperty,new a({\"raster-opacity\":new o(n.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new o(n.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new o(n.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new o(n.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new o(n.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new o(n.paint_raster[\"raster-contrast\"]),\"raster-fade-duration\":new o(n.paint_raster[\"raster-fade-duration\"])}));e.exports={paint:s}},{\"../../style-spec/reference/latest\":151,\"../properties\":188}],208:[function(t,e,r){var n=t(\"../style_layer\"),i=t(\"../../data/bucket/symbol_bucket\"),a=t(\"../../util/token\"),o=t(\"../../style-spec/expression\").isExpression,s=t(\"./symbol_style_layer_properties\"),l=t(\"../properties\"),u=(l.Transitionable,l.Transitioning,l.Layout,l.PossiblyEvaluated,function(t){function e(e){t.call(this,e,s)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),\"auto\"===this.layout.get(\"icon-rotation-alignment\")&&(\"line\"===this.layout.get(\"symbol-placement\")?this.layout._values[\"icon-rotation-alignment\"]=\"map\":this.layout._values[\"icon-rotation-alignment\"]=\"viewport\"),\"auto\"===this.layout.get(\"text-rotation-alignment\")&&(\"line\"===this.layout.get(\"symbol-placement\")?this.layout._values[\"text-rotation-alignment\"]=\"map\":this.layout._values[\"text-rotation-alignment\"]=\"viewport\"),\"auto\"===this.layout.get(\"text-pitch-alignment\")&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),\"auto\"===this.layout.get(\"icon-pitch-alignment\")&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\"))},e.prototype.getValueAndResolveTokens=function(t,e){var r=this.layout.get(t).evaluate(e),n=this._unevaluatedLayout._values[t];return n.isDataDriven()||o(n.value)?r:a(e.properties,r)},e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e}(n));e.exports=u},{\"../../data/bucket/symbol_bucket\":51,\"../../style-spec/expression\":139,\"../../util/token\":274,\"../properties\":188,\"../style_layer\":191,\"./symbol_style_layer_properties\":209}],209:[function(t,e,r){var n=t(\"../../style-spec/reference/latest\"),i=t(\"../properties\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=(i.CrossFadedProperty,i.HeatmapColorProperty,new a({\"symbol-placement\":new o(n.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new o(n.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new o(n.layout_symbol[\"symbol-avoid-edges\"]),\"icon-allow-overlap\":new o(n.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new o(n.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new o(n.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new o(n.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new s(n.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new o(n.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new o(n.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new s(n.layout_symbol[\"icon-image\"]),\"icon-rotate\":new s(n.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new o(n.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new o(n.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new s(n.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new s(n.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new o(n.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new o(n.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new o(n.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new s(n.layout_symbol[\"text-field\"]),\"text-font\":new s(n.layout_symbol[\"text-font\"]),\"text-size\":new s(n.layout_symbol[\"text-size\"]),\"text-max-width\":new s(n.layout_symbol[\"text-max-width\"]),\"text-line-height\":new o(n.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new s(n.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new s(n.layout_symbol[\"text-justify\"]),\"text-anchor\":new s(n.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new o(n.layout_symbol[\"text-max-angle\"]),\"text-rotate\":new s(n.layout_symbol[\"text-rotate\"]),\"text-padding\":new o(n.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new o(n.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new s(n.layout_symbol[\"text-transform\"]),\"text-offset\":new s(n.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new o(n.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new o(n.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new o(n.layout_symbol[\"text-optional\"])})),u=new a({\"icon-opacity\":new s(n.paint_symbol[\"icon-opacity\"]),\"icon-color\":new s(n.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new s(n.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new s(n.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new s(n.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new o(n.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new o(n.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new s(n.paint_symbol[\"text-opacity\"]),\"text-color\":new s(n.paint_symbol[\"text-color\"]),\"text-halo-color\":new s(n.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new s(n.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new s(n.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new o(n.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new o(n.paint_symbol[\"text-translate-anchor\"])});e.exports={paint:u,layout:l}},{\"../../style-spec/reference/latest\":151,\"../properties\":188}],210:[function(t,e,r){var n=t(\"./style_layer\"),i=t(\"../util/util\"),a=t(\"../style-spec/feature_filter\"),o=t(\"../style-spec/group_by_layout\"),s=function(t){t&&this.replace(t)};s.prototype.replace=function(t){this._layerConfigs={},this._layers={},this.update(t,[])},s.prototype.update=function(t,e){for(var r=this,s=0,l=t;s<l.length;s+=1){var u=l[s];r._layerConfigs[u.id]=u;var c=r._layers[u.id]=n.create(u);c._featureFilter=a(c.filter)}for(var h=0,f=e;h<f.length;h+=1){var p=f[h];delete r._layerConfigs[p],delete r._layers[p]}this.familiesBySource={};for(var d=0,g=o(i.values(this._layerConfigs));d<g.length;d+=1){var v=g[d].map(function(t){return r._layers[t.id]}),m=v[0];if(\"none\"!==m.visibility){var y=m.source||\"\",x=r.familiesBySource[y];x||(x=r.familiesBySource[y]={});var b=m.sourceLayer||\"_geojsonTileLayer\",_=x[b];_||(_=x[b]=[]),_.push(v)}}},e.exports=s},{\"../style-spec/feature_filter\":148,\"../style-spec/group_by_layout\":150,\"../util/util\":275,\"./style_layer\":191}],211:[function(t,e,r){e.exports=t(\"../style-spec/validate_style.min\"),e.exports.emitErrors=function(t,e){if(e&&e.length){for(var r=0,n=e;r<n.length;r+=1){var i=n[r].message;t.fire(\"error\",{error:new Error(i)})}return!0}return!1}},{\"../style-spec/validate_style.min\":181}],212:[function(t,e,r){var n=function(){this.first=!0};n.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom<r&&(this.lastIntegerZoom=r,this.lastIntegerZoomTime=e),t!==this.lastZoom&&(this.lastZoom=t,this.lastFloorZoom=r,!0))},e.exports=n},{}],213:[function(t,e,r){var n=t(\"@mapbox/point-geometry\"),i=t(\"../util/web_worker_transfer\").register,a=function(t){function e(e,r,n,i){t.call(this,e,r),this.angle=n,void 0!==i&&(this.segment=i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(n);i(\"Anchor\",a),e.exports=a},{\"../util/web_worker_transfer\":278,\"@mapbox/point-geometry\":4}],214:[function(t,e,r){e.exports=function(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 p=c.angleTo(h)-h.angleTo(f);for(p=Math.abs((p+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:p}),u+=p;s-l[0].distance>n;)u-=l.shift().angleDelta;if(u>i)return!1;o++,s+=h.dist(f)}return!0}},{}],215:[function(t,e,r){var n=t(\"@mapbox/point-geometry\");e.exports=function(t,e,r,i,a){for(var o=[],s=0;s<t.length;s++)for(var l=t[s],u=void 0,c=0;c<l.length-1;c++){var h=l[c],f=l[c+1];h.x<e&&f.x<e||(h.x<e?h=new n(e,h.y+(f.y-h.y)*((e-h.x)/(f.x-h.x)))._round():f.x<e&&(f=new n(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 n(h.x+(f.x-h.x)*((r-h.y)/(f.y-h.y)),r)._round():f.y<r&&(f=new n(h.x+(f.x-h.x)*((r-h.y)/(f.y-h.y)),r)._round()),h.x>=i&&f.x>=i||(h.x>=i?h=new n(i,h.y+(f.y-h.y)*((i-h.x)/(f.x-h.x)))._round():f.x>=i&&(f=new n(i,h.y+(f.y-h.y)*((i-h.x)/(f.x-h.x)))._round()),h.y>=a&&f.y>=a||(h.y>=a?h=new n(h.x+(f.x-h.x)*((a-h.y)/(f.y-h.y)),a)._round():f.y>=a&&(f=new n(h.x+(f.x-h.x)*((a-h.y)/(f.y-h.y)),a)._round()),u&&h.equals(u[u.length-1])||(u=[h],o.push(u)),u.push(f)))))}return o}},{\"@mapbox/point-geometry\":4}],216:[function(t,e,r){var n=function(t,e,r,n,i,a,o,s,l,u,c){var h=o.top*s-l,f=o.bottom*s+l,p=o.left*s-l,d=o.right*s+l;if(this.boxStartIndex=t.length,u){var g=f-h,v=d-p;g>0&&(g=Math.max(10*s,g),this._addLineCollisionCircles(t,e,r,r.segment,v,g,n,i,a,c))}else t.emplaceBack(r.x,r.y,p,h,d,f,n,i,a,0,0);this.boxEndIndex=t.length};n.prototype._addLineCollisionCircles=function(t,e,r,n,i,a,o,s,l,u){var c=a/2,h=Math.floor(i/c),f=1+.4*Math.log(u)/Math.LN2,p=Math.floor(h*f/2),d=-a/2,g=r,v=n+1,m=d,y=-i/2,x=y-i/4;do{if(--v<0){if(m>y)return;v=0;break}m-=e[v].dist(g),g=e[v]}while(m>x);for(var b=e[v].dist(e[v+1]),_=-p;_<h+p;_++){var w=_*c,M=y+w;if(w<0&&(M+=w),w>i&&(M+=w-i),!(M<m)){for(;m+b<M;){if(m+=b,++v+1>=e.length)return;b=e[v].dist(e[v+1])}var A=M-m,k=e[v],T=e[v+1].sub(k)._unit()._mult(A)._add(k)._round(),S=Math.abs(M-d)<c?0:.8*(M-d);t.emplaceBack(T.x,T.y,-a/2,-a/2,a/2,a/2,o,s,l,a/2,S)}}},e.exports=n},{}],217:[function(t,e,r){function n(t,e,r){t[e+4]=r?1:0}var i=t(\"@mapbox/point-geometry\"),a=t(\"../util/intersection_tests\"),o=t(\"./grid_index\"),s=(t(\"@mapbox/gl-matrix\").mat4,t(\"../symbol/projection\")),l=function(t,e,r){void 0===e&&(e=new o(t.width+200,t.height+200,25)),void 0===r&&(r=new o(t.width+200,t.height+200,25)),this.transform=t,this.grid=e,this.ignoredGrid=r,this.pitchfactor=Math.cos(t._pitch)*t.cameraToCenterDistance,this.screenRightBoundary=t.width+100,this.screenBottomBoundary=t.height+100};l.prototype.placeCollisionBox=function(t,e,r,n){var i=this.projectAndGetPerspectiveRatio(n,t.anchorPointX,t.anchorPointY),a=r*i.perspectiveRatio,o=t.x1*a+i.point.x,s=t.y1*a+i.point.y,l=t.x2*a+i.point.x,u=t.y2*a+i.point.y;return!e&&this.grid.hitTest(o,s,l,u)?{box:[],offscreen:!1}:{box:[o,s,l,u],offscreen:this.isOffscreen(o,s,l,u)}},l.prototype.approximateTileDistance=function(t,e,r,n,i){var a=i?1:n/this.pitchfactor,o=t.lastSegmentViewportDistance*r;return t.prevTileDistance+o+(a-1)*o*Math.abs(Math.sin(e))},l.prototype.placeCollisionCircles=function(t,e,r,a,o,l,u,c,h,f,p,d,g){var v=this,m=[],y=this.projectAnchor(f,l.anchorX,l.anchorY),x=h/24,b=l.lineOffsetX*h,_=l.lineOffsetY*h,w=new i(l.anchorX,l.anchorY),M=s.project(w,p).point,A=s.placeFirstAndLastGlyph(x,c,b,_,!1,M,w,l,u,p,{},!0),k=!1,T=!0,S=y.perspectiveRatio*a,E=1/(a*r),C=0,L=0;A&&(C=this.approximateTileDistance(A.first.tileDistance,A.first.angle,E,y.cameraDistance,g),L=this.approximateTileDistance(A.last.tileDistance,A.last.angle,E,y.cameraDistance,g));for(var z=0;z<t.length;z+=5){var P=t[z],I=t[z+1],D=t[z+2],O=t[z+3];if(!A||O<-C||O>L)n(t,z,!1);else{var R=v.projectPoint(f,P,I),F=D*S;if(m.length>0){var B=R.x-m[m.length-4],N=R.y-m[m.length-3];if(F*F*2>B*B+N*N&&z+8<t.length){var j=t[z+8];if(j>-C&&j<L){n(t,z,!1);continue}}}var V=z/5;if(m.push(R.x,R.y,F,V),n(t,z,!0),T=T&&v.isOffscreen(R.x-F,R.y-F,R.x+F,R.y+F),!e&&v.grid.hitTestCircle(R.x,R.y,F)){if(!d)return{circles:[],offscreen:!1};k=!0}}}return{circles:k?[]:m,offscreen:T}},l.prototype.queryRenderedSymbols=function(t,e,r,n,o,s){var l={},u=[];if(0===t.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return u;for(var c=this.transform.calculatePosMatrix(e.toUnwrapped()),h=[],f=1/0,p=1/0,d=-1/0,g=-1/0,v=0;v<t.length;v++)for(var m=t[v],y=0;y<m.length;y++){var x=this.projectPoint(c,m[y].x,m[y].y);f=Math.min(f,x.x),p=Math.min(p,x.y),d=Math.max(d,x.x),g=Math.max(g,x.y),h.push(x)}for(var b=e.key,_=[],w=this.grid.query(f,p,d,g),M=0;M<w.length;M++)w[M].sourceID===o&&w[M].tileID===b&&s[w[M].bucketInstanceId]&&_.push(w[M].boxIndex);for(var A=this.ignoredGrid.query(f,p,d,g),k=0;k<A.length;k++)A[k].sourceID===o&&A[k].tileID===b&&s[A[k].bucketInstanceId]&&_.push(A[k].boxIndex);for(var T=0;T<_.length;T++){var S=n.get(_[T]),E=S.sourceLayerIndex,C=S.featureIndex,L=S.bucketIndex;if(void 0===l[E]&&(l[E]={}),void 0===l[E][C]&&(l[E][C]={}),!l[E][C][L]){var z=this.projectAndGetPerspectiveRatio(c,S.anchorPointX,S.anchorPointY),P=r*z.perspectiveRatio,I=S.x1*P+z.point.x,D=S.y1*P+z.point.y,O=S.x2*P+z.point.x,R=S.y2*P+z.point.y,F=[new i(I,D),new i(O,D),new i(O,R),new i(I,R)];a.polygonIntersectsPolygon(h,F)&&(l[E][C][L]=!0,u.push(_[T]))}}return u},l.prototype.insertCollisionBox=function(t,e,r,n,i,a){var o={tileID:r,sourceID:n,bucketInstanceId:i,boxIndex:a};(e?this.ignoredGrid:this.grid).insert(o,t[0],t[1],t[2],t[3])},l.prototype.insertCollisionCircles=function(t,e,r,n,i,a){for(var o=e?this.ignoredGrid:this.grid,s=0;s<t.length;s+=4){var l={tileID:r,sourceID:n,bucketInstanceId:i,boxIndex:a+t[s+3]};o.insertCircle(l,t[s],t[s+1],t[s+2])}},l.prototype.projectAnchor=function(t,e,r){var n=[e,r,0,1];return s.xyTransformMat4(n,n,t),{perspectiveRatio:.5+this.transform.cameraToCenterDistance/n[3]*.5,cameraDistance:n[3]}},l.prototype.projectPoint=function(t,e,r){var n=[e,r,0,1];return s.xyTransformMat4(n,n,t),new i((n[0]/n[3]+1)/2*this.transform.width+100,(-n[1]/n[3]+1)/2*this.transform.height+100)},l.prototype.projectAndGetPerspectiveRatio=function(t,e,r){var n=[e,r,0,1];return s.xyTransformMat4(n,n,t),{point:new i((n[0]/n[3]+1)/2*this.transform.width+100,(-n[1]/n[3]+1)/2*this.transform.height+100),perspectiveRatio:.5+this.transform.cameraToCenterDistance/n[3]*.5}},l.prototype.isOffscreen=function(t,e,r,n){return r<100||t>=this.screenRightBoundary||n<100||e>this.screenBottomBoundary},e.exports=l},{\"../symbol/projection\":224,\"../util/intersection_tests\":264,\"./grid_index\":220,\"@mapbox/gl-matrix\":2,\"@mapbox/point-geometry\":4}],218:[function(t,e,r){var n=t(\"../data/extent\"),i=512/n/2,a=function(t,e,r){var n=this;this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var i=0,a=e;i<a.length;i+=1){var o=a[i],s=o.key;n.indexedSymbolInstances[s]||(n.indexedSymbolInstances[s]=[]),n.indexedSymbolInstances[s].push({crossTileID:o.crossTileID,coord:n.getScaledCoordinates(o,t)})}};a.prototype.getScaledCoordinates=function(t,e){var r=e.canonical.z-this.tileID.canonical.z,a=i/Math.pow(2,r),o=t.anchor;return{x:Math.floor((e.canonical.x*n+o.x)*a),y:Math.floor((e.canonical.y*n+o.y)*a)}},a.prototype.findMatches=function(t,e,r){for(var n=this.tileID.canonical.z<e.canonical.z?1:Math.pow(2,this.tileID.canonical.z-e.canonical.z),i=0,a=t;i<a.length;i+=1){var o=a[i];if(!o.crossTileID){var s=this.indexedSymbolInstances[o.key];if(s)for(var l=this.getScaledCoordinates(o,e),u=0,c=s;u<c.length;u+=1){var h=c[u];if(Math.abs(h.coord.x-l.x)<=n&&Math.abs(h.coord.y-l.y)<=n&&!r[h.crossTileID]){r[h.crossTileID]=!0,o.crossTileID=h.crossTileID;break}}}}};var o=function(){this.maxCrossTileID=0};o.prototype.generate=function(){return++this.maxCrossTileID};var s=function(){this.indexes={},this.usedCrossTileIDs={}};s.prototype.addBucket=function(t,e,r){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key])}for(var n=0,i=e.symbolInstances;n<i.length;n+=1)i[n].crossTileID=0;this.usedCrossTileIDs[t.overscaledZ]||(this.usedCrossTileIDs[t.overscaledZ]={});var o=this.usedCrossTileIDs[t.overscaledZ];for(var s in this.indexes){var l=this.indexes[s];if(Number(s)>t.overscaledZ)for(var u in l){var c=l[u];c.tileID.isChildOf(t)&&c.findMatches(e.symbolInstances,t,o)}else{var h=l[t.scaledTo(Number(s)).key];h&&h.findMatches(e.symbolInstances,t,o)}}for(var f=0,p=e.symbolInstances;f<p.length;f+=1){var d=p[f];d.crossTileID||(d.crossTileID=r.generate(),o[d.crossTileID]=!0)}return void 0===this.indexes[t.overscaledZ]&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new a(t,e.symbolInstances,e.bucketInstanceId),!0},s.prototype.removeBucketCrossTileIDs=function(t,e){for(var r in e.indexedSymbolInstances)for(var n=0,i=e.indexedSymbolInstances[r];n<i.length;n+=1){var a=i[n];delete this.usedCrossTileIDs[t][a.crossTileID]}},s.prototype.removeStaleBuckets=function(t){var e=this,r=!1;for(var n in e.indexes){var i=e.indexes[n];for(var a in i)t[i[a].bucketInstanceId]||(e.removeBucketCrossTileIDs(n,i[a]),delete i[a],r=!0)}return r};var l=function(){this.layerIndexes={},this.crossTileIDs=new o,this.maxBucketInstanceId=0};l.prototype.addLayer=function(t,e){var r=this.layerIndexes[t.id];void 0===r&&(r=this.layerIndexes[t.id]=new s);for(var n=!1,i={},a=0,o=e;a<o.length;a+=1){var l=o[a],u=l.getBucket(t);u&&(u.bucketInstanceId||(u.bucketInstanceId=++this.maxBucketInstanceId),r.addBucket(l.tileID,u,this.crossTileIDs)&&(n=!0),i[u.bucketInstanceId]=!0)}return r.removeStaleBuckets(i)&&(n=!0),n},l.prototype.pruneUnusedLayers=function(t){var e={};for(var r in t.forEach(function(t){e[t]=!0}),this.layerIndexes)e[r]||delete this.layerIndexes[r]},e.exports=l},{\"../data/extent\":53}],219:[function(t,e,r){var n=t(\"../style-spec/util/interpolate\").number,i=t(\"../symbol/anchor\"),a=t(\"./check_max_angle\");e.exports=function(t,e,r,o,s,l,u,c,h){var f=o?.6*l*u:0,p=Math.max(o?o.right-o.left:0,s?s.right-s.left:0),d=0===t[0].x||t[0].x===h||0===t[0].y||t[0].y===h;return e-p*u<e/4&&(e=p*u+e/4),function t(e,r,o,s,l,u,c,h,f){for(var p=u/2,d=0,g=0;g<e.length-1;g++)d+=e[g].dist(e[g+1]);for(var v=0,m=r-o,y=[],x=0;x<e.length-1;x++){for(var b=e[x],_=e[x+1],w=b.dist(_),M=_.angleTo(b);m+o<v+w;){var A=((m+=o)-v)/w,k=n(b.x,_.x,A),T=n(b.y,_.y,A);if(k>=0&&k<f&&T>=0&&T<f&&m-p>=0&&m+p<=d){var S=new i(k,T,M,x);S._round(),s&&!a(e,S,u,s,l)||y.push(S)}}v+=w}return h||y.length||c||(y=t(e,v/2,o,s,l,u,c,!0,f)),y}(t,d?e/2*c%e:(p/2+2*l)*u*c%e,e,f,r,p*u,d,!1,h)}},{\"../style-spec/util/interpolate\":158,\"../symbol/anchor\":213,\"./check_max_angle\":214}],220:[function(t,e,r){var n=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a<this.xCellCount*this.yCellCount;a++)n.push([]),i.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=t,this.height=e,this.xScale=this.xCellCount/t,this.yScale=this.yCellCount/e,this.boxUid=0,this.circleUid=0};n.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},n.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},n.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},n.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},n.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},n.prototype._query=function(t,e,r,n,i){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var a=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n)a=Array.prototype.slice.call(this.boxKeys).concat(this.circleKeys);else{var o={hitTest:i,seenUids:{box:{},circle:{}}};this._forEachCell(t,e,r,n,this._queryCell,a,o)}return i?a.length>0:a},n.prototype._queryCircle=function(t,e,r,n){var i=t-r,a=t+r,o=e-r,s=e+r;if(a<0||i>this.width||s<0||o>this.height)return!n&&[];var l=[],u={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(i,o,a,s,this._queryCellCircle,l,u),n?l.length>0:l},n.prototype.query=function(t,e,r,n){return this._query(t,e,r,n,!1)},n.prototype.hitTest=function(t,e,r,n){return this._query(t,e,r,n,!0)},n.prototype.hitTestCircle=function(t,e,r){return this._queryCircle(t,e,r,!0)},n.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this,l=o.seenUids,u=this.boxCells[i];if(null!==u)for(var c=this.bboxes,h=0,f=u;h<f.length;h+=1){var p=f[h];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(t<=c[d+2]&&e<=c[d+3]&&r>=c[d+0]&&n>=c[d+1]){if(o.hitTest)return a.push(!0),!0;a.push(s.boxKeys[p])}}}var g=this.circleCells[i];if(null!==g)for(var v=this.circles,m=0,y=g;m<y.length;m+=1){var x=y[m];if(!l.circle[x]){l.circle[x]=!0;var b=3*x;if(s._circleAndRectCollide(v[b],v[b+1],v[b+2],t,e,r,n)){if(o.hitTest)return a.push(!0),!0;a.push(s.circleKeys[x])}}}},n.prototype._queryCellCircle=function(t,e,r,n,i,a,o){var s=o.circle,l=o.seenUids,u=this.boxCells[i];if(null!==u)for(var c=this.bboxes,h=0,f=u;h<f.length;h+=1){var p=f[h];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(this._circleAndRectCollide(s.x,s.y,s.radius,c[d+0],c[d+1],c[d+2],c[d+3]))return a.push(!0),!0}}var g=this.circleCells[i];if(null!==g)for(var v=this.circles,m=0,y=g;m<y.length;m+=1){var x=y[m];if(!l.circle[x]){l.circle[x]=!0;var b=3*x;if(this._circlesCollide(v[b],v[b+1],v[b+2],s.x,s.y,s.radius))return a.push(!0),!0}}},n.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToXCellCoord(t),l=this._convertToYCellCoord(e),u=this._convertToXCellCoord(r),c=this._convertToYCellCoord(n),h=s;h<=u;h++)for(var f=l;f<=c;f++){var p=this.xCellCount*f+h;if(i.call(this,t,e,r,n,p,a,o))return}},n.prototype._convertToXCellCoord=function(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))},n.prototype._convertToYCellCoord=function(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))},n.prototype._circlesCollide=function(t,e,r,n,i,a){var o=n-t,s=i-e,l=r+a;return l*l>o*o+s*s},n.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var u=(o-i)/2,c=Math.abs(e-(i+u));if(c>u+r)return!1;if(l<=s||c<=u)return!0;var h=l-s,f=c-u;return h*h+f*f<=r*r},e.exports=n},{}],221:[function(t,e,r){e.exports=function(t){function e(e){s.push(t[e]),l++}function r(t,e,r){var n=o[t];return delete o[t],o[e]=n,s[n].geometry[0].pop(),s[n].geometry[0]=s[n].geometry[0].concat(r[0]),n}function n(t,e,r){var n=a[e];return delete a[e],a[t]=n,s[n].geometry[0].shift(),s[n].geometry[0]=r[0].concat(s[n].geometry[0]),n}function i(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+\":\"+n.x+\":\"+n.y}for(var a={},o={},s=[],l=0,u=0;u<t.length;u++){var c=t[u],h=c.geometry,f=c.text;if(f){var p=i(f,h),d=i(f,h,!0);if(p in o&&d in a&&o[p]!==a[d]){var g=n(p,d,h),v=r(p,d,s[g].geometry);delete a[p],delete o[d],o[i(f,s[v].geometry,!0)]=v,s[g].geometry=null}else p in o?r(p,d,h):d in a?n(p,d,h):(e(u),a[p]=l-1,o[d]=l-1)}else e(u)}return s.filter(function(t){return t.geometry})}},{}],222:[function(t,e,r){var n=t(\"../util/web_worker_transfer\").register,i=function(){this.opacity=0,this.targetOpacity=0,this.time=0};i.prototype.clone=function(){var t=new i;return t.opacity=this.opacity,t.targetOpacity=this.targetOpacity,t.time=this.time,t},n(\"OpacityState\",i),e.exports=i},{\"../util/web_worker_transfer\":278}],223:[function(t,e,r){function n(t,e,r){t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0)}function i(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*g+e*v+r*m+e*y+r*x+e*b+r*_+e}var a=t(\"./collision_index\"),o=t(\"../data/extent\"),s=t(\"./symbol_size\"),l=t(\"./projection\"),u=t(\"../style/style_layer/symbol_style_layer_properties\").layout,c=t(\"../source/pixels_to_tile_units\"),h=function(t,e,r,n){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):n&&r?1:0,this.placed=r};h.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var f=function(t,e,r,n,i){this.text=new h(t?t.text:null,e,r,i),this.icon=new h(t?t.icon:null,e,n,i)};f.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var p=function(t,e,r){this.text=t,this.icon=e,this.skipFade=r},d=function(t,e){this.transform=t.clone(),this.collisionIndex=new a(this.transform),this.placements={},this.opacities={},this.stale=!1,this.fadeDuration=e};d.prototype.placeLayerTile=function(t,e,r,n){var i=e.getBucket(t);if(i){var a=i.layers[0].layout,s=Math.pow(2,this.transform.zoom-e.tileID.overscaledZ),u=e.tileSize/o,h=this.transform.calculatePosMatrix(e.tileID.toUnwrapped()),f=l.getLabelPlaneMatrix(h,\"map\"===a.get(\"text-pitch-alignment\"),\"map\"===a.get(\"text-rotation-alignment\"),this.transform,c(e,1,this.transform.zoom)),p=l.getLabelPlaneMatrix(h,\"map\"===a.get(\"icon-pitch-alignment\"),\"map\"===a.get(\"icon-rotation-alignment\"),this.transform,c(e,1,this.transform.zoom));this.placeLayerBucket(i,h,f,p,s,u,r,n,e.collisionBoxArray,e.tileID.key,t.source)}},d.prototype.placeLayerBucket=function(t,e,r,n,i,a,o,l,c,h,f){for(var d=this,g=t.layers[0].layout,v=s.evaluateSizeForZoom(t.textSizeData,this.transform.zoom,u.properties[\"text-size\"]),m=!t.hasTextData()||g.get(\"text-optional\"),y=!t.hasIconData()||g.get(\"icon-optional\"),x=0,b=t.symbolInstances;x<b.length;x+=1){var _=b[x];if(!l[_.crossTileID]){var w=!1,M=!1,A=!0,k=null,T=null,S=null;_.collisionArrays||(_.collisionArrays=t.deserializeCollisionBoxes(c,_.textBoxStartIndex,_.textBoxEndIndex,_.iconBoxStartIndex,_.iconBoxEndIndex)),_.collisionArrays.textBox&&(w=(k=d.collisionIndex.placeCollisionBox(_.collisionArrays.textBox,g.get(\"text-allow-overlap\"),a,e)).box.length>0,A=A&&k.offscreen);var E=_.collisionArrays.textCircles;if(E){var C=t.text.placedSymbolArray.get(_.placedTextSymbolIndices[0]),L=s.evaluateSizeForFeature(t.textSizeData,v,C);T=d.collisionIndex.placeCollisionCircles(E,g.get(\"text-allow-overlap\"),i,a,_.key,C,t.lineVertexArray,t.glyphOffsetArray,L,e,r,o,\"map\"===g.get(\"text-pitch-alignment\")),w=g.get(\"text-allow-overlap\")||T.circles.length>0,A=A&&T.offscreen}_.collisionArrays.iconBox&&(M=(S=d.collisionIndex.placeCollisionBox(_.collisionArrays.iconBox,g.get(\"icon-allow-overlap\"),a,e)).box.length>0,A=A&&S.offscreen),m||y?y?m||(M=M&&w):w=M&&w:M=w=M&&w,w&&k&&d.collisionIndex.insertCollisionBox(k.box,g.get(\"text-ignore-placement\"),h,f,t.bucketInstanceId,_.textBoxStartIndex),M&&S&&d.collisionIndex.insertCollisionBox(S.box,g.get(\"icon-ignore-placement\"),h,f,t.bucketInstanceId,_.iconBoxStartIndex),w&&T&&d.collisionIndex.insertCollisionCircles(T.circles,g.get(\"text-ignore-placement\"),h,f,t.bucketInstanceId,_.textBoxStartIndex),d.placements[_.crossTileID]=new p(w,M,A||t.justReloaded),l[_.crossTileID]=!0}}t.justReloaded=!1},d.prototype.commit=function(t,e){var r=this;this.commitTime=e;var n=!1,i=t&&0!==this.fadeDuration?(this.commitTime-t.commitTime)/this.fadeDuration:1,a=t?t.opacities:{};for(var o in r.placements){var s=r.placements[o],l=a[o];l?(r.opacities[o]=new f(l,i,s.text,s.icon),n=n||s.text!==l.text.placed||s.icon!==l.icon.placed):(r.opacities[o]=new f(null,i,s.text,s.icon,s.skipFade),n=n||s.text||s.icon)}for(var u in a){var c=a[u];if(!r.opacities[u]){var h=new f(c,i,!1,!1);h.isHidden()||(r.opacities[u]=h,n=n||c.text.placed||c.icon.placed)}}n?this.lastPlacementChangeTime=e:\"number\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)},d.prototype.updateLayerOpacities=function(t,e){for(var r={},n=0,i=e;n<i.length;n+=1){var a=i[n],o=a.getBucket(t);o&&this.updateBucketOpacities(o,r,a.collisionBoxArray)}},d.prototype.updateBucketOpacities=function(t,e,r){t.hasTextData()&&t.text.opacityVertexArray.clear(),t.hasIconData()&&t.icon.opacityVertexArray.clear(),t.hasCollisionBoxData()&&t.collisionBox.collisionVertexArray.clear(),t.hasCollisionCircleData()&&t.collisionCircle.collisionVertexArray.clear();for(var a=t.layers[0].layout,o=new f(null,0,a.get(\"text-allow-overlap\"),a.get(\"icon-allow-overlap\"),!0),s=0;s<t.symbolInstances.length;s++){var l=t.symbolInstances[s],u=e[l.crossTileID],c=this.opacities[l.crossTileID];c?u&&(c=o):(c=o,this.opacities[l.crossTileID]=c),e[l.crossTileID]=!0;var h=l.numGlyphVertices>0||l.numVerticalGlyphVertices>0,p=l.numIconVertices>0;if(h){for(var d=i(c.text),g=(l.numGlyphVertices+l.numVerticalGlyphVertices)/4,v=0;v<g;v++)t.text.opacityVertexArray.emplaceBack(d);for(var m=0,y=l.placedTextSymbolIndices;m<y.length;m+=1){var x=y[m];t.text.placedSymbolArray.get(x).hidden=c.text.isHidden()}}if(p){for(var b=i(c.icon),_=0;_<l.numIconVertices/4;_++)t.icon.opacityVertexArray.emplaceBack(b);t.icon.placedSymbolArray.get(s).hidden=c.icon.isHidden()}l.collisionArrays||(l.collisionArrays=t.deserializeCollisionBoxes(r,l.textBoxStartIndex,l.textBoxEndIndex,l.iconBoxStartIndex,l.iconBoxEndIndex));var w=l.collisionArrays;if(w){w.textBox&&t.hasCollisionBoxData()&&n(t.collisionBox.collisionVertexArray,c.text.placed,!1),w.iconBox&&t.hasCollisionBoxData()&&n(t.collisionBox.collisionVertexArray,c.icon.placed,!1);var M=w.textCircles;if(M&&t.hasCollisionCircleData())for(var A=0;A<M.length;A+=5){var k=u||0===M[A+4];n(t.collisionCircle.collisionVertexArray,c.text.placed,k)}}}t.sortFeatures(this.transform.angle),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasCollisionBoxData()&&t.collisionBox.collisionVertexBuffer&&t.collisionBox.collisionVertexBuffer.updateData(t.collisionBox.collisionVertexArray),t.hasCollisionCircleData()&&t.collisionCircle.collisionVertexBuffer&&t.collisionCircle.collisionVertexBuffer.updateData(t.collisionCircle.collisionVertexArray)},d.prototype.symbolFadeChange=function(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration},d.prototype.hasTransitions=function(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration},d.prototype.stillRecent=function(t){return\"undefined\"!==this.commitTime&&this.commitTime+this.fadeDuration>t},d.prototype.setStale=function(){this.stale=!0};var g=Math.pow(2,25),v=Math.pow(2,24),m=Math.pow(2,17),y=Math.pow(2,16),x=Math.pow(2,9),b=Math.pow(2,8),_=Math.pow(2,1);e.exports=d},{\"../data/extent\":53,\"../source/pixels_to_tile_units\":104,\"../style/style_layer/symbol_style_layer_properties\":209,\"./collision_index\":217,\"./projection\":224,\"./symbol_size\":228}],224:[function(t,e,r){function n(t,e){var r=[t.x,t.y,0,1];h(r,r,e);var n=r[3];return{point:new f(r[0]/n,r[1]/n),signedDistanceFromCamera:n}}function i(t,e){var r=t[0]/t[3],n=t[1]/t[3];return r>=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function a(t,e,r,n,i,a,o,s,l,c,h,f){var p=s.glyphStartIndex+s.numGlyphs,d=s.lineStartIndex,g=s.lineStartIndex+s.lineLength,v=e.getoffsetX(s.glyphStartIndex),m=e.getoffsetX(p-1),y=u(t*v,r,n,i,a,o,s.segment,d,g,l,c,h,f);if(!y)return null;var x=u(t*m,r,n,i,a,o,s.segment,d,g,l,c,h,f);return x?{first:y,last:x}:null}function o(t,e,r,n){return t===x.horizontal&&Math.abs(r.y-e.y)>Math.abs(r.x-e.x)*n?{useVertical:!0}:(t===x.vertical?e.y<r.y:e.x>r.x)?{needsFlipping:!0}:null}function s(t,e,r,i,s,c,h,p,d,g,v,y,x,b){var _,w=e/24,M=t.lineOffsetX*e,A=t.lineOffsetY*e;if(t.numGlyphs>1){var k=t.glyphStartIndex+t.numGlyphs,T=t.lineStartIndex,S=t.lineStartIndex+t.lineLength,E=a(w,p,M,A,r,v,y,t,d,c,x,!1);if(!E)return{notEnoughRoom:!0};var C=n(E.first.point,h).point,L=n(E.last.point,h).point;if(i&&!r){var z=o(t.writingMode,C,L,b);if(z)return z}_=[E.first];for(var P=t.glyphStartIndex+1;P<k-1;P++)_.push(u(w*p.getoffsetX(P),M,A,r,v,y,t.segment,T,S,d,c,x,!1));_.push(E.last)}else{if(i&&!r){var I=n(y,s).point,D=t.lineStartIndex+t.segment+1,O=new f(d.getx(D),d.gety(D)),R=n(O,s),F=R.signedDistanceFromCamera>0?R.point:l(y,O,I,1,s),B=o(t.writingMode,I,F,b);if(B)return B}var N=u(w*p.getoffsetX(t.glyphStartIndex),M,A,r,v,y,t.segment,t.lineStartIndex,t.lineStartIndex+t.lineLength,d,c,x,!1);if(!N)return{notEnoughRoom:!0};_=[N]}for(var j=0,V=_;j<V.length;j+=1){var U=V[j];m(g,U.point,U.angle)}return{}}function l(t,e,r,i,a){var o=n(t.add(t.sub(e)._unit()),a).point,s=r.sub(o);return r.add(s._mult(i/s.mag()))}function u(t,e,r,i,a,o,s,u,c,h,p,d,g){var v=i?t-e:t+e,m=v>0?1:-1,y=0;i&&(m*=-1,y=Math.PI),m<0&&(y+=Math.PI);for(var x=m>0?u+s:u+s+1,b=x,_=a,w=a,M=0,A=0,k=Math.abs(v);M+A<=k;){if((x+=m)<u||x>=c)return null;if(w=_,void 0===(_=d[x])){var T=new f(h.getx(x),h.gety(x)),S=n(T,p);if(S.signedDistanceFromCamera>0)_=d[x]=S.point;else{var E=x-m;_=l(0===M?o:new f(h.getx(E),h.gety(E)),T,w,k-M+1,p)}}M+=A,A=w.dist(_)}var C=(k-M)/A,L=_.sub(w),z=L.mult(C)._add(w);return z._add(L._unit()._perp()._mult(r*m)),{point:z,angle:y+Math.atan2(_.y-w.y,_.x-w.x),tileDistance:g?{prevTileDistance:x-m===b?0:h.gettileUnitDistanceFromAnchor(x-m),lastSegmentViewportDistance:k-M}:null}}function c(t,e){for(var r=0;r<t;r++){var n=e.length;e.resize(n+4),e.float32.set(b,3*n)}}function h(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[3]=r[3]*n+r[7]*i+r[15],t}var f=t(\"@mapbox/point-geometry\"),p=t(\"@mapbox/gl-matrix\"),d=p.mat4,g=p.vec4,v=t(\"./symbol_size\"),m=t(\"../data/bucket/symbol_bucket\").addDynamicAttributes,y=t(\"../style/style_layer/symbol_style_layer_properties\").layout,x=t(\"../symbol/shaping\").WritingMode;e.exports={updateLineLabels:function(t,e,r,a,o,l,u,h){var p=a?t.textSizeData:t.iconSizeData,d=v.evaluateSizeForZoom(p,r.transform.zoom,y.properties[a?\"text-size\":\"icon-size\"]),m=[256/r.width*2+1,256/r.height*2+1],b=a?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;b.clear();for(var _=t.lineVertexArray,w=a?t.text.placedSymbolArray:t.icon.placedSymbolArray,M=r.transform.width/r.transform.height,A=!1,k=0;k<w.length;k++){var T=w.get(k);if(T.hidden||T.writingMode===x.vertical&&!A)c(T.numGlyphs,b);else{A=!1;var S=[T.anchorX,T.anchorY,0,1];if(g.transformMat4(S,S,e),i(S,m)){var E=.5+S[3]/r.transform.cameraToCenterDistance*.5,C=v.evaluateSizeForFeature(p,d,T),L=u?C*E:C/E,z=new f(T.anchorX,T.anchorY),P=n(z,o).point,I={},D=s(T,L,!1,h,e,o,l,t.glyphOffsetArray,_,b,P,z,I,M);A=D.useVertical,(D.notEnoughRoom||A||D.needsFlipping&&s(T,L,!0,h,e,o,l,t.glyphOffsetArray,_,b,P,z,I,M).notEnoughRoom)&&c(T.numGlyphs,b)}else c(T.numGlyphs,b)}}a?t.text.dynamicLayoutVertexBuffer.updateData(b):t.icon.dynamicLayoutVertexBuffer.updateData(b)},getLabelPlaneMatrix:function(t,e,r,n,i){var a=d.identity(new Float32Array(16));return e?(d.identity(a),d.scale(a,a,[1/i,1/i,1]),r||d.rotateZ(a,a,n.angle)):(d.scale(a,a,[n.width/2,-n.height/2,1]),d.translate(a,a,[1,-1,0]),d.multiply(a,a,t)),a},getGlCoordMatrix:function(t,e,r,n,i){var a=d.identity(new Float32Array(16));return e?(d.multiply(a,a,t),d.scale(a,a,[i,i,1]),r||d.rotateZ(a,a,-n.angle)):(d.scale(a,a,[1,-1,1]),d.translate(a,a,[-1,-1,0]),d.scale(a,a,[2/n.width,2/n.height,1])),a},project:n,placeFirstAndLastGlyph:a,xyTransformMat4:h};var b=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0])},{\"../data/bucket/symbol_bucket\":51,\"../style/style_layer/symbol_style_layer_properties\":209,\"../symbol/shaping\":226,\"./symbol_size\":228,\"@mapbox/gl-matrix\":2,\"@mapbox/point-geometry\":4}],225:[function(t,e,r){var n=t(\"@mapbox/point-geometry\"),i=t(\"../style/parse_glyph_pbf\").GLYPH_PBF_BORDER;e.exports={getIconQuads:function(t,e,r,i,a,o,s){var l,u,c,h,f=e.image,p=r.layout,d=e.top-1/f.pixelRatio,g=e.left-1/f.pixelRatio,v=e.bottom+1/f.pixelRatio,m=e.right+1/f.pixelRatio;if(\"none\"!==p.get(\"icon-text-fit\")&&a){var y=m-g,x=v-d,b=p.get(\"text-size\").evaluate(s)/24,_=a.left*b,w=a.right*b,M=a.top*b,A=w-_,k=a.bottom*b-M,T=p.get(\"icon-text-fit-padding\")[0],S=p.get(\"icon-text-fit-padding\")[1],E=p.get(\"icon-text-fit-padding\")[2],C=p.get(\"icon-text-fit-padding\")[3],L=\"width\"===p.get(\"icon-text-fit\")?.5*(k-x):0,z=\"height\"===p.get(\"icon-text-fit\")?.5*(A-y):0,P=\"width\"===p.get(\"icon-text-fit\")||\"both\"===p.get(\"icon-text-fit\")?A:y,I=\"height\"===p.get(\"icon-text-fit\")||\"both\"===p.get(\"icon-text-fit\")?k:x;l=new n(_+z-C,M+L-T),u=new n(_+z+S+P,M+L-T),c=new n(_+z+S+P,M+L+E+I),h=new n(_+z-C,M+L+E+I)}else l=new n(g,d),u=new n(m,d),c=new n(m,v),h=new n(g,v);var D=r.layout.get(\"icon-rotate\").evaluate(s)*Math.PI/180;if(D){var O=Math.sin(D),R=Math.cos(D),F=[R,-O,O,R];l._matMult(F),u._matMult(F),h._matMult(F),c._matMult(F)}return[{tl:l,tr:u,bl:h,br:c,tex:{x:f.textureRect.x-1,y:f.textureRect.y-1,w:f.textureRect.w+2,h:f.textureRect.h+2},writingMode:void 0,glyphOffset:[0,0]}]},getGlyphQuads:function(t,e,r,a,o,s,l){for(var u=r.layout.get(\"text-rotate\").evaluate(s)*Math.PI/180,c=r.layout.get(\"text-offset\").evaluate(s).map(function(t){return 24*t}),h=e.positionedGlyphs,f=[],p=0;p<h.length;p++){var d=h[p],g=l[d.glyph];if(g){var v=g.rect;if(v){var m=i+1,y=g.metrics.advance/2,x=a?[d.x+y,d.y]:[0,0],b=a?[0,0]:[d.x+y+c[0],d.y+c[1]],_=g.metrics.left-m-y+b[0],w=-g.metrics.top-m+b[1],M=_+v.w,A=w+v.h,k=new n(_,w),T=new n(M,w),S=new n(_,A),E=new n(M,A);if(a&&d.vertical){var C=new n(-y,y),L=-Math.PI/2,z=new n(5,0);k._rotateAround(L,C)._add(z),T._rotateAround(L,C)._add(z),S._rotateAround(L,C)._add(z),E._rotateAround(L,C)._add(z)}if(u){var P=Math.sin(u),I=Math.cos(u),D=[I,-P,P,I];k._matMult(D),T._matMult(D),S._matMult(D),E._matMult(D)}f.push({tl:k,tr:T,bl:S,br:E,tex:v,writingMode:e.writingMode,glyphOffset:x})}}}return f}}},{\"../style/parse_glyph_pbf\":186,\"@mapbox/point-geometry\":4}],226:[function(t,e,r){function n(t,e,r,n){var i=Math.pow(t-e,2);return n?t<e?i/2:2*i:i+Math.abs(r)*r}function i(t,e){var r=0;return 10===t&&(r-=1e4),40!==t&&65288!==t||(r+=50),41!==e&&65289!==e||(r+=50),r}function a(t,e,r,i,a,o){for(var s=null,l=n(e,r,a,o),u=0,c=i;u<c.length;u+=1){var h=c[u],f=n(e-h.x,r,a,o)+h.badness;f<=l&&(s=h,l=f)}return{index:t,x:e,priorBreak:s,badness:l}}function o(t,e,r,n){if(!r)return[];if(!t)return[];for(var o=[],s=function(t,e,r,n){for(var i=0,a=0;a<t.length;a++){var o=n[t.charCodeAt(a)];o&&(i+=o.metrics.advance+e)}return i/Math.max(1,Math.ceil(i/r))}(t,e,r,n),l=0,c=0;c<t.length;c++){var h=t.charCodeAt(c),f=n[h];f&&!p[h]&&(l+=f.metrics.advance+e),c<t.length-1&&(d[h]||u.charAllowsIdeographicBreaking(h))&&o.push(a(c+1,l,s,o,i(h,t.charCodeAt(c+1)),!1))}return function t(e){return e?t(e.priorBreak).concat(e.index):[]}(a(t.length,l,s,o,0,!0))}function s(t){var e=.5,r=.5;switch(t){case\"right\":case\"top-right\":case\"bottom-right\":e=1;break;case\"left\":case\"top-left\":case\"bottom-left\":e=0}switch(t){case\"bottom\":case\"bottom-right\":case\"bottom-left\":r=1;break;case\"top\":case\"top-right\":case\"top-left\":r=0}return{horizontalAlign:e,verticalAlign:r}}function l(t,e,r,n,i){if(i){var a=e[t[n].glyph];if(a)for(var o=a.metrics.advance,s=(t[n].x+o)*i,l=r;l<=n;l++)t[l].x-=s}}var u=t(\"../util/script_detection\"),c=t(\"../util/verticalize_punctuation\"),h=t(\"../source/rtl_text_plugin\"),f={horizontal:1,vertical:2,horizontalOnly:3};e.exports={shapeText:function(t,e,r,n,i,a,p,d,g,v){var m=t.trim();v===f.vertical&&(m=c(m));var y=[],x={positionedGlyphs:y,text:m,top:d[1],bottom:d[1],left:d[0],right:d[0],writingMode:v},b=h.processBidirectionalText;return function(t,e,r,n,i,a,o,c,h){for(var p=0,d=-17,g=0,v=t.positionedGlyphs,m=\"right\"===a?1:\"left\"===a?0:.5,y=0,x=r;y<x.length;y+=1){var b=x[y];if((b=b.trim()).length){for(var _=v.length,w=0;w<b.length;w++){var M=b.charCodeAt(w),A=e[M];A&&(u.charHasUprightVerticalOrientation(M)&&o!==f.horizontal?(v.push({glyph:M,x:p,y:0,vertical:!0}),p+=h+c):(v.push({glyph:M,x:p,y:d,vertical:!1}),p+=A.metrics.advance+c))}if(v.length!==_){var k=p-c;g=Math.max(k,g),l(v,e,_,v.length-1,m)}p=0,d+=n}else d+=n}var T=s(i),S=T.horizontalAlign,E=T.verticalAlign;!function(t,e,r,n,i,a,o){for(var s=(e-r)*i,l=(-n*o+.5)*a,u=0;u<t.length;u++)t[u].x+=s,t[u].y+=l}(v,m,S,E,g,n,r.length);var C=r.length*n;t.top+=-E*C,t.bottom=t.top+C,t.left+=-S*g,t.right=t.left+g}(x,e,b?b(m,o(m,p,r,e)):function(t,e){for(var r=[],n=0,i=0,a=e;i<a.length;i+=1){var o=a[i];r.push(t.substring(n,o)),n=o}return n<t.length&&r.push(t.substring(n,t.length)),r}(m,o(m,p,r,e)),n,i,a,v,p,g),!!y.length&&x},shapeIcon:function(t,e,r){var n=s(r),i=n.horizontalAlign,a=n.verticalAlign,o=e[0],l=e[1],u=o-t.displaySize[0]*i,c=u+t.displaySize[0],h=l-t.displaySize[1]*a;return{image:t,top:h,bottom:h+t.displaySize[1],left:u,right:c}},WritingMode:f};var p={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},d={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0}},{\"../source/rtl_text_plugin\":109,\"../util/script_detection\":269,\"../util/verticalize_punctuation\":277}],227:[function(t,e,r){function n(t,e,r,n,c,h){var f=h.layoutTextSize.evaluate(e),d=h.layoutIconSize.evaluate(e),g=h.textMaxSize.evaluate(e);void 0===g&&(g=f);var x=t.layers[0].layout,A=x.get(\"text-offset\").evaluate(e),k=x.get(\"icon-offset\").evaluate(e),T=f/24,S=t.tilePixelRatio*T,E=t.tilePixelRatio*g/24,C=t.tilePixelRatio*d,L=t.tilePixelRatio*x.get(\"symbol-spacing\"),z=x.get(\"text-padding\")*t.tilePixelRatio,P=x.get(\"icon-padding\")*t.tilePixelRatio,I=x.get(\"text-max-angle\")/180*Math.PI,D=\"map\"===x.get(\"text-rotation-alignment\")&&\"line\"===x.get(\"symbol-placement\"),O=\"map\"===x.get(\"icon-rotation-alignment\")&&\"line\"===x.get(\"symbol-placement\"),R=L/2,F=function(a,o){o.x<0||o.x>=w||o.y<0||o.y>=w||t.symbolInstances.push(function(t,e,r,n,a,o,s,l,c,h,f,d,g,x,b,_,w,A,k,T,S,E){var C,L,z=t.addToLineVertexArray(e,r),P=0,I=0,D=0,O=n.horizontal?n.horizontal.text:\"\",R=[];n.horizontal&&(C=new m(s,r,e,l,c,h,n.horizontal,f,d,g,t.overscaling),I+=i(t,e,n.horizontal,o,g,k,T,x,z,n.vertical?p.horizontal:p.horizontalOnly,R,S,E),n.vertical&&(D+=i(t,e,n.vertical,o,g,k,T,x,z,p.vertical,R,S,E)));var F=C?C.boxStartIndex:t.collisionBoxArray.length,B=C?C.boxEndIndex:t.collisionBoxArray.length;if(a){var N=v(e,a,o,w,n.horizontal,k,T);L=new m(s,r,e,l,c,h,a,b,_,!1,t.overscaling),P=4*N.length;var j=t.iconSizeData,V=null;\"source\"===j.functionType?V=[10*o.layout.get(\"icon-size\").evaluate(T)]:\"composite\"===j.functionType&&(V=[10*E.compositeIconSizes[0].evaluate(T),10*E.compositeIconSizes[1].evaluate(T)]),t.addSymbols(t.icon,N,V,A,w,T,!1,e,z.lineStartIndex,z.lineLength)}var U=L?L.boxStartIndex:t.collisionBoxArray.length,q=L?L.boxEndIndex:t.collisionBoxArray.length;return t.glyphOffsetArray.length>=M.MAX_GLYPHS&&y.warnOnce(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),{key:O,textBoxStartIndex:F,textBoxEndIndex:B,iconBoxStartIndex:U,iconBoxEndIndex:q,textOffset:x,iconOffset:A,anchor:e,line:r,featureIndex:l,feature:T,numGlyphVertices:I,numVerticalGlyphVertices:D,numIconVertices:P,textOpacityState:new u,iconOpacityState:new u,isDuplicate:!1,placedTextSymbolIndices:R,crossTileID:0}}(t,o,a,r,n,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,S,z,D,A,C,P,O,k,{zoom:t.zoom},e,c,h))};if(\"line\"===x.get(\"symbol-placement\"))for(var B=0,N=l(e.geometry,0,0,w,w);B<N.length;B+=1)for(var j=N[B],V=0,U=s(j,L,I,r.vertical||r.horizontal,n,24,E,t.overscaling,w);V<U.length;V+=1){var q=U[V],H=r.horizontal;H&&a(t,H.text,R,q)||F(j,q)}else if(\"Polygon\"===e.type)for(var G=0,W=_(e.geometry,0);G<W.length;G+=1){var Y=W[G],X=b(Y,16);F(Y[0],new o(X.x,X.y,0))}else if(\"LineString\"===e.type)for(var Z=0,J=e.geometry;Z<J.length;Z+=1){var K=J[Z];F(K,new o(K[0].x,K[0].y,0))}else if(\"Point\"===e.type)for(var Q=0,$=e.geometry;Q<$.length;Q+=1)for(var tt=0,et=$[Q];tt<et.length;tt+=1){var rt=et[tt];F([rt],new o(rt.x,rt.y,0))}}function i(t,e,r,n,i,a,o,s,l,u,c,h,f){var p=g(e,r,n,i,a,o,h),d=t.textSizeData,v=null;return\"source\"===d.functionType?v=[10*n.layout.get(\"text-size\").evaluate(o)]:\"composite\"===d.functionType&&(v=[10*f.compositeTextSizes[0].evaluate(o),10*f.compositeTextSizes[1].evaluate(o)]),t.addSymbols(t.text,p,v,s,i,o,u,e,l.lineStartIndex,l.lineLength),c.push(t.text.placedSymbolArray.length-1),4*p.length}function a(t,e,r,n){var i=t.compareText;if(e in i){for(var a=i[e],o=a.length-1;o>=0;o--)if(n.dist(a[o])<r)return!0}else i[e]=[];return i[e].push(n),!1}var o=t(\"./anchor\"),s=t(\"./get_anchors\"),l=t(\"./clip_line\"),u=t(\"./opacity_state\"),c=t(\"./shaping\"),h=c.shapeText,f=c.shapeIcon,p=c.WritingMode,d=t(\"./quads\"),g=d.getGlyphQuads,v=d.getIconQuads,m=t(\"./collision_feature\"),y=t(\"../util/util\"),x=t(\"../util/script_detection\"),b=t(\"../util/find_pole_of_inaccessibility\"),_=t(\"../util/classify_rings\"),w=t(\"../data/extent\"),M=t(\"../data/bucket/symbol_bucket\"),A=t(\"../style/evaluation_parameters\");t(\"@mapbox/point-geometry\");e.exports={performSymbolLayout:function(t,e,r,i,a,o){t.createArrays(),t.symbolInstances=[];var s=512*t.overscaling;t.tilePixelRatio=w/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,u=t.layers[0]._unevaluatedLayout._values,c={};if(\"composite\"===t.textSizeData.functionType){var d=t.textSizeData.zoomRange,g=d.min,v=d.max;c.compositeTextSizes=[u[\"text-size\"].possiblyEvaluate(new A(g)),u[\"text-size\"].possiblyEvaluate(new A(v))]}if(\"composite\"===t.iconSizeData.functionType){var m=t.iconSizeData.zoomRange,b=m.min,_=m.max;c.compositeIconSizes=[u[\"icon-size\"].possiblyEvaluate(new A(b)),u[\"icon-size\"].possiblyEvaluate(new A(_))]}c.layoutTextSize=u[\"text-size\"].possiblyEvaluate(new A(t.zoom+1)),c.layoutIconSize=u[\"icon-size\"].possiblyEvaluate(new A(t.zoom+1)),c.textMaxSize=u[\"text-size\"].possiblyEvaluate(new A(18));for(var M=24*l.get(\"text-line-height\"),k=\"map\"===l.get(\"text-rotation-alignment\")&&\"line\"===l.get(\"symbol-placement\"),T=l.get(\"text-keep-upright\"),S=0,E=t.features;S<E.length;S+=1){var C=E[S],L=l.get(\"text-font\").evaluate(C).join(\",\"),z=e[L]||{},P=r[L]||{},I={},D=C.text;if(D){var O=x.allowsVerticalWritingMode(D),R=l.get(\"text-offset\").evaluate(C).map(function(t){return 24*t}),F=24*l.get(\"text-letter-spacing\").evaluate(C),B=x.allowsLetterSpacing(D)?F:0,N=l.get(\"text-anchor\").evaluate(C),j=l.get(\"text-justify\").evaluate(C),V=\"line\"!==l.get(\"symbol-placement\")?24*l.get(\"text-max-width\").evaluate(C):0;I.horizontal=h(D,z,V,M,N,j,B,R,24,p.horizontal),O&&k&&T&&(I.vertical=h(D,z,V,M,N,j,B,R,24,p.vertical))}var U=void 0;if(C.icon){var q=i[C.icon];q&&(U=f(a[C.icon],l.get(\"icon-offset\").evaluate(C),l.get(\"icon-anchor\").evaluate(C)),void 0===t.sdfIcons?t.sdfIcons=q.sdf:t.sdfIcons!==q.sdf&&y.warnOnce(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),q.pixelRatio!==t.pixelRatio?t.iconsNeedLinear=!0:0!==l.get(\"icon-rotate\").constantOr(1)&&(t.iconsNeedLinear=!0))}(I.horizontal||U)&&n(t,C,I,U,P,c)}o&&t.generateCollisionDebugBuffers()}}},{\"../data/bucket/symbol_bucket\":51,\"../data/extent\":53,\"../style/evaluation_parameters\":182,\"../util/classify_rings\":255,\"../util/find_pole_of_inaccessibility\":261,\"../util/script_detection\":269,\"../util/util\":275,\"./anchor\":213,\"./clip_line\":215,\"./collision_feature\":216,\"./get_anchors\":219,\"./opacity_state\":222,\"./quads\":225,\"./shaping\":226,\"@mapbox/point-geometry\":4}],228:[function(t,e,r){var n=t(\"../style-spec/expression\").normalizePropertyExpression,i=t(\"../style-spec/util/interpolate\"),a=t(\"../util/util\");e.exports={getSizeData:function(t,e){var r=e.expression;if(\"constant\"===r.kind)return{functionType:\"constant\",layoutSize:r.evaluate({zoom:t+1})};if(\"source\"===r.kind)return{functionType:\"source\"};for(var n=r.zoomStops,i=0;i<n.length&&n[i]<=t;)i++;for(var a=i=Math.max(0,i-1);a<n.length&&n[a]<t+1;)a++;a=Math.min(n.length-1,a);var o={min:n[i],max:n[a]};return\"composite\"===r.kind?{functionType:\"composite\",zoomRange:o,propertyValue:e.value}:{functionType:\"camera\",layoutSize:r.evaluate({zoom:t+1}),zoomRange:o,sizeRange:{min:r.evaluate({zoom:o.min}),max:r.evaluate({zoom:o.max})},propertyValue:e.value}},evaluateSizeForFeature:function(t,e,r){var n=e;return\"source\"===t.functionType?r.lowerSize/10:\"composite\"===t.functionType?i.number(r.lowerSize/10,r.upperSize/10,n.uSizeT):n.uSize},evaluateSizeForZoom:function(t,e,r){if(\"constant\"===t.functionType)return{uSizeT:0,uSize:t.layoutSize};if(\"source\"===t.functionType)return{uSizeT:0,uSize:0};if(\"camera\"===t.functionType){var i=t.propertyValue,o=t.zoomRange,s=t.sizeRange,l=n(i,r.specification),u=a.clamp(l.interpolationFactor(e,o.min,o.max),0,1);return{uSizeT:0,uSize:s.min+u*(s.max-s.min)}}var c=t.propertyValue,h=t.zoomRange,f=n(c,r.specification);return{uSizeT:a.clamp(f.interpolationFactor(e,h.min,h.max),0,1),uSize:0}}}},{\"../style-spec/expression\":139,\"../style-spec/util/interpolate\":158,\"../util/util\":275}],229:[function(t,e,r){var n=t(\"../source/rtl_text_plugin\");e.exports=function(t,e,r){var i=e.layout.get(\"text-transform\").evaluate(r);return\"uppercase\"===i?t=t.toLocaleUpperCase():\"lowercase\"===i&&(t=t.toLocaleLowerCase()),n.applyArabicShaping&&(t=n.applyArabicShaping(t)),t}},{\"../source/rtl_text_plugin\":109}],230:[function(t,e,r){var n=t(\"../util/dom\"),i=t(\"@mapbox/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(){f=null}function o(e,r){var i=n.mousePos(l,r);return t.fire(e,{lngLat:t.unproject(i),point:i,originalEvent:r})}function s(e,r){var a=n.touchPos(l,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 l=t.getCanvasContainer(),u=null,c=!1,h=null,f=null;for(var p in a)t[p]=new a[p](t,e),e.interactive&&e[p]&&t[p].enable(e[p]);l.addEventListener(\"mouseout\",function(t){o(\"mouseout\",t)},!1),l.addEventListener(\"mousedown\",function(e){t.doubleClickZoom.isActive()||t.stop(),h=n.mousePos(l,e),o(\"mousedown\",e),c=!0},!1),l.addEventListener(\"mouseup\",function(e){var r=t.dragRotate&&t.dragRotate.isActive();u&&!r&&o(\"contextmenu\",u),u=null,c=!1,o(\"mouseup\",e)},!1),l.addEventListener(\"mousemove\",function(e){if(!(t.dragPan&&t.dragPan.isActive()||t.dragRotate&&t.dragRotate.isActive())){for(var r=e.toElement||e.target;r&&r!==l;)r=r.parentNode;r===l&&o(\"mousemove\",e)}},!1),l.addEventListener(\"mouseover\",function(t){for(var e=t.toElement||t.target;e&&e!==l;)e=e.parentNode;e===l&&o(\"mouseover\",t)},!1),l.addEventListener(\"touchstart\",function(e){t.stop(),s(\"touchstart\",e),!e.touches||e.touches.length>1||(f?(clearTimeout(f),f=null,o(\"dblclick\",e)):f=setTimeout(r,300))},!1),l.addEventListener(\"touchend\",function(t){s(\"touchend\",t)},!1),l.addEventListener(\"touchmove\",function(t){s(\"touchmove\",t)},!1),l.addEventListener(\"touchcancel\",function(t){s(\"touchcancel\",t)},!1),l.addEventListener(\"click\",function(t){n.mousePos(l,t).equals(h)&&o(\"click\",t)},!1),l.addEventListener(\"dblclick\",function(t){o(\"dblclick\",t),t.preventDefault()},!1),l.addEventListener(\"contextmenu\",function(e){var r=t.dragRotate&&t.dragRotate.isActive();c||r?c&&(u=e):o(\"contextmenu\",e),e.preventDefault()},!1)}},{\"../util/dom\":259,\"./handler/box_zoom\":239,\"./handler/dblclick_zoom\":240,\"./handler/drag_pan\":241,\"./handler/drag_rotate\":242,\"./handler/keyboard\":243,\"./handler/scroll_zoom\":244,\"./handler/touch_zoom_rotate\":245,\"@mapbox/point-geometry\":4}],231:[function(t,e,r){var n=t(\"../util/util\"),i=t(\"../style-spec/util/interpolate\").number,a=t(\"../util/browser\"),o=t(\"../geo/lng_lat\"),s=t(\"../geo/lng_lat_bounds\"),l=t(\"@mapbox/point-geometry\"),u=function(t){function e(e,r){t.call(this),this.moving=!1,this.transform=e,this._bearingSnap=r.bearingSnap}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCenter=function(){return this.transform.center},e.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},e.prototype.panBy=function(t,e,r){return t=l.convert(t).mult(-1),this.panTo(this.transform.center,n.extend({offset:t},e),r)},e.prototype.panTo=function(t,e,r){return this.easeTo(n.extend({center:t},e),r)},e.prototype.getZoom=function(){return this.transform.zoom},e.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},e.prototype.zoomTo=function(t,e,r){return this.easeTo(n.extend({zoom:t},e),r)},e.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},e.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},e.prototype.getBearing=function(){return this.transform.bearing},e.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},e.prototype.rotateTo=function(t,e,r){return this.easeTo(n.extend({bearing:t},e),r)},e.prototype.resetNorth=function(t,e){return this.rotateTo(0,n.extend({duration:1e3},t),e),this},e.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},e.prototype.getPitch=function(){return this.transform.pitch},e.prototype.setPitch=function(t,e){return this.jumpTo({pitch:t},e),this},e.prototype.fitBounds=function(t,e,r){if(\"number\"==typeof(e=n.extend({padding:{top:0,bottom:0,right:0,left:0},offset:[0,0],maxZoom:this.transform.maxZoom},e)).padding){var i=e.padding;e.padding={top:i,bottom:i,right:i,left:i}}if(!n.deepEqual(Object.keys(e.padding).sort(function(t,e){return t<e?-1:t>e?1:0}),[\"bottom\",\"left\",\"right\",\"top\"]))return n.warnOnce(\"options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'\"),this;t=s.convert(t);var a=[(e.padding.left-e.padding.right)/2,(e.padding.top-e.padding.bottom)/2],o=Math.min(e.padding.right,e.padding.left),u=Math.min(e.padding.top,e.padding.bottom);e.offset=[e.offset[0]+a[0],e.offset[1]+a[1]];var c=l.convert(e.offset),h=this.transform,f=h.project(t.getNorthWest()),p=h.project(t.getSouthEast()),d=p.sub(f),g=(h.width-2*o-2*Math.abs(c.x))/d.x,v=(h.height-2*u-2*Math.abs(c.y))/d.y;return v<0||g<0?(n.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\"),this):(e.center=h.unproject(f.add(p).div(2)),e.zoom=Math.min(h.scaleZoom(h.scale*Math.min(g,v)),e.maxZoom),e.bearing=0,e.linear?this.easeTo(e,r):this.flyTo(e,r))},e.prototype.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),void 0!==t.center&&(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(\"pitchstart\",e).fire(\"pitch\",e).fire(\"pitchend\",e),this.fire(\"moveend\",e)},e.prototype.easeTo=function(t,e){var r=this;this.stop(),!1===(t=n.extend({offset:[0,0],duration:500,easing:n.ease},t)).animate&&(t.duration=0);var a=this.transform,s=this.getZoom(),u=this.getBearing(),c=this.getPitch(),h=\"zoom\"in t?+t.zoom:s,f=\"bearing\"in t?this._normalizeBearing(t.bearing,u):u,p=\"pitch\"in t?+t.pitch:c,d=a.centerPoint.add(l.convert(t.offset)),g=a.pointLocation(d),v=o.convert(t.center||g);this._normalizeCenter(v);var m,y,x=a.project(g),b=a.project(v).sub(x),_=a.zoomScale(h-s);return t.around&&(m=o.convert(t.around),y=a.locationPoint(m)),this.zooming=h!==s,this.rotating=u!==f,this.pitching=p!==c,this._prepareEase(e,t.noMoveStart),clearTimeout(this._onEaseEnd),this._ease(function(t){if(r.zooming&&(a.zoom=i(s,h,t)),r.rotating&&(a.bearing=i(u,f,t)),r.pitching&&(a.pitch=i(c,p,t)),m)a.setLocationAtPoint(m,y);else{var n=a.zoomScale(a.zoom-s),o=h>s?Math.min(2,_):Math.max(.5,_),l=Math.pow(o,1-t),g=a.unproject(x.add(b.mult(t*l)).mult(n));a.setLocationAtPoint(a.renderWorldCopies?g.wrap():g,d)}r._fireMoveEvents(e)},function(){t.delayEndEvents?r._onEaseEnd=setTimeout(function(){return r._afterEase(e)},t.delayEndEvents):r._afterEase(e)},t),this},e.prototype._prepareEase=function(t,e){this.moving=!0,e||this.fire(\"movestart\",t),this.zooming&&this.fire(\"zoomstart\",t),this.pitching&&this.fire(\"pitchstart\",t)},e.prototype._fireMoveEvents=function(t){this.fire(\"move\",t),this.zooming&&this.fire(\"zoom\",t),this.rotating&&this.fire(\"rotate\",t),this.pitching&&this.fire(\"pitch\",t)},e.prototype._afterEase=function(t){var e=this.zooming,r=this.pitching;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,e&&this.fire(\"zoomend\",t),r&&this.fire(\"pitchend\",t),this.fire(\"moveend\",t)},e.prototype.flyTo=function(t,e){function r(t){var e=(k*k-A*A+(t?-1:1)*C*C*T*T)/(2*(t?k:A)*C*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}var u=this;this.stop(),t=n.extend({offset:[0,0],speed:1.2,curve:1.42,easing:n.ease},t);var c=this.transform,h=this.getZoom(),f=this.getBearing(),p=this.getPitch(),d=\"zoom\"in t?n.clamp(+t.zoom,c.minZoom,c.maxZoom):h,g=\"bearing\"in t?this._normalizeBearing(t.bearing,f):f,v=\"pitch\"in t?+t.pitch:p,m=c.zoomScale(d-h),y=c.centerPoint.add(l.convert(t.offset)),x=c.pointLocation(y),b=o.convert(t.center||x);this._normalizeCenter(b);var _=c.project(x),w=c.project(b).sub(_),M=t.curve,A=Math.max(c.width,c.height),k=A/m,T=w.mag();if(\"minZoom\"in t){var S=n.clamp(Math.min(t.minZoom,h,d),c.minZoom,c.maxZoom),E=A/c.zoomScale(S-h);M=Math.sqrt(E/T*2)}var C=M*M,L=r(0),z=function(t){return s(L)/s(L+M*t)},P=function(t){return A*((s(L)*function(t){return a(t)/s(t)}(L+M*t)-a(L))/C)/T},I=(r(1)-L)/M;if(Math.abs(T)<1e-6||!isFinite(I)){if(Math.abs(A-k)<1e-6)return this.easeTo(t,e);var D=k<A?-1:1;I=Math.abs(Math.log(k/A))/M,P=function(){return 0},z=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*I/O}return t.maxDuration&&t.duration>t.maxDuration&&(t.duration=0),this.zooming=!0,this.rotating=f!==g,this.pitching=v!==p,this._prepareEase(e,!1),this._ease(function(t){var r=t*I,n=1/z(r);c.zoom=h+c.scaleZoom(n),u.rotating&&(c.bearing=i(f,g,t)),u.pitching&&(c.pitch=i(p,v,t));var a=c.unproject(_.add(w.mult(P(r))).mult(n));c.setLocationAtPoint(c.renderWorldCopies?a.wrap():a,y),u._fireMoveEvents(e)},function(){return u._afterEase(e)},t),this},e.prototype.isEasing=function(){return!!this._isEasing},e.prototype.isMoving=function(){return this.moving},e.prototype.stop=function(){return this._onFrame&&this._finishAnimation(),this},e.prototype._ease=function(t,e,r){var n=this;!1===r.animate||0===r.duration?(t(1),e()):(this._easeStart=a.now(),this._isEasing=!0,this._easeOptions=r,this._startAnimation(function(e){var r=Math.min((a.now()-n._easeStart)/n._easeOptions.duration,1);t(n._easeOptions.easing(r)),1===r&&n.stop()},function(){n._isEasing=!1,e()}))},e.prototype._updateCamera=function(){this._onFrame&&this._onFrame(this.transform)},e.prototype._startAnimation=function(t,e){return void 0===e&&(e=function(){}),this.stop(),this._onFrame=t,this._finishFn=e,this._update(),this},e.prototype._finishAnimation=function(){delete this._onFrame;var t=this._finishFn;delete this._finishFn,t.call(this)},e.prototype._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},e.prototype._normalizeCenter=function(t){var e=this.transform;if(e.renderWorldCopies&&!e.lngRange){var r=t.lng-e.center.lng;t.lng+=r>180?-360:r<-180?360:0}},e}(t(\"../util/evented\"));e.exports=u},{\"../geo/lng_lat\":62,\"../geo/lng_lat_bounds\":63,\"../style-spec/util/interpolate\":158,\"../util/browser\":252,\"../util/evented\":260,\"../util/util\":275,\"@mapbox/point-geometry\":4}],232:[function(t,e,r){var n=t(\"../../util/dom\"),i=t(\"../../util/util\"),a=t(\"../../util/config\"),o=function(t){this.options=t,i.bindAll([\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};o.prototype.getDefaultPosition=function(){return\"bottom-right\"},o.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=n.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),e&&this._container.classList.add(\"mapboxgl-compact\"),this._updateAttributions(),this._updateEditLink(),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"moveend\",this._updateEditLink),void 0===e&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},o.prototype.onRemove=function(){n.remove(this._container),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"moveend\",this._updateEditLink),this._map.off(\"resize\",this._updateCompact),this._map=void 0},o.prototype._updateEditLink=function(){var t=this._editLink;t||(t=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var e=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:a.ACCESS_TOKEN}];if(t){var r=e.reduce(function(t,r,n){return r.value&&(t+=r.key+\"=\"+r.value+(n<e.length-1?\"&\":\"\")),t},\"?\");t.href=\"https://www.mapbox.com/feedback/\"+r+(this._map._hash?this._map._hash.getHashString(!0):\"\")}},o.prototype._updateData=function(t){t&&\"metadata\"===t.sourceDataType&&(this._updateAttributions(),this._updateEditLink())},o.prototype._updateAttributions=function(){if(this._map.style){var t=[];if(this._map.style.stylesheet){var e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}var r=this._map.style.sourceCaches;for(var n in r){var i=r[n].getSource();i.attribution&&t.indexOf(i.attribution)<0&&t.push(i.attribution)}t.sort(function(t,e){return t.length-e.length}),(t=t.filter(function(e,r){for(var n=r+1;n<t.length;n++)if(t[n].indexOf(e)>=0)return!1;return!0})).length?(this._container.innerHTML=t.join(\" | \"),this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null}},o.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\")},e.exports=o},{\"../../util/config\":256,\"../../util/dom\":259,\"../../util/util\":275}],233:[function(t,e,r){var n=t(\"../../util/dom\"),i=t(\"../../util/util\"),a=t(\"../../util/window\"),o=function(){this._fullscreen=!1,i.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in a.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in a.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in a.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in a.document&&(this._fullscreenchange=\"MSFullscreenChange\"),this._className=\"mapboxgl-ctrl\"};o.prototype.onAdd=function(t){return this._map=t,this._mapContainer=this._map.getContainer(),this._container=n.create(\"div\",this._className+\" mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._container.style.display=\"none\",i.warnOnce(\"This device does not support fullscreen mode.\")),this._container},o.prototype.onRemove=function(){n.remove(this._container),this._map=null,a.document.removeEventListener(this._fullscreenchange,this._changeIcon)},o.prototype._checkFullscreenSupport=function(){return!!(a.document.fullscreenEnabled||a.document.mozFullScreenEnabled||a.document.msFullscreenEnabled||a.document.webkitFullscreenEnabled)},o.prototype._setupUI=function(){var t=this._fullscreenButton=n.create(\"button\",this._className+\"-icon \"+this._className+\"-fullscreen\",this._container);t.setAttribute(\"aria-label\",\"Toggle fullscreen\"),t.type=\"button\",this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),a.document.addEventListener(this._fullscreenchange,this._changeIcon)},o.prototype._isFullscreen=function(){return this._fullscreen},o.prototype._changeIcon=function(){(a.document.fullscreenElement||a.document.mozFullScreenElement||a.document.webkitFullscreenElement||a.document.msFullscreenElement)===this._mapContainer!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(this._className+\"-shrink\"),this._fullscreenButton.classList.toggle(this._className+\"-fullscreen\"))},o.prototype._onClickFullscreen=function(){this._isFullscreen()?a.document.exitFullscreen?a.document.exitFullscreen():a.document.mozCancelFullScreen?a.document.mozCancelFullScreen():a.document.msExitFullscreen?a.document.msExitFullscreen():a.document.webkitCancelFullScreen&&a.document.webkitCancelFullScreen():this._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},e.exports=o},{\"../../util/dom\":259,\"../../util/util\":275,\"../../util/window\":254}],234:[function(t,e,r){var n,i=t(\"../../util/evented\"),a=t(\"../../util/dom\"),o=t(\"../../util/window\"),s=t(\"../../util/util\"),l=t(\"../../geo/lng_lat\"),u=t(\"../marker\"),c={positionOptions:{enableHighAccuracy:!1,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showUserLocation:!0},h=function(t){function e(e){t.call(this),this.options=s.extend({},c,e),s.bindAll([\"_onSuccess\",\"_onError\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\",\"_onClickGeolocate\"],this)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.onAdd=function(t){return this._map=t,this._container=a.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),function(t){void 0!==n?t(n):void 0!==o.navigator.permissions?o.navigator.permissions.query({name:\"geolocation\"}).then(function(e){n=\"denied\"!==e.state,t(n)}):(n=!!o.navigator.geolocation,t(n))}(this._setupUI),this._container},e.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(o.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker.remove(),a.remove(this._container),this._map=void 0},e.prototype._onSuccess=function(t){if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\")}this.options.showUserLocation&&\"OFF\"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(\"geolocate\",t),this._finish()},e.prototype._updateCamera=function(t){var e=new l(t.coords.longitude,t.coords.latitude),r=t.coords.accuracy;this._map.fitBounds(e.toBounds(r),this.options.fitBoundsOptions,{geolocateSource:!0})},e.prototype._updateMarker=function(t){t?this._userLocationDotMarker.setLngLat([t.coords.longitude,t.coords.latitude]).addTo(this._map):this._userLocationDotMarker.remove()},e.prototype._onError=function(t){if(this.options.trackUserLocation)if(1===t.code)this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),void 0!==this._geolocationWatchID&&this._clearWatch();else switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\")}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(\"error\",t),this._finish()},e.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},e.prototype._setupUI=function(t){var e=this;!1!==t&&(this._container.addEventListener(\"contextmenu\",function(t){return t.preventDefault()}),this._geolocateButton=a.create(\"button\",\"mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate\",this._container),this._geolocateButton.type=\"button\",this._geolocateButton.setAttribute(\"aria-label\",\"Geolocate\"),this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=a.create(\"div\",\"mapboxgl-user-location-dot\"),this._userLocationDotMarker=new u(this._dotElement),this.options.trackUserLocation&&(this._watchState=\"OFF\")),this._geolocateButton.addEventListener(\"click\",this._onClickGeolocate.bind(this)),this.options.trackUserLocation&&this._map.on(\"movestart\",function(t){t.geolocateSource||\"ACTIVE_LOCK\"!==e._watchState||(e._watchState=\"BACKGROUND\",e._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),e._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),e.fire(\"trackuserlocationend\"))}))},e.prototype._onClickGeolocate=function(){if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(\"trackuserlocationstart\");break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this.fire(\"trackuserlocationend\");break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(\"trackuserlocationstart\")}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"BACKGROUND\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");break;case\"BACKGROUND_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\")}\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID?this._clearWatch():void 0===this._geolocationWatchID&&(this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),this._geolocationWatchID=o.navigator.geolocation.watchPosition(this._onSuccess,this._onError,this.options.positionOptions))}else o.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4)},e.prototype._clearWatch=function(){o.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)},e}(i);e.exports=h},{\"../../geo/lng_lat\":62,\"../../util/dom\":259,\"../../util/evented\":260,\"../../util/util\":275,\"../../util/window\":254,\"../marker\":248}],235:[function(t,e,r){var n=t(\"../../util/dom\"),i=t(\"../../util/util\"),a=function(){i.bindAll([\"_updateLogo\"],this)};a.prototype.onAdd=function(t){this._map=t,this._container=n.create(\"div\",\"mapboxgl-ctrl\");var e=n.create(\"a\",\"mapboxgl-ctrl-logo\");return e.target=\"_blank\",e.href=\"https://www.mapbox.com/\",e.setAttribute(\"aria-label\",\"Mapbox logo\"),this._container.appendChild(e),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._container},a.prototype.onRemove=function(){n.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo)},a.prototype.getDefaultPosition=function(){return\"bottom-left\"},a.prototype._updateLogo=function(t){t&&\"metadata\"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?\"block\":\"none\")},a.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},e.exports=a},{\"../../util/dom\":259,\"../../util/util\":275}],236:[function(t,e,r){var n=t(\"../../util/dom\"),i=t(\"../../util/util\"),a=t(\"../handler/drag_rotate\"),o={showCompass:!0,showZoom:!0},s=function(t){var e=this;this.options=i.extend({},o,t),this._container=n.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",function(t){return t.preventDefault()}),this.options.showZoom&&(this._zoomInButton=this._createButton(\"mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-in\",\"Zoom In\",function(){return e._map.zoomIn()}),this._zoomOutButton=this._createButton(\"mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-out\",\"Zoom Out\",function(){return e._map.zoomOut()})),this.options.showCompass&&(i.bindAll([\"_rotateCompassArrow\"],this),this._compass=this._createButton(\"mapboxgl-ctrl-icon mapboxgl-ctrl-compass\",\"Reset North\",function(){return e._map.resetNorth()}),this._compassArrow=n.create(\"span\",\"mapboxgl-ctrl-compass-arrow\",this._compass))};s.prototype._rotateCompassArrow=function(){var t=\"rotate(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\";this._compassArrow.style.transform=t},s.prototype.onAdd=function(t){return this._map=t,this.options.showCompass&&(this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new a(t,{button:\"left\",element:this._compass}),this._handler.enable()),this._container},s.prototype.onRemove=function(){n.remove(this._container),this.options.showCompass&&(this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.disable(),delete this._handler),delete this._map},s.prototype._createButton=function(t,e,r){var i=n.create(\"button\",t,this._container);return i.type=\"button\",i.setAttribute(\"aria-label\",e),i.addEventListener(\"click\",r),i},e.exports=s},{\"../../util/dom\":259,\"../../util/util\":275,\"../handler/drag_rotate\":242}],237:[function(t,e,r){function n(t,e,r){var n=r&&r.maxWidth||100,a=t._container.clientHeight/2,o=function(t,e){var r=Math.PI/180,n=t.lat*r,i=e.lat*r,a=Math.sin(n)*Math.sin(i)+Math.cos(n)*Math.cos(i)*Math.cos((e.lng-t.lng)*r);return 6371e3*Math.acos(Math.min(a,1))}(t.unproject([0,a]),t.unproject([n,a]));if(r&&\"imperial\"===r.unit){var s=3.2808*o;s>5280?i(e,n,s/5280,\"mi\"):i(e,n,s,\"ft\")}else if(r&&\"nautical\"===r.unit){i(e,n,o/1852,\"nm\")}else i(e,n,o,\"m\")}function i(t,e,r,n){var i=function(t){var e=Math.pow(10,(\"\"+Math.floor(t)).length-1),r=t/e;return e*(r=r>=10?10:r>=5?5:r>=3?3:r>=2?2:1)}(r),a=i/r;\"m\"===n&&i>=1e3&&(i/=1e3,n=\"km\"),t.style.width=e*a+\"px\",t.innerHTML=i+n}var a=t(\"../../util/dom\"),o=t(\"../../util/util\"),s=function(t){this.options=t,o.bindAll([\"_onMove\"],this)};s.prototype.getDefaultPosition=function(){return\"bottom-left\"},s.prototype._onMove=function(){n(this._map,this._container,this.options)},s.prototype.onAdd=function(t){return this._map=t,this._container=a.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},s.prototype.onRemove=function(){a.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},e.exports=s},{\"../../util/dom\":259,\"../../util/util\":275}],238:[function(t,e,r){},{}],239:[function(t,e,r){var n=t(\"../../util/dom\"),i=t(\"../../geo/lng_lat_bounds\"),a=t(\"../../util/util\"),o=t(\"../../util/window\"),s=function(t){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),a.bindAll([\"_onMouseDown\",\"_onMouseMove\",\"_onMouseUp\",\"_onKeyDown\"],this)};s.prototype.isEnabled=function(){return!!this._enabled},s.prototype.isActive=function(){return!!this._active},s.prototype.enable=function(){this.isEnabled()||(this._map.dragPan&&this._map.dragPan.disable(),this._el.addEventListener(\"mousedown\",this._onMouseDown,!1),this._map.dragPan&&this._map.dragPan.enable(),this._enabled=!0)},s.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onMouseDown),this._enabled=!1)},s.prototype._onMouseDown=function(t){t.shiftKey&&0===t.button&&(o.document.addEventListener(\"mousemove\",this._onMouseMove,!1),o.document.addEventListener(\"keydown\",this._onKeyDown,!1),o.document.addEventListener(\"mouseup\",this._onMouseUp,!1),n.disableDrag(),this._startPos=n.mousePos(this._el,t),this._active=!0)},s.prototype._onMouseMove=function(t){var e=this._startPos,r=n.mousePos(this._el,t);this._box||(this._box=n.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",t));var i=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.setTransform(this._box,\"translate(\"+i+\"px,\"+o+\"px)\"),this._box.style.width=a-i+\"px\",this._box.style.height=s-o+\"px\"},s.prototype._onMouseUp=function(t){if(0===t.button){var e=this._startPos,r=n.mousePos(this._el,t),a=(new i).extend(this._map.unproject(e)).extend(this._map.unproject(r));this._finish(),e.x===r.x&&e.y===r.y?this._fireEvent(\"boxzoomcancel\",t):this._map.fitBounds(a,{linear:!0}).fire(\"boxzoomend\",{originalEvent:t,boxZoomBounds:a})}},s.prototype._onKeyDown=function(t){27===t.keyCode&&(this._finish(),this._fireEvent(\"boxzoomcancel\",t))},s.prototype._finish=function(){this._active=!1,o.document.removeEventListener(\"mousemove\",this._onMouseMove,!1),o.document.removeEventListener(\"keydown\",this._onKeyDown,!1),o.document.removeEventListener(\"mouseup\",this._onMouseUp,!1),this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(n.remove(this._box),this._box=null),n.enableDrag()},s.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},e.exports=s},{\"../../geo/lng_lat_bounds\":63,\"../../util/dom\":259,\"../../util/util\":275,\"../../util/window\":254}],240:[function(t,e,r){var n=t(\"../../util/util\"),i=function(t){this._map=t,n.bindAll([\"_onDblClick\",\"_onZoomEnd\"],this)};i.prototype.isEnabled=function(){return!!this._enabled},i.prototype.isActive=function(){return!!this._active},i.prototype.enable=function(){this.isEnabled()||(this._map.on(\"dblclick\",this._onDblClick),this._enabled=!0)},i.prototype.disable=function(){this.isEnabled()&&(this._map.off(\"dblclick\",this._onDblClick),this._enabled=!1)},i.prototype._onDblClick=function(t){this._active=!0,this._map.on(\"zoomend\",this._onZoomEnd),this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)},i.prototype._onZoomEnd=function(){this._active=!1,this._map.off(\"zoomend\",this._onZoomEnd)},e.exports=i},{\"../../util/util\":275}],241:[function(t,e,r){var n=t(\"../../util/dom\"),i=t(\"../../util/util\"),a=t(\"../../util/window\"),o=t(\"../../util/browser\"),s=i.bezier(0,0,.3,1),l=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll([\"_onDown\",\"_onMove\",\"_onUp\",\"_onTouchEnd\",\"_onMouseUp\",\"_onDragFrame\",\"_onDragFinished\"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.isActive=function(){return!!this._active},l.prototype.enable=function(){this.isEnabled()||(this._el.classList.add(\"mapboxgl-touch-drag-pan\"),this._el.addEventListener(\"mousedown\",this._onDown),this._el.addEventListener(\"touchstart\",this._onDown),this._enabled=!0)},l.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove(\"mapboxgl-touch-drag-pan\"),this._el.removeEventListener(\"mousedown\",this._onDown),this._el.removeEventListener(\"touchstart\",this._onDown),this._enabled=!1)},l.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(a.document.addEventListener(\"touchmove\",this._onMove),a.document.addEventListener(\"touchend\",this._onTouchEnd)):(a.document.addEventListener(\"mousemove\",this._onMove),a.document.addEventListener(\"mouseup\",this._onMouseUp)),a.addEventListener(\"blur\",this._onMouseUp),this._active=!1,this._previousPos=n.mousePos(this._el,t),this._inertia=[[o.now(),this._previousPos]])},l.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this._lastMoveEvent=t,t.preventDefault();var e=n.mousePos(this._el,t);if(this._drainInertiaBuffer(),this._inertia.push([o.now(),e]),!this._previousPos)return void(this._previousPos=e);this._pos=e,this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\"dragstart\",t),this._fireEvent(\"movestart\",t),this._map._startAnimation(this._onDragFrame,this._onDragFinished)),this._map._update()}},l.prototype._onDragFrame=function(t){var e=this._lastMoveEvent;e&&(t.setLocationAtPoint(t.pointLocation(this._previousPos),this._pos),this._fireEvent(\"drag\",e),this._fireEvent(\"move\",e),this._previousPos=this._pos,delete this._lastMoveEvent)},l.prototype._onDragFinished=function(t){var e=this;if(this.isActive()){this._active=!1,delete this._lastMoveEvent,delete this._previousPos,delete this._pos,this._fireEvent(\"dragend\",t),this._drainInertiaBuffer();var r=function(){e._map.moving=!1,e._fireEvent(\"moveend\",t)},n=this._inertia;if(n.length<2)return void r();var i=n[n.length-1],a=n[0],o=i[1].sub(a[1]),l=(i[0]-a[0])/1e3;if(0===l||i[1].equals(a[1]))return void r();var u=o.mult(.3/l),c=u.mag();c>1400&&(c=1400,u._unit()._mult(c));var h=c/750,f=u.mult(-h/2);this._map.panBy(f,{duration:1e3*h,easing:s,noMoveStart:!0},{originalEvent:t})}},l.prototype._onUp=function(t){this._onDragFinished(t)},l.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),a.document.removeEventListener(\"mousemove\",this._onMove),a.document.removeEventListener(\"mouseup\",this._onMouseUp),a.removeEventListener(\"blur\",this._onMouseUp))},l.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),a.document.removeEventListener(\"touchmove\",this._onMove),a.document.removeEventListener(\"touchend\",this._onTouchEnd))},l.prototype._fireEvent=function(t,e){return this._map.fire(t,e?{originalEvent:e}:{})},l.prototype._ignoreEvent=function(t){var e=this._map;return!(!e.boxZoom||!e.boxZoom.isActive())||!(!e.dragRotate||!e.dragRotate.isActive())||(t.touches?t.touches.length>1:!!t.ctrlKey||\"mousemove\"!==t.type&&t.button&&0!==t.button)},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>0&&e-t[0][0]>160;)t.shift()},e.exports=l},{\"../../util/browser\":252,\"../../util/dom\":259,\"../../util/util\":275,\"../../util/window\":254}],242:[function(t,e,r){var n=t(\"../../util/dom\"),i=t(\"../../util/util\"),a=t(\"../../util/window\"),o=t(\"../../util/browser\"),s=i.bezier(0,0,.25,1),l=function(t,e){this._map=t,this._el=e.element||t.getCanvasContainer(),this._button=e.button||\"right\",this._bearingSnap=e.bearingSnap||0,this._pitchWithRotate=!1!==e.pitchWithRotate,i.bindAll([\"_onDown\",\"_onMove\",\"_onUp\",\"_onDragFrame\",\"_onDragFinished\"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.isActive=function(){return!!this._active},l.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onDown),this._enabled=!0)},l.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onDown),this._enabled=!1)},l.prototype._onDown=function(t){if(!(this._map.boxZoom&&this._map.boxZoom.isActive()||this._map.dragPan&&this._map.dragPan.isActive()||this.isActive())){if(\"right\"===this._button){var e=t.ctrlKey?0:2,r=t.button;if(void 0!==a.InstallTrigger&&2===t.button&&t.ctrlKey&&a.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0&&(r=0),r!==e)return}else if(t.ctrlKey||0!==t.button)return;n.disableDrag(),a.document.addEventListener(\"mousemove\",this._onMove,{capture:!0}),a.document.addEventListener(\"mouseup\",this._onUp),a.addEventListener(\"blur\",this._onUp),this._active=!1,this._inertia=[[o.now(),this._map.getBearing()]],this._previousPos=n.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault()}},l.prototype._onMove=function(t){this._lastMoveEvent=t;var e=n.mousePos(this._el,t);this._previousPos?(this._pos=e,this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\"rotatestart\",t),this._fireEvent(\"movestart\",t),this._pitchWithRotate&&this._fireEvent(\"pitchstart\",t),this._map._startAnimation(this._onDragFrame,this._onDragFinished)),this._map._update()):this._previousPos=e},l.prototype._onUp=function(t){a.document.removeEventListener(\"mousemove\",this._onMove,{capture:!0}),a.document.removeEventListener(\"mouseup\",this._onUp),a.removeEventListener(\"blur\",this._onUp),n.enableDrag(),this._onDragFinished(t)},l.prototype._onDragFrame=function(t){var e=this._lastMoveEvent;if(e){var r=this._previousPos,n=this._pos,i=.8*(r.x-n.x),a=-.5*(r.y-n.y),s=t.bearing-i,l=t.pitch-a,u=this._inertia,c=u[u.length-1];this._drainInertiaBuffer(),u.push([o.now(),this._map._normalizeBearing(s,c[1])]),t.bearing=s,this._pitchWithRotate&&(this._fireEvent(\"pitch\",e),t.pitch=l),this._fireEvent(\"rotate\",e),this._fireEvent(\"move\",e),delete this._lastMoveEvent,this._previousPos=this._pos}},l.prototype._onDragFinished=function(t){var e=this;if(this.isActive()){this._active=!1,delete this._lastMoveEvent,delete this._previousPos,this._fireEvent(\"rotateend\",t),this._drainInertiaBuffer();var r=this._map,n=r.getBearing(),i=this._inertia,a=function(){Math.abs(n)<e._bearingSnap?r.resetNorth({noMoveStart:!0},{originalEvent:t}):(e._map.moving=!1,e._fireEvent(\"moveend\",t)),e._pitchWithRotate&&e._fireEvent(\"pitchend\",t)};if(i.length<2)return void a();var o=i[0],l=i[i.length-1],u=i[i.length-2],c=r._normalizeBearing(n,u[1]),h=l[1]-o[1],f=h<0?-1:1,p=(l[0]-o[0])/1e3;if(0===h||0===p)return void a();var d=Math.abs(h*(.25/p));d>180&&(d=180);var g=d/180;c+=f*d*(g/2),Math.abs(r._normalizeBearing(c,0))<this._bearingSnap&&(c=r._normalizeBearing(0,c)),r.rotateTo(c,{duration:1e3*g,easing:s,noMoveStart:!0},{originalEvent:t})}},l.prototype._fireEvent=function(t,e){return this._map.fire(t,e?{originalEvent:e}:{})},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>0&&e-t[0][0]>160;)t.shift()},e.exports=l},{\"../../util/browser\":252,\"../../util/dom\":259,\"../../util/util\":275,\"../../util/window\":254}],243:[function(t,e,r){function n(t){return t*(2-t)}var i=t(\"../../util/util\"),a=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll([\"_onKeyDown\"],this)};a.prototype.isEnabled=function(){return!!this._enabled},a.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"keydown\",this._onKeyDown,!1),this._enabled=!0)},a.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"keydown\",this._onKeyDown),this._enabled=!1)},a.prototype._onKeyDown=function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=0,r=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?r=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?r=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(o=1,t.preventDefault());break;default:return}var s=this._map,l=s.getZoom(),u={duration:300,delayEndEvents:500,easing:n,zoom:e?Math.round(l)+e*(t.shiftKey?2:1):l,bearing:s.getBearing()+15*r,pitch:s.getPitch()+10*i,offset:[100*-a,100*-o],center:s.getCenter()};s.easeTo(u,{originalEvent:t})}},e.exports=a},{\"../../util/util\":275}],244:[function(t,e,r){var n=t(\"../../util/dom\"),i=t(\"../../util/util\"),a=t(\"../../util/browser\"),o=t(\"../../util/window\"),s=t(\"../../style-spec/util/interpolate\").number,l=t(\"../../geo/lng_lat\"),u=o.navigator.userAgent.toLowerCase(),c=-1!==u.indexOf(\"firefox\"),h=-1!==u.indexOf(\"safari\")&&-1===u.indexOf(\"chrom\"),f=function(t){this._map=t,this._el=t.getCanvasContainer(),this._delta=0,i.bindAll([\"_onWheel\",\"_onTimeout\",\"_onScrollFrame\",\"_onScrollFinished\"],this)};f.prototype.isEnabled=function(){return!!this._enabled},f.prototype.isActive=function(){return!!this._active},f.prototype.enable=function(t){this.isEnabled()||(this._el.addEventListener(\"wheel\",this._onWheel,!1),this._el.addEventListener(\"mousewheel\",this._onWheel,!1),this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around)},f.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"wheel\",this._onWheel),this._el.removeEventListener(\"mousewheel\",this._onWheel),this._enabled=!1)},f.prototype._onWheel=function(t){var e=0;\"wheel\"===t.type?(e=t.deltaY,c&&t.deltaMode===o.WheelEvent.DOM_DELTA_PIXEL&&(e/=a.devicePixelRatio),t.deltaMode===o.WheelEvent.DOM_DELTA_LINE&&(e*=40)):\"mousewheel\"===t.type&&(e=-t.wheelDeltaY,h&&(e/=3));var r=a.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==e&&e%4.000244140625==0?this._type=\"wheel\":0!==e&&Math.abs(e)<4?this._type=\"trackpad\":n>400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40,t)):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._lastWheelEvent=t,this._delta-=e,this.isActive()||this._start(t)),t.preventDefault()},f.prototype._onTimeout=function(t){this._type=\"wheel\",this._delta-=this._lastValue,this.isActive()||this._start(t)},f.prototype._start=function(t){if(this._delta){this._active=!0,this._map.moving=!0,this._map.zooming=!0,this._map.fire(\"movestart\",{originalEvent:t}),this._map.fire(\"zoomstart\",{originalEvent:t}),clearTimeout(this._finishTimeout);var e=n.mousePos(this._el,t);this._around=l.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(e)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._map._startAnimation(this._onScrollFrame,this._onScrollFinished)}},f.prototype._onScrollFrame=function(t){if(this.isActive()){if(0!==this._delta){var e=\"wheel\"===this._type&&Math.abs(this._delta)>4.000244140625?1/450:.01,r=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==r&&(r=1/r);var n=\"number\"==typeof this._targetZoom?t.zoomScale(this._targetZoom):t.scale;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(n*r))),\"wheel\"===this._type&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}if(\"wheel\"===this._type){var i=Math.min((a.now()-this._lastWheelEventTime)/200,1),o=this._easing(i);t.zoom=s(this._startZoom,this._targetZoom,o),1===i&&this._map.stop()}else t.zoom=this._targetZoom,this._map.stop();t.setLocationAtPoint(this._around,this._aroundPoint),this._map.fire(\"move\",{originalEvent:this._lastWheelEvent}),this._map.fire(\"zoom\",{originalEvent:this._lastWheelEvent})}},f.prototype._onScrollFinished=function(){var t=this;this.isActive()&&(this._active=!1,this._finishTimeout=setTimeout(function(){t._map.moving=!1,t._map.zooming=!1,t._map.fire(\"zoomend\"),t._map.fire(\"moveend\"),delete t._targetZoom},200))},f.prototype._smoothOutEasing=function(t){var e=i.ease;if(this._prevEase){var r=this._prevEase,n=(a.now()-r.start)/r.duration,o=r.easing(n+.01)-r.easing(n),s=.27/Math.sqrt(o*o+1e-4)*.01,l=Math.sqrt(.0729-s*s);e=i.bezier(s,l,.25,1)}return this._prevEase={start:a.now(),duration:t,easing:e},e},e.exports=f},{\"../../geo/lng_lat\":62,\"../../style-spec/util/interpolate\":158,\"../../util/browser\":252,\"../../util/dom\":259,\"../../util/util\":275,\"../../util/window\":254}],245:[function(t,e,r){var n=t(\"../../util/dom\"),i=t(\"../../util/util\"),a=t(\"../../util/window\"),o=t(\"../../util/browser\"),s=i.bezier(0,0,.15,1),l=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll([\"_onStart\",\"_onMove\",\"_onEnd\"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.enable=function(t){this.isEnabled()||(this._el.classList.add(\"mapboxgl-touch-zoom-rotate\"),this._el.addEventListener(\"touchstart\",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around)},l.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\"),this._el.removeEventListener(\"touchstart\",this._onStart),this._enabled=!1)},l.prototype.disableRotation=function(){this._rotationDisabled=!0},l.prototype.enableRotation=function(){this._rotationDisabled=!1},l.prototype._onStart=function(t){if(2===t.touches.length){var e=n.mousePos(this._el,t.touches[0]),r=n.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=[],a.document.addEventListener(\"touchmove\",this._onMove,!1),a.document.addEventListener(\"touchend\",this._onEnd,!1)}},l.prototype._onMove=function(t){if(2===t.touches.length){var e=n.mousePos(this._el,t.touches[0]),r=n.mousePos(this._el,t.touches[1]),i=e.add(r).div(2),a=e.sub(r),s=a.mag()/this._startVec.mag(),l=this._rotationDisabled?0:180*a.angleWith(this._startVec)/Math.PI,u=this._map;if(this._gestureIntent){var c={duration:0,around:u.unproject(i)};\"rotate\"===this._gestureIntent&&(c.bearing=this._startBearing+l),\"zoom\"!==this._gestureIntent&&\"rotate\"!==this._gestureIntent||(c.zoom=u.transform.scaleZoom(this._startScale*s)),u.stop(),this._drainInertiaBuffer(),this._inertia.push([o.now(),s,i]),u.easeTo(c,{originalEvent:t})}else{var h=Math.abs(1-s)>.15;Math.abs(l)>10?this._gestureIntent=\"rotate\":h&&(this._gestureIntent=\"zoom\"),this._gestureIntent&&(this._startVec=a,this._startScale=u.transform.scale,this._startBearing=u.transform.bearing)}t.preventDefault()}},l.prototype._onEnd=function(t){a.document.removeEventListener(\"touchmove\",this._onMove),a.document.removeEventListener(\"touchend\",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,r=this._map;if(e.length<2)r.snapToNorth({},{originalEvent:t});else{var n=e[e.length-1],i=e[0],o=r.transform.scaleZoom(this._startScale*n[1]),l=r.transform.scaleZoom(this._startScale*i[1]),u=o-l,c=(n[0]-i[0])/1e3,h=n[2];if(0!==c&&o!==l){var f=.15*u/c;Math.abs(f)>2.5&&(f=f>0?2.5:-2.5);var p=1e3*Math.abs(f/(12*.15)),d=o+f*p/2e3;d<0&&(d=0),r.easeTo({zoom:d,duration:p,easing:s,around:this._aroundCenter?r.getCenter():r.unproject(h)},{originalEvent:t})}else r.snapToNorth({},{originalEvent:t})}},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>2&&e-t[0][0]>160;)t.shift()},e.exports=l},{\"../../util/browser\":252,\"../../util/dom\":259,\"../../util/util\":275,\"../../util/window\":254}],246:[function(t,e,r){var n=t(\"../util/util\"),i=t(\"../util/window\"),a=t(\"../util/throttle\"),o=function(){n.bindAll([\"_onHashChange\",\"_updateHash\"],this),this._updateHash=a(this._updateHashUnthrottled.bind(this),300)};o.prototype.addTo=function(t){return this._map=t,i.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},o.prototype.remove=function(){return i.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),delete this._map,this},o.prototype.getHashString=function(t){var e=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.pow(10,n),a=Math.round(e.lng*i)/i,o=Math.round(e.lat*i)/i,s=this._map.getBearing(),l=this._map.getPitch(),u=\"\";return u+=t?\"#/\"+a+\"/\"+o+\"/\"+r:\"#\"+r+\"/\"+o+\"/\"+a,(s||l)&&(u+=\"/\"+Math.round(10*s)/10),l&&(u+=\"/\"+Math.round(l)),u},o.prototype._onHashChange=function(){var t=i.location.hash.replace(\"#\",\"\").split(\"/\");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},o.prototype._updateHashUnthrottled=function(){var t=this.getHashString();i.history.replaceState(\"\",\"\",t)},e.exports=o},{\"../util/throttle\":272,\"../util/util\":275,\"../util/window\":254}],247:[function(t,e,r){function n(t){t.parentNode&&t.parentNode.removeChild(t)}var i=t(\"../util/util\"),a=t(\"../util/browser\"),o=t(\"../util/window\"),s=t(\"../util/window\"),l=s.HTMLImageElement,u=s.HTMLElement,c=t(\"../util/dom\"),h=t(\"../util/ajax\"),f=t(\"../style/style\"),p=t(\"../style/evaluation_parameters\"),d=t(\"../render/painter\"),g=t(\"../geo/transform\"),v=t(\"./hash\"),m=t(\"./bind_handlers\"),y=t(\"./camera\"),x=t(\"../geo/lng_lat\"),b=t(\"../geo/lng_lat_bounds\"),_=t(\"@mapbox/point-geometry\"),w=t(\"./control/attribution_control\"),M=t(\"./control/logo_control\"),A=t(\"@mapbox/mapbox-gl-supported\"),k=t(\"../util/image\").RGBAImage;t(\"./events\");var T={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:22,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,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,transformRequest:null,fadeDuration:300},S=function(t){function e(e){if(null!=(e=i.extend({},T,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error(\"maxZoom must be greater than minZoom\");var r=new g(e.minZoom,e.maxZoom,e.renderWorldCopies);t.call(this,r,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming;var n=e.transformRequest;if(this._transformRequest=n?function(t,e){return n(t,e)||{url:t}}:function(t){return{url:t}},\"string\"==typeof e.container){var a=o.document.getElementById(e.container);if(!a)throw new Error(\"Container '\"+e.container+\"' not found.\");this._container=a}else{if(!(e.container instanceof u))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=e.container}e.maxBounds&&this.setMaxBounds(e.maxBounds),i.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_contextLost\",\"_contextRestored\",\"_update\",\"_render\",\"_onData\",\"_onDataLoading\"],this),this._setupContainer(),this._setupPainter(),this.on(\"move\",this._update.bind(this,!1)),this.on(\"zoom\",this._update.bind(this,!0)),void 0!==o&&(o.addEventListener(\"online\",this._onWindowOnline,!1),o.addEventListener(\"resize\",this._onWindowResize,!1)),m(this,e),this._hash=e.hash&&(new v).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this.resize(),e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new w),this.addControl(new M,e.logoPosition),this.on(\"style.load\",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\"data\",this._onData),this.on(\"dataloading\",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e=\"top-right\");var r=t.onAdd(this),n=this._controlPositions[e];return-1!==e.indexOf(\"bottom\")?n.insertBefore(r,n.firstChild):n.appendChild(r),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],r=t[1];return this._resizeCanvas(e,r),this.transform.resize(e,r),this.painter.resize(e,r),this.fire(\"movestart\").fire(\"move\").fire(\"resize\").fire(\"moveend\")},e.prototype.getBounds=function(){var t=new b(this.transform.pointLocation(new _(0,this.transform.height)),this.transform.pointLocation(new _(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new _(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new _(0,this.transform.size.y)))),t},e.prototype.getMaxBounds=function(){return this.transform.latRange&&2===this.transform.latRange.length&&this.transform.lngRange&&2===this.transform.lngRange.length?new b([this.transform.lngRange[0],this.transform.latRange[0]],[this.transform.lngRange[1],this.transform.latRange[1]]):null},e.prototype.setMaxBounds=function(t){if(t){var e=b.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=null,this.transform.latRange=null,this._update());return this},e.prototype.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\")},e.prototype.getMinZoom=function(){return this.transform.minZoom},e.prototype.setMaxZoom=function(t){if((t=null===t||void 0===t?22:t)>=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(x.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(_.convert(t))},e.prototype.on=function(e,r,n){var a=this;if(void 0===n)return t.prototype.on.call(this,e,r);var o=function(){if(\"mouseenter\"===e||\"mouseover\"===e){var t=!1;return{layer:r,listener:n,delegates:{mousemove:function(o){var s=a.getLayer(r)?a.queryRenderedFeatures(o.point,{layers:[r]}):[];s.length?t||(t=!0,n.call(a,i.extend({features:s},o,{type:e}))):t=!1},mouseout:function(){t=!1}}}}if(\"mouseleave\"===e||\"mouseout\"===e){var o=!1;return{layer:r,listener:n,delegates:{mousemove:function(t){(a.getLayer(r)?a.queryRenderedFeatures(t.point,{layers:[r]}):[]).length?o=!0:o&&(o=!1,n.call(a,i.extend({},t,{type:e})))},mouseout:function(t){o&&(o=!1,n.call(a,i.extend({},t,{type:e})))}}}}var s;return{layer:r,listener:n,delegates:(s={},s[e]=function(t){var e=a.getLayer(r)?a.queryRenderedFeatures(t.point,{layers:[r]}):[];e.length&&n.call(a,i.extend({features:e},t))},s)}}();for(var s in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(o),o.delegates)a.on(s,o.delegates[s]);return this},e.prototype.off=function(e,r,n){if(void 0===n)return t.prototype.off.call(this,e,r);if(this._delegatedListeners&&this._delegatedListeners[e])for(var i=this._delegatedListeners[e],a=0;a<i.length;a++){var o=i[a];if(o.layer===r&&o.listener===n){for(var s in o.delegates)this.off(s,o.delegates[s]);return i.splice(a,1),this}}return this},e.prototype.queryRenderedFeatures=function(t,e){return 2===arguments.length?(t=arguments[0],e=arguments[1]):1===arguments.length&&function(t){return t instanceof _||Array.isArray(t)}(arguments[0])?(t=arguments[0],e={}):1===arguments.length?(t=void 0,e=arguments[0]):(t=void 0,e={}),this.style?this.style.queryRenderedFeatures(this._makeQueryGeometry(t),e,this.transform.zoom,this.transform.angle):[]},e.prototype._makeQueryGeometry=function(t){var e,r=this;if(void 0===t&&(t=[_.convert([0,0]),_.convert([this.transform.width,this.transform.height])]),t instanceof _||\"number\"==typeof t[0])e=[_.convert(t)];else{var n=[_.convert(t[0]),_.convert(t[1])];e=[n[0],new _(n[1].x,n[0].y),n[1],new _(n[0].x,n[1].y),n[0]]}return e.map(function(t){return r.transform.pointCoordinate(t)})},e.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},e.prototype.setStyle=function(t,e){if((!e||!1!==e.diff&&!e.localIdeographFontFamily)&&this.style&&t&&\"object\"==typeof t)try{return this.style.setState(t)&&this._update(!0),this}catch(t){i.warnOnce(\"Unable to perform style diff: \"+(t.message||t.error||t)+\".  Rebuilding the style from scratch.\")}return this.style&&(this.style.setEventedParent(null),this.style._remove()),t?(this.style=new f(this,e||{}),this.style.setEventedParent(this,{style:this.style}),\"string\"==typeof t?this.style.loadURL(t):this.style.loadJSON(t),this):(delete this.style,this)},e.prototype.getStyle=function(){if(this.style)return this.style.serialize()},e.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():i.warnOnce(\"There is no style added to the map.\")},e.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0),this},e.prototype.isSourceLoaded=function(t){var e=this.style&&this.style.sourceCaches[t];return void 0===e?void this.fire(\"error\",{error:new Error(\"There is no source with ID '\"+t+\"'\")}):e.loaded()},e.prototype.areTilesLoaded=function(){var t=this.style&&this.style.sourceCaches;for(var e in t){var r=t[e]._tiles;for(var n in r){var i=r[n];if(\"loaded\"!==i.state&&\"errored\"!==i.state)return!1}}return!0},e.prototype.addSourceType=function(t,e,r){return this.style.addSourceType(t,e,r)},e.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0),this},e.prototype.getSource=function(t){return this.style.getSource(t)},e.prototype.addImage=function(t,e,r){void 0===r&&(r={});var n=r.pixelRatio;void 0===n&&(n=1);var i=r.sdf;if(void 0===i&&(i=!1),e instanceof l){var o=a.getImageData(e),s=o.width,u=o.height,c=o.data;this.style.addImage(t,{data:new k({width:s,height:u},c),pixelRatio:n,sdf:i})}else{if(void 0===e.width||void 0===e.height)return this.fire(\"error\",{error:new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")});var h=e.width,f=e.height,p=e.data;this.style.addImage(t,{data:new k({width:h,height:f},p.slice(0)),pixelRatio:n,sdf:i})}},e.prototype.hasImage=function(t){return t?!!this.style.getImage(t):(this.fire(\"error\",{error:new Error(\"Missing required image id\")}),!1)},e.prototype.removeImage=function(t){this.style.removeImage(t)},e.prototype.loadImage=function(t,e){h.getImage(this._transformRequest(t,h.ResourceType.Image),e)},e.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0),this},e.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0),this},e.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0),this},e.prototype.getLayer=function(t){return this.style.getLayer(t)},e.prototype.setFilter=function(t,e){return this.style.setFilter(t,e),this._update(!0),this},e.prototype.setLayerZoomRange=function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0),this},e.prototype.getFilter=function(t){return this.style.getFilter(t)},e.prototype.setPaintProperty=function(t,e,r){return this.style.setPaintProperty(t,e,r),this._update(!0),this},e.prototype.getPaintProperty=function(t,e){return this.style.getPaintProperty(t,e)},e.prototype.setLayoutProperty=function(t,e,r){return this.style.setLayoutProperty(t,e,r),this._update(!0),this},e.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},e.prototype.setLight=function(t){return this.style.setLight(t),this._update(!0),this},e.prototype.getLight=function(){return this.style.getLight()},e.prototype.getContainer=function(){return this._container},e.prototype.getCanvasContainer=function(){return this._canvasContainer},e.prototype.getCanvas=function(){return this._canvas},e.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),[t,e]},e.prototype._setupContainer=function(){var t=this._container;t.classList.add(\"mapboxgl-map\"),(this._missingCSSContainer=c.create(\"div\",\"mapboxgl-missing-css\",t)).innerHTML=\"Missing Mapbox GL JS CSS\";var e=this._canvasContainer=c.create(\"div\",\"mapboxgl-canvas-container\",t);this._interactive&&e.classList.add(\"mapboxgl-interactive\"),this._canvas=c.create(\"canvas\",\"mapboxgl-canvas\",e),this._canvas.style.position=\"absolute\",this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\");var r=this._containerDimensions();this._resizeCanvas(r[0],r[1]);var n=this._controlContainer=c.create(\"div\",\"mapboxgl-control-container\",t),i=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(function(t){i[t]=c.create(\"div\",\"mapboxgl-ctrl-\"+t,n)})},e.prototype._resizeCanvas=function(t,e){var r=o.devicePixelRatio||1;this._canvas.width=r*t,this._canvas.height=r*e,this._canvas.style.width=t+\"px\",this._canvas.style.height=e+\"px\"},e.prototype._setupPainter=function(){var t=i.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},A.webGLContextAttributes),e=this._canvas.getContext(\"webgl\",t)||this._canvas.getContext(\"experimental-webgl\",t);e?this.painter=new d(e,this.transform):this.fire(\"error\",{error:new Error(\"Failed to initialize WebGL\")})},e.prototype._contextLost=function(t){t.preventDefault(),this._frameId&&(a.cancelFrame(this._frameId),this._frameId=null),this.fire(\"webglcontextlost\",{originalEvent:t})},e.prototype._contextRestored=function(t){this._setupPainter(),this.resize(),this._update(),this.fire(\"webglcontextrestored\",{originalEvent:t})},e.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},e.prototype._update=function(t){this.style&&(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender())},e.prototype._render=function(){this._updateCamera();var t=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var e=this.transform.zoom,r=a.now();this.style.zoomHistory.update(e,r);var n=new p(e,{now:r,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),i=n.crossFadingFactor();1===i&&i===this._crossFadingFactor||(t=!0,this._crossFadingFactor=i),this.style.update(n)}return this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.rotating,zooming:this.zooming,fadeDuration:this._fadeDuration}),this.fire(\"render\"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(\"load\")),this.style&&(this.style.hasTransitions()||t)&&(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty||this._placementDirty)&&this._rerender(),this},e.prototype.remove=function(){this._hash&&this._hash.remove(),a.cancelFrame(this._frameId),this._frameId=null,this.setStyle(null),void 0!==o&&(o.removeEventListener(\"resize\",this._onWindowResize,!1),o.removeEventListener(\"online\",this._onWindowOnline,!1));var t=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");t&&t.loseContext(),n(this._canvasContainer),n(this._controlContainer),n(this._missingCSSContainer),this._container.classList.remove(\"mapboxgl-map\"),this.fire(\"remove\")},e.prototype._rerender=function(){var t=this;this.style&&!this._frameId&&(this._frameId=a.frame(function(){t._frameId=null,t._render()}))},e.prototype._onWindowOnline=function(){this._update()},e.prototype._onWindowResize=function(){this._trackResize&&this.stop().resize()._update()},r.showTileBoundaries.get=function(){return!!this._showTileBoundaries},r.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},r.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},r.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())},r.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},r.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},r.repaint.get=function(){return!!this._repaint},r.repaint.set=function(t){this._repaint=t,this._update()},r.vertices.get=function(){return!!this._vertices},r.vertices.set=function(t){this._vertices=t,this._update()},e.prototype._onData=function(t){this._update(\"style\"===t.dataType),this.fire(t.dataType+\"data\",t)},e.prototype._onDataLoading=function(t){this.fire(t.dataType+\"dataloading\",t)},Object.defineProperties(e.prototype,r),e}(y);e.exports=S},{\"../geo/lng_lat\":62,\"../geo/lng_lat_bounds\":63,\"../geo/transform\":64,\"../render/painter\":90,\"../style/evaluation_parameters\":182,\"../style/style\":190,\"../util/ajax\":251,\"../util/browser\":252,\"../util/dom\":259,\"../util/image\":263,\"../util/util\":275,\"../util/window\":254,\"./bind_handlers\":230,\"./camera\":231,\"./control/attribution_control\":232,\"./control/logo_control\":235,\"./events\":238,\"./hash\":246,\"@mapbox/mapbox-gl-supported\":3,\"@mapbox/point-geometry\":4}],248:[function(t,e,r){var n=t(\"../util/dom\"),i=t(\"../geo/lng_lat\"),a=t(\"@mapbox/point-geometry\"),o=t(\"../util/smart_wrap\"),s=t(\"../util/util\").bindAll,l=function(t,e){if(s([\"_update\",\"_onMapClick\"],this),!t){t=n.create(\"div\");var r=n.createNS(\"http://www.w3.org/2000/svg\",\"svg\");r.setAttributeNS(null,\"height\",\"41px\"),r.setAttributeNS(null,\"width\",\"27px\"),r.setAttributeNS(null,\"viewBox\",\"0 0 27 41\");var i=n.createNS(\"http://www.w3.org/2000/svg\",\"g\");i.setAttributeNS(null,\"stroke\",\"none\"),i.setAttributeNS(null,\"stroke-width\",\"1\"),i.setAttributeNS(null,\"fill\",\"none\"),i.setAttributeNS(null,\"fill-rule\",\"evenodd\");var o=n.createNS(\"http://www.w3.org/2000/svg\",\"g\");o.setAttributeNS(null,\"fill-rule\",\"nonzero\");var l=n.createNS(\"http://www.w3.org/2000/svg\",\"g\");l.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),l.setAttributeNS(null,\"fill\",\"#000000\");for(var u=0,c=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];u<c.length;u+=1){var h=c[u],f=n.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");f.setAttributeNS(null,\"opacity\",\"0.04\"),f.setAttributeNS(null,\"cx\",\"10.5\"),f.setAttributeNS(null,\"cy\",\"5.80029008\"),f.setAttributeNS(null,\"rx\",h.rx),f.setAttributeNS(null,\"ry\",h.ry),l.appendChild(f)}var p=n.createNS(\"http://www.w3.org/2000/svg\",\"g\");p.setAttributeNS(null,\"fill\",\"#3FB1CE\");var d=n.createNS(\"http://www.w3.org/2000/svg\",\"path\");d.setAttributeNS(null,\"d\",\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"),p.appendChild(d);var g=n.createNS(\"http://www.w3.org/2000/svg\",\"g\");g.setAttributeNS(null,\"opacity\",\"0.25\"),g.setAttributeNS(null,\"fill\",\"#000000\");var v=n.createNS(\"http://www.w3.org/2000/svg\",\"path\");v.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),g.appendChild(v);var m=n.createNS(\"http://www.w3.org/2000/svg\",\"g\");m.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),m.setAttributeNS(null,\"fill\",\"#FFFFFF\");var y=n.createNS(\"http://www.w3.org/2000/svg\",\"g\");y.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");var x=n.createNS(\"http://www.w3.org/2000/svg\",\"circle\");x.setAttributeNS(null,\"fill\",\"#000000\"),x.setAttributeNS(null,\"opacity\",\"0.25\"),x.setAttributeNS(null,\"cx\",\"5.5\"),x.setAttributeNS(null,\"cy\",\"5.5\"),x.setAttributeNS(null,\"r\",\"5.4999962\");var b=n.createNS(\"http://www.w3.org/2000/svg\",\"circle\");b.setAttributeNS(null,\"fill\",\"#FFFFFF\"),b.setAttributeNS(null,\"cx\",\"5.5\"),b.setAttributeNS(null,\"cy\",\"5.5\"),b.setAttributeNS(null,\"r\",\"5.4999962\"),y.appendChild(x),y.appendChild(b),o.appendChild(l),o.appendChild(p),o.appendChild(g),o.appendChild(m),o.appendChild(y),r.appendChild(o),t.appendChild(r);var _=[0,-14];e&&e.offset||(e?e.offset=_:e={offset:_})}this._offset=a.convert(e&&e.offset||[0,0]),t.classList.add(\"mapboxgl-marker\"),this._element=t,this._popup=null};l.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),this._update(),this._map.on(\"click\",this._onMapClick),this},l.prototype.remove=function(){return this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),delete this._map),n.remove(this._element),this._popup&&this._popup.remove(),this},l.prototype.getLngLat=function(){return this._lngLat},l.prototype.setLngLat=function(t){return this._lngLat=i.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},l.prototype.getElement=function(){return this._element},l.prototype.setPopup=function(t){return this._popup&&(this._popup.remove(),this._popup=null),t&&(\"offset\"in t.options||(t.options.offset=this._offset),this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat)),this},l.prototype._onMapClick=function(t){var e=t.originalEvent.target,r=this._element;this._popup&&(e===r||r.contains(e))&&this.togglePopup()},l.prototype.getPopup=function(){return this._popup},l.prototype.togglePopup=function(){var t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this},l.prototype._update=function(t){this._map&&(this._map.transform.renderWorldCopies&&(this._lngLat=o(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset),t&&\"moveend\"!==t.type||(this._pos=this._pos.round()),n.setTransform(this._element,\"translate(-50%, -50%) translate(\"+this._pos.x+\"px, \"+this._pos.y+\"px)\"))},l.prototype.getOffset=function(){return this._offset},l.prototype.setOffset=function(t){return this._offset=a.convert(t),this._update(),this},e.exports=l},{\"../geo/lng_lat\":62,\"../util/dom\":259,\"../util/smart_wrap\":270,\"../util/util\":275,\"@mapbox/point-geometry\":4}],249:[function(t,e,r){var n=t(\"../util/util\"),i=t(\"../util/evented\"),a=t(\"../util/dom\"),o=t(\"../geo/lng_lat\"),s=t(\"@mapbox/point-geometry\"),l=t(\"../util/window\"),u=t(\"../util/smart_wrap\"),c={closeButton:!0,closeOnClick:!0},h=function(t){function e(e){t.call(this),this.options=n.extend(Object.create(c),e),n.bindAll([\"_update\",\"_onClickClose\"],this)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.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},e.prototype.isOpen=function(){return!!this._map},e.prototype.remove=function(){return this._content&&a.remove(this._content),this._container&&(a.remove(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},e.prototype.getLngLat=function(){return this._lngLat},e.prototype.setLngLat=function(t){return this._lngLat=o.convert(t),this._pos=null,this._update(),this},e.prototype.setText=function(t){return this.setDOMContent(l.document.createTextNode(t))},e.prototype.setHTML=function(t){var e,r=l.document.createDocumentFragment(),n=l.document.createElement(\"body\");for(n.innerHTML=t;e=n.firstChild;)r.appendChild(e);return this.setDOMContent(r)},e.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},e.prototype._createContent=function(){this._content&&a.remove(this._content),this._content=a.create(\"div\",\"mapboxgl-popup-content\",this._container),this.options.closeButton&&(this._closeButton=a.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"&#215;\",this._closeButton.addEventListener(\"click\",this._onClickClose))},e.prototype._update=function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=a.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=a.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content)),this._map.transform.renderWorldCopies&&(this._lngLat=u(this._lngLat,this._pos,this._map.transform));var t=this._pos=this._map.project(this._lngLat),e=this.options.anchor,r=function t(e){if(e){if(\"number\"==typeof e){var r=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{top:new s(0,e),\"top-left\":new s(r,r),\"top-right\":new s(-r,r),bottom:new s(0,-e),\"bottom-left\":new s(r,-r),\"bottom-right\":new s(-r,-r),left:new s(e,0),right:new s(-e,0)}}if(e instanceof s||Array.isArray(e)){var n=s.convert(e);return{top:n,\"top-left\":n,\"top-right\":n,bottom:n,\"bottom-left\":n,\"bottom-right\":n,left:n,right:n}}return{top:s.convert(e.top||[0,0]),\"top-left\":s.convert(e[\"top-left\"]||[0,0]),\"top-right\":s.convert(e[\"top-right\"]||[0,0]),bottom:s.convert(e.bottom||[0,0]),\"bottom-left\":s.convert(e[\"bottom-left\"]||[0,0]),\"bottom-right\":s.convert(e[\"bottom-right\"]||[0,0]),left:s.convert(e.left||[0,0]),right:s.convert(e.right||[0,0])}}return t(new s(0,0))}(this.options.offset);if(!e){var n=this._container.offsetWidth,i=this._container.offsetHeight;e=t.y+r.bottom.y<i?[\"top\"]:t.y>this._map.transform.height-i?[\"bottom\"]:[],t.x<n/2?e.push(\"left\"):t.x>this._map.transform.width-n/2&&e.push(\"right\"),e=0===e.length?\"bottom\":e.join(\"-\")}var o=t.add(r[e]).round(),l={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%)\"},c=this._container.classList;for(var h in l)c.remove(\"mapboxgl-popup-anchor-\"+h);c.add(\"mapboxgl-popup-anchor-\"+e),a.setTransform(this._container,l[e]+\" translate(\"+o.x+\"px,\"+o.y+\"px)\")}},e.prototype._onClickClose=function(){this.remove()},e}(i);e.exports=h},{\"../geo/lng_lat\":62,\"../util/dom\":259,\"../util/evented\":260,\"../util/smart_wrap\":270,\"../util/util\":275,\"../util/window\":254,\"@mapbox/point-geometry\":4}],250:[function(t,e,r){var n=t(\"./util\"),i=t(\"./web_worker_transfer\"),a=i.serialize,o=i.deserialize,s=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.callbackID=0,n.bindAll([\"receive\"],this),this.target.addEventListener(\"message\",this.receive,!1)};s.prototype.send=function(t,e,r,n){var i=r?this.mapId+\":\"+this.callbackID++:null;r&&(this.callbacks[i]=r);var o=[];this.target.postMessage({targetMapId:n,sourceMapId:this.mapId,type:t,id:String(i),data:a(e,o)},o)},s.prototype.receive=function(t){var e,r=this,n=t.data,i=n.id;if(!n.targetMapId||this.mapId===n.targetMapId){var s=function(t,e){var n=[];r.target.postMessage({sourceMapId:r.mapId,type:\"<response>\",id:String(i),error:t?String(t):null,data:a(e,n)},n)};if(\"<response>\"===n.type)e=this.callbacks[n.id],delete this.callbacks[n.id],e&&n.error?e(new Error(n.error)):e&&e(null,o(n.data));else if(void 0!==n.id&&this.parent[n.type])this.parent[n.type](n.sourceMapId,o(n.data),s);else if(void 0!==n.id&&this.parent.getWorkerSource){var l=n.type.split(\".\");this.parent.getWorkerSource(n.sourceMapId,l[0])[l[1]](o(n.data),s)}else this.parent[n.type](o(n.data))}},s.prototype.remove=function(){this.target.removeEventListener(\"message\",this.receive,!1)},e.exports=s},{\"./util\":275,\"./web_worker_transfer\":278}],251:[function(t,e,r){function n(t){var e=new a.XMLHttpRequest;for(var r in e.open(\"GET\",t.url,!0),t.headers)e.setRequestHeader(r,t.headers[r]);return e.withCredentials=\"include\"===t.credentials,e}function i(t){var e=a.document.createElement(\"a\");return e.href=t,e.protocol===a.document.location.protocol&&e.host===a.document.location.host}var a=t(\"./window\"),o={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};r.ResourceType=o,\"function\"==typeof Object.freeze&&Object.freeze(o);var s=function(t){function e(e,r){t.call(this,e),this.status=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error);r.getJSON=function(t,e){var r=n(t);return r.setRequestHeader(\"Accept\",\"application/json\"),r.onerror=function(){e(new Error(r.statusText))},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 s(r.statusText,r.status))},r.send(),r},r.getArrayBuffer=function(t,e){var r=n(t);return r.responseType=\"arraybuffer\",r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){var t=r.response;if(0===t.byteLength&&200===r.status)return e(new Error(\"http status 200 returned without content.\"));r.status>=200&&r.status<300&&r.response?e(null,{data:t,cacheControl:r.getResponseHeader(\"Cache-Control\"),expires:r.getResponseHeader(\"Expires\")}):e(new s(r.statusText,r.status))},r.send(),r};r.getImage=function(t,e){return r.getArrayBuffer(t,function(t,r){if(t)e(t);else if(r){var n=new a.Image,i=a.URL||a.webkitURL;n.onload=function(){e(null,n),i.revokeObjectURL(n.src)};var o=new a.Blob([new Uint8Array(r.data)],{type:\"image/png\"});n.cacheControl=r.cacheControl,n.expires=r.expires,n.src=r.data.byteLength?i.createObjectURL(o):\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\"}})},r.getVideo=function(t,e){var r=a.document.createElement(\"video\");r.onloadstart=function(){e(null,r)};for(var n=0;n<t.length;n++){var o=a.document.createElement(\"source\");i(t[n])||(r.crossOrigin=\"Anonymous\"),o.src=t[n],r.appendChild(o)}return r}},{\"./window\":254}],252:[function(t,e,r){var n=t(\"./window\"),i=n.performance&&n.performance.now?n.performance.now.bind(n.performance):Date.now.bind(Date),a=n.requestAnimationFrame||n.mozRequestAnimationFrame||n.webkitRequestAnimationFrame||n.msRequestAnimationFrame,o=n.cancelAnimationFrame||n.mozCancelAnimationFrame||n.webkitCancelAnimationFrame||n.msCancelAnimationFrame;e.exports={now:i,frame:function(t){return a(t)},cancelFrame:function(t){return o(t)},getImageData:function(t){var e=n.document.createElement(\"canvas\"),r=e.getContext(\"2d\");if(!r)throw new Error(\"failed to create canvas 2d context\");return e.width=t.width,e.height=t.height,r.drawImage(t,0,0,t.width,t.height),r.getImageData(0,0,t.width,t.height)},hardwareConcurrency:n.navigator.hardwareConcurrency||4,get devicePixelRatio(){return n.devicePixelRatio},supportsWebp:!1};var s=n.document.createElement(\"img\");s.onload=function(){e.exports.supportsWebp=!0},s.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\"},{\"./window\":254}],253:[function(t,e,r){var n=t(\"webworkify\"),i=t(\"../window\"),a=i.URL.createObjectURL(new n(t(\"../../source/worker\"),{bare:!0}));e.exports=function(){return new i.Worker(a)}},{\"../../source/worker\":118,\"../window\":254,webworkify:36}],254:[function(t,e,r){e.exports=self},{}],255:[function(t,e,r){function n(t,e){return e.area-t.area}var i=t(\"quickselect\"),a=t(\"./util\").calculateSignedArea;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=a(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||(i(l[h],e,1,l[h].length-1,n),l[h]=l[h].slice(0,e));return l}},{\"./util\":275,quickselect:31}],256:[function(t,e,r){e.exports={API_URL:\"https://api.mapbox.com\",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null}},{}],257:[function(t,e,r){var n=function(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}};n.prototype.encode=function(t){return this._stringToNumber[t]},n.prototype.decode=function(t){return this._numberToString[t]},e.exports=n},{}],258:[function(t,e,r){var n=t(\"./util\"),i=t(\"./actor\"),a=function(t,e){this.workerPool=t,this.actors=[],this.currentActor=0,this.id=n.uniqueId();for(var r=this.workerPool.acquire(this.id),a=0;a<r.length;a++){var o=r[a],s=new i(o,e,this.id);s.name=\"Worker \"+a,this.actors.push(s)}};a.prototype.broadcast=function(t,e,r){r=r||function(){},n.asyncAll(this.actors,function(r,n){r.send(t,e,n)},r)},a.prototype.send=function(t,e,r,n){return(\"number\"!=typeof n||isNaN(n))&&(n=this.currentActor=(this.currentActor+1)%this.actors.length),this.actors[n].send(t,e,r),n},a.prototype.remove=function(){this.actors.forEach(function(t){t.remove()}),this.actors=[],this.workerPool.release(this.id)},e.exports=a},{\"./actor\":250,\"./util\":275}],259:[function(t,e,r){function n(t){for(var e=0;e<t.length;e++)if(t[e]in s)return t[e];return t[0]}var i=t(\"@mapbox/point-geometry\"),a=t(\"./window\");r.create=function(t,e,r){var n=a.document.createElement(t);return e&&(n.className=e),r&&r.appendChild(n),n},r.createNS=function(t,e){return a.document.createElementNS(t,e)};var o,s=a.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};var c=function(t){t.preventDefault(),t.stopPropagation(),a.removeEventListener(\"click\",c,!0)};r.suppressClick=function(){a.addEventListener(\"click\",c,!0),a.setTimeout(function(){a.removeEventListener(\"click\",c,!0)},0)},r.mousePos=function(t,e){var r=t.getBoundingClientRect();return e=e.touches?e.touches[0]:e,new i(e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop)},r.touchPos=function(t,e){for(var r=t.getBoundingClientRect(),n=[],a=\"touchend\"===e.type?e.changedTouches:e.touches,o=0;o<a.length;o++)n.push(new i(a[o].clientX-r.left-t.clientLeft,a[o].clientY-r.top-t.clientTop));return n},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)}},{\"./window\":254,\"@mapbox/point-geometry\":4}],260:[function(t,e,r){function n(t,e,r){r[t]=r[t]||[],r[t].push(e)}function i(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1)}}var a=t(\"./util\"),o=function(){};o.prototype.on=function(t,e){return this._listeners=this._listeners||{},n(t,e,this._listeners),this},o.prototype.off=function(t,e){return i(t,e,this._listeners),i(t,e,this._oneTimeListeners),this},o.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},n(t,e,this._oneTimeListeners),this},o.prototype.fire=function(t,e){var r=this;if(this.listens(t)){e=a.extend({},e,{type:t,target:this});for(var n=0,o=this._listeners&&this._listeners[t]?this._listeners[t].slice():[];n<o.length;n+=1)o[n].call(r,e);for(var s=0,l=this._oneTimeListeners&&this._oneTimeListeners[t]?this._oneTimeListeners[t].slice():[];s<l.length;s+=1){var u=l[s];i(t,u,r._oneTimeListeners),u.call(r,e)}this._eventedParent&&this._eventedParent.fire(t,a.extend({},e,\"function\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData))}else a.endsWith(t,\"error\")&&console.error(e&&e.error||e||\"Empty error event\");return this},o.prototype.listens=function(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},o.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this},e.exports=o},{\"./util\":275}],261:[function(t,e,r){function n(t,e){return e.max-t.max}function i(t,e,r,n){this.p=new o(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;i<e.length;i++)for(var a=e[i],o=0,l=a.length,u=l-1;o<l;u=o++){var c=a[o],h=a[u];c.y>t.y!=h.y>t.y&&t.x<(h.x-c.x)*(t.y-c.y)/(h.y-c.y)+c.x&&(r=!r),n=Math.min(n,s(t,c,h))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}var a=t(\"tinyqueue\"),o=t(\"@mapbox/point-geometry\"),s=t(\"./intersection_tests\").distToSegmentSquared;e.exports=function(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var s=1/0,l=1/0,u=-1/0,c=-1/0,h=t[0],f=0;f<h.length;f++){var p=h[f];(!f||p.x<s)&&(s=p.x),(!f||p.y<l)&&(l=p.y),(!f||p.x>u)&&(u=p.x),(!f||p.y>c)&&(c=p.y)}var d=u-s,g=c-l,v=Math.min(d,g),m=v/2,y=new a(null,n);if(0===v)return new o(s,l);for(var x=s;x<u;x+=v)for(var b=l;b<c;b+=v)y.push(new i(x+m,b+m,m,t));for(var _=function(t){for(var e=0,r=0,n=0,a=t[0],o=0,s=a.length,l=s-1;o<s;l=o++){var u=a[o],c=a[l],h=u.x*c.y-c.x*u.y;r+=(u.x+c.x)*h,n+=(u.y+c.y)*h,e+=3*h}return new i(r/e,n/e,0,t)}(t),w=y.length;y.length;){var M=y.pop();(M.d>_.d||!_.d)&&(_=M,r&&console.log(\"found best %d after %d probes\",Math.round(1e4*M.d)/1e4,w)),M.max-_.d<=e||(m=M.h/2,y.push(new i(M.p.x-m,M.p.y-m,m,t)),y.push(new i(M.p.x+m,M.p.y-m,m,t)),y.push(new i(M.p.x-m,M.p.y+m,m,t)),y.push(new i(M.p.x+m,M.p.y+m,m,t)),w+=4)}return r&&(console.log(\"num probes: \"+w),console.log(\"best distance: \"+_.d)),_.p}},{\"./intersection_tests\":264,\"@mapbox/point-geometry\":4,tinyqueue:33}],262:[function(t,e,r){var n,i=t(\"./worker_pool\");e.exports=function(){return n||(n=new i),n}},{\"./worker_pool\":279}],263:[function(t,e,r){function n(t,e,r,n){var i=e.width,a=e.height;if(n){if(n.length!==i*a*r)throw new RangeError(\"mismatched image size\")}else n=new Uint8Array(i*a*r);return t.width=i,t.height=a,t.data=n,t}function i(t,e,r){var i=e.width,o=e.height;if(i!==t.width||o!==t.height){var s=n({},{width:i,height:o},r);a(t,s,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,i),height:Math.min(t.height,o)},r),t.width=i,t.height=o,t.data=s.data}}function a(t,e,r,n,i,a){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\"out of range source coordinates for image copy\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var o=t.data,s=e.data,l=0;l<i.height;l++)for(var u=((r.y+l)*t.width+r.x)*a,c=((n.y+l)*e.width+n.x)*a,h=0;h<i.width*a;h++)s[c+h]=o[u+h];return e}var o=t(\"./web_worker_transfer\").register,s=function(t,e){n(this,t,1,e)};s.prototype.resize=function(t){i(this,t,1)},s.prototype.clone=function(){return new s({width:this.width,height:this.height},new Uint8Array(this.data))},s.copy=function(t,e,r,n,i){a(t,e,r,n,i,1)};var l=function(t,e){n(this,t,4,e)};l.prototype.resize=function(t){i(this,t,4)},l.prototype.clone=function(){return new l({width:this.width,height:this.height},new Uint8Array(this.data))},l.copy=function(t,e,r,n,i){a(t,e,r,n,i,4)},o(\"AlphaImage\",s),o(\"RGBAImage\",l),e.exports={AlphaImage:s,RGBAImage:l}},{\"./web_worker_transfer\":278}],264:[function(t,e,r){function n(t,e,r){if(t.length>1){if(i(t,e))return!0;for(var n=0;n<e.length;n++)if(o(e[n],t,r))return!0}for(var a=0;a<t.length;a++)if(o(t[a],e,r))return!0;return!1}function i(t,e){if(0===t.length||0===e.length)return!1;for(var r=0;r<t.length-1;r++)for(var n=t[r],i=t[r+1],o=0;o<e.length-1;o++){if(a(n,i,e[o],e[o+1]))return!0}return!1}function a(t,e,r,n){return c(t,r,n)!==c(e,r,n)&&c(t,e,r)!==c(t,e,n)}function o(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(s(t,e[i-1],e[i])<n)return!0;return!1}function s(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 l(t,e){for(var r,n,i,a=!1,o=0;o<t.length;o++)for(var s=0,l=(r=t[o]).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 u(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}var c=t(\"./util\").isCounterClockwise;e.exports={multiPolygonIntersectsBufferedMultiPoint:function(t,e,r){for(var n=0;n<t.length;n++)for(var i=t[n],a=0;a<e.length;a++)for(var s=e[a],l=0;l<s.length;l++){var c=s[l];if(u(i,c))return!0;if(o(c,i,r))return!0}return!1},multiPolygonIntersectsMultiPolygon:function(t,e){if(1===t.length&&1===t[0].length)return l(e,t[0][0]);for(var r=0;r<e.length;r++)for(var n=e[r],a=0;a<n.length;a++)if(l(t,n[a]))return!0;for(var o=0;o<t.length;o++){for(var s=t[o],u=0;u<s.length;u++)if(l(e,s[u]))return!0;for(var c=0;c<e.length;c++)if(i(s,e[c]))return!0}return!1},multiPolygonIntersectsBufferedMultiLine:function(t,e,r){for(var i=0;i<e.length;i++)for(var a=e[i],o=0;o<t.length;o++){var s=t[o];if(s.length>=3)for(var l=0;l<a.length;l++)if(u(s,a[l]))return!0;if(n(s,a,r))return!0}return!1},polygonIntersectsPolygon:function(t,e){for(var r=0;r<t.length;r++)if(u(e,t[r]))return!0;for(var n=0;n<e.length;n++)if(u(t,e[n]))return!0;return!!i(t,e)},distToSegmentSquared:s}},{\"./util\":275}],265:[function(t,e,r){e.exports={\"Latin-1 Supplement\":function(t){return t>=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},\"Arabic Supplement\":function(t){return t>=1872&&t<=1919},\"Arabic Extended-A\":function(t){return t>=2208&&t<=2303},\"Hangul Jamo\":function(t){return t>=4352&&t<=4607},\"Unified Canadian Aboriginal Syllabics\":function(t){return t>=5120&&t<=5759},\"Unified Canadian Aboriginal Syllabics Extended\":function(t){return t>=6320&&t<=6399},\"General Punctuation\":function(t){return t>=8192&&t<=8303},\"Letterlike Symbols\":function(t){return t>=8448&&t<=8527},\"Number Forms\":function(t){return t>=8528&&t<=8591},\"Miscellaneous Technical\":function(t){return t>=8960&&t<=9215},\"Control Pictures\":function(t){return t>=9216&&t<=9279},\"Optical Character Recognition\":function(t){return t>=9280&&t<=9311},\"Enclosed Alphanumerics\":function(t){return t>=9312&&t<=9471},\"Geometric Shapes\":function(t){return t>=9632&&t<=9727},\"Miscellaneous Symbols\":function(t){return t>=9728&&t<=9983},\"Miscellaneous Symbols and Arrows\":function(t){return t>=11008&&t<=11263},\"CJK Radicals Supplement\":function(t){return t>=11904&&t<=12031},\"Kangxi Radicals\":function(t){return t>=12032&&t<=12255},\"Ideographic Description Characters\":function(t){return t>=12272&&t<=12287},\"CJK Symbols and Punctuation\":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},\"Hangul Compatibility Jamo\":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},\"Bopomofo Extended\":function(t){return t>=12704&&t<=12735},\"CJK Strokes\":function(t){return t>=12736&&t<=12783},\"Katakana Phonetic Extensions\":function(t){return t>=12784&&t<=12799},\"Enclosed CJK Letters and Months\":function(t){return t>=12800&&t<=13055},\"CJK Compatibility\":function(t){return t>=13056&&t<=13311},\"CJK Unified Ideographs Extension A\":function(t){return t>=13312&&t<=19903},\"Yijing Hexagram Symbols\":function(t){return t>=19904&&t<=19967},\"CJK Unified Ideographs\":function(t){return t>=19968&&t<=40959},\"Yi Syllables\":function(t){return t>=40960&&t<=42127},\"Yi Radicals\":function(t){return t>=42128&&t<=42191},\"Hangul Jamo Extended-A\":function(t){return t>=43360&&t<=43391},\"Hangul Syllables\":function(t){return t>=44032&&t<=55215},\"Hangul Jamo Extended-B\":function(t){return t>=55216&&t<=55295},\"Private Use Area\":function(t){return t>=57344&&t<=63743},\"CJK Compatibility Ideographs\":function(t){return t>=63744&&t<=64255},\"Arabic Presentation Forms-A\":function(t){return t>=64336&&t<=65023},\"Vertical Forms\":function(t){return t>=65040&&t<=65055},\"CJK Compatibility Forms\":function(t){return t>=65072&&t<=65103},\"Small Form Variants\":function(t){return t>=65104&&t<=65135},\"Arabic Presentation Forms-B\":function(t){return t>=65136&&t<=65279},\"Halfwidth and Fullwidth Forms\":function(t){return t>=65280&&t<=65519}}},{}],266:[function(t,e,r){var n=function(t,e){this.max=t,this.onRemove=e,this.reset()};n.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);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.getAndRemove(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.getAndRemove=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.get=function(t){return this.has(t)?this.data[t]:null},n.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},n.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){var r=e.getAndRemove(e.order[0]);r&&e.onRemove(r)}return this},e.exports=n},{}],267:[function(t,e,r){function n(t,e){var r=a(s.API_URL);if(t.protocol=r.protocol,t.authority=r.authority,\"/\"!==r.path&&(t.path=\"\"+r.path+t.path),!s.REQUIRE_ACCESS_TOKEN)return o(t);if(!(e=e||s.ACCESS_TOKEN))throw new Error(\"An API access token is required to use Mapbox GL. \"+u);if(\"s\"===e[0])throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+u);return t.params.push(\"access_token=\"+e),o(t)}function i(t){return 0===t.indexOf(\"mapbox:\")}function a(t){var e=t.match(h);if(!e)throw new Error(\"Unable to parse URL object\");return{protocol:e[1],authority:e[2],path:e[3]||\"/\",params:e[4]?e[4].split(\"&\"):[]}}function o(t){var e=t.params.length?\"?\"+t.params.join(\"&\"):\"\";return t.protocol+\"://\"+t.authority+t.path+e}var s=t(\"./config\"),l=t(\"./browser\"),u=\"See https://www.mapbox.com/api-documentation/#access-tokens\";r.isMapboxURL=i,r.normalizeStyleURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path=\"/styles/v1\"+r.path,n(r,e)},r.normalizeGlyphsURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path=\"/fonts/v1\"+r.path,n(r,e)},r.normalizeSourceURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path=\"/v4/\"+r.authority+\".json\",r.params.push(\"secure\"),n(r,e)},r.normalizeSpriteURL=function(t,e,r,s){var l=a(t);return i(t)?(l.path=\"/styles/v1\"+l.path+\"/sprite\"+e+r,n(l,s)):(l.path+=\"\"+e+r,o(l))};var c=/(\\.(png|jpg)\\d*)(?=$)/;r.normalizeTileURL=function(t,e,r){if(!e||!i(e))return t;var n=a(t),u=l.devicePixelRatio>=2||512===r?\"@2x\":\"\",h=l.supportsWebp?\".webp\":\"$1\";return n.path=n.path.replace(c,\"\"+u+h),function(t){for(var e=0;e<t.length;e++)0===t[e].indexOf(\"access_token=tk.\")&&(t[e]=\"access_token=\"+(s.ACCESS_TOKEN||\"\"))}(n.params),o(n)};var h=/^(\\w+):\\/\\/([^\\/?]*)(\\/[^?]+)?\\??(.+)?/},{\"./browser\":252,\"./config\":256}],268:[function(t,e,r){e.exports={getEntriesByName:function(t){return!(!performance||!performance.getEntriesByName)&&performance.getEntriesByName(t)}}},{}],269:[function(t,e,r){var n=t(\"./is_char_in_unicode_block\");e.exports.allowsIdeographicBreaking=function(t){for(var e=0,n=t;e<n.length;e+=1){var i=n[e];if(!r.charAllowsIdeographicBreaking(i.charCodeAt(0)))return!1}return!0},e.exports.allowsVerticalWritingMode=function(t){for(var e=0,n=t;e<n.length;e+=1){var i=n[e];if(r.charHasUprightVerticalOrientation(i.charCodeAt(0)))return!0}return!1},e.exports.allowsLetterSpacing=function(t){for(var e=0,n=t;e<n.length;e+=1){var i=n[e];if(!r.charAllowsLetterSpacing(i.charCodeAt(0)))return!1}return!0},e.exports.charAllowsLetterSpacing=function(t){return!(n.Arabic(t)||n[\"Arabic Supplement\"](t)||n[\"Arabic Extended-A\"](t)||n[\"Arabic Presentation Forms-A\"](t)||n[\"Arabic Presentation Forms-B\"](t))},e.exports.charAllowsIdeographicBreaking=function(t){return!!(!(t<11904)&&(n[\"Bopomofo Extended\"](t)||n.Bopomofo(t)||n[\"CJK Compatibility Forms\"](t)||n[\"CJK Compatibility Ideographs\"](t)||n[\"CJK Compatibility\"](t)||n[\"CJK Radicals Supplement\"](t)||n[\"CJK Strokes\"](t)||n[\"CJK Symbols and Punctuation\"](t)||n[\"CJK Unified Ideographs Extension A\"](t)||n[\"CJK Unified Ideographs\"](t)||n[\"Enclosed CJK Letters and Months\"](t)||n[\"Halfwidth and Fullwidth Forms\"](t)||n.Hiragana(t)||n[\"Ideographic Description Characters\"](t)||n[\"Kangxi Radicals\"](t)||n[\"Katakana Phonetic Extensions\"](t)||n.Katakana(t)||n[\"Vertical Forms\"](t)||n[\"Yi Radicals\"](t)||n[\"Yi Syllables\"](t)))},r.charHasUprightVerticalOrientation=function(t){return!!(746===t||747===t||!(t<4352)&&(n[\"Bopomofo Extended\"](t)||n.Bopomofo(t)||n[\"CJK Compatibility Forms\"](t)&&!(t>=65097&&t<=65103)||n[\"CJK Compatibility Ideographs\"](t)||n[\"CJK Compatibility\"](t)||n[\"CJK Radicals Supplement\"](t)||n[\"CJK Strokes\"](t)||!(!n[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||n[\"CJK Unified Ideographs Extension A\"](t)||n[\"CJK Unified Ideographs\"](t)||n[\"Enclosed CJK Letters and Months\"](t)||n[\"Hangul Compatibility Jamo\"](t)||n[\"Hangul Jamo Extended-A\"](t)||n[\"Hangul Jamo Extended-B\"](t)||n[\"Hangul Jamo\"](t)||n[\"Hangul Syllables\"](t)||n.Hiragana(t)||n[\"Ideographic Description Characters\"](t)||n.Kanbun(t)||n[\"Kangxi Radicals\"](t)||n[\"Katakana Phonetic Extensions\"](t)||n.Katakana(t)&&12540!==t||!(!n[\"Halfwidth and Fullwidth Forms\"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!n[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||n[\"Unified Canadian Aboriginal Syllabics\"](t)||n[\"Unified Canadian Aboriginal Syllabics Extended\"](t)||n[\"Vertical Forms\"](t)||n[\"Yijing Hexagram Symbols\"](t)||n[\"Yi Syllables\"](t)||n[\"Yi Radicals\"](t)))},r.charHasNeutralVerticalOrientation=function(t){return!!(n[\"Latin-1 Supplement\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||n[\"General Punctuation\"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||n[\"Letterlike Symbols\"](t)||n[\"Number Forms\"](t)||n[\"Miscellaneous Technical\"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||n[\"Control Pictures\"](t)&&9251!==t||n[\"Optical Character Recognition\"](t)||n[\"Enclosed Alphanumerics\"](t)||n[\"Geometric Shapes\"](t)||n[\"Miscellaneous Symbols\"](t)&&!(t>=9754&&t<=9759)||n[\"Miscellaneous Symbols and Arrows\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||n[\"CJK Symbols and Punctuation\"](t)||n.Katakana(t)||n[\"Private Use Area\"](t)||n[\"CJK Compatibility Forms\"](t)||n[\"Small Form Variants\"](t)||n[\"Halfwidth and Fullwidth Forms\"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)},r.charHasRotatedVerticalOrientation=function(t){return!(r.charHasUprightVerticalOrientation(t)||r.charHasNeutralVerticalOrientation(t))}},{\"./is_char_in_unicode_block\":265}],270:[function(t,e,r){var n=t(\"../geo/lng_lat\");e.exports=function(t,e,r){if(t=new n(t.lng,t.lat),e){var i=new n(t.lng-360,t.lat),a=new n(t.lng+360,t.lat),o=r.locationPoint(t).distSqr(e);r.locationPoint(i).distSqr(e)<o?t=i:r.locationPoint(a).distSqr(e)<o&&(t=a)}for(;Math.abs(t.lng-r.center.lng)>180;){var s=r.locationPoint(t);if(s.x>=0&&s.y>=0&&s.x<=r.width&&s.y<=r.height)break;t.lng>r.center.lng?t.lng-=360:t.lng+=360}return t}},{\"../geo/lng_lat\":62}],271:[function(t,e,r){function n(t,e){return Math.ceil(t/e)*e}var i={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},a=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};a.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},a.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},a.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},a.prototype.clear=function(){this.length=0},a.prototype.resize=function(t){this.reserve(t),this.length=t},a.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},a.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")},e.exports.StructArray=a,e.exports.Struct=function(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},e.exports.viewTypes=i,e.exports.createLayout=function(t,e){void 0===e&&(e=1);var r=0,a=0;return{members:t.map(function(t){var o=function(t){return i[t].BYTES_PER_ELEMENT}(t.type),s=r=n(r,Math.max(e,o)),l=t.components||1;return a=Math.max(a,o),r+=o*l,{name:t.name,type:t.type,components:l,offset:s}}),size:n(r,Math.max(a,e)),alignment:e}}},{}],272:[function(t,e,r){e.exports=function(t,e){var r=!1,n=0,i=function(){n=0,r&&(t(),n=setTimeout(i,e),r=!1)};return function(){return r=!0,n||i(),n}}},{}],273:[function(t,e,r){function n(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 i(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 p=l*Math.max(0,Math.min(t.dy,f+c-t.y0))+t.x0,d=u*Math.max(0,Math.min(e.dy,f+h-e.y0))+e.x0;i(Math.floor(d),Math.ceil(p),f)}}function a(t,e,r,a,o,s){var l,u=n(t,e),c=n(e,r),h=n(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&&i(h,u,a,o,s),c.dy&&i(h,c,a,o,s)}t(\"../geo/coordinate\");var o=t(\"../source/tile_id\").OverscaledTileID;e.exports=function(t,e,r,n){function i(e,i,a){var u,c,h;if(a>=0&&a<=s)for(u=e;u<i;u++)0!==(c=Math.floor(u/s))&&!0!==n||(h=new o(r,c,t,(u%s+s)%s,a),l[h.key]=h)}void 0===n&&(n=!0);var s=1<<t,l={};return a(e[0],e[1],e[2],0,s,i),a(e[2],e[3],e[0],0,s,i),Object.keys(l).map(function(t){return l[t]})}},{\"../geo/coordinate\":61,\"../source/tile_id\":114}],274:[function(t,e,r){e.exports=function(t,e){return e.replace(/{([^{}]+)}/g,function(e,r){return r in t?String(t[r]):\"\"})}},{}],275:[function(t,e,r){var n=t(\"@mapbox/unitbezier\"),i=t(\"../geo/coordinate\");t(\"@mapbox/point-geometry\");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.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.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},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=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];for(var i=0,a=r;i<a.length;i+=1){var o=a[i];for(var s in o)t[s]=o[s]}return t},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.bindAll=function(t,e){t.forEach(function(t){e[t]&&(e[t]=e[t].bind(e))})},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),c=Math.max(0,Math.floor(-Math.log(u)/Math.LN2));return new i((e+n)/2,(r+a)/2,0).zoomTo(c)},r.endsWith=function(t,e){return-1!==t.indexOf(e,t.length-e.length)},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=t(\"../style-spec/util/deep_equal\"),r.clone=function(t){return Array.isArray(t)?t.map(r.clone):\"object\"==typeof t&&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)},r.isCounterClockwise=function(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)},r.calculateSignedArea=function(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r<n;i=r++)a=t[r],e+=((o=t[i]).x-a.x)*(a.y+o.y);return e},r.isClosedPolygon=function(t){if(t.length<4)return!1;var e=t[0],n=t[t.length-1];return!(Math.abs(e.x-n.x)>0||Math.abs(e.y-n.y)>0)&&Math.abs(r.calculateSignedArea(t))>.01},r.sphericalToCartesian=function(t){var e=t[0],r=t[1],n=t[2];return r+=90,r*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(r)*Math.sin(n),y:e*Math.sin(r)*Math.sin(n),z:e*Math.cos(n)}},r.parseCacheControl=function(t){var e={};if(t.replace(/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),\"\"}),e[\"max-age\"]){var r=parseInt(e[\"max-age\"],10);isNaN(r)?delete e[\"max-age\"]:e[\"max-age\"]=r}return e}},{\"../geo/coordinate\":61,\"../style-spec/util/deep_equal\":155,\"@mapbox/point-geometry\":4,\"@mapbox/unitbezier\":7}],276:[function(t,e,r){var n=function(t,e,r,n){this.type=\"Feature\",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&&(this.id=t.id)},i={geometry:{}};i.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},i.geometry.set=function(t){this._geometry=t},n.prototype.toJSON=function(){var t={geometry:this.geometry};for(var e in this)\"_geometry\"!==e&&\"_vectorTileFeature\"!==e&&(t[e]=this[e]);return t},Object.defineProperties(n.prototype,i),e.exports=n},{}],277:[function(t,e,r){var n=t(\"./script_detection\");e.exports=function(t){for(var r=\"\",i=0;i<t.length;i++){var a=t.charCodeAt(i+1)||null,o=t.charCodeAt(i-1)||null;a&&n.charHasRotatedVerticalOrientation(a)&&!e.exports.lookup[t[i+1]]||o&&n.charHasRotatedVerticalOrientation(o)&&!e.exports.lookup[t[i-1]]||!e.exports.lookup[t[i]]?r+=t[i]:r+=e.exports.lookup[t[i]]}return r},e.exports.lookup={\"!\":\"\\ufe15\",\"#\":\"\\uff03\",$:\"\\uff04\",\"%\":\"\\uff05\",\"&\":\"\\uff06\",\"(\":\"\\ufe35\",\")\":\"\\ufe36\",\"*\":\"\\uff0a\",\"+\":\"\\uff0b\",\",\":\"\\ufe10\",\"-\":\"\\ufe32\",\".\":\"\\u30fb\",\"/\":\"\\uff0f\",\":\":\"\\ufe13\",\";\":\"\\ufe14\",\"<\":\"\\ufe3f\",\"=\":\"\\uff1d\",\">\":\"\\ufe40\",\"?\":\"\\ufe16\",\"@\":\"\\uff20\",\"[\":\"\\ufe47\",\"\\\\\":\"\\uff3c\",\"]\":\"\\ufe48\",\"^\":\"\\uff3e\",_:\"\\ufe33\",\"`\":\"\\uff40\",\"{\":\"\\ufe37\",\"|\":\"\\u2015\",\"}\":\"\\ufe38\",\"~\":\"\\uff5e\",\"\\xa2\":\"\\uffe0\",\"\\xa3\":\"\\uffe1\",\"\\xa5\":\"\\uffe5\",\"\\xa6\":\"\\uffe4\",\"\\xac\":\"\\uffe2\",\"\\xaf\":\"\\uffe3\",\"\\u2013\":\"\\ufe32\",\"\\u2014\":\"\\ufe31\",\"\\u2018\":\"\\ufe43\",\"\\u2019\":\"\\ufe44\",\"\\u201c\":\"\\ufe41\",\"\\u201d\":\"\\ufe42\",\"\\u2026\":\"\\ufe19\",\"\\u2027\":\"\\u30fb\",\"\\u20a9\":\"\\uffe6\",\"\\u3001\":\"\\ufe11\",\"\\u3002\":\"\\ufe12\",\"\\u3008\":\"\\ufe3f\",\"\\u3009\":\"\\ufe40\",\"\\u300a\":\"\\ufe3d\",\"\\u300b\":\"\\ufe3e\",\"\\u300c\":\"\\ufe41\",\"\\u300d\":\"\\ufe42\",\"\\u300e\":\"\\ufe43\",\"\\u300f\":\"\\ufe44\",\"\\u3010\":\"\\ufe3b\",\"\\u3011\":\"\\ufe3c\",\"\\u3014\":\"\\ufe39\",\"\\u3015\":\"\\ufe3a\",\"\\u3016\":\"\\ufe17\",\"\\u3017\":\"\\ufe18\",\"\\uff01\":\"\\ufe15\",\"\\uff08\":\"\\ufe35\",\"\\uff09\":\"\\ufe36\",\"\\uff0c\":\"\\ufe10\",\"\\uff0d\":\"\\ufe32\",\"\\uff0e\":\"\\u30fb\",\"\\uff1a\":\"\\ufe13\",\"\\uff1b\":\"\\ufe14\",\"\\uff1c\":\"\\ufe3f\",\"\\uff1e\":\"\\ufe40\",\"\\uff1f\":\"\\ufe16\",\"\\uff3b\":\"\\ufe47\",\"\\uff3d\":\"\\ufe48\",\"\\uff3f\":\"\\ufe33\",\"\\uff5b\":\"\\ufe37\",\"\\uff5c\":\"\\u2015\",\"\\uff5d\":\"\\ufe38\",\"\\uff5f\":\"\\ufe35\",\"\\uff60\":\"\\ufe36\",\"\\uff61\":\"\\ufe12\",\"\\uff62\":\"\\ufe41\",\"\\uff63\":\"\\ufe42\"}},{\"./script_detection\":269}],278:[function(t,e,r){function n(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,\"_classRegistryKey\",{value:t,writeable:!1}),g[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]}}var i=t(\"grid-index\"),a=t(\"../style-spec/util/color\"),o=t(\"../style-spec/expression\"),s=o.StylePropertyFunction,l=o.StyleExpression,u=o.StyleExpressionWithErrorHandling,c=o.ZoomDependentExpression,h=o.ZoomConstantExpression,f=t(\"../style-spec/expression/compound_expression\").CompoundExpression,p=t(\"../style-spec/expression/definitions\"),d=t(\"./window\").ImageData,g={};for(var v in n(\"Object\",Object),i.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),r},i.deserialize=function(t){return new i(t)},n(\"Grid\",i),n(\"Color\",a),n(\"StylePropertyFunction\",s),n(\"StyleExpression\",l,{omit:[\"_evaluator\"]}),n(\"StyleExpressionWithErrorHandling\",u,{omit:[\"_evaluator\"]}),n(\"ZoomDependentExpression\",c),n(\"ZoomConstantExpression\",h),n(\"CompoundExpression\",f,{omit:[\"_evaluate\"]}),p)p[v]._classRegistryKey||n(\"Expression_\"+v,p[v]);e.exports={register:n,serialize:function t(e,r){if(null===e||void 0===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp)return e;if(e instanceof ArrayBuffer)return r&&r.push(e),e;if(ArrayBuffer.isView(e)){var n=e;return r&&r.push(n.buffer),n}if(e instanceof d)return r&&r.push(e.data.buffer),e;if(Array.isArray(e)){for(var i=[],a=0,o=e;a<o.length;a+=1){var s=o[a];i.push(t(s,r))}return i}if(\"object\"==typeof e){var l=e.constructor,u=l._classRegistryKey;if(!u)throw new Error(\"can't serialize object of unregistered class\");var c={};if(l.serialize)c._serialized=l.serialize(e,r);else for(var h in e)if(e.hasOwnProperty(h)&&!(g[u].omit.indexOf(h)>=0)){var f=e[h];c[h]=g[u].shallow.indexOf(h)>=0?f:t(f,r)}return{name:u,properties:c}}throw new Error(\"can't serialize object of type \"+typeof e)},deserialize:function t(e){if(null===e||void 0===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||e instanceof d)return e;if(Array.isArray(e))return e.map(function(e){return t(e)});if(\"object\"==typeof e){var r=e,n=r.name,i=r.properties;if(!n)throw new Error(\"can't deserialize object of anonymous class\");var a=g[n].klass;if(!a)throw new Error(\"can't deserialize unregistered class \"+n);if(a.deserialize)return a.deserialize(i._serialized);for(var o=Object.create(a.prototype),s=0,l=Object.keys(i);s<l.length;s+=1){var u=l[s];o[u]=g[n].shallow.indexOf(u)>=0?i[u]:t(i[u])}return o}throw new Error(\"can't deserialize object of type \"+typeof e)}}},{\"../style-spec/expression\":139,\"../style-spec/expression/compound_expression\":123,\"../style-spec/expression/definitions\":131,\"../style-spec/util/color\":153,\"./window\":254,\"grid-index\":24}],279:[function(t,e,r){var n=t(\"./web_worker\"),i=function(){this.active={}};i.prototype.acquire=function(e){if(!this.workers){var r=t(\"../\").workerCount;for(this.workers=[];this.workers.length<r;)this.workers.push(new n)}return this.active[e]=!0,this.workers.slice()},i.prototype.release=function(t){delete this.active[t],0===Object.keys(this.active).length&&(this.workers.forEach(function(t){t.terminate()}),this.workers=null)},e.exports=i},{\"../\":73,\"./web_worker\":253}]},{},[73])(73)})}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{}),bq=bq.exports;var _q={requiredVersion:\"0.44.1\",styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",controlContainerClassName:\"mapboxgl-control-container\",wrongVersionErrorMsg:[\"Your custom plotly.js bundle is not using the correct mapbox-gl version\",\"Please install mapbox-gl@0.44.1.\"].join(\"\\n\"),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.\",styleRules:{map:\"overflow:hidden;position:relative;\",\"missing-css\":\"display:none\"}},wq=Oe.defaultLine,Mq=qc.attributes,Aq=Zr.textposition,kq=ye.overrideAll,Tq=T({});Tq.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\";var Sq=kq({_arrayAttrRegexps:[ne.counterRegex(\"mapbox\",\".layers\",!0)],domain:Mq({name:\"mapbox\"}),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:wq},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:wq}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},textfont:Tq,textposition:ne.extendFlat({},Aq,{arrayOk:!1})}}},\"plot\",\"from-root\");function Eq(t,e,r,n){r(\"accesstoken\",n.accessToken),r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\"),function(t,e){var r,n,i=t.layers||[],a=e.layers=[];function o(t,e){return ne.coerce(r,n,Sq.layers,t,e)}for(var s=0;s<i.length;s++)if(r=i[s],n={},ne.isPlainObject(r)){var l=o(\"sourcetype\");o(\"source\"),\"vector\"===l&&o(\"sourcelayer\");var u=o(\"type\");o(\"below\"),o(\"color\"),o(\"opacity\"),\"circle\"===u&&o(\"circle.radius\"),\"line\"===u&&o(\"line.width\"),\"fill\"===u&&o(\"fill.outlinecolor\"),\"symbol\"===u&&(o(\"symbol.icon\"),o(\"symbol.iconsize\"),o(\"symbol.text\"),ne.coerceFont(o,\"symbol.textfont\"),o(\"symbol.textposition\")),n._index=s,a.push(n)}}(t,e),e._input=t}var Cq=function(t,e){var r=t.split(\" \"),n=r[0],i=r[1],a=ne.isArrayOrTypedArray(e)?ne.mean(e):e,o=.5+a/100,s=1.5+a/100,l=[\"\",\"\"],u=[0,0];switch(n){case\"top\":l[0]=\"top\",u[1]=-s;break;case\"bottom\":l[0]=\"bottom\",u[1]=s}switch(i){case\"left\":l[1]=\"right\",u[0]=-o;break;case\"right\":l[1]=\"left\",u[0]=o}return{anchor:l[0]&&l[1]?l.join(\"-\"):l[0]?l[0]:l[1]?l[1]:\"center\",offset:u}};function Lq(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}var zq=Lq.prototype;function Pq(t){var e=t.source;return ne.isPlainObject(e)||\"string\"==typeof e&&e.length>0}function Iq(t){var e={},r={};switch(t.type){case\"circle\":ne.extendFlat(r,{\"circle-radius\":t.circle.radius,\"circle-color\":t.color,\"circle-opacity\":t.opacity});break;case\"line\":ne.extendFlat(r,{\"line-width\":t.line.width,\"line-color\":t.color,\"line-opacity\":t.opacity});break;case\"fill\":ne.extendFlat(r,{\"fill-color\":t.color,\"fill-outline-color\":t.fill.outlinecolor,\"fill-opacity\":t.opacity});break;case\"symbol\":var n=t.symbol,i=Cq(n.textposition,n.iconsize);ne.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}),ne.extendFlat(r,{\"icon-color\":t.color,\"text-color\":n.textfont.color,\"text-opacity\":t.opacity})}return{layout:e,paint:r}}zq.update=function(t){this.visible?this.needsNewSource(t)?(this.updateLayer(t),this.updateSource(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=Pq(t)},zq.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},zq.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==t.below},zq.updateSource=function(t){var e=this.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,Pq(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,i={type:r};\"geojson\"===r?e=\"data\":\"vector\"===r&&(e=\"string\"==typeof n?\"url\":\"tiles\");return i[e]=n,i}(t);e.addSource(this.idSource,r)}},zq.updateLayer=function(t){var e=this.map,r=Iq(t);e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),this.layerType=t.type,Pq(t)&&e.addLayer({id:this.idLayer,source:this.idSource,\"source-layer\":t.sourcelayer||\"\",type:t.type,layout:r.layout,paint:r.paint},t.below)},zq.updateStyle=function(t){if(Pq(t)){var e=Iq(t);this.mapbox.setOptions(this.idLayer,\"setLayoutProperty\",e.layout),this.mapbox.setOptions(this.idLayer,\"setPaintProperty\",e.paint)}},zq.dispose=function(){var t=this.map;t.removeLayer(this.idLayer),t.removeSource(this.idSource)};var Dq=function(t,e,r){var n=new Lq(t,e);return n.update(r),n};function Oq(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=[]}var Rq=Oq.prototype,Fq=function(t){return new Oq(t)};function Bq(t){var e=Sq.style.values,r=Sq.style.dflt,n={};return ne.isPlainObject(t)?(n.id=t.id,n.style=t):\"string\"==typeof t?(n.id=t,n.style=-1!==e.indexOf(t)?Nq(t):t):(n.id=r,n.style=Nq(r)),n.transition={duration:0,delay:0},n}function Nq(t){return _q.styleUrlPrefix+t+\"-\"+_q.styleUrlSuffix}function jq(t){return[t.lon,t.lat]}Rq.plot=function(t,e,r){var n,i=this,a=i.opts=e[this.id];i.map&&a.accesstoken!==i.accessToken&&(i.map.remove(),i.map=null,i.styleObj=null,i.traceHash=[],i.layerList={}),n=i.map?new Promise(function(r,n){i.updateMap(t,e,r,n)}):new Promise(function(r,n){i.createMap(t,e,r,n)}),r.push(n)},Rq.createMap=function(t,e,r,n){var i=this,a=i.gd,o=i.opts,s=i.styleObj=Bq(o.style);i.accessToken=o.accesstoken;var l=i.map=new bq.Map({container:i.div,style:s.style,center:jq(o.center),zoom:o.zoom,bearing:o.bearing,pitch:o.pitch,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1}),u=_q.controlContainerClassName,c=i.div.getElementsByClassName(u)[0];function h(){yo.loneUnhover(e._toppaper)}i.div.removeChild(c),l._canvas.style.left=\"0px\",l._canvas.style.top=\"0px\",i.rejectOnError(n),l.once(\"load\",function(){i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)}),i.isStatic||(l.on(\"moveend\",function(t){if(i.map){var e=i.getView();if(o._input.center=o.center=e.center,o._input.zoom=o.zoom=e.zoom,o._input.bearing=o.bearing=e.bearing,o._input.pitch=o.pitch=e.pitch,t.originalEvent){var r={};r[i.id]=ne.extendFlat({},e),a.emit(\"plotly_relayout\",r)}}}),l.on(\"mousemove\",function(t){var e=i.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},i.xaxis.p2c=function(){return t.lngLat.lng},i.yaxis.p2c=function(){return t.lngLat.lat},yo.hover(a,t,i.id)}),l.on(\"click\",function(t){yo.click(a,t.originalEvent)}),l.on(\"dragstart\",h),l.on(\"zoomstart\",h),l.on(\"dblclick\",function(){var t=i.viewInitial;l.setCenter(jq(t.center)),l.setZoom(t.zoom),l.setBearing(t.bearing),l.setPitch(t.pitch);var e=i.getView();o._input.center=o.center=e.center,o._input.zoom=o.zoom=e.zoom,o._input.bearing=o.bearing=e.bearing,o._input.pitch=o.pitch=e.pitch,a.emit(\"plotly_doubleclick\",null)}),i.clearSelect=function(){a._fullLayout._zoomlayer.selectAll(\".select-outline\").remove()})},Rq.updateMap=function(t,e,r,n){var i=this,a=i.map;i.rejectOnError(n);var o=Bq(i.opts.style);i.styleObj.id!==o.id?(i.styleObj=o,a.setStyle(o.style),a.once(\"styledata\",function(){i.traceHash={},i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)})):(i.updateData(t),i.updateLayout(e),i.resolveOnRender(r))},Rq.updateData=function(t){var e,r,n,i,a=this.traceHash;for(n=0;n<t.length;n++){var o=t[n];(e=a[(r=o[0].trace).uid])?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(l===(r=t[i][0].trace).uid)continue t;(e=a[l]).dispose(),delete a[l]}},Rq.updateLayout=function(t){var e=this.map,r=this.opts;e.setCenter(jq(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch),this.updateLayers(),this.updateFramework(t),this.updateFx(t),this.map.resize()},Rq.resolveOnRender=function(t){var e=this.map;e.on(\"render\",function r(){e.loaded()&&(e.off(\"render\",r),setTimeout(t,0))})},Rq.rejectOnError=function(t){var e=this.map;function r(){t(new Error(_q.mapOnErrorMsg))}e.once(\"error\",r),e.once(\"style.error\",r),e.once(\"source.error\",r),e.once(\"tile.error\",r),e.once(\"layer.error\",r)},Rq.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)},Rq.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var i,a=t.dragmode;if(i=\"select\"===a?function(t,r){(t.range={})[e.id]=[s([r.xmin,r.ymin]),s([r.xmax,r.ymax])]}:function(t,r,n){(t.lassoPoints={})[e.id]=n.filtered.map(s)},\"select\"===a||\"lasso\"===a){r.dragPan.disable(),r.on(\"zoomstart\",e.clearSelect);var o={element:e.div,gd:n,plotinfo:{xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:i},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id,prepFn:function(t,e,r){_c(t,e,r,o,a)}};Ua.init(o)}else r.dragPan.enable(),r.off(\"zoomstart\",e.clearSelect),e.div.onmousedown=null}function s(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},Rq.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])},Rq.updateLayers=function(){var t,e=this.opts.layers,r=this.layerList;if(e.length!==r.length){for(t=0;t<r.length;t++)r[t].dispose();for(r=this.layerList=[],t=0;t<e.length;t++)r.push(Dq(this,t,e[t]))}else for(t=0;t<e.length;t++)r[t].update(e[t])},Rq.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))},Rq.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()},Rq.setOptions=function(t,e,r){for(var n in r)this.map[e](t,n,r[n])},Rq.project=function(t){return this.map.project(new bq.LngLat(t[0],t[1]))},Rq.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()}};var Vq={},Uq=sa.getSubplotCalcData;for(var qq in _q.styleRules)ne.addStyleRule(\".mapboxgl-\"+qq,_q.styleRules[qq]);Vq.name=\"mapbox\",Vq.attr=\"subplot\",Vq.idRoot=\"mapbox\",Vq.idRegex=Vq.attrRegex=ne.counterRegex(\"mapbox\"),Vq.attributes={subplot:{valType:\"subplotid\",dflt:\"mapbox\",editType:\"calc\"}},Vq.layoutAttributes=Sq,Vq.supplyLayoutDefaults=function(t,e,r){Jc(t,e,0,{type:\"mapbox\",attributes:Sq,handleDefaults:Eq,partition:\"y\",accessToken:e._mapboxAccessToken})},Vq.plot=function(t){var e=t._fullLayout,r=t.calcdata,n=e._subplots.mapbox;if(bq.version!==_q.requiredVersion)throw new Error(_q.wrongVersionErrorMsg);var i=function(t,e){var r=t._fullLayout;if(\"\"===t._context.mapboxAccessToken)return\"\";for(var n=0;n<e.length;n++){var i=r[e[n]];if(i.accesstoken)return i.accesstoken}throw new Error(_q.noAccessTokenErrorMsg)}(t,n);bq.accessToken=i;for(var a=0;a<n.length;a++){var o=n[a],s=Uq(r,\"mapbox\",o),l=e[o],u=l._subplot;u||(u=Fq({gd:t,container:e._glcontainer.node(),id:o,fullLayout:e,staticPlot:t._context.staticPlot}),e[o]._subplot=u),u.viewInitial||(u.viewInitial={center:ne.extendFlat({},l.center),zoom:l.zoom,bearing:l.bearing,pitch:l.pitch}),u.plot(s,e,t._promises)}},Vq.clean=function(t,e,r,n){for(var i=n._subplots.mapbox||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._subplot&&n[o]._subplot.destroy()}},Vq.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=e._size,i=0;i<r.length;i++){var a=e[r[i]],o=a.domain,s=a._subplot,l=s.toImage(\"png\");e._glimages.append(\"svg:image\").attr({xmlns:$e.svg,\"xlink:href\":l,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"}),s.destroy()}},Vq.updateFx=function(t){for(var e=t._subplots.mapbox,r=0;r<e.length;r++){t[e[r]]._subplot.updateFx(t)}};var Hq=m.extendFlat,Gq=ye.overrideAll,Wq=uh.line,Yq=uh.marker,Xq=Gq({lon:uh.lon,lat:uh.lat,mode:Hq({},Zr.mode,{dflt:\"markers\"}),text:Hq({},Zr.text,{}),hovertext:Hq({},Zr.hovertext,{}),line:{color:Wq.color,width:Wq.width},connectgaps:Zr.connectgaps,marker:{symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},opacity:Yq.opacity,size:Yq.size,sizeref:Yq.sizeref,sizemin:Yq.sizemin,sizemode:Yq.sizemode,color:Yq.color,colorscale:Yq.colorscale,cauto:Yq.cauto,cmax:Yq.cmax,cmin:Yq.cmin,autocolorscale:Yq.autocolorscale,reversescale:Yq.reversescale,showscale:Yq.showscale,colorbar:ze},fill:uh.fill,fillcolor:Zr.fillcolor,textfont:Sq.layers.symbol.textfont,textposition:Sq.layers.symbol.textposition,selected:{marker:Zr.selected.marker},unselected:{marker:Zr.unselected.marker},hoverinfo:Hq({},E.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]})},\"calc\",\"nested\");var Zq=t.BADNUM;var Jq=t.BADNUM,Kq=function(t){var e,n=t[0].trace,i=!0===n.visible,a=\"none\"!==n.fill,o=Tr.hasLines(n),s=Tr.hasMarkers(n),l=Tr.hasText(n),u=s&&\"circle\"===n.marker.symbol,c=s&&\"circle\"!==n.marker.symbol,h=Qq(),f=Qq(),p=Qq(),d=Qq(),g={fill:h,line:f,circle:p,symbol:d};if(!i)return g;if((a||o)&&(e=aV.calcTraceToLineCoords(t)),a&&(h.geojson=aV.makePolygon(e),h.layout.visibility=\"visible\",ne.extendFlat(h.paint,{\"fill-color\":n.fillcolor})),o&&(f.geojson=aV.makeLine(e),f.layout.visibility=\"visible\",ne.extendFlat(f.paint,{\"line-width\":n.line.width,\"line-color\":n.line.color,\"line-opacity\":n.opacity})),u){var v=function(t){var e,n,i,a,o=t[0].trace,s=o.marker,l=o.selectedpoints,u=ne.isArrayOrTypedArray(s.color),c=ne.isArrayOrTypedArray(s.size),h=ne.isArrayOrTypedArray(s.opacity);function f(t){return o.opacity*t}function p(t){return t/2}u&&(n=Je.hasColorscale(o,\"marker\")?Je.makeColorScaleFunc(Je.extractScale(s.colorscale,s.cmin,s.cmax)):ne.identity);c&&(i=kr(o));h&&(a=function(t){var e=r(t)?+ne.constrain(t,0,1):0;return f(e)});var d,g=[];for(e=0;e<t.length;e++){var v=t[e],m=v.lonlat;if(!eH(m)){var y={};n&&(y.mcc=v.mcc=n(v.mc)),i&&(y.mrc=v.mrc=i(v.ms)),a&&(y.mo=a(v.mo)),l&&(y.selected=v.selected||0),g.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:m},properties:y})}}if(l)for(d=Sr.makeSelectedPointStyleFns(o),e=0;e<g.length;e++){var x=g[e].properties,b=d.opacityFn(x);if(void 0!==b?x.mo=f(b):void 0===x.mo&&(x.mo=f(s.opacity)),d.colorFn){var _=d.colorFn(x);_?x.mcc=_:x.mcc||(x.mcc=s.color)}if(d.sizeFn){var w=d.sizeFn(x);void 0!==w?x.mrc=w:void 0===x.mrc&&(x.mrc=p(s.size))}}return{geojson:{type:\"FeatureCollection\",features:g},mcc:u||d&&d.colorFn?{type:\"identity\",property:\"mcc\"}:s.color,mrc:c||d&&d.sizeFn?{type:\"identity\",property:\"mrc\"}:p(s.size),mo:h||l?{type:\"identity\",property:\"mo\"}:f(s.opacity)}}(t);p.geojson=v.geojson,p.layout.visibility=\"visible\",ne.extendFlat(p.paint,{\"circle-color\":v.mcc,\"circle-radius\":v.mrc,\"circle-opacity\":v.mo})}if((c||l)&&(d.geojson=function(t){for(var e=t[0].trace,r=(e.marker||{}).symbol,n=e.text,i=\"circle\"!==r?$q(r):tH,a=Tr.hasText(e)?$q(n):tH,o=[],s=0;s<t.length;s++){var l=t[s];eH(l.lonlat)||o.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:l.lonlat},properties:{symbol:i(l.mx),text:a(l.tx)}})}return{type:\"FeatureCollection\",features:o}}(t),ne.extendFlat(d.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),c&&(ne.extendFlat(d.layout,{\"icon-size\":n.marker.size/10}),ne.extendFlat(d.paint,{\"icon-opacity\":n.opacity*n.marker.opacity,\"icon-color\":n.marker.color})),l)){var m=(n.marker||{}).size,y=Cq(n.textposition,m);ne.extendFlat(d.layout,{\"text-size\":n.textfont.size,\"text-anchor\":y.anchor,\"text-offset\":y.offset}),ne.extendFlat(d.paint,{\"text-color\":n.textfont.color,\"text-opacity\":n.opacity})}return g};function Qq(){return{geojson:aV.makeBlank(),layout:{visibility:\"none\"},paint:{}}}function $q(t){return ne.isArrayOrTypedArray(t)?function(t){return t}:t?function(){return t}:tH}function tH(){return\"\"}function eH(t){return t[0]===Jq}function rH(t,e){this.subplot=t,this.uid=e,this.sourceIds={fill:e+\"-source-fill\",line:e+\"-source-line\",circle:e+\"-source-circle\",symbol:e+\"-source-symbol\"},this.layerIds={fill:e+\"-layer-fill\",line:e+\"-layer-line\",circle:e+\"-layer-circle\",symbol:e+\"-layer-symbol\"},this.order=[\"fill\",\"line\",\"circle\",\"symbol\"]}var nH=rH.prototype;nH.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:\"geojson\",data:e.geojson})},nH.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},nH.addLayer=function(t,e){this.subplot.map.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint})},nH.update=function(t){for(var e=this.subplot,r=Kq(t),n=0;n<this.order.length;n++){var i=this.order[n],a=r[i];e.setOptions(this.layerIds[i],\"setLayoutProperty\",a.layout),\"visible\"===a.layout.visibility&&(this.setSourceData(i,a),e.setOptions(this.layerIds[i],\"setPaintProperty\",a.paint))}t[0].trace._glTrace=this},nH.dispose=function(){for(var t=this.subplot.map,e=0;e<this.order.length;e++){var r=this.order[e];t.removeLayer(this.layerIds[r]),t.removeSource(this.sourceIds[r])}};var iH={};iH.attributes=Xq,iH.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Xq,r,n)}if(function(t,e,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return e._length=a,a}(0,e,i)){if(i(\"text\"),i(\"hovertext\"),i(\"mode\"),Tr.hasLines(e)&&(px(t,e,r,n,i,{noDash:!0}),i(\"connectgaps\")),Tr.hasMarkers(e)){gx(t,e,r,n,i,{noLine:!0});var a=e.marker;a.line={width:0},\"circle\"!==a.symbol&&(ne.isArrayOrTypedArray(a.size)&&(a.size=a.size[0]),ne.isArrayOrTypedArray(a.color)&&(a.color=a.color[0]))}Tr.hasText(e)&&vx(0,0,n,i,{noSelect:!0}),i(\"fill\"),\"none\"!==e.fill&&hx(0,e,r,i),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},iH.colorbar=is,iH.calc=nV,iH.plot=function(t,e){for(var r=new rH(t,e[0].trace.uid),n=Kq(e),i=0;i<r.order.length;i++){var a=r.order[i],o=n[a];r.addSource(a,o),r.addLayer(a,o)}return e[0].trace._glTrace=r,r},iH.hoverPoints=function(t,e,r){var n=t.cd,i=n[0].trace,a=t.xa,o=t.ya,s=t.subplot,l=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),u=e-l;if(yo.getClosest(n,function(t){var e=t.lonlat;if(e[0]===Zq)return 1/0;var n=ne.wrap180(e[0]),i=e[1],l=s.project([n,i]),c=l.x-a.c2p([u,i]),h=l.y-o.c2p([n,r]),f=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(c*c+h*h)-f,1-3/f)},t),!1!==t.index){var c=n[t.index],h=c.lonlat,f=[ne.wrap180(h[0])+l,h[1]],p=a.c2p(f),d=o.c2p(f),g=c.mrc||1;return t.x0=p-g,t.x1=p+g,t.y0=d-g,t.y1=d+g,t.color=mx(i,c),t.extraText=function(t,e,r){var n=(e.hi||t.hoverinfo).split(\"+\"),i=-1!==n.indexOf(\"all\"),a=-1!==n.indexOf(\"lon\"),o=-1!==n.indexOf(\"lat\"),s=e.lonlat,l=[];function u(t){return t+\"\\xb0\"}return i||a&&o?l.push(\"(\"+u(s[0])+\", \"+u(s[1])+\")\"):a?l.push(r.lon+u(s[0])):o&&l.push(r.lat+u(s[1])),(i||-1!==n.indexOf(\"text\"))&&xo(e,t,l),l.join(\"<br>\")}(i,c,n[0].t.labels),[t]}},iH.eventData=function(t,e){return t.lon=e.lon,t.lat=e.lat,t},iH.selectPoints=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace;if(!Tr.hasMarkers(s))return[];if(!1===e)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var l=n[r],u=l.lonlat,c=[ne.wrap180(u[0]),u[1]],h=[i.c2p(c),a.c2p(c)];e.contains(h)?(o.push({pointNumber:r,lon:u[0],lat:u[1]}),l.selected=1):l.selected=0}return o},iH.style=function(t,e){e&&e[0].trace._glTrace.update(e)},iH.moduleType=\"trace\",iH.name=\"scattermapbox\",iH.basePlotModule=Vq,iH.categories=[\"mapbox\",\"gl\",\"symbols\",\"markerColorscale\",\"showLegend\",\"scatterlike\"],iH.meta={};var aH=iH,oH={attr:\"subplot\",name:\"polar\",axisNames:[\"angularaxis\",\"radialaxis\"],axisName2dataArray:{angularaxis:\"theta\",radialaxis:\"r\"},layerNames:[\"draglayer\",\"plotbg\",\"backplot\",\"angular-grid\",\"radial-grid\",\"frontplot\",\"angular-axis\",\"radial-axis\",\"angular-line\",\"radial-line\"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20},sH=qc.attributes,lH=ne.extendFlat,uH=ye.overrideAll,cH=uH({color:Ce.color,showline:lH({},Ce.showline,{dflt:!0}),linecolor:Ce.linecolor,linewidth:Ce.linewidth,showgrid:lH({},Ce.showgrid,{dflt:!0}),gridcolor:Ce.gridcolor,gridwidth:Ce.gridwidth},\"plot\",\"from-root\"),hH=uH({tickmode:Ce.tickmode,nticks:Ce.nticks,tick0:Ce.tick0,dtick:Ce.dtick,tickvals:Ce.tickvals,ticktext:Ce.ticktext,ticks:Ce.ticks,ticklen:Ce.ticklen,tickwidth:Ce.tickwidth,tickcolor:Ce.tickcolor,showticklabels:Ce.showticklabels,showtickprefix:Ce.showtickprefix,tickprefix:Ce.tickprefix,showticksuffix:Ce.showticksuffix,ticksuffix:Ce.ticksuffix,showexponent:Ce.showexponent,exponentformat:Ce.exponentformat,separatethousands:Ce.separatethousands,tickfont:Ce.tickfont,tickangle:Ce.tickangle,tickformat:Ce.tickformat,tickformatstops:Ce.tickformatstops,layer:Ce.layer},\"plot\",\"from-root\"),fH={visible:lH({},Ce.visible,{dflt:!0}),type:Ce.type,autorange:Ce.autorange,rangemode:{valType:\"enumerated\",values:[\"tozero\",\"nonnegative\",\"normal\"],dflt:\"tozero\",editType:\"calc\"},range:Ce.range,categoryorder:Ce.categoryorder,categoryarray:Ce.categoryarray,angle:{valType:\"angle\",editType:\"plot\"},side:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"clockwise\",editType:\"plot\"},title:lH({},Ce.title,{editType:\"plot\",dflt:\"\"}),titlefont:uH(Ce.titlefont,\"plot\",\"from-root\"),hoverformat:Ce.hoverformat,editType:\"calc\"};lH(fH,cH,hH);var pH={visible:lH({},Ce.visible,{dflt:!0}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"category\"],dflt:\"-\",editType:\"calc\"},categoryorder:Ce.categoryorder,categoryarray:Ce.categoryarray,thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\"],dflt:\"degrees\",editType:\"calc\"},period:{valType:\"number\",editType:\"calc\",min:0},direction:{valType:\"enumerated\",values:[\"counterclockwise\",\"clockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"angle\",editType:\"calc\"},hoverformat:Ce.hoverformat,editType:\"calc\"};lH(pH,cH,hH);var dH={domain:sH({name:\"polar\",editType:\"plot\"}),sector:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],dflt:[0,360],editType:\"plot\"},bgcolor:{valType:\"color\",editType:\"plot\",dflt:C.background},radialaxis:fH,angularaxis:pH,editType:\"calc\"},gH={};gH.setConvertAngular=function(t){var e,r,n={clockwise:-1,counterclockwise:1}[t.direction],i=ne.deg2rad(t.rotation);function a(){return t.period?Math.max(t.period,t._categories.length):t._categories.length}function o(t){return(t-i)/n}\"linear\"===t.type?(e=function(t,e){return\"degrees\"===e?ne.deg2rad(t):t},r=function(t,e){return\"degrees\"===e?ne.rad2deg(t):t}):\"category\"===t.type&&(e=function(t){var e=a();return 2*t*Math.PI/e},r=function(t){return t*a()/Math.PI/2}),t.unTransformRad=o,t._c2rad=e,t.c2rad=function(t,r){return function(t){return n*t+i}(e(t,r))},t.rad2c=function(t,e){return r(o(t),e)},t.c2deg=function(e,r){return ne.rad2deg(t.c2rad(e,r))},t.deg2c=function(e,r){return t.rad2c(ne.deg2rad(e),r)}};var vH=sa.getSubplotData,mH=gH.setConvertAngular,yH=oH.axisNames;function xH(t,e,r,n){var i=r(\"bgcolor\");n.bgColor=Oe.combine(i,n.paper_bgcolor);var a,o=r(\"sector\"),s=vH(n.fullData,oH.name,n.id),l=n.layoutOut;function u(t,e){return r(a+\".\"+t,e)}for(var c=0;c<yH.length;c++){a=yH[c],ne.isPlainObject(t[a])||(t[a]={});var h=t[a],f=e[a]={};f._id=f._name=a;var p=oH.axisName2dataArray[a],d=bH(h,f,u,s,p);Wi(h,f,u),f._initialCategories=\"category\"===d?Ki(p,f.categoryorder,f.categoryarray,s):[];var g,v,m=u(\"visible\");switch(ei(f,l),m&&(v=(g=u(\"color\"))===h.color?g:n.font.color),f._m=1,a){case\"radialaxis\":var y=u(\"autorange\",!f.isValidRange(h.range));h.autorange=y,y&&u(\"rangemode\"),\"reversed\"===y&&(f._m=-1),u(\"range\"),f.cleanRange(\"range\",{dfltRange:[0,1]}),m&&(u(\"side\"),u(\"angle\",o[0]),u(\"title\"),ne.coerceFont(u,\"titlefont\",{family:n.font.family,size:Math.round(1.2*n.font.size),color:v}));break;case\"angularaxis\":if(\"date\"===d){ne.log(\"Polar plots do not support date angular axes yet.\");for(var x=0;x<s.length;x++)s[x].visible=!1;d=h.type=f.type=\"linear\"}u(\"linear\"===d?\"thetaunit\":\"period\"),u(\"rotation\",{counterclockwise:0,clockwise:90}[u(\"direction\")]),mH(f)}if(m)Ge(h,f,u,f.type),Ue(h,f,u,f.type,{tickSuffixDflt:\"degrees\"===f.thetaunit?\"\\xb0\":void 0}),qe(h,f,u,{outerTicks:!0}),u(\"showticklabels\")&&(ne.coerceFont(u,\"tickfont\",{family:n.font.family,size:n.font.size,color:v}),u(\"tickangle\"),u(\"tickformat\")),Zi(h,f,u,{dfltColor:g,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:dH[a]}),u(\"layer\");\"category\"!==d&&u(\"hoverformat\"),f._input=h}}function bH(t,e,r,n,i){if(\"-\"===r(\"type\")){for(var a,o=0;o<n.length;o++)if(n[o].visible){a=n[o];break}a&&(e.type=Yn(a[i],\"gregorian\")),\"-\"===e.type?e.type=\"linear\":t.type=e.type}return e.type}var _H=Nn,wH=Qe.MID_SHIFT,MH=ne._,AH=ne.deg2rad,kH=ne.rad2deg,TH=ne.wrap360,SH=ne.wrap180,EH=gH.setConvertAngular;function CH(t,e){this.id=e,this.gd=t,this._hasClipOnAxisFalse=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var r=t._fullLayout,n=\"clip\"+r._uid+e;this.clipIds.circle=n+\"-circle\",this.clipPaths.circle=r._clips.append(\"clipPath\").attr(\"id\",this.clipIds.circle),this.clipPaths.circle.append(\"path\"),this.framework=r._polarlayer.append(\"g\").attr(\"class\",e),this.radialTickLayout=null,this.angularTickLayout=null}var LH=CH.prototype,zH=function(t,e){return new CH(t,e)};function PH(t,e,r){ri.setConvert(t,r),t._min=e._min,t._max=e._max,t.setScale()}function IH(t){var e=t.ticks+String(t.ticklen)+String(t.showticklabels);return\"side\"in t&&(e+=t.side),e}function DH(t,e){if(RH(e))return Sr.symbolFuncs[0](t);var r=t*Math.cos(AH(e[0])),n=-t*Math.sin(AH(e[0])),i=t*Math.cos(AH(e[1])),a=-t*Math.sin(AH(e[1]));return\"M\"+[r,n]+\"A\"+[t,t]+\" \"+(Math.abs(e[1]-e[0])<=180?[0,0,0]:[0,1,0])+\" \"+[i,a]}function OH(t,e){return DH(t,e)+(RH(e)?\"\":\"L0,0Z\")}function RH(t){return 360===Math.abs(t[1]-t[0])}function FH(t,e,r){return e?(t.attr(\"display\",null),t.attr(r)):t&&t.attr(\"display\",\"none\"),t}function BH(t,e){return\"translate(\"+t+\",\"+e+\")\"}function NH(t){return\"rotate(\"+t+\")\"}function jH(t){return Math.abs(t)<1e-10?0:t>0?1:-1}function VH(t){return jH(Math.cos(t))}function UH(t){return jH(Math.sin(t))}LH.plot=function(t,e){var r=e[this.id];this._hasClipOnAxisFalse=!1;for(var n=0;n<t.length;n++){if(!1===t[n][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(e,r),this.updateLayout(e,r),_n.generalUpdatePerTraceModule(this.gd,this,t,r),this.updateFx(e,r)},LH.updateLayers=function(t,r){var n=this.layers,i=r.radialaxis,a=r.angularaxis,o=oH.layerNames,s=o.indexOf(\"frontplot\"),l=o.slice(0,s),u=\"below traces\"===a.layer,c=\"below traces\"===i.layer;u&&l.push(\"angular-axis\"),c&&l.push(\"radial-axis\"),u&&l.push(\"angular-line\"),c&&l.push(\"radial-line\"),l.push(\"frontplot\"),u||l.push(\"angular-axis\"),c||l.push(\"radial-axis\"),u||l.push(\"angular-line\"),c||l.push(\"radial-line\");var h=this.framework.selectAll(\".polarsublayer\").data(l,String);h.enter().append(\"g\").attr(\"class\",function(t){return\"polarsublayer \"+t}).each(function(t){var r=n[t]=e.select(this);switch(t){case\"frontplot\":r.append(\"g\").classed(\"scatterlayer\",!0);break;case\"backplot\":r.append(\"g\").classed(\"maplayer\",!0);break;case\"plotbg\":n.bgcircle=r.append(\"path\");break;case\"radial-grid\":r.style(\"fill\",\"none\"),r.append(\"g\").classed(\"x\",1);break;case\"angular-grid\":r.style(\"fill\",\"none\"),r.append(\"g\").classed(\"angular\",1);break;case\"radial-line\":r.append(\"line\").style(\"fill\",\"none\");break;case\"angular-line\":r.append(\"path\").style(\"fill\",\"none\")}}),h.order()},LH.updateLayout=function(t,e){var r=this,n=r.layers,i=t._size,a=e.domain.x,o=e.domain.y;r.xOffset=i.l+i.w*a[0],r.yOffset=i.t+i.h*(1-o[1]);var s,l,u,c,h,f=r.xLength=i.w*(a[1]-a[0]),p=r.yLength=i.h*(o[1]-o[0]),d=r.sector=e.sector,g=r.sectorBBox=function(t){var e,r,n,i,a=t[0],o=t[1]-a,s=TH(a),l=s+o,u=Math.cos(AH(s)),c=Math.sin(AH(s)),h=Math.cos(AH(l)),f=Math.sin(AH(l));i=s<=90&&l>=90||s>90&&l>=450?1:c<=0&&f<=0?0:Math.max(c,f);e=s<=180&&l>=180||s>180&&l>=540?-1:u>=0&&h>=0?0:Math.min(u,h);r=s<=270&&l>=270||s>270&&l>=630?-1:c>=0&&f>=0?0:Math.min(c,f);n=l>=360?1:u<=0&&h<=0?0:Math.max(u,h);return[e,r,n,i]}(d),v=g[2]-g[0],m=g[3]-g[1],y=p/f,x=Math.abs(m/v);y>x?(s=f,h=(p-(l=f*x))/i.h/2,u=[a[0],a[1]],c=[o[0]+h,o[1]-h]):(l=p,h=(f-(s=p/x))/i.w/2,u=[a[0]+h,a[1]-h],c=[o[0],o[1]]),r.xLength2=s,r.yLength2=l,r.xDomain2=u,r.yDomain2=c;var b=r.xOffset2=i.l+i.w*u[0],_=r.yOffset2=i.t+i.h*(1-c[1]),w=r.radius=s/v,M=r.cx=b-w*g[0],A=r.cy=_+w*g[3],k=r.cxx=M-b,T=r.cyy=A-_;r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.updateAngularAxis(t,e);var S=r.radialAxis.range,E=S[1]-S[0],C=r.xaxis={type:\"linear\",_id:\"x\",range:[g[0]*E,g[2]*E],domain:u};ri.setConvert(C,t),C.setScale();var L=r.yaxis={type:\"linear\",_id:\"y\",range:[g[1]*E,g[3]*E],domain:c};ri.setConvert(L,t),L.setScale(),C.isPtWithinRange=function(t){return r.isPtWithinSector(t)},L.isPtWithinRange=function(){return!0},n.frontplot.attr(\"transform\",BH(b,_)).call(Sr.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.circle),n.bgcircle.attr({d:OH(w,d),transform:BH(M,A)}).call(Oe.fill,e.bgcolor),r.clipPaths.circle.select(\"path\").attr(\"d\",OH(w,d)).attr(\"transform\",BH(k,T)),r.framework.selectAll(\".crisp\").classed(\"crisp\",0)},LH.updateRadialAxis=function(t,e){var r=this.gd,n=this.layers,i=this.radius,a=this.cx,o=this.cy,s=t._size,l=e.radialaxis,u=e.sector,c=TH(u[0]);this.fillViewInitialKey(\"radialaxis.angle\",l.angle);var h=this.radialAxis=ne.extendFlat({},l,{_axislayer:n[\"radial-axis\"],_gridlayer:n[\"radial-grid\"],_id:\"x\",_pos:0,side:{counterclockwise:\"top\",clockwise:\"bottom\"}[l.side],domain:[0,i/s.w],anchor:\"free\",position:0,_counteraxis:!0,automargin:!1});PH(h,l,t),_H(h),l.range=h.range.slice(),l._input.range=h.range.slice(),this.fillViewInitialKey(\"radialaxis.range\",h.range.slice()),\"auto\"===h.tickangle&&c>90&&c<=270&&(h.tickangle=180),h._transfn=function(t){return\"translate(\"+h.l2p(t.x)+\",0)\"},h._gridpath=function(t){return DH(h.r2p(t.x),u)};var f=IH(l);this.radialTickLayout!==f&&(n[\"radial-axis\"].selectAll(\".xtick\").remove(),this.radialTickLayout=f),ri.doTicks(r,h,!0),FH(n[\"radial-axis\"],l.showticklabels||l.ticks,{transform:BH(a,o)+NH(-l.angle)}),FH(n[\"radial-grid\"],l.showgrid,{transform:BH(a,o)}).selectAll(\"path\").attr(\"transform\",null),FH(n[\"radial-line\"].select(\"line\"),l.showline,{x1:0,y1:0,x2:i,y2:0,transform:BH(a,o)+NH(-l.angle)}).attr(\"stroke-width\",l.linewidth).call(Oe.stroke,l.linecolor)},LH.updateRadialAxisTitle=function(t,e,r){var n=this.gd,i=this.radius,a=this.cx,o=this.cy,s=e.radialaxis,l=this.id+\"title\",u=void 0!==r?r:s.angle,c=AH(u),h=Math.cos(c),f=Math.sin(c),p=0;if(s.title){var d=Sr.bBox(this.layers[\"radial-axis\"].node()).height,g=s.titlefont.size;p=\"counterclockwise\"===s.side?-d-.4*g:d+.8*g}this.layers[\"radial-axis-title\"]=Dn.draw(n,l,{propContainer:s,propName:this.id+\".radialaxis.title\",placeholder:MH(n,\"Click to enter radial axis title\"),attributes:{x:a+i/2*h+p*f,y:o-i/2*f+p*h,\"text-anchor\":\"middle\"},transform:{rotate:-u}})},LH.updateAngularAxis=function(t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.cx,l=n.cy,u=r.angularaxis,c=r.sector,h=c.map(AH);n.fillViewInitialKey(\"angularaxis.rotation\",u.rotation);var f=n.angularAxis=ne.extendFlat({},u,{_axislayer:a[\"angular-axis\"],_gridlayer:a[\"angular-grid\"],_id:\"angular\",_pos:0,side:\"right\",domain:[0,Math.PI],anchor:\"free\",position:0,_counteraxis:!0,automargin:!1,autorange:!1});if(\"linear\"===f.type)RH(c)?f.range=c.slice():f.range=h.map(f.unTransformRad).map(kH),\"radians\"===f.thetaunit&&(f.tick0=kH(f.tick0),f.dtick=kH(f.dtick));else if(\"category\"===f.type){var p=u.period?Math.max(u.period,u._categories.length):u._categories.length;f.range=[0,p],f._tickFilter=function(t){return n.isPtWithinSector({r:n.radialAxis.range[1],rad:f.c2rad(t.x)})}}function d(t){return f.c2rad(t.x,\"degrees\")}function g(t){return[o*Math.cos(t),o*Math.sin(t)]}PH(f,u,t),f._transfn=function(t){var r=d(t),n=g(r),i=BH(s+n[0],l-n[1]),a=e.select(this);return a&&a.node()&&a.classed(\"ticks\")&&(i+=NH(-kH(r))),i},f._gridpath=function(t){var e=g(d(t));return\"M0,0L\"+-e[0]+\",\"+e[1]};var v=\"outside\"!==u.ticks?.7:.5;f._labelx=function(t){var e=d(t),r=f._labelStandoff,n=f._pad;return(0===UH(e)?0:Math.cos(e)*(r+n+v*t.fontSize))+VH(e)*(t.dx+r+n)},f._labely=function(t){var e=d(t),r=f._labelStandoff,n=f._labelShift,i=f._pad;return t.dy+t.fontSize*wH-n+-Math.sin(e)*(r+i+v*t.fontSize)},f._labelanchor=function(t,e){var r=d(e);return 0===UH(r)?VH(r)>0?\"start\":\"end\":\"middle\"};var m=IH(u);n.angularTickLayout!==m&&(a[\"angular-axis\"].selectAll(\".angulartick\").remove(),n.angularTickLayout=m),ri.doTicks(i,f,!0),FH(a[\"angular-line\"].select(\"path\"),u.showline,{d:OH(o,c),transform:BH(s,l)}).attr(\"stroke-width\",u.linewidth).call(Oe.stroke,u.linecolor)},LH.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t,e),this.updateRadialDrag(t,e),this.updateMainDrag(t,e))},LH.updateMainDrag=function(t,r){var n=this,i=n.gd,a=n.layers,o=t._zoomlayer,l=oH.MINZOOM,u=oH.OFFEDGE,c=n.radius,h=n.cx,f=n.cy,p=n.cxx,d=n.cyy,g=r.sector,v=Bm.makeDragger(a,\"path\",\"maindrag\",\"crosshair\");e.select(v).attr(\"d\",OH(c,g)).attr(\"transform\",BH(h,f));var m,y,x,b,_,w,M,A,k,T={element:v,gd:i,subplot:n.id,plotinfo:{xaxis:n.xaxis,yaxis:n.yaxis},xaxes:[n.xaxis],yaxes:[n.yaxis]};function S(t,e){var r=t-p,n=e-d;return Math.sqrt(r*r+n*n)}function E(t,e){return Math.atan2(d-e,t-p)}function C(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function L(t,e){var r=oH.cornerLen,n=oH.cornerHalfWidth;if(0===t)return OH(2*n,g);var i=r/t/2,a=e-i,o=e+i,s=Math.max(0,Math.min(t,c)),l=s-n,u=s+n;return\"M\"+C(l,a)+\"A\"+[l,l]+\" 0,0,0 \"+C(l,o)+\"L\"+C(u,o)+\"A\"+[u,u]+\" 0,0,1 \"+C(u,a)+\"Z\"}function z(t,e){var r,n,i=m+t,a=y+e,o=S(m,y),s=Math.min(S(i,a),c),h=E(m,y),f=E(i,a);o<u?o=0:c-o<u?o=c:s<u?s=0:c-s<u&&(s=c),Math.abs(s-o)>l?(o<s?(x=o,b=s):(x=s,b=o,f=[h,h=f][0]),r=_+OH(b,g)+OH(x,g),n=L(x,h)+L(b,f)):(x=null,b=null,r=_,n=\"M0,0Z\"),A.attr(\"d\",r),k.attr(\"d\",n),Bm.transitionZoombox(A,k,w,M),w=!0}function I(){if(Bm.removeZoombox(i),null!==x&&null!==b){Bm.showDoubleClickNotifier(i);var t=n.radialAxis.range,e=t[1]-t[0],r={};r[n.id+\".radialaxis.range\"]=[t[0]+x*e/c,t[0]+b*e/c],P.call(\"relayout\",i,r)}}T.prepFn=function(t,e,r){var a=i._fullLayout.dragmode,l=v.getBoundingClientRect();switch(m=e-l.left,y=r-l.top,a){case\"zoom\":T.moveFn=z,T.doneFn=I,function(){x=null,b=null,_=OH(c,g),w=!1;var t=i._fullLayout[n.id];M=s(t.bgcolor).getLuminance(),(A=Bm.makeZoombox(o,M,h,f,_)).attr(\"fill-rule\",\"evenodd\"),k=Bm.makeCorners(o,h,f),Bm.clearSelect(o)}();break;case\"select\":case\"lasso\":_c(t,e,r,T,a)}},T.clickFn=function(t,e){if(Bm.removeZoombox(i),2===t){var r={};for(var a in n.viewInitial)r[n.id+\".\"+a]=n.viewInitial[a];i.emit(\"plotly_doubleclick\",null),P.call(\"relayout\",i,r)}yo.click(i,e,n.id)},v.onmousemove=function(t){yo.hover(i,t,n.id),i._fullLayout._lasthover=v,i._fullLayout._hoversubplot=n.id},v.onmouseout=function(t){i._dragging||Ua.unhover(i,t)},Ua.init(T)},LH.updateRadialDrag=function(t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.cx,l=n.cy,u=n.radialAxis,c=r.radialaxis,h=AH(c.angle),f=u.range.slice(),p=f[1]-f[0],d=oH.radialDragBoxSize,g=d/2;if(c.visible){var v,m,y,x=Bm.makeRectDragger(a,\"radialdrag\",\"crosshair\",-g,-g,d,d),b={element:x,gd:i},_=s+(o+g)*Math.cos(h),w=l-(o+g)*Math.sin(h);e.select(x).attr(\"transform\",BH(_,w)),b.prepFn=function(){v=null,m=null,y=null,b.moveFn=M,b.doneFn=A,Bm.clearSelect(t._zoomlayer)},b.clampFn=function(t,e){return Math.sqrt(t*t+e*e)<oH.MINDRAG&&(t=0,e=0),[t,e]},Ua.init(b)}function M(t,e){if(v)v(t,e);else{var r=[t,-e],n=[Math.cos(h),Math.sin(h)],i=Math.abs(ne.dot(r,n)/Math.sqrt(ne.dot(r,r)));isNaN(i)||(v=i<.5?k:T)}}function A(){null!==m?P.call(\"relayout\",i,n.id+\".radialaxis.angle\",m):null!==y&&P.call(\"relayout\",i,n.id+\".radialaxis.range[1]\",y)}function k(t,e){var r=_+t,i=w+e;m=kH(Math.atan2(l-i,r-s));var o=BH(s,l)+NH(-m);a[\"radial-axis\"].attr(\"transform\",o),a[\"radial-line\"].select(\"line\").attr(\"transform\",o);var u=n.gd._fullLayout,c=u[n.id];n.updateRadialAxisTitle(u,c,m)}function T(t,e){var r=ne.dot([t,-e],[Math.cos(h),Math.sin(h)]),c=f[1]-p*r/o*.75;if(p>0==c>f[0]){y=u.range[1]=c,ri.doTicks(i,n.radialAxis,!0),a[\"radial-grid\"].attr(\"transform\",BH(s,l)).selectAll(\"path\").attr(\"transform\",null);var d=y-f[0],g=n.sectorBBox;for(var v in n.xaxis.range=[g[0]*d,g[2]*d],n.yaxis.range=[g[1]*d,g[3]*d],n.xaxis.setScale(),n.yaxis.setScale(),n.traceHash){var m=n.traceHash[v],x=ne.filterVisible(m),b=m[0][0].trace._module,_=i._fullLayout[n.id];if(b.plot(i,n,x,_),!P.traceIs(v,\"gl\"))for(var w=0;w<x.length;w++)b.style(i,x[w])}}}},LH.updateAngularDrag=function(t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.cx,l=n.cy,u=n.cxx,c=n.cyy,h=r.sector,f=oH.angularDragBoxSize,p=Bm.makeDragger(a,\"path\",\"angulardrag\",\"move\"),d={element:p,gd:i};function g(t,e){return Math.atan2(c+f-e,t-u-f)}e.select(p).attr(\"d\",function(t,e,r){var n,i,a,o=Math.abs(r[1]-r[0])<=180?0:1;function s(t,e){return[t*Math.cos(e),-t*Math.sin(e)]}function l(t,e,r){return\"A\"+[t,t]+\" \"+[0,o,r]+\" \"+s(t,e)}return RH(r)?(n=0,a=2*Math.PI,i=Math.PI,\"M\"+s(t,n)+l(t,i,0)+l(t,a,0)+\"ZM\"+s(e,n)+l(e,i,1)+l(e,a,1)+\"Z\"):(n=AH(r[0]),a=AH(r[1]),\"M\"+s(t,n)+\"L\"+s(e,n)+l(e,a,0)+\"L\"+s(t,a)+l(t,n,1)+\"Z\")}(o,o+f,h)).attr(\"transform\",BH(s,l)).call(Ka,\"move\");var v,m,y,x,b,_,w=a.frontplot.select(\".scatterlayer\").selectAll(\".trace\"),M=w.selectAll(\".point\"),A=w.selectAll(\".textpoint\");function k(t,r){var o=g(v+t,m+r),s=kH(o-_);x=y+s,a.frontplot.attr(\"transform\",BH(n.xOffset2,n.yOffset2)+NH([-s,u,c])),n.clipPaths.circle.select(\"path\").attr(\"transform\",BH(u,c)+NH(s)),M.each(function(){var t=e.select(this),r=Sr.getTranslate(t);t.attr(\"transform\",BH(r.x,r.y)+NH([s]))}),A.each(function(){var t=e.select(this),r=t.select(\"text\"),n=Sr.getTranslate(t);t.attr(\"transform\",NH([s,r.attr(\"x\"),r.attr(\"y\")])+BH(n.x,n.y))});var l=n.angularAxis;for(var f in l.rotation=SH(x),\"linear\"!==l.type||RH(h)||(l.range=b.map(AH).map(l.unTransformRad).map(kH)),EH(l),ri.doTicks(i,l,!0),n._hasClipOnAxisFalse&&!RH(h)&&(n.sector=[b[0]-s,b[1]-s],w.call(Sr.hideOutsideRangePoints,n)),n.traceHash)if(P.traceIs(f,\"gl\")){var p=n.traceHash[f],d=ne.filterVisible(p),k=p[0][0].trace._module,T=i._fullLayout[n.id];k.plot(i,n,d,T)}}function T(){A.select(\"text\").attr(\"transform\",null);var t={};t[n.id+\".angularaxis.rotation\"]=x,P.call(\"relayout\",i,t)}d.prepFn=function(e,r,i){var a=t[n.id];b=a.sector.slice(),y=a.angularaxis.rotation;var o=p.getBoundingClientRect();v=r-o.left,m=i-o.top,_=g(v,m),d.moveFn=k,d.doneFn=T,Bm.clearSelect(t._zoomlayer)},Ua.init(d)},LH.isPtWithinSector=function(t){var e=this.sector,r=this.radialAxis,n=r.range,i=r.c2r(t.r),a=TH(e[0]),o=TH(e[1]);a>o&&(o+=360);var s,l,u=TH(kH(t.rad)),c=u+360;return n[1]>=n[0]?(s=n[0],l=n[1]):(s=n[1],l=n[0]),i>=s&&i<=l&&(RH(e)||u>=a&&u<=o||c>=a&&c<=o)},LH.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)};var qH=sa.getSubplotCalcData,HH=ne.counterRegex,GH=oH.attr,WH=oH.name,YH=HH(WH),XH={};XH[GH]={valType:\"subplotid\",dflt:WH,editType:\"calc\"};var ZH={attr:GH,name:WH,idRoot:WH,idRegex:YH,attrRegex:YH,attributes:XH,layoutAttributes:dH,supplyLayoutDefaults:function(t,e,r){Jc(t,e,0,{type:oH.name,attributes:dH,handleDefaults:xH,font:e.font,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})},plot:function(t){for(var e=t._fullLayout,r=t.calcdata,n=e._subplots[WH],i=0;i<n.length;i++){var a=n[i],o=qH(r,WH,a),s=e[a]._subplot;s||(s=zH(t,a),e[a]._subplot=s),s.plot(o,e,t._promises)}},clean:function(t,e,r,n){for(var i=n._subplots[WH]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;if(!e[o]&&s)for(var l in s.framework.remove(),s.layers[\"radial-axis-title\"].remove(),s.clipPaths)s.clipPaths[l].remove()}},toSVG:ua.toSVG},JH=m.extendFlat,KH=Zr.line,QH={mode:Zr.mode,r:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},theta:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\",\"gradians\"],dflt:\"degrees\",editType:\"calc+clearAxisTypes\"},text:Zr.text,hovertext:Zr.hovertext,line:{color:KH.color,width:KH.width,dash:KH.dash,shape:JH({},KH.shape,{values:[\"linear\",\"spline\"]}),smoothing:KH.smoothing,editType:\"calc\"},connectgaps:Zr.connectgaps,marker:Zr.marker,cliponaxis:JH({},Zr.cliponaxis,{dflt:!1}),textposition:Zr.textposition,textfont:Zr.textfont,fill:JH({},Zr.fill,{values:[\"none\",\"toself\",\"tonext\"]}),fillcolor:Zr.fillcolor,hoverinfo:JH({},E.hoverinfo,{flags:[\"r\",\"theta\",\"text\",\"name\"]}),hoveron:Zr.hoveron,selected:Zr.selected,unselected:Zr.unselected},$H=t.BADNUM,tG=sx,eG=Wr.PTS_LINESONLY;function rG(t,e,r){var n=r.radialAxis,i=r.angularAxis,a=(t.hi||e.hoverinfo).split(\"+\"),o=[];n._hovertitle=\"r\",i._hovertitle=\"\\u03b8\";var s,l=i._c2rad(t.theta,e.thetaunit);function u(t,e){o.push(t._hovertitle+\": \"+ri.tickText(t,e,\"hover\").text)}return s=\"linear\"===i.type&&e.thetaunit!==i.thetaunit?\"degrees\"===i.thetaunit?ne.rad2deg(l):l:t.theta,-1!==a.indexOf(\"all\")&&(a=[\"r\",\"theta\"]),-1!==a.indexOf(\"r\")&&u(n,n.c2r(t.r)),-1!==a.indexOf(\"theta\")&&u(i,s),o.join(\"<br>\")}var nG={hoverPoints:function(t,e,r,n){var i=yx(t,e,r,n);if(i&&!1!==i[0].index){var a=i[0];if(void 0===a.index)return i;var o=t.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtWithinSector(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,a.extraText=rG(s,l,o),i}},makeHoverPointText:rG},iG=t.BADNUM,aG={moduleType:\"trace\",name:\"scatterpolar\",basePlotModule:ZH,categories:[\"polar\",\"symbols\",\"markerColorscale\",\"showLegend\",\"scatter-like\"],attributes:QH,supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,QH,r,n)}var a=i(\"r\"),o=i(\"theta\"),s=a&&o?Math.min(a.length,o.length):0;if(s){e._length=s,i(\"thetaunit\"),i(\"mode\",s<eG?\"lines+markers\":\"lines\"),i(\"text\"),i(\"hovertext\"),Tr.hasLines(e)&&(px(t,e,r,n,i),dx(0,0,i),i(\"connectgaps\")),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{gradient:!0}),Tr.hasText(e)&&vx(0,0,n,i);var l=[];(Tr.hasMarkers(e)||Tr.hasText(e))&&(i(\"cliponaxis\"),i(\"marker.maxdisplayed\"),l.push(\"points\")),i(\"fill\"),\"none\"!==e.fill&&(hx(0,e,r,i),Tr.hasLines(e)||dx(0,0,i)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||l.push(\"fills\"),i(\"hoveron\",l.join(\"+\")||\"points\"),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},calc:function(t,e){var n,i=t._fullLayout,a=e.subplot,o=i[a].radialaxis,s=i[a].angularaxis,l=o.makeCalcdata(e,\"r\"),u=s.makeCalcdata(e,\"theta\"),c=e._length,h=new Array(c);for(var f=0;f<c;f++){var p=l[f],d=u[f],g=h[f]={};r(p)&&r(d)?(g.r=p,g.theta=d,g.rad=(n=d,s.c2rad(n,e.thetaunit))):g.r=$H}var v=tG(e,c);return ri.expand(o,l,{ppad:v}),ex(e),dh(h,e),Ma(h,e),h},plot:function(t,e,r){var n,i,a,o={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.circle:null},s=e.radialAxis,l=s.range;for(a=l[0]>l[1]?function(t){return t<=0}:function(t){return t>=0},n=0;n<r.length;n++)for(i=0;i<r[n].length;i++){var u=r[n][i],c=u.r;if(c!==iG){var h=s.c2r(c)-l[0];if(a(h)){var f=u.rad;u.x=h*Math.cos(f),u.y=h*Math.sin(f);continue}u.intoCenter=[e.cxx,e.cyy]}u.x=iG,u.y=iG}kx(t,o,r)},style:Cx.style,hoverPoints:nG.hoverPoints,selectPoints:Sx,meta:{}},oG={mode:QH.mode,r:QH.r,theta:QH.theta,thetaunit:QH.thetaunit,text:QH.text,line:cq.line,connectgaps:cq.connectgaps,marker:cq.marker,fill:cq.fill,fillcolor:cq.fillcolor,hoverinfo:QH.hoverinfo,hoveron:QH.hoveron,selected:QH.selected,unselected:QH.unselected},sG=Wr.PTS_LINESONLY,lG=nG.makeHoverPointText;var uG={moduleType:\"trace\",name:\"scatterpolargl\",basePlotModule:ZH,categories:[\"gl\",\"regl\",\"polar\",\"symbols\",\"markerColorscale\",\"showLegend\",\"scatter-like\"],attributes:oG,supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,oG,r,n)}var a=i(\"r\"),o=i(\"theta\"),s=a&&o?Math.min(a.length,o.length):0;if(s){e._length=s,i(\"thetaunit\"),i(\"mode\",s<sG?\"lines+markers\":\"lines\"),i(\"text\"),Tr.hasLines(e)&&(px(t,e,r,n,i),i(\"connectgaps\"));var l=[];Tr.hasMarkers(e)&&(gx(t,e,r,n,i),l.push(\"points\")),i(\"fill\"),\"none\"!==e.fill&&hx(0,e,r,i),\"tonext\"!==e.fill&&\"toself\"!==e.fill||l.push(\"fills\"),i(\"hoveron\",l.join(\"+\")||\"points\"),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},calc:function(t,e){var r=t._fullLayout,n=e.subplot,i=r[n].radialaxis,a=r[n].angularaxis,o=i.makeCalcdata(e,\"r\"),s=a.makeCalcdata(e,\"theta\"),l={};return e._length<o.length&&(o=o.slice(0,e._length)),e._length<s.length&&(s=s.slice(0,e._length)),ex(e),l.r=o,l.theta=s,ri.expand(i,o,{tozero:!0}),\"linear\"!==a.type&&(a.autorange=!0,ri.expand(a,s),delete a.autorange),[{x:!1,y:!1,t:l,trace:e}]},plot:function(t,e,n){var i=e.radialAxis,a=e.angularAxis,o=i.range,s=yq.sceneUpdate(t,e);return s.clear(),n.forEach(function(l,u){if(l&&l[0]&&l[0].trace){var c,h,f,p,d,g=l[0],v=g.trace,m=g.t,y=m.r,x=m.theta,b=y.slice(),_=x.slice();for(c=0;c<y.length;c++)h=y[c],p=x[c],d=a.c2rad(p,v.thetaunit),e.isPtWithinSector({r:h,rad:d})||(b[c]=NaN,_[c]=NaN);var w,M=y.length,A=new Array(2*M),k=Array(M),T=Array(M);for(c=0;c<M;c++)h=b[c],p=_[c],r(h)&&r(p)&&h>=0?(f=i.c2r(h)-o[0],w=p,d=a.c2rad(w,v.thetaunit),k[c]=A[2*c]=f*Math.cos(d),T[c]=A[2*c+1]=f*Math.sin(d)):k[c]=T[c]=A[2*c]=A[2*c+1]=NaN;var S=yq.sceneOptions(t,e,v,A);S.fill&&!s.fill2d&&(s.fill2d=!0),S.marker&&!s.scatter2d&&(s.scatter2d=!0),S.line&&!s.line2d&&(s.line2d=!0),!S.errorX&&!S.errorY||s.error2d||(s.error2d=!0),Tr.hasMarkers(v)&&(S.selected.positions=S.unselected.positions=S.marker.positions),s.lineOptions.push(S.line),s.errorXOptions.push(S.errorX),s.errorYOptions.push(S.errorY),s.fillOptions.push(S.fill),s.markerOptions.push(S.marker),s.selectedOptions.push(S.selected),s.unselectedOptions.push(S.unselected),s.count=n.length,m.scene=s,m.index=u,m.x=k,m.y=T,m.rawx=k,m.rawy=T,m.r=y,m.theta=x,m.positions=A,m.count=M,m.tree=vV(A,512)}}),yq.plot(t,e,n)},hoverPoints:function(t,e,r,n){var i=t.cd[0].t,a=i.r,o=i.theta,s=yq.hoverPoints(t,e,r,n);if(s&&!1!==s[0].index){var l=s[0];if(void 0===l.index)return s;var u=t.subplot,c=u.angularAxis,h=l.cd[l.index],f=l.trace;if(h.r=a[l.index],h.theta=o[l.index],h.rad=c.c2rad(h.theta,f.thetaunit),u.isPtWithinSector(h))return l.xLabelVal=void 0,l.yLabelVal=void 0,l.extraText=lG(h,f,u),s}},style:yq.style,selectPoints:yq.selectPoints,meta:{}},cG=m.extendFlat,hG={title:Ce.title,titlefont:Ce.titlefont,color:Ce.color,tickmode:Ce.tickmode,nticks:cG({},Ce.nticks,{dflt:6,min:1}),tick0:Ce.tick0,dtick:Ce.dtick,tickvals:Ce.tickvals,ticktext:Ce.ticktext,ticks:Ce.ticks,ticklen:Ce.ticklen,tickwidth:Ce.tickwidth,tickcolor:Ce.tickcolor,showticklabels:Ce.showticklabels,showtickprefix:Ce.showtickprefix,tickprefix:Ce.tickprefix,showticksuffix:Ce.showticksuffix,ticksuffix:Ce.ticksuffix,showexponent:Ce.showexponent,exponentformat:Ce.exponentformat,separatethousands:Ce.separatethousands,tickfont:Ce.tickfont,tickangle:Ce.tickangle,tickformat:Ce.tickformat,tickformatstops:Ce.tickformatstops,hoverformat:Ce.hoverformat,showline:cG({},Ce.showline,{dflt:!0}),linecolor:Ce.linecolor,linewidth:Ce.linewidth,showgrid:cG({},Ce.showgrid,{dflt:!0}),gridcolor:Ce.gridcolor,gridwidth:Ce.gridwidth,layer:Ce.layer,min:{valType:\"number\",dflt:0,min:0}},fG=function(t,e,r){function n(r,n){return ne.coerce(t,e,hG,r,n)}e.type=\"linear\";var i=n(\"color\"),a=i===t.color?i:r.font.color,o=e._name.charAt(0).toUpperCase(),s=\"Component \"+o,l=n(\"title\",s);e._hovertitle=l===s?l:o,ne.coerceFont(n,\"titlefont\",{family:r.font.family,size:Math.round(1.2*r.font.size),color:a}),n(\"min\"),Ge(t,e,n,\"linear\"),Ue(t,e,n,\"linear\",{}),qe(t,e,n,{outerTicks:!0}),n(\"showticklabels\")&&(ne.coerceFont(n,\"tickfont\",{family:r.font.family,size:r.font.size,color:a}),n(\"tickangle\"),n(\"tickformat\")),Zi(t,e,n,{dfltColor:i,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:hG}),n(\"hoverformat\"),n(\"layer\")},pG=qc.attributes,dG=(0,ye.overrideAll)({domain:pG({name:\"ternary\"}),bgcolor:{valType:\"color\",dflt:C.background},sum:{valType:\"number\",dflt:1,min:0},aaxis:hG,baxis:hG,caxis:hG},\"plot\",\"from-root\"),gG=[\"aaxis\",\"baxis\",\"caxis\"];function vG(t,e,r,n){var i,a,o,s=r(\"bgcolor\"),l=r(\"sum\");n.bgColor=Oe.combine(s,n.paper_bgcolor);for(var u=0;u<gG.length;u++)a=t[i=gG[u]]||{},o=e[i]={_name:i,type:\"linear\"},fG(a,o,n);var c=e.aaxis,h=e.baxis,f=e.caxis;c.min+h.min+f.min>=l&&(c.min=0,h.min=0,f.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}var mG=ne._,yG=m.extendFlat;function xG(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e)}var bG=xG,_G=xG.prototype;_G.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},_G.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var i=0;i<t.length;i++){if(!1===t[i][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(r),this.adjustLayout(r,n),_n.generalUpdatePerTraceModule(this.graphDiv,this,t,r),this.layers.plotbg.select(\"path\").call(Oe.fill,r.bgcolor)},_G.makeFramework=function(t){var e=t[this.id],r=this.clipId=\"clip\"+this.layoutId+this.id;this.clipDef=t._clips.selectAll(\"#\"+r).data([0]),this.clipDef.enter().append(\"clipPath\").attr(\"id\",r).append(\"path\").attr(\"d\",\"M0,0Z\");var n=this.clipIdRelative=\"clip-relative\"+this.layoutId+this.id;this.clipDefRelative=t._clips.selectAll(\"#\"+n).data([0]),this.clipDefRelative.enter().append(\"clipPath\").attr(\"id\",n).append(\"path\").attr(\"d\",\"M0,0Z\"),this.plotContainer=this.container.selectAll(\"g.\"+this.id).data([0]),this.plotContainer.enter().append(\"g\").classed(this.id,!0),this.updateLayers(e),Sr.setClipUrl(this.layers.backplot,r),Sr.setClipUrl(this.layers.grids,r)},_G.updateLayers=function(t){var r=this.layers,n=[\"draglayer\",\"plotbg\",\"backplot\",\"grids\"];\"below traces\"===t.aaxis.layer&&n.push(\"aaxis\",\"aline\"),\"below traces\"===t.baxis.layer&&n.push(\"baxis\",\"bline\"),\"below traces\"===t.caxis.layer&&n.push(\"caxis\",\"cline\"),n.push(\"frontplot\"),\"above traces\"===t.aaxis.layer&&n.push(\"aaxis\",\"aline\"),\"above traces\"===t.baxis.layer&&n.push(\"baxis\",\"bline\"),\"above traces\"===t.caxis.layer&&n.push(\"caxis\",\"cline\");var i=this.plotContainer.selectAll(\"g.toplevel\").data(n,String),a=[\"agrid\",\"bgrid\",\"cgrid\"];i.enter().append(\"g\").attr(\"class\",function(t){return\"toplevel \"+t}).each(function(t){var n=e.select(this);r[t]=n,\"frontplot\"===t?n.append(\"g\").classed(\"scatterlayer\",!0):\"backplot\"===t?n.append(\"g\").classed(\"maplayer\",!0):\"plotbg\"===t?n.append(\"path\").attr(\"d\",\"M0,0Z\"):\"aline\"===t||\"bline\"===t||\"cline\"===t?n.append(\"path\"):\"grids\"===t&&a.forEach(function(t){r[t]=n.append(\"g\").classed(\"grid \"+t,!0);var e=\"bgrid\"===t?\"x\":\"y\";r[t].append(\"g\").classed(e,!0)})}),i.order()};var wG=Math.sqrt(4/3);_G.adjustLayout=function(t,e){var r,n,i,a,o,s,l=this,u=t.domain,c=(u.x[0]+u.x[1])/2,h=(u.y[0]+u.y[1])/2,f=u.x[1]-u.x[0],p=u.y[1]-u.y[0],d=f*e.w,g=p*e.h,v=t.sum,m=t.aaxis.min,y=t.baxis.min,x=t.caxis.min;d>wG*g?i=(a=g)*wG:a=(i=d)/wG,o=f*i/d,s=p*a/g,r=e.l+e.w*c-i/2,n=e.t+e.h*(1-h)-a/2,l.x0=r,l.y0=n,l.w=i,l.h=a,l.sum=v,l.xaxis={type:\"linear\",range:[m+2*x-v,v-m-2*y],domain:[c-o/2,c+o/2],_id:\"x\"},ei(l.xaxis,l.graphDiv._fullLayout),l.xaxis.setScale(),l.xaxis.isPtWithinRange=function(t){return t.a>=l.aaxis.range[0]&&t.a<=l.aaxis.range[1]&&t.b>=l.baxis.range[1]&&t.b<=l.baxis.range[0]&&t.c>=l.caxis.range[1]&&t.c<=l.caxis.range[0]},l.yaxis={type:\"linear\",range:[m,v-y-x],domain:[h-s/2,h+s/2],_id:\"y\"},ei(l.yaxis,l.graphDiv._fullLayout),l.yaxis.setScale(),l.yaxis.isPtWithinRange=function(){return!0};var b=l.yaxis.domain[0],_=l.aaxis=yG({},t.aaxis,{visible:!0,range:[m,v-y-x],side:\"left\",_counterangle:30,tickangle:(+t.aaxis.tickangle||0)-30,domain:[b,b+s*wG],_axislayer:l.layers.aaxis,_gridlayer:l.layers.agrid,_pos:0,_id:\"y\",_length:i,_gridpath:\"M0,0l\"+a+\",-\"+i/2,automargin:!1});ei(_,l.graphDiv._fullLayout),_.setScale();var w=l.baxis=yG({},t.baxis,{visible:!0,range:[v-m-x,y],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,automargin:!1});ei(w,l.graphDiv._fullLayout),w.setScale(),_._counteraxis=w;var M=l.caxis=yG({},t.caxis,{visible:!0,range:[v-m-y,x],side:\"right\",_counterangle:30,tickangle:(+t.caxis.tickangle||0)+30,domain:[b,b+s*wG],_axislayer:l.layers.caxis,_gridlayer:l.layers.cgrid,_counteraxis:l.baxis,_pos:0,_id:\"y\",_length:i,_gridpath:\"M0,0l-\"+a+\",\"+i/2,automargin:!1});ei(M,l.graphDiv._fullLayout),M.setScale();var A=\"M\"+r+\",\"+(n+a)+\"h\"+i+\"l-\"+i/2+\",-\"+a+\"Z\";l.clipDef.select(\"path\").attr(\"d\",A),l.layers.plotbg.select(\"path\").attr(\"d\",A);var k=\"M0,\"+a+\"h\"+i+\"l-\"+i/2+\",-\"+a+\"Z\";l.clipDefRelative.select(\"path\").attr(\"d\",k);var T=\"translate(\"+r+\",\"+n+\")\";l.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",T),l.clipDefRelative.select(\"path\").attr(\"transform\",null);var S=\"translate(\"+(r-w._offset)+\",\"+(n+a)+\")\";l.layers.baxis.attr(\"transform\",S),l.layers.bgrid.attr(\"transform\",S);var E=\"translate(\"+(r+i/2)+\",\"+n+\")rotate(30)translate(0,\"+-_._offset+\")\";l.layers.aaxis.attr(\"transform\",E),l.layers.agrid.attr(\"transform\",E);var C=\"translate(\"+(r+i/2)+\",\"+n+\")rotate(-30)translate(0,\"+-M._offset+\")\";l.layers.caxis.attr(\"transform\",C),l.layers.cgrid.attr(\"transform\",C),l.drawAxes(!0),l.plotContainer.selectAll(\".crisp\").classed(\"crisp\",!1),l.layers.aline.select(\"path\").attr(\"d\",_.showline?\"M\"+r+\",\"+(n+a)+\"l\"+i/2+\",-\"+a:\"M0,0\").call(Oe.stroke,_.linecolor||\"#000\").style(\"stroke-width\",(_.linewidth||0)+\"px\"),l.layers.bline.select(\"path\").attr(\"d\",w.showline?\"M\"+r+\",\"+(n+a)+\"h\"+i:\"M0,0\").call(Oe.stroke,w.linecolor||\"#000\").style(\"stroke-width\",(w.linewidth||0)+\"px\"),l.layers.cline.select(\"path\").attr(\"d\",M.showline?\"M\"+(r+i/2)+\",\"+n+\"l\"+i/2+\",\"+a:\"M0,0\").call(Oe.stroke,M.linecolor||\"#000\").style(\"stroke-width\",(M.linewidth||0)+\"px\"),l.graphDiv._context.staticPlot||l.initInteractions(),Sr.setClipUrl(l.layers.frontplot,l._hasClipOnAxisFalse?null:l.clipId)},_G.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+\"title\",n=this.aaxis,i=this.baxis,a=this.caxis;if(ri.doTicks(e,n,!0),ri.doTicks(e,i,!0),ri.doTicks(e,a,!0),t){var o=Math.max(n.showticklabels?n.tickfont.size/2:0,(a.showticklabels?.75*a.tickfont.size:0)+(\"outside\"===a.ticks?.87*a.ticklen:0));this.layers[\"a-title\"]=Dn.draw(e,\"a\"+r,{propContainer:n,propName:this.id+\".aaxis.title\",placeholder:mG(e,\"Click to enter Component A title\"),attributes:{x:this.x0+this.w/2,y:this.y0-n.titlefont.size/3-o,\"text-anchor\":\"middle\"}});var s=(i.showticklabels?i.tickfont.size:0)+(\"outside\"===i.ticks?i.ticklen:0)+3;this.layers[\"b-title\"]=Dn.draw(e,\"b\"+r,{propContainer:i,propName:this.id+\".baxis.title\",placeholder:mG(e,\"Click to enter Component B title\"),attributes:{x:this.x0-s,y:this.y0+this.h+.83*i.titlefont.size+s,\"text-anchor\":\"middle\"}}),this.layers[\"c-title\"]=Dn.draw(e,\"c\"+r,{propContainer:a,propName:this.id+\".caxis.title\",placeholder:mG(e,\"Click to enter Component C title\"),attributes:{x:this.x0+this.w+s,y:this.y0+this.h+.83*a.titlefont.size+s,\"text-anchor\":\"middle\"}})}};var MG=Te.MINZOOM/2+.87,AG=\"m-0.87,.5h\"+MG+\"v3h-\"+(MG+5.2)+\"l\"+(MG/2+2.6)+\",-\"+(.87*MG+4.5)+\"l2.6,1.5l-\"+MG/2+\",\"+.87*MG+\"Z\",kG=\"m0.87,.5h-\"+MG+\"v3h\"+(MG+5.2)+\"l-\"+(MG/2+2.6)+\",-\"+(.87*MG+4.5)+\"l-2.6,1.5l\"+MG/2+\",\"+.87*MG+\"Z\",TG=\"m0,1l\"+MG/2+\",\"+.87*MG+\"l2.6,-1.5l-\"+(MG/2+2.6)+\",-\"+(.87*MG+4.5)+\"l-\"+(MG/2+2.6)+\",\"+(.87*MG+4.5)+\"l2.6,1.5l\"+MG/2+\",-\"+.87*MG+\"Z\",SG=\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z\",EG=!0;function CG(t){e.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}_G.initInteractions=function(){var t,e,r,n,i,a,o,l,u,c,h=this,f=h.layers.plotbg.select(\"path\").node(),p=h.graphDiv,d=p._fullLayout._zoomlayer,g={element:f,gd:p,plotinfo:{xaxis:h.xaxis,yaxis:h.yaxis},subplot:h.id,prepFn:function(v,m,y){g.xaxes=[h.xaxis],g.yaxes=[h.yaxis];var A=p._fullLayout.dragmode;v.shiftKey&&(A=\"pan\"===A?\"zoom\":\"pan\"),g.minDrag=\"lasso\"===A?1:void 0,\"zoom\"===A?(g.moveFn=x,g.doneFn=b,function(p,g,v){var m=f.getBoundingClientRect();t=g-m.left,e=v-m.top,r={a:h.aaxis.range[0],b:h.baxis.range[1],c:h.caxis.range[1]},i=r,n=h.aaxis.range[1]-r.a,a=s(h.graphDiv._fullLayout[h.id].bgcolor).getLuminance(),o=\"M0,\"+h.h+\"L\"+h.w/2+\", 0L\"+h.w+\",\"+h.h+\"Z\",l=!1,u=d.append(\"path\").attr(\"class\",\"zoombox\").attr(\"transform\",\"translate(\"+h.x0+\", \"+h.y0+\")\").style({fill:a>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"d\",o),c=d.append(\"path\").attr(\"class\",\"zoombox-corners\").attr(\"transform\",\"translate(\"+h.x0+\", \"+h.y0+\")\").style({fill:Oe.background,stroke:Oe.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"d\",\"M0,0Z\"),M()}(0,m,y)):\"pan\"===A?(g.moveFn=_,g.doneFn=w,r={a:h.aaxis.range[0],b:h.baxis.range[1],c:h.caxis.range[1]},i=r,M()):\"select\"!==A&&\"lasso\"!==A||_c(v,m,y,g,A)},clickFn:function(t,e){if(CG(p),2===t){var r={};r[h.id+\".aaxis.min\"]=0,r[h.id+\".baxis.min\"]=0,r[h.id+\".caxis.min\"]=0,p.emit(\"plotly_doubleclick\",null),P.call(\"relayout\",p,r)}yo.click(p,e,h.id)}};function v(t,e){return 1-e/h.h}function m(t,e){return 1-(t+(h.h-e)/Math.sqrt(3))/h.w}function y(t,e){return(t-(h.h-e)/Math.sqrt(3))/h.w}function x(s,f){var p=t+s,d=e+f,g=Math.max(0,Math.min(1,v(0,e),v(0,d))),x=Math.max(0,Math.min(1,m(t,e),m(p,d))),b=Math.max(0,Math.min(1,y(t,e),y(p,d))),_=(g/2+b)*h.w,w=(1-g/2-x)*h.w,M=(_+w)/2,A=w-_,k=(1-g)*h.h,T=k-A/wG;A<Te.MINZOOM?(i=r,u.attr(\"d\",o),c.attr(\"d\",\"M0,0Z\")):(i={a:r.a+g*n,b:r.b+x*n,c:r.c+b*n},u.attr(\"d\",o+\"M\"+_+\",\"+k+\"H\"+w+\"L\"+M+\",\"+T+\"L\"+_+\",\"+k+\"Z\"),c.attr(\"d\",\"M\"+t+\",\"+e+SG+\"M\"+_+\",\"+k+AG+\"M\"+w+\",\"+k+kG+\"M\"+M+\",\"+T+TG)),l||(u.transition().style(\"fill\",a>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),c.transition().style(\"opacity\",1).duration(200),l=!0)}function b(){if(CG(p),i!==r){var t={};t[h.id+\".aaxis.min\"]=i.a,t[h.id+\".baxis.min\"]=i.b,t[h.id+\".caxis.min\"]=i.c,P.call(\"relayout\",p,t),EG&&p.data&&p._context.showTips&&(ne.notifier(mG(p,\"Double-click to zoom back out\"),\"long\"),EG=!1)}}function _(t,e){var n=t/h.xaxis._m,a=e/h.yaxis._m,o=[(i={a:r.a-a,b:r.b+(n+a)/2,c:r.c-(n-a)/2}).a,i.b,i.c].sort(),s=o.indexOf(i.a),l=o.indexOf(i.b),u=o.indexOf(i.c);o[0]<0&&(o[1]+o[0]/2<0?(o[2]+=o[0]+o[1],o[0]=o[1]=0):(o[2]+=o[0]/2,o[1]+=o[0]/2,o[0]=0),i={a:o[s],b:o[l],c:o[u]},e=(r.a-i.a)*h.yaxis._m,t=(r.c-i.c-r.b+i.b)*h.xaxis._m);var c=\"translate(\"+(h.x0+t)+\",\"+(h.y0+e)+\")\";h.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",c);var f=\"translate(\"+-t+\",\"+-e+\")\";h.clipDefRelative.select(\"path\").attr(\"transform\",f),h.aaxis.range=[i.a,h.sum-i.b-i.c],h.baxis.range=[h.sum-i.a-i.c,i.b],h.caxis.range=[h.sum-i.a-i.b,i.c],h.drawAxes(!1),h.plotContainer.selectAll(\".crisp\").classed(\"crisp\",!1),h._hasClipOnAxisFalse&&h.plotContainer.select(\".scatterlayer\").selectAll(\".trace\").call(Sr.hideOutsideRangePoints,h)}function w(){var t={};t[h.id+\".aaxis.min\"]=i.a,t[h.id+\".baxis.min\"]=i.b,t[h.id+\".caxis.min\"]=i.c,P.call(\"relayout\",p,t)}function M(){d.selectAll(\".select-outline\").remove()}f.onmousemove=function(t){yo.hover(p,t,h.id),p._fullLayout._lasthover=f,p._fullLayout._hoversubplot=h.id},f.onmouseout=function(t){p._dragging||Ua.unhover(p,t)},Ua.init(g)};var LG={},zG=sa.getSubplotCalcData,PG=ne.counterRegex;LG.name=\"ternary\",LG.attr=\"subplot\",LG.idRoot=\"ternary\",LG.idRegex=LG.attrRegex=PG(\"ternary\"),LG.attributes={subplot:{valType:\"subplotid\",dflt:\"ternary\",editType:\"calc\"}},LG.layoutAttributes=dG,LG.supplyLayoutDefaults=function(t,e,r){Jc(t,e,0,{type:\"ternary\",attributes:dG,handleDefaults:vG,font:e.font,paper_bgcolor:e.paper_bgcolor})},LG.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,n=e._subplots.ternary,i=0;i<n.length;i++){var a=n[i],o=zG(r,\"ternary\",a),s=e[a]._subplot;s||(s=new bG({id:a,graphDiv:t,container:e._ternarylayer.node()},e),e[a]._subplot=s),s.plot(o,e,t._promises)}},LG.clean=function(t,e,r,n){for(var i=n._subplots.ternary||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers[\"a-title\"].remove(),s.layers[\"b-title\"].remove(),s.layers[\"c-title\"].remove())}};var IG=Ae.dash,DG=m.extendFlat,OG=Zr.marker,RG=Zr.line,FG=OG.line,BG={a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},c:{valType:\"data_array\",editType:\"calc\"},sum:{valType:\"number\",dflt:0,min:0,editType:\"calc\"},mode:DG({},Zr.mode,{dflt:\"markers\"}),text:DG({},Zr.text,{}),hovertext:DG({},Zr.hovertext,{}),line:{color:RG.color,width:RG.width,dash:IG,shape:DG({},RG.shape,{values:[\"linear\",\"spline\"]}),smoothing:RG.smoothing,editType:\"calc\"},connectgaps:Zr.connectgaps,cliponaxis:Zr.cliponaxis,fill:DG({},Zr.fill,{values:[\"none\",\"toself\",\"tonext\"]}),fillcolor:Zr.fillcolor,marker:DG({symbol:OG.symbol,opacity:OG.opacity,maxdisplayed:OG.maxdisplayed,size:OG.size,sizeref:OG.sizeref,sizemin:OG.sizemin,sizemode:OG.sizemode,line:DG({width:FG.width,editType:\"calc\"},De()),gradient:OG.gradient,editType:\"calc\"},De(),{showscale:OG.showscale,colorbar:ze}),textfont:Zr.textfont,textposition:Zr.textposition,selected:Zr.selected,unselected:Zr.unselected,hoverinfo:DG({},E.hoverinfo,{flags:[\"a\",\"b\",\"c\",\"text\",\"name\"]}),hoveron:Zr.hoveron},NG=sx,jG=[\"a\",\"b\",\"c\"],VG={a:[\"b\",\"c\"],b:[\"a\",\"c\"],c:[\"a\",\"b\"]},UG={};UG.attributes=BG,UG.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,BG,r,n)}var a,o=i(\"a\"),s=i(\"b\"),l=i(\"c\");if(o?(a=o.length,s?(a=Math.min(a,s.length),l&&(a=Math.min(a,l.length))):a=l?Math.min(a,l.length):0):s&&l&&(a=Math.min(s.length,l.length)),a){e._length=a,i(\"sum\"),i(\"text\"),i(\"hovertext\"),i(\"mode\",a<Wr.PTS_LINESONLY?\"lines+markers\":\"lines\"),Tr.hasLines(e)&&(px(t,e,r,n,i),dx(0,0,i),i(\"connectgaps\")),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{gradient:!0}),Tr.hasText(e)&&vx(0,0,n,i);var u=[];(Tr.hasMarkers(e)||Tr.hasText(e))&&(i(\"cliponaxis\"),i(\"marker.maxdisplayed\"),u.push(\"points\")),i(\"fill\"),\"none\"!==e.fill&&(hx(0,e,r,i),Tr.hasLines(e)||dx(0,0,i)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||u.push(\"fills\"),i(\"hoveron\",u.join(\"+\")||\"points\"),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},UG.colorbar=is,UG.calc=function(t,e){var n,i,a,o,s,l,u=t._fullLayout[e.subplot].sum,c=e.sum||u,h={a:e.a,b:e.b,c:e.c};for(n=0;n<jG.length;n++)if(!h[a=jG[n]]){for(s=h[VG[a][0]],l=h[VG[a][1]],o=new Array(s.length),i=0;i<s.length;i++)o[i]=c-s[i]-l[i];h[a]=o}var f,p,d,g,v,m,y=e._length,x=new Array(y);for(n=0;n<y;n++)f=h.a[n],p=h.b[n],d=h.c[n],r(f)&&r(p)&&r(d)?(1!=(g=u/((f=+f)+(p=+p)+(d=+d)))&&(f*=g,p*=g,d*=g),m=f,v=d-p,x[n]={x:v,y:m,a:f,b:p,c:d}):x[n]={x:!1,y:!1};return NG(e,y),ex(e),dh(x,e),Ma(x,e),x},UG.plot=function(t,e,r){var n=e.plotContainer;n.select(\".scatterlayer\").selectAll(\"*\").remove();var i={xaxis:e.xaxis,yaxis:e.yaxis,plot:n,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null};kx(t,i,r)},UG.style=Cx.style,UG.hoverPoints=function(t,e,r,n){var i=yx(t,e,r,n);if(i&&!1!==i[0].index){var a=i[0];if(void 0===a.index){var o=1-a.y0/t.ya._length,s=t.xa._length,l=s*o/2,u=s-l;return a.x0=Math.max(Math.min(a.x0,u),l),a.x1=Math.max(Math.min(a.x1,u),l),i}var c=a.cd[a.index];a.a=c.a,a.b=c.b,a.c=c.c,a.xLabelVal=void 0,a.yLabelVal=void 0;var h=a.trace,f=a.subplot,p=(c.hi||h.hoverinfo).split(\"+\"),d=[];return-1!==p.indexOf(\"all\")&&(p=[\"a\",\"b\",\"c\"]),-1!==p.indexOf(\"a\")&&g(f.aaxis,c.a),-1!==p.indexOf(\"b\")&&g(f.baxis,c.b),-1!==p.indexOf(\"c\")&&g(f.caxis,c.c),a.extraText=d.join(\"<br>\"),i}function g(t,e){d.push(t._hovertitle+\": \"+ri.tickText(t,e,\"hover\").text)}},UG.selectPoints=Sx,UG.eventData=function(t,e,r,n,i){if(e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),n[i]){var a=n[i];t.a=a.a,t.b=a.b,t.c=a.c}else t.a=e.a,t.b=e.b,t.c=e.c;return t},UG.moduleType=\"trace\",UG.name=\"scatterternary\",UG.basePlotModule=LG,UG.categories=[\"ternary\",\"symbols\",\"markerColorscale\",\"showLegend\",\"scatter-like\"],UG.meta={};var qG=UG,HG={},GG=Di.pointsAccessorFunction;HG.moduleType=\"transform\",HG.name=\"sort\",HG.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},target:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},order:{valType:\"enumerated\",values:[\"ascending\",\"descending\"],dflt:\"ascending\",editType:\"calc\"},editType:\"calc\"},HG.supplyDefaults=function(t){var e={};function r(r,n){return ne.coerce(t,e,HG.attributes,r,n)}return r(\"enabled\")&&(r(\"target\"),r(\"order\")),e},HG.calcTransform=function(t,e,r){if(r.enabled){var n=ne.getTargetArray(e,r);if(n){var i,a,o=r.target,s=n.length,l=e._arrayAttrs,u=function(t,e,r){for(var n=e.length,i=new Array(n),a=e.slice().sort(function(t,e){switch(t.order){case\"ascending\":return function(t,r){return e(t)-e(r)};case\"descending\":return function(t,r){return e(r)-e(t)}}}(t,r)),o=0;o<n;o++)for(var s=e[o],l=0;l<n;l++){var u=a[l];if(s===u){i[l]=o,a[l]=null;break}}return i}(r,n,ri.getDataToCoordFunc(t,e,o,n)),c=GG(e.transforms,r),h={};for(i=0;i<l.length;i++){var f=ne.nestedProperty(e,l[i]),p=f.get(),d=new Array(s);for(a=0;a<s;a++)d[a]=p[u[a]];f.set(d)}for(a=0;a<s;a++)h[a]=c(u[a]);r._indexToPoints=h}}};var WG=HG,YG={},XG=E_([\"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\"]),ZG=E_([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(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\\nfloat beckmannSpecular(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness) {\\n  return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\\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 = max(beckmannSpecular(L, V, N, roughness), 0.);\\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\"]),JG=E_([\"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\"]),KG=E_([\"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\"]);YG.createShader=function(t){var e=Bw(t,XG,ZG,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},YG.createPickShader=function(t){var e=Bw(t,XG,KG,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},YG.createContourShader=function(t){var e=Bw(t,JG,ZG,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},YG.createPickContourShader=function(t){var e=Bw(t,JG,KG,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e};var QG=function(t,e,r){if(Array.isArray(r)){if(r.length!==e.dimension)throw new Error(\"ndarray-gradient: invalid boundary conditions\")}else r=b_(e.dimension,\"string\"==typeof r?r:\"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;return function(t){var e=t.join();if(f=tW[e])return f;var r=t.length,n=[\"function gradient(dst,src){var s=src.shape.slice();\"];function i(e){for(var i=r-e.length,a=[],o=[],s=[],l=0;l<r;++l)e.indexOf(l+1)>=0?s.push(\"0\"):e.indexOf(-(l+1))>=0?s.push(\"s[\"+l+\"]-1\"):(s.push(\"-1\"),a.push(\"1\"),o.push(\"s[\"+l+\"]-2\"));var u=\".lo(\"+a.join()+\").hi(\"+o.join()+\")\";if(0===a.length&&(u=\"\"),i>0){n.push(\"if(1\");for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(\"&&s[\",l,\"]>2\");n.push(\"){grad\",i,\"(src.pick(\",s.join(),\")\",u);for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(\",dst.pick(\",s.join(),\",\",l,\")\",u);n.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(),p=s.slice();e[l]<0?f[c]=\"s[\"+c+\"]-2\":p[c]=\"1\",0===i?n.push(\"if(s[\",c,\"]>1){dst.set(\",s.join(),\",\",c,\",0.5*(src.get(\",f.join(),\")-src.get(\",p.join(),\")))}else{dst.set(\",s.join(),\",\",c,\",0)};\"):n.push(\"if(s[\",c,\"]>1){diff(\",h,\",src.pick(\",f.join(),\")\",u,\",src.pick(\",p.join(),\")\",u,\");}else{zero(\",h,\");};\");break;case\"mirror\":0===i?n.push(\"dst.set(\",s.join(),\",\",c,\",0);\"):n.push(\"zero(\",h,\");\");break;case\"wrap\":var d=s.slice(),g=s.slice();e[l]<0?(d[c]=\"s[\"+c+\"]-2\",g[c]=\"0\"):(d[c]=\"s[\"+c+\"]-1\",g[c]=\"1\"),0===i?n.push(\"if(s[\",c,\"]>2){dst.set(\",s.join(),\",\",c,\",0.5*(src.get(\",d.join(),\")-src.get(\",g.join(),\")))}else{dst.set(\",s.join(),\",\",c,\",0)};\"):n.push(\"if(s[\",c,\"]>2){diff(\",h,\",src.pick(\",d.join(),\")\",u,\",src.pick(\",g.join(),\")\",u,\");}else{zero(\",h,\");};\");break;default:throw new Error(\"ndarray-gradient: Invalid boundary condition\")}}i>0&&n.push(\"};\")}for(var a=0;a<1<<r;++a){for(var o=[],s=0;s<r;++s)a&1<<s&&o.push(s+1);for(var l=0;l<1<<o.length;++l){for(var u=o.slice(),s=0;s<o.length;++s)l&1<<s&&(u[s]=-u[s]);i(u)}}n.push(\"return dst;};return gradient\");for(var c=[\"diff\",\"zero\"],h=[rW,nW],a=1;a<=r;++a)c.push(\"grad\"+a),h.push(iW(a));c.push(n.join(\"\"));var f=Function.apply(void 0,c).apply(void 0,h);return $G[e]=f,f}(r)(t,e)},$G={},tW={},eW={body:\"\",args:[],thisVars:[],localVars:[]},rW=nb({args:[\"array\",\"array\",\"array\"],pre:eW,post:eW,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\"}),nW=nb({args:[\"array\"],pre:eW,post:eW,body:{args:[{name:\"out\",lvalue:!0,rvalue:!1,count:1}],body:\"out=0\",thisVars:[],localVars:[]},funcName:\"zero\"});function iW(t){if(t in $G)return $G[t];for(var e=[],r=0;r<t;++r)e.push(\"out\",r,\"s=0.5*(inp\",r,\"l-inp\",r,\"r);\");var n=[\"array\"],i=[\"junk\"];for(r=0;r<t;++r){n.push(\"array\"),i.push(\"out\"+r+\"s\");var a=b_(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 $G[t]=nb({args:n,pre:eW,post:eW,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})}var aW=nb({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}),oW=function(t,e){for(var r=[],n=t,i=1;Array.isArray(n);)r.push(n.length),i*=n.length,n=n[0];return 0===r.length?wb():(e||(e=wb(new Float64Array(i),r)),aW(e,t),e)},sW=function(t){var e=t.gl,r=lW(e),n=cW(e),i=uW(e),a=hW(e),o=S_(e),s=EP(e,[{buffer:o,size:4,stride:fW,offset:0},{buffer:o,size:3,stride:fW,offset:16},{buffer:o,size:3,stride:fW,offset:28}]),l=S_(e),u=EP(e,[{buffer:l,size:4,stride:20,offset:0},{buffer:l,size:1,stride:20,offset:16}]),c=S_(e),h=EP(e,[{buffer:c,size:2,type:e.FLOAT}]),f=zE(e,1,vW,e.RGBA,e.UNSIGNED_BYTE);f.minFilter=e.LINEAR,f.magFilter=e.LINEAR;var p=new mW(e,[0,0],[[0,0,0],[0,0,0]],r,n,o,s,f,i,a,l,u,c,h),d={levels:[[],[],[]]};for(var g in t)d[g]=t[g];return d.colormap=d.colormap||\"jet\",p.update(d),p},lW=YG.createShader,uW=YG.createContourShader,cW=YG.createPickShader,hW=YG.createPickContourShader,fW=40,pW=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],dW=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],gW=[[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=gW[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var vW=256;function mW(t,e,r,n,i,a,o,s,l,u,c,h,f,p){this.gl=t,this.shape=e,this.bounds=r,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=s,this._contourShader=l,this._contourPickShader=u,this._contourBuffer=c,this._contourVAO=h,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new function(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=f,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=[wb(__.mallocFloat(1024),[0,0]),wb(__.mallocFloat(1024),[0,0]),wb(__.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}var yW=mW.prototype;yW.isTransparent=function(){return this.opacity<1},yW.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},yW.pickSlots=1,yW.setPickBase=function(t){this.pickId=t};var xW=[0,0,0],bW={showSurface:!1,showContour:!1,projections:[pW.slice(),pW.slice(),pW.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function _W(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||xW,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=bW.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],Dz(l,t.model,l);var u=bW.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 bW.showSurface=o,bW.showContour=s,bW}var wW={model:pW,view:pW,projection:pW,inverseModel:pW.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},MW=pW.slice(),AW=[1,0,0,0,1,0,0,0,1];function kW(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=wW;n.model=t.model||pW,n.view=t.view||pW,n.projection=t.projection||pW,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=cz(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-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=AW,n.vertexColor=this.vertexColor;var s=MW;for(Dz(s,n.view,n.model),Dz(s,n.projection,s),cz(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var u=s[12+i];for(o=0;o<3;++o)u+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=u/l}var c=_W(n,this);if(c.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=c.projections[i],this._shader.uniforms.clipBounds=c.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(c.showContour&&!e){var h=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,h.bind(),h.uniforms=n;var f=this._contourVAO;for(f.bind(),i=0;i<3;++i)for(h.uniforms.permutation=gW[i],r.lineWidth(this.contourWidth[i]),o=0;o<this.contourLevels[i].length;++o)this._contourCounts[i][o]&&(o===this.highlightLevel[i]?(h.uniforms.contourColor=this.highlightColor[i],h.uniforms.contourTint=this.highlightTint[i]):0!==o&&o-1!==this.highlightLevel[i]||(h.uniforms.contourColor=this.contourColor[i],h.uniforms.contourTint=this.contourTint[i]),h.uniforms.height=this.contourLevels[i][o],f.draw(r.LINES,this._contourCounts[i][o],this._contourOffsets[i][o]));for(i=0;i<3;++i)for(h.uniforms.model=c.projections[i],h.uniforms.clipBounds=c.clipBounds[i],o=0;o<3;++o)if(this.contourProject[i][o]){h.uniforms.permutation=gW[o],r.lineWidth(this.contourWidth[o]);for(var p=0;p<this.contourLevels[o].length;++p)p===this.highlightLevel[o]?(h.uniforms.contourColor=this.highlightColor[o],h.uniforms.contourTint=this.highlightTint[o]):0!==p&&p-1!==this.highlightLevel[o]||(h.uniforms.contourColor=this.contourColor[o],h.uniforms.contourTint=this.contourTint[o]),h.uniforms.height=this.contourLevels[o][p],f.draw(r.LINES,this._contourCounts[o][p],this._contourOffsets[o][p])}for(f.unbind(),(f=this._dynamicVAO).bind(),i=0;i<3;++i)if(0!==this._dynamicCounts[i])for(h.uniforms.model=n.model,h.uniforms.clipBounds=n.clipBounds,h.uniforms.permutation=gW[i],r.lineWidth(this.dynamicWidth[i]),h.uniforms.contourColor=this.dynamicColor[i],h.uniforms.contourTint=this.dynamicTint[i],h.uniforms.height=this.dynamicLevel[i],f.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]),o=0;o<3;++o)this.contourProject[o][i]&&(h.uniforms.model=c.projections[o],h.uniforms.clipBounds=c.clipBounds[o],f.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]));f.unbind()}}yW.draw=function(t){return kW.call(this,t,!1)},yW.drawTransparent=function(t){return kW.call(this,t,!0)};var TW={model:pW,view:pW,projection:pW,inverseModel:pW,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]};function SW(t,e){var r=e.shape.slice(),n=t.shape.slice();ib.assign(t.lo(1,1).hi(r[0],r[1]),e),ib.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),ib.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),ib.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),ib.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 EW(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function CW(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 LW(t){if(Array.isArray(t)){if(Array.isArray(t))return[CW(t[0]),CW(t[1]),CW(t[2])];var e=CW(t);return[e.slice(),e.slice(),e.slice()]}}yW.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=TW;r.model=t.model||pW,r.view=t.view||pW,r.projection=t.projection||pW,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.permutation=AW;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 o=_W(r,this);if(o.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=o.projections[n],this._pickShader.uniforms.clipBounds=o.clipBounds[n],this._vao.draw(e.TRIANGLES,this._vertexCount));this._vao.unbind()}if(o.showContour){var s=this._contourPickShader;s.bind(),s.uniforms=r;var l=this._contourVAO;for(l.bind(),a=0;a<3;++a)for(e.lineWidth(this.contourWidth[a]),s.uniforms.permutation=gW[a],n=0;n<this.contourLevels[a].length;++n)this._contourCounts[a][n]&&(s.uniforms.height=this.contourLevels[a][n],l.draw(e.LINES,this._contourCounts[a][n],this._contourOffsets[a][n]));for(n=0;n<3;++n)for(s.uniforms.model=o.projections[n],s.uniforms.clipBounds=o.clipBounds[n],a=0;a<3;++a)if(this.contourProject[n][a]){s.uniforms.permutation=gW[a],e.lineWidth(this.contourWidth[a]);for(var u=0;u<this.contourLevels[a].length;++u)this._contourCounts[a][u]&&(s.uniforms.height=this.contourLevels[a][u],l.draw(e.LINES,this._contourCounts[a][u],this._contourOffsets[a][u]))}l.unbind()}},yW.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 p=i+c,d=s+f,g=h*(f?l:1-l),v=0;v<3;++v)u[v]+=this._field[v].get(p,d)*g;for(var m=this._pickResult.level,y=0;y<3;++y)if(m[y]=wT.le(this.contourLevels[y],u[y]),m[y]<0)this.contourLevels[y].length>0&&(m[y]=0);else if(m[y]<this.contourLevels[y].length-1){var x=this.contourLevels[y][m[y]],b=this.contourLevels[y][m[y]+1];Math.abs(x-u[y])>Math.abs(b-u[y])&&(m[y]+=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},yW.update=function(t){t=t||{},this.dirty=!0,\"contourWidth\"in t&&(this.contourWidth=EW(t.contourWidth,Number)),\"showContour\"in t&&(this.showContour=EW(t.showContour,Boolean)),\"showSurface\"in t&&(this.showSurface=!!t.showSurface),\"contourTint\"in t&&(this.contourTint=EW(t.contourTint,Boolean)),\"contourColor\"in t&&(this.contourColor=LW(t.contourColor)),\"contourProject\"in t&&(this.contourProject=EW(t.contourProject,function(t){return EW(t,Boolean)})),\"surfaceProject\"in t&&(this.surfaceProject=t.surfaceProject),\"dynamicColor\"in t&&(this.dynamicColor=LW(t.dynamicColor)),\"dynamicTint\"in t&&(this.dynamicTint=EW(t.dynamicTint,Number)),\"dynamicWidth\"in t&&(this.dynamicWidth=EW(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&&(__.freeFloat(this._field[2].data),this._field[2].data=__.mallocFloat(Mb.nextPow2(n))),this._field[2]=wb(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),SW(this._field[2],e),this.shape=e.shape.slice();for(var i=this.shape,a=0;a<2;++a)this._field[2].size>this._field[a].data.length&&(__.freeFloat(this._field[a].data),this._field[a].data=__.mallocFloat(this._field[2].size)),this._field[a]=wb(this._field[a].data,[i[0]+2,i[1]+2]);if(t.coords){var o=t.coords;if(!Array.isArray(o)||3!==o.length)throw new Error(\"gl-surface: invalid coordinates for x/y\");for(a=0;a<2;++a){var s=o[a];for(f=0;f<2;++f)if(s.shape[f]!==i[f])throw new Error(\"gl-surface: coords have incorrect shape\");SW(this._field[a],s)}}else if(t.ticks){var l=t.ticks;if(!Array.isArray(l)||2!==l.length)throw new Error(\"gl-surface: invalid ticks\");for(a=0;a<2;++a){var u=l[a];if((Array.isArray(u)||u.length)&&(u=wb(u)),u.shape[0]!==i[a])throw new Error(\"gl-surface: invalid tick length\");var c=wb(u.data,i);c.stride[a]=u.stride[0],c.stride[1^a]=0,SW(this._field[a],c)}}else{for(a=0;a<2;++a){var h=[0,0];h[a]=1,this._field[a]=wb(this._field[a].data,[i[0]+2,i[1]+2],h,0)}this._field[0].set(0,0,0);for(var f=0;f<i[0];++f)this._field[0].set(f+1,0,f);for(this._field[0].set(i[0]+1,0,i[0]-1),this._field[1].set(0,0,0),f=0;f<i[1];++f)this._field[1].set(0,f+1,f);this._field[1].set(0,i[1]+1,i[1]-1)}var p=this._field,d=wb(__.mallocFloat(3*p[2].size*2),[3,i[0]+2,i[1]+2,2]);for(a=0;a<3;++a)QG(d.pick(a),p[a],\"mirror\");var g=wb(__.mallocFloat(3*p[2].size),[i[0]+2,i[1]+2,3]);for(a=0;a<i[0]+2;++a)for(f=0;f<i[1]+2;++f){var v=d.get(0,a,f,0),m=d.get(0,a,f,1),y=d.get(1,a,f,0),x=d.get(1,a,f,1),b=d.get(2,a,f,0),_=d.get(2,a,f,1),w=y*_-x*b,M=b*m-_*v,A=v*x-m*y,k=Math.sqrt(w*w+M*M+A*A);k<1e-8?(k=Math.max(Math.abs(w),Math.abs(M),Math.abs(A)))<1e-8?(A=1,M=w=0,k=1):k=1/k:k=1/Math.sqrt(k),g.set(a,f,0,w*k),g.set(a,f,1,M*k),g.set(a,f,2,A*k)}__.free(d.data);var T=[1/0,1/0,1/0],S=[-1/0,-1/0,-1/0],E=1/0,C=-1/0,L=(i[0]-1)*(i[1]-1)*6,z=__.mallocFloat(Mb.nextPow2(10*L)),P=0,I=0;for(a=0;a<i[0]-1;++a)t:for(f=0;f<i[1]-1;++f){for(var D=0;D<2;++D)for(var O=0;O<2;++O)for(var R=0;R<3;++R){var F=this._field[R].get(1+a+D,1+f+O);if(isNaN(F)||!isFinite(F))continue t}for(R=0;R<6;++R){var B=a+dW[R][0],N=f+dW[R][1],j=this._field[0].get(B+1,N+1),V=this._field[1].get(B+1,N+1),U=F=this._field[2].get(B+1,N+1);w=g.get(B+1,N+1,0),M=g.get(B+1,N+1,1),A=g.get(B+1,N+1,2),t.intensity&&(U=t.intensity.get(B,N)),z[P++]=B,z[P++]=N,z[P++]=j,z[P++]=V,z[P++]=F,z[P++]=0,z[P++]=U,z[P++]=w,z[P++]=M,z[P++]=A,T[0]=Math.min(T[0],j),T[1]=Math.min(T[1],V),T[2]=Math.min(T[2],F),E=Math.min(E,U),S[0]=Math.max(S[0],j),S[1]=Math.max(S[1],V),S[2]=Math.max(S[2],F),C=Math.max(C,U),I+=1}}for(t.intensityBounds&&(E=+t.intensityBounds[0],C=+t.intensityBounds[1]),a=6;a<P;a+=10)z[a]=(z[a]-E)/(C-E);this._vertexCount=I,this._coordinateBuffer.update(z.subarray(0,P)),__.freeFloat(z),__.free(g.data),this.bounds=[T,S],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===E&&this.intensityBounds[1]===C||(r=!0),this.intensityBounds=[E,C]}if(\"levels\"in t){var q=t.levels;for(q=Array.isArray(q[0])?q.slice():[[],[],q],a=0;a<3;++a)q[a]=q[a].slice(),q.sort(function(t,e){return t-e});t:for(a=0;a<3;++a){if(q[a].length!==this.contourLevels[a].length){r=!0;break}for(f=0;f<q[a].length;++f)if(q[a][f]!==this.contourLevels[a][f]){r=!0;break t}}this.contourLevels=q}if(r){p=this._field,i=this.shape;for(var H=[],G=0;G<3;++G){q=this.contourLevels[G];var W=[],Y=[],X=[0,0,0];for(a=0;a<q.length;++a){var Z=yE(this._field[G],q[a]);W.push(H.length/5|0),I=0;t:for(f=0;f<Z.cells.length;++f){var J=Z.cells[f];for(R=0;R<2;++R){var K=Z.positions[J[R]],Q=K[0],$=0|Math.floor(Q),tt=Q-$,et=K[1],rt=0|Math.floor(et),nt=et-rt,it=!1;e:for(var at=0;at<3;++at){X[at]=0;var ot=(G+at+1)%3;for(D=0;D<2;++D){var st=D?tt:1-tt;for(B=0|Math.min(Math.max($+D,0),i[0]),O=0;O<2;++O){var lt=O?nt:1-nt;if(N=0|Math.min(Math.max(rt+O,0),i[1]),F=at<2?this._field[ot].get(B,N):(this.intensity.get(B,N)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(F)||isNaN(F)){it=!0;break e}var ut=st*lt;X[at]+=ut*F}}}if(it){if(R>0){for(var ct=0;ct<5;++ct)H.pop();I-=1}continue t}H.push(X[0],X[1],K[0],K[1],X[2]),I+=1}}Y.push(I)}this._contourOffsets[G]=W,this._contourCounts[G]=Y}var ht=__.mallocFloat(H.length);for(a=0;a<H.length;++a)ht[a]=H[a];this._contourBuffer.update(ht),__.freeFloat(ht)}t.colormap&&this._colorMap.setPixels(function(t){var e=oW([LO({colormap:t,nshades:vW,format:\"rgba\"}).map(function(t){return[t[0],t[1],t[2],255*t[3]]})]);return ib.divseq(e,255),e}(t.colormap))},yW.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)__.freeFloat(this._field[t].data)},yW.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=__.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,yE(u,r[o])),p=f.cells,d=f.positions;for(this._dynamicOffsets[o]=n,e=0;e<p.length;++e)for(var g=p[e],v=0;v<2;++v){var m=d[g[v]],y=+m[0],x=0|y,b=0|Math.min(x+1,i[0]),_=y-x,w=1-_,M=+m[1],A=0|M,k=0|Math.min(A+1,i[1]),T=M-A,S=1-T,E=w*S,C=w*T,L=_*S,z=_*T,P=E*c.get(x,A)+C*c.get(x,k)+L*c.get(b,A)+z*c.get(b,k),I=E*h.get(x,A)+C*h.get(x,k)+L*h.get(b,A)+z*h.get(b,k);if(isNaN(P)||isNaN(I)){v&&(n-=1);break}a[2*n+0]=P,a[2*n+1]=I,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)),__.freeFloat(a)}};var zW=LE({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}),PW=function(t,e){return zW(t,e),t},IW=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};var DW=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,p=u*a-o*l,d=r*h+n*f+i*p;return d?(d=1/d,t[0]=h*d,t[1]=(-c*n+i*u)*d,t[2]=(s*n-i*o)*d,t[3]=f*d,t[4]=(c*r-i*l)*d,t[5]=(-s*r+i*a)*d,t[6]=p*d,t[7]=(-u*r+n*l)*d,t[8]=(o*r-n*a)*d,t):null};var OW=function(t,e){switch(e.length){case 0:break;case 1:t[0]=1/e[0];break;case 4:IW(t,e);break;case 9:DW(t,e);break;case 16:cz(t,e);break;default:throw new Error(\"currently supports matrices up to 4x4\")}return t};var RW={};function FW(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 BW(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 NW(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),p=n-f,d=0<=f&&f<t.shape[2],g=0<=f+1&&f+1<t.shape[2],v=o&&c&&d?t.get(i,l,f):0,m=o&&h&&d?t.get(i,l+1,f):0,y=s&&c&&d?t.get(i+1,l,f):0,x=s&&h&&d?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;return(1-p)*((1-u)*((1-a)*v+a*y)+u*((1-a)*m+a*x))+p*((1-u)*((1-a)*b+a*(s&&c&&g?t.get(i+1,l,f+1):0))+u*((1-a)*_+a*(s&&h&&g?t.get(i+1,l+1,f+1):0)))}(RW=function(t,e,r,n){switch(t.shape.length){case 0:return 0;case 1:return FW(t,e);case 2:return BW(t,e,r);case 3:return NW(t,e,r,n);default:return function(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}.apply(void 0,arguments)}}).d1=FW,RW.d2=BW,RW.d3=NW;var jW=LE({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=new Array(_inline_3_arg4_)}\",args:[{name:\"_inline_3_arg0_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_3_arg1_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_3_arg2_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_3_arg3_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_3_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_4_arg2_(this_warped,_inline_4_arg0_),_inline_4_arg1_=_inline_4_arg3_.apply(void 0,this_warped)}\",args:[{name:\"_inline_4_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_4_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_4_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_4_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_4_arg4_\",lvalue:!1,rvalue:!1,count:0}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warpND\",blockSize:64}),VW=LE({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=[0]}\",args:[],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_7_arg2_(this_warped,_inline_7_arg0_),_inline_7_arg1_=_inline_7_arg3_(_inline_7_arg4_,this_warped[0])}\",args:[{name:\"_inline_7_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_7_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_7_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_7_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_7_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warp1D\",blockSize:64}),UW=LE({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=[0,0]}\",args:[],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_(_inline_10_arg4_,this_warped[0],this_warped[1])}\",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:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warp2D\",blockSize:64}),qW=LE({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=[0,0,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],this_warped[1],this_warped[2])}\",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:\"warp3D\",blockSize:64}),HW=function(t,e,r){switch(e.shape.length){case 1:VW(t,r,RW.d1,e);break;case 2:UW(t,r,RW.d2,e);break;case 3:qW(t,r,RW.d3,e);break;default:jW(t,r,RW.bind(void 0,e),e.shape.length)}return t},GW=function(t,e,r){var n=e.dimension,i=OW([],r);return HW(t,e,function(t,e){for(var r=0;r<n;++r){t[r]=i[(n+1)*n+r];for(var a=0;a<n;++a)t[r]+=i[(n+1)*a+r]*e[a]}var o=i[(n+1)*(n+1)-1];for(a=0;a<n;++a)o+=i[(n+1)*a+n]*e[a];var s=1/o;for(r=0;r<n;++r)t[r]*=s;return t}),t};var WW=ne.isArrayOrTypedArray,YW=128;function XW(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.dataScale=1}var ZW=XW.prototype;function JW(t){var e=t.shape,r=[e[0]+2,e[1]+2],n=wb(new Float32Array(r[0]*r[1]),r);return ib.assign(n.lo(1,1).hi(e[0],e[1]),t),ib.assign(n.lo(1).hi(e[0],1),t.hi(e[0],1)),ib.assign(n.lo(1,r[1]-1).hi(e[0],1),t.lo(0,e[1]-1).hi(e[0],1)),ib.assign(n.lo(0,1).hi(1,e[1]),t.hi(1)),ib.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}ZW.handlePick=function(t){if(t.object===this.surface){var e=t.index=[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];WW(this.data.x)?WW(this.data.x[0])?r[0]=this.data.x[e[1]][e[0]]:r[0]=this.data.x[e[0]]:r[0]=e[0],WW(this.data.y)?WW(this.data.y[0])?r[1]=this.data.y[e[1]][e[0]]:r[1]=this.data.y[e[1]]:r[1]=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 Array.isArray(i)&&i[e[1]]&&void 0!==i[e[1]][e[0]]?t.textLabel=i[e[1]][e[0]]:t.textLabel=i||\"\",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}},ZW.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})},ZW.update=function(t){var e,r=this.scene,n=r.fullSceneLayout,i=this.surface,a=t.opacity,o=function(t,e){return void 0===e&&(e=1),t.map(function(t){var r=t[0],n=s(t[1]).toRgb();return{index:r,rgb:[n.r,n.g,n.b,e]}})}(t.colorscale,a),l=t.z,u=t.x,c=t.y,h=n.xaxis,f=n.yaxis,p=n.zaxis,d=r.dataScale,g=l[0].length,v=t._ylength,m=[wb(new Float32Array(g*v),[g,v]),wb(new Float32Array(g*v),[g,v]),wb(new Float32Array(g*v),[g,v])],y=m[0],x=m[1],b=r.contourLevels;this.data=t;var _=t.xcalendar,w=t.ycalendar,M=t.zcalendar;PW(m[2],function(t,e){return p.d2l(l[e][t],0,M)*d[2]}),WW(u)?WW(u[0])?PW(y,function(t,e){return h.d2l(u[e][t],0,_)*d[0]}):PW(y,function(t){return h.d2l(u[t],0,_)*d[0]}):PW(y,function(t){return h.d2l(t,0,_)*d[0]}),WW(u)?WW(c[0])?PW(x,function(t,e){return f.d2l(c[e][t],0,w)*d[1]}):PW(x,function(t,e){return f.d2l(c[e],0,w)*d[1]}):PW(x,function(t,e){return f.d2l(e,0,_)*d[1]});var A={colormap:o,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(A.intensityBounds=[t.cmin,t.cmax],t.surfacecolor){var k=wb(new Float32Array(g*v),[g,v]);PW(k,function(e,r){return t.surfacecolor[r][e]}),m.push(k)}else A.intensityBounds[0]*=d[2],A.intensityBounds[1]*=d[2];this.dataScale=function(t){var e=Math.max(t[0].shape[0],t[0].shape[1]);if(e<YW){for(var r=YW/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 o=JW(t[a]),s=wb(new Float32Array(i),n);GW(s,o,[r,0,0,0,r,0,0,0,1]),t[a]=s}return r}return 1}(m),t.surfacecolor&&(A.intensity=m.pop());var T=[!0,!0,!0],S=[\"x\",\"y\",\"z\"];for(e=0;e<3;++e){var E=t.contours[S[e]];T[e]=E.highlight,A.showContour[e]=E.show||E.highlight,A.showContour[e]&&(A.contourProject[e]=[E.project.x,E.project.y,E.project.z],E.show?(this.showContour[e]=!0,A.levels[e]=b[e],i.highlightColor[e]=A.contourColor[e]=WC(E.color),E.usecolormap?i.highlightTint[e]=A.contourTint[e]=0:i.highlightTint[e]=A.contourTint[e]=1,A.contourWidth[e]=E.width):this.showContour[e]=!1,E.highlight&&(A.dynamicColor[e]=WC(E.highlightcolor),A.dynamicWidth[e]=E.highlightwidth))}(function(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]})(o)&&(A.vertexColor=!0),A.coords=m,i.update(A),i.visible=t.visible,i.enableDynamic=T,i.snapToData=!0,\"lighting\"in t&&(i.ambientLight=t.lighting.ambient,i.diffuseLight=t.lighting.diffuse,i.specularLight=t.lighting.specular,i.roughness=t.lighting.roughness,i.fresnel=t.lighting.fresnel),\"lightposition\"in t&&(i.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z]),a&&a<1&&(i.supportsTransparency=!0)},ZW.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()};var KW=function(t,e){var r=t.glplot.gl,n=sW({gl:r}),i=new XW(t,n,e.uid);return n._trace=i,i.update(e),t.glplot.add(n),i};function QW(t,e,r){e in t&&!(r in t)&&(t[r]=t[e])}var $W={};$W.attributes=LD,$W.supplyDefaults=function(t,e,r,n){var i,a;function o(r,n){return ne.coerce(t,e,LD,r,n)}var s=o(\"z\");if(s){var l=o(\"x\");o(\"y\"),e._xlength=Array.isArray(l)&&ne.isArrayOrTypedArray(l[0])?s.length:s[0].length,e._ylength=s.length,P.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],n),o(\"text\"),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"hidesurface\",\"opacity\"].forEach(function(t){o(t)});var u=o(\"surfacecolor\");o(\"colorscale\");var c=[\"x\",\"y\",\"z\"];for(i=0;i<3;++i){var h=\"contours.\"+c[i],f=o(h+\".show\"),p=o(h+\".highlight\");if(f||p)for(a=0;a<3;++a)o(h+\".project.\"+c[a]);f&&(o(h+\".color\"),o(h+\".width\"),o(h+\".usecolormap\")),p&&(o(h+\".highlightcolor\"),o(h+\".highlightwidth\"))}u||(QW(t,\"zmin\",\"cmin\"),QW(t,\"zmax\",\"cmax\"),QW(t,\"zauto\",\"cauto\")),Ye(t,e,n,o,{prefix:\"\",cLetter:\"c\"})}else e.visible=!1},$W.colorbar=function(t,e){var n=e[0].trace,i=\"cb\"+n.uid,a=n.cmin,o=n.cmax,s=n.surfacecolor||n.z;if(r(a)||(a=ne.aggNums(Math.min,null,s)),r(o)||(o=ne.aggNums(Math.max,null,s)),t._fullLayout._infolayer.selectAll(\".\"+i).remove(),n.showscale){var l=e[0].t.cb=ns(t,i),u=Je.makeColorScaleFunc(Je.extractScale(n.colorscale,a,o),{noNumericCheck:!0});l.fillcolor(u).filllevels({start:a,end:o,size:(o-a)/254}).options(n.colorbar)()}else _n.autoMargin(t,i)},$W.calc=function(t,e){e.surfacecolor?Ve(e,e.surfacecolor,\"\",\"c\"):Ve(e,e.z,\"\",\"c\")},$W.plot=KW,$W.moduleType=\"trace\",$W.name=\"surface\",$W.basePlotModule=SD,$W.categories=[\"gl3d\",\"2dMap\",\"noOpacity\"],$W.meta={};var tY=$W,eY=m.extendFlat,rY=(0,ye.overrideAll)({domain:(0,qc.attributes)({name:\"table\",trace:!0}),columnwidth:{valType:\"number\",arrayOk:!0,dflt:null},columnorder:{valType:\"data_array\"},header:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[]},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:28},align:eY({},Jp.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:eY({},T({arrayOk:!0}))},cells:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[]},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:20},align:eY({},Jp.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:eY({},T({arrayOk:!0}))}},\"calc\",\"from-root\"),nY={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\\$.*\\$$/,goldenRatio:1.618,lineBreaker:\"<br>\",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:\"cubic-out\",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:\"cubic-out\",uplift:5,wrapSpacer:\" \",wrapSplitCharacter:\" \",cn:{table:\"table\",tableControlView:\"table-control-view\",scrollBackground:\"scroll-background\",yColumn:\"y-column\",columnBlock:\"column-block\",scrollAreaClip:\"scroll-area-clip\",scrollAreaClipRect:\"scroll-area-clip-rect\",columnBoundary:\"column-boundary\",columnBoundaryClippath:\"column-boundary-clippath\",columnBoundaryRect:\"column-boundary-rect\",columnCells:\"column-cells\",columnCell:\"column-cell\",cellRect:\"cell-rect\",cellText:\"cell-text\",cellTextHolder:\"cell-text-holder\",scrollbarKit:\"scrollbar-kit\",scrollbar:\"scrollbar\",scrollbarSlider:\"scrollbar-slider\",scrollbarGlyph:\"scrollbar-glyph\",scrollbarCaptureZone:\"scrollbar-capture-zone\"}},iY=m.extendFlat;function aY(t){return t.calcdata.columns.reduce(function(e,r){return r.xIndex<t.xIndex?e+r.columnWidth:e},0)}function oY(t,e){return Object.keys(t).map(function(r){return iY({},t[r],{auxiliaryBlocks:e})})}function sY(t,e){for(var r,n={},i=0,a=0,o={firstRowIndex:null,lastRowIndex:null,rows:[]},s=0,l=0,u=0;u<t.length;u++)r=t[u],o.rows.push({rowIndex:u,rowHeight:r}),((a+=r)>=e||u===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=u+1,a=0);return n}var lY={},uY=m.extendFlat;lY.splitToPanels=function(t){var e=[0,0],r=uY({},t,{key:\"header\",type:\"header\",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:uY({},t.calcdata,{cells:t.calcdata.headerCells})});return[uY({},t,{key:\"cells1\",type:\"cells\",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),uY({},t,{key:\"cells2\",type:\"cells\",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},lY.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0,n=e?r+e.rows.length:0;return[r,n]}(t);return(t.values||[]).slice(e[0],e[1]).map(function(r,n){return{keyWithinBlock:n+(\"string\"==typeof r&&r.match(/[<$&> ]/)?\"_keybuster_\"+Math.random():\"\"),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}})};var cY=ne.raiseToTop,hY=ne.cancelTransition,fY=function(t,n){var i=t._fullLayout._paper.selectAll(\".\"+nY.cn.table).data(n.map(function(e){var n=ZR.unwrap(e).trace;return function(t,e){var n=e.cells.values,i=function(t){return t.slice(e.header.values.length,t.length)},a=e.header.values.map(function(t){return Array.isArray(t)?t:[t]}).concat(i(n).map(function(){return[\"\"]})),o=e.domain,s=Math.floor(t._fullLayout._size.w*(o.x[1]-o.x[0])),l=Math.floor(t._fullLayout._size.h*(o.y[1]-o.y[0])),u=e.header.values.length?a[0].map(function(){return e.header.height}):[nY.emptyHeaderHeight],c=n.length?n[0].map(function(){return e.cells.height}):[],h=u.reduce(function(t,e){return t+e},0),f=sY(c,l-h+nY.uplift),p=oY(sY(u,h),[]),d=oY(f,p),g={},v=e._fullInput.columnorder.concat(i(n.map(function(t,e){return e}))),m=a.map(function(t,n){var i=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(n,e.columnwidth.length-1)]:e.columnwidth;return r(i)?Number(i):1}),y=m.reduce(function(t,e){return t+e},0);m=m.map(function(t){return t/y*s});var x={key:e.index,translateX:o.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-o.y[1]),size:t._fullLayout._size,width:s,height:l,columnOrder:v,groupHeight:l,rowBlocks:d,headerRowBlocks:p,scrollY:0,cells:e.cells,headerCells:iY({},e.header,{values:a}),gdColumns:a.map(function(t){return t[0]}),gdColumnsOriginalOrder:a.map(function(t){return t[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:a.map(function(t,e){var r=g[t];return g[t]=(r||0)+1,{key:t+\"__\"+g[t],label:t,specIndex:e,xIndex:v[e],xScale:aY,x:void 0,calcdata:void 0,columnWidth:m[e]}})};return x.columns.forEach(function(t){t.calcdata=x,t.x=aY(t)}),x}(t,n)}),ZR.keyFun);i.exit().remove(),i.enter().append(\"g\").classed(nY.cn.table,!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\",\"all\"),i.attr(\"width\",function(t){return t.width+t.size.l+t.size.r}).attr(\"height\",function(t){return t.height+t.size.t+t.size.b}).attr(\"transform\",function(t){return\"translate(\"+t.translateX+\",\"+t.translateY+\")\"});var a=i.selectAll(\".\"+nY.cn.tableControlView).data(ZR.repeat,ZR.keyFun);a.enter().append(\"g\").classed(nY.cn.tableControlView,!0).style(\"box-sizing\",\"content-box\").on(\"mousemove\",function(e){a.filter(function(t){return e===t}).call(vY,t)}).on(\"mousewheel\",function(r){r.scrollbarState.wheeling||(r.scrollbarState.wheeling=!0,e.event.stopPropagation(),e.event.preventDefault(),TY(t,a,null,r.scrollY+e.event.deltaY)(r),r.scrollbarState.wheeling=!1)}).call(vY,t,!0),a.attr(\"transform\",function(t){return\"translate(\"+t.size.l+\" \"+t.size.t+\")\"});var o=a.selectAll(\".\"+nY.cn.scrollBackground).data(ZR.repeat,ZR.keyFun);o.enter().append(\"rect\").classed(nY.cn.scrollBackground,!0).attr(\"fill\",\"none\"),o.attr(\"width\",function(t){return t.width}).attr(\"height\",function(t){return t.height}),a.each(function(r){Sr.setClipUrl(e.select(this),pY(t,r))});var s=a.selectAll(\".\"+nY.cn.yColumn).data(function(t){return t.columns},ZR.keyFun);s.enter().append(\"g\").classed(nY.cn.yColumn,!0),s.exit().remove(),s.attr(\"transform\",function(t){return\"translate(\"+t.x+\" 0)\"}).call(e.behavior.drag().origin(function(r){return _Y(e.select(this),r,-nY.uplift),cY(this),r.calcdata.columnDragInProgress=!0,vY(a.filter(function(t){return r.calcdata.key===t.key}),t),r}).on(\"drag\",function(t){var r=e.select(this),n=function(r){return(t===r?e.event.x:r.x)+r.columnWidth/2};t.x=Math.max(-nY.overdrag,Math.min(t.calcdata.width+nY.overdrag-t.columnWidth,e.event.x)),gY(s).filter(function(e){return e.calcdata.key===t.calcdata.key}).sort(function(t,e){return n(t)-n(e)}).forEach(function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e)}),s.filter(function(e){return t!==e}).transition().ease(nY.transitionEase).duration(nY.transitionDuration).attr(\"transform\",function(t){return\"translate(\"+t.x+\" 0)\"}),r.call(hY).attr(\"transform\",\"translate(\"+t.x+\" -\"+nY.uplift+\" )\")}).on(\"dragend\",function(r){var n=e.select(this),i=r.calcdata;r.x=r.xScale(r),r.calcdata.columnDragInProgress=!1,_Y(n,r,0),function(t,e,r){var n=e.gdColumnsOriginalOrder;e.gdColumns.sort(function(t,e){return r[n.indexOf(t)]-r[n.indexOf(e)]}),e.columnorder=r,t.emit(\"plotly_restyle\")}(t,i,i.columns.map(function(t){return t.xIndex}))})),s.each(function(r){Sr.setClipUrl(e.select(this),dY(t,r))});var l=s.selectAll(\".\"+nY.cn.columnBlock).data(lY.splitToPanels,ZR.keyFun);l.enter().append(\"g\").classed(nY.cn.columnBlock,!0).attr(\"id\",function(t){return t.key}),l.style(\"cursor\",function(t){return t.dragHandle?\"ew-resize\":t.calcdata.scrollbarState.barWiggleRoom?\"ns-resize\":\"default\"});var u=l.filter(MY),c=l.filter(wY);c.call(e.behavior.drag().origin(function(t){return e.event.stopPropagation(),t}).on(\"drag\",TY(t,a,-1)).on(\"dragend\",function(){})),mY(t,a,u,l),mY(t,a,c,l);var h=a.selectAll(\".\"+nY.cn.scrollAreaClip).data(ZR.repeat,ZR.keyFun);h.enter().append(\"clipPath\").classed(nY.cn.scrollAreaClip,!0).attr(\"id\",function(e){return pY(t,e)});var f=h.selectAll(\".\"+nY.cn.scrollAreaClipRect).data(ZR.repeat,ZR.keyFun);f.enter().append(\"rect\").classed(nY.cn.scrollAreaClipRect,!0).attr(\"x\",-nY.overdrag).attr(\"y\",-nY.uplift).attr(\"fill\",\"none\"),f.attr(\"width\",function(t){return t.width+2*nY.overdrag}).attr(\"height\",function(t){return t.height+nY.uplift}),s.selectAll(\".\"+nY.cn.columnBoundary).data(ZR.repeat,ZR.keyFun).enter().append(\"g\").classed(nY.cn.columnBoundary,!0);var p=s.selectAll(\".\"+nY.cn.columnBoundaryClippath).data(ZR.repeat,ZR.keyFun);p.enter().append(\"clipPath\").classed(nY.cn.columnBoundaryClippath,!0),p.attr(\"id\",function(e){return dY(t,e)});var d=p.selectAll(\".\"+nY.cn.columnBoundaryRect).data(ZR.repeat,ZR.keyFun);d.enter().append(\"rect\").classed(nY.cn.columnBoundaryRect,!0).attr(\"fill\",\"none\"),d.attr(\"width\",function(t){return t.columnWidth}).attr(\"height\",function(t){return t.calcdata.height+nY.uplift}),kY(null,c,a)};function pY(t,e){return\"clip\"+t._fullLayout._uid+\"_scrollAreaBottomClip_\"+e.key}function dY(t,e){return\"clip\"+t._fullLayout._uid+\"_columnBoundaryClippath_\"+e.calcdata.key+\"_\"+e.specIndex}function gY(t){return[].concat.apply([],t.map(function(t){return t})).map(function(t){return t.__data__})}function vY(t,r,n){var i=t.selectAll(\".\"+nY.cn.scrollbarKit).data(ZR.repeat,ZR.keyFun);i.enter().append(\"g\").classed(nY.cn.scrollbarKit,!0).style(\"shape-rendering\",\"geometricPrecision\"),i.each(function(t){var e=t.scrollbarState;e.totalHeight=function(t){var e=t.rowBlocks;return PY(e,e.length-1)+(e.length?IY(e[e.length-1],1/0):1)}(t),e.scrollableAreaHeight=t.groupHeight-AY(t),e.currentlyVisibleHeight=Math.min(e.totalHeight,e.scrollableAreaHeight),e.ratio=e.currentlyVisibleHeight/e.totalHeight,e.barLength=Math.max(e.ratio*e.currentlyVisibleHeight,nY.goldenRatio*nY.scrollbarWidth),e.barWiggleRoom=e.currentlyVisibleHeight-e.barLength,e.wiggleRoom=Math.max(0,e.totalHeight-e.scrollableAreaHeight),e.topY=0===e.barWiggleRoom?0:t.scrollY/e.wiggleRoom*e.barWiggleRoom,e.bottomY=e.topY+e.barLength,e.dragMultiplier=e.wiggleRoom/e.barWiggleRoom}).attr(\"transform\",function(t){return\"translate(\"+(t.width+nY.scrollbarWidth/2+nY.scrollbarOffset)+\" \"+AY(t)+\")\"});var a=i.selectAll(\".\"+nY.cn.scrollbar).data(ZR.repeat,ZR.keyFun);a.enter().append(\"g\").classed(nY.cn.scrollbar,!0);var o=a.selectAll(\".\"+nY.cn.scrollbarSlider).data(ZR.repeat,ZR.keyFun);o.enter().append(\"g\").classed(nY.cn.scrollbarSlider,!0),o.attr(\"transform\",function(t){return\"translate(0 \"+(t.scrollbarState.topY||0)+\")\"});var s=o.selectAll(\".\"+nY.cn.scrollbarGlyph).data(ZR.repeat,ZR.keyFun);s.enter().append(\"line\").classed(nY.cn.scrollbarGlyph,!0).attr(\"stroke\",\"black\").attr(\"stroke-width\",nY.scrollbarWidth).attr(\"stroke-linecap\",\"round\").attr(\"y1\",nY.scrollbarWidth/2),s.attr(\"y2\",function(t){return t.scrollbarState.barLength-nY.scrollbarWidth/2}).attr(\"stroke-opacity\",function(t){return t.columnDragInProgress||!t.scrollbarState.barWiggleRoom||n?0:.4}),s.transition().delay(0).duration(0),s.transition().delay(nY.scrollbarHideDelay).duration(nY.scrollbarHideDuration).attr(\"stroke-opacity\",0);var l=a.selectAll(\".\"+nY.cn.scrollbarCaptureZone).data(ZR.repeat,ZR.keyFun);l.enter().append(\"line\").classed(nY.cn.scrollbarCaptureZone,!0).attr(\"stroke\",\"white\").attr(\"stroke-opacity\",.01).attr(\"stroke-width\",nY.scrollbarCaptureWidth).attr(\"stroke-linecap\",\"butt\").attr(\"y1\",0).on(\"mousedown\",function(n){var i=e.event.y,a=this.getBoundingClientRect(),o=n.scrollbarState,s=i-a.top,l=e.scale.linear().domain([0,o.scrollableAreaHeight]).range([0,o.totalHeight]).clamp(!0);o.topY<=s&&s<=o.bottomY||TY(r,t,null,l(s-o.barLength/2))(n)}).call(e.behavior.drag().origin(function(t){return e.event.stopPropagation(),t.scrollbarState.scrollbarScrollInProgress=!0,t}).on(\"drag\",TY(r,t)).on(\"dragend\",function(){})),l.attr(\"y2\",function(t){return t.scrollbarState.scrollableAreaHeight})}function mY(t,r,n,i){var a=function(t){var e=t.selectAll(\".\"+nY.cn.columnCell).data(lY.splitToCells,function(t){return t.keyWithinBlock});return e.enter().append(\"g\").classed(nY.cn.columnCell,!0),e.exit().remove(),e}(function(t){var e=t.selectAll(\".\"+nY.cn.columnCells).data(ZR.repeat,ZR.keyFun);return e.enter().append(\"g\").classed(nY.cn.columnCells,!0),e.exit().remove(),e}(n));!function(t){t.each(function(t,e){var r=t.calcdata.cells.font,n=t.column.specIndex,i={size:bY(r.size,n,e),color:bY(r.color,n,e),family:bY(r.family,n,e)};t.rowNumber=t.key,t.align=bY(t.calcdata.cells.align,n,e),t.cellBorderWidth=bY(t.calcdata.cells.line.width,n,e),t.font=i})}(a),function(t){t.attr(\"width\",function(t){return t.column.columnWidth}).attr(\"stroke-width\",function(t){return t.cellBorderWidth}).each(function(t){var r=e.select(this);Oe.stroke(r,bY(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),Oe.fill(r,bY(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}(function(t){var e=t.selectAll(\".\"+nY.cn.cellRect).data(ZR.repeat,function(t){return t.keyWithinBlock});return e.enter().append(\"rect\").classed(nY.cn.cellRect,!0),e}(a));var o=function(t){var r=t.selectAll(\".\"+nY.cn.cellText).data(ZR.repeat,function(t){return t.keyWithinBlock});return r.enter().append(\"text\").classed(nY.cn.cellText,!0).style(\"cursor\",function(){return\"auto\"}).on(\"mousedown\",function(){e.event.stopPropagation()}),r}(function(t){var e=t.selectAll(\".\"+nY.cn.cellTextHolder).data(ZR.repeat,function(t){return t.keyWithinBlock});return e.enter().append(\"g\").classed(nY.cn.cellTextHolder,!0).style(\"shape-rendering\",\"geometricPrecision\"),e}(a));!function(t){t.each(function(t){Sr.font(e.select(this),t.font)})}(o),yY(o,r,i,t),zY(a)}function yY(t,r,n,i){t.text(function(t){var r=t.column.specIndex,n=t.rowNumber,i=t.value,a=\"string\"==typeof i,o=a&&i.match(/<br>/i),s=!a||o;t.mayHaveMarkup=a&&i.match(/[<&>]/);var l,u=\"string\"==typeof(l=i)&&l.match(nY.latexCheck);t.latex=u;var c,h,f=u?\"\":bY(t.calcdata.cells.prefix,r,n)||\"\",p=u?\"\":bY(t.calcdata.cells.suffix,r,n)||\"\",d=u?null:bY(t.calcdata.cells.format,r,n)||null,g=f+(d?e.format(d)(t.value):t.value)+p;if(t.wrappingNeeded=!t.wrapped&&!s&&!u&&(c=xY(g)),t.cellHeightMayIncrease=o||u||t.mayHaveMarkup||(void 0===c?xY(g):c),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var v=(\" \"===nY.wrapSplitCharacter?g.replace(/<a href=/gi,\"<a_href=\"):g).split(nY.wrapSplitCharacter),m=\" \"===nY.wrapSplitCharacter?v.map(function(t){return t.replace(/<a_href=/gi,\"<a href=\")}):v;t.fragments=m.map(function(t){return{text:t,width:null}}),t.fragments.push({fragment:nY.wrapSpacer,width:null}),h=m.join(nY.lineBreaker)+nY.lineBreaker+nY.wrapSpacer}else delete t.fragments,h=g;return h}).attr(\"dy\",function(t){return t.needsConvertToTspans?0:\"0.75em\"}).each(function(t){var a=e.select(this),o=t.wrappingNeeded?EY:CY;t.needsConvertToTspans?er.convertToTspans(a,i,o(n,this,r,i,t)):e.select(this.parentNode).attr(\"transform\",function(t){return\"translate(\"+LY(t)+\" \"+nY.cellPad+\")\"}).attr(\"text-anchor\",function(t){return{left:\"start\",center:\"middle\",right:\"end\"}[t.align]})})}function xY(t){return-1!==t.indexOf(nY.wrapSplitCharacter)}function bY(t,e,r){if(Array.isArray(t)){var n=t[Math.min(e,t.length-1)];return Array.isArray(n)?n[Math.min(r,n.length-1)]:n}return t}function _Y(t,e,r){t.transition().ease(nY.releaseTransitionEase).duration(nY.releaseTransitionDuration).attr(\"transform\",\"translate(\"+e.x+\" \"+r+\")\")}function wY(t){return\"cells\"===t.type}function MY(t){return\"header\"===t.type}function AY(t){return(t.rowBlocks.length?t.rowBlocks[0].auxiliaryBlocks:[]).reduce(function(t,e){return t+IY(e,1/0)},0)}function kY(t,e,r){var n=gY(e)[0];if(void 0!==n){var i=n.rowBlocks,a=n.calcdata,o=PY(i,i.length),s=n.calcdata.groupHeight-AY(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),u=function(t,e,r){for(var n=[],i=0,a=0;a<t.length;a++){for(var o=t[a],s=o.rows,l=0,u=0;u<s.length;u++)l+=s[u].rowHeight;o.allRowsHeight=l,e<i+l&&e+r>i&&n.push(a),i+=l}return n}(i,l,s);1===u.length&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),e.each(function(t,e){t.page=u[e],t.scrollY=l}),e.attr(\"transform\",function(t){return\"translate(0 \"+(PY(t.rowBlocks,t.page)-t.scrollY)+\")\"}),t&&(SY(t,r,e,u,n.prevPages,n,0),SY(t,r,e,u,n.prevPages,n,1),vY(r,t))}}function TY(t,r,n,i){return function(a){var o=a.calcdata?a.calcdata:a,s=r.filter(function(t){return o.key===t.key}),l=n||o.scrollbarState.dragMultiplier;o.scrollY=void 0===i?o.scrollY+l*e.event.dy:i;var u=s.selectAll(\".\"+nY.cn.yColumn).selectAll(\".\"+nY.cn.columnBlock).filter(wY);kY(t,u,s)}}function SY(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var a=r.filter(function(t,e){return e===o&&n[e]!==i[e]});mY(t,e,a,r),i[o]=n[o]}))}function EY(t,r,n){return function(){var i=e.select(r.parentNode);i.each(function(t){var e=t.fragments;i.selectAll(\"tspan.line\").each(function(t,r){e[r].width=this.getComputedTextLength()});var r,n,a=e[e.length-1].width,o=e.slice(0,-1),s=[],l=0,u=t.column.columnWidth-2*nY.cellPad;for(t.value=\"\";o.length;)l+(n=(r=o.shift()).width+a)>u&&(t.value+=s.join(nY.wrapSpacer)+nY.lineBreaker,s=[],l=0),s.push(r.text),l+=n;l&&(t.value+=s.join(nY.wrapSpacer)),t.wrapped=!0}),i.selectAll(\"tspan.line\").remove(),yY(i.select(\".\"+nY.cn.cellText),n,t),e.select(r.parentNode.parentNode).call(zY)}}function CY(t,r,n,i,a){return function(){if(!a.settledY){var o=e.select(r.parentNode),s=OY(a),l=a.key-s.firstRowIndex,u=s.rows[l].rowHeight,c=a.cellHeightMayIncrease?r.parentNode.getBoundingClientRect().height+2*nY.cellPad:u,h=Math.max(c,u);h-s.rows[l].rowHeight&&(s.rows[l].rowHeight=h,t.selectAll(\".\"+nY.cn.columnCell).call(zY),kY(null,t.filter(wY),0),vY(n,i,!0)),o.attr(\"transform\",function(){var t=this.parentNode.getBoundingClientRect(),r=e.select(this.parentNode).select(\".\"+nY.cn.cellRect).node().getBoundingClientRect(),n=this.transform.baseVal.consolidate(),i=r.top-t.top+(n?n.matrix.f:nY.cellPad);return\"translate(\"+LY(a,e.select(this.parentNode).select(\".\"+nY.cn.cellTextHolder).node().getBoundingClientRect().width)+\" \"+i+\")\"}),a.settledY=!0}}}function LY(t,e){switch(t.align){case\"left\":return nY.cellPad;case\"right\":return t.column.columnWidth-(e||0)-nY.cellPad;case\"center\":return(t.column.columnWidth-(e||0))/2;default:return nY.cellPad}}function zY(t){t.attr(\"transform\",function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce(function(t,e){return t+IY(e,1/0)},0);return\"translate(0 \"+(IY(OY(t),t.key)+e)+\")\"}).selectAll(\".\"+nY.cn.cellRect).attr(\"height\",function(t){return(e=OY(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r})}function PY(t,e){for(var r=0,n=e-1;n>=0;n--)r+=DY(t[n]);return r}function IY(t,e){for(var r=0,n=0;n<t.rows.length&&t.rows[n].rowIndex<e;n++)r+=t.rows[n].rowHeight;return r}function DY(t){var e=t.allRowsHeight;if(void 0!==e)return e;for(var r=0,n=0;n<t.rows.length;n++)r+=t.rows[n].rowHeight;return t.allRowsHeight=r,r}function OY(t){return t.rowBlocks[t.page]}var RY={},FY=sa.getModuleCalcData;RY.name=\"table\",RY.plot=function(t){var e=FY(t.calcdata,\"table\");e.length&&fY(t,e)},RY.clean=function(t,e,r,n){var i=n._has&&n._has(\"table\"),a=e._has&&e._has(\"table\");i&&!a&&n._paperdiv.selectAll(\".table\").remove()};var BY=ZR.wrap,NY=qc.defaults;var jY={};jY.attributes=rY,jY.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,rY,r,n)}NY(e,n,i),i(\"columnwidth\"),i(\"header.values\"),i(\"header.format\"),i(\"header.align\"),i(\"header.prefix\"),i(\"header.suffix\"),i(\"header.height\"),i(\"header.line.width\"),i(\"header.line.color\"),i(\"header.fill.color\"),ne.coerceFont(i,\"header.font\",ne.extendFlat({},n.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort(function(t,e){return t-e}),o=i.map(function(t){return a.indexOf(t)}),s=o.length;s<n;s++)o.push(s);e(\"columnorder\",o)}(e,i),i(\"cells.values\"),i(\"cells.format\"),i(\"cells.align\"),i(\"cells.prefix\"),i(\"cells.suffix\"),i(\"cells.height\"),i(\"cells.line.width\"),i(\"cells.line.color\"),i(\"cells.fill.color\"),ne.coerceFont(i,\"cells.font\",ne.extendFlat({},n.font))},jY.calc=function(t,e){return BY(e)},jY.plot=fY,jY.moduleType=\"trace\",jY.name=\"table\",jY.basePlotModule=RY,jY.categories=[\"noOpacity\"],jY.meta={};var VY=jY,UY=m.extendFlat,qY={y:cs.y,x:cs.x,x0:cs.x0,y0:cs.y0,name:cs.name,orientation:UY({},cs.orientation,{}),bandwidth:{valType:\"number\",min:0,editType:\"calc\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},scalemode:{valType:\"enumerated\",values:[\"width\",\"count\"],dflt:\"width\",editType:\"calc\"},spanmode:{valType:\"enumerated\",values:[\"soft\",\"hard\",\"manual\"],dflt:\"soft\",editType:\"calc\"},span:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:cs.fillcolor,points:UY({},cs.boxpoints,{}),jitter:UY({},cs.jitter,{}),pointpos:UY({},cs.pointpos,{}),marker:cs.marker,text:cs.text,box:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},width:{valType:\"number\",min:0,max:1,dflt:.25,editType:\"plot\"},fillcolor:{valType:\"color\",editType:\"style\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},editType:\"plot\"},meanline:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"plot\"},side:{valType:\"enumerated\",values:[\"both\",\"positive\",\"negative\"],dflt:\"both\",editType:\"plot\"},selected:cs.selected,unselected:cs.unselected,hoveron:{valType:\"flaglist\",flags:[\"violins\",\"points\",\"kde\"],dflt:\"violins+points+kde\",extras:[\"all\"],editType:\"style\"}},HY={},GY=function(t){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*t*t)};HY.makeKDE=function(t,e,r){var n=r.length,i=GY,a=t.bandwidth,o=1/(n*a);return function(t){for(var e=0,s=0;s<n;s++)e+=i((t-r[s])/a);return o*e}},HY.getPositionOnKdePath=function(t,e,r){var n,i;\"h\"===e.orientation?(n=\"y\",i=\"x\"):(n=\"x\",i=\"y\");var a=ne.findPointOnPath(t.path,r,i,{pathLength:t.pathLength}),o=t.posCenterPx,s=a[n];return[s,\"both\"===e.side?2*o-s:o]},HY.getKdeValue=function(t,e,r){var n=t.pts.map(HY.extractVal);return HY.makeKDE(t,e,n)(r)/t.posDensityScale},HY.extractVal=function(t){return t.v};var WY=t.BADNUM;function YY(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t.length,-.2)}function XY(t,e,r,n){var i,a=t.spanmode,o=t.span||[],s=[e.min,e.max],l=[e.min-2*n,e.max+2*n];function u(n){var i=o[n],a=r.d2c(i,0,t[e.valLetter+\"calendar\"]);return a===WY?l[n]:a}var c={type:\"linear\",range:i=\"soft\"===a?l:\"hard\"===a?s:[u(0),u(1)]};return ri.setConvert(c),c.cleanRange(),i}var ZY=ne.extendFlat,JY={violinmode:ZY({},ws.boxmode,{}),violingap:ZY({},ws.boxgap,{}),violingroupgap:ZY({},ws.boxgroupgap,{})},KY=Os,QY=[\"v\",\"h\"],$Y=Cx.stylePoints,tX={attributes:qY,layoutAttributes:JY,supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,qY,r,n)}function a(r,n){return ne.coerce2(t,e,qY,r,n)}if(ys.handleSampleDefaults(t,e,i,n),!1!==e.visible){i(\"bandwidth\"),i(\"scalegroup\",e.name),i(\"scalemode\"),i(\"side\");var o,s=i(\"span\");Array.isArray(s)&&(o=\"manual\"),i(\"spanmode\",o);var l=i(\"line.color\",(t.marker||{}).color||r),u=i(\"line.width\"),c=i(\"fillcolor\",Oe.addOpacity(e.line.color,.5));ys.handlePointsDefaults(t,e,i,{prefix:\"\"});var h=a(\"box.width\"),f=a(\"box.fillcolor\",c),p=a(\"box.line.color\",l),d=a(\"box.line.width\",u);i(\"box.visible\",Boolean(h||f||p||d))||delete e.box;var g=a(\"meanline.color\",l),v=a(\"meanline.width\",u);i(\"meanline.visible\",Boolean(g||v))||delete e.meanline}},supplyLayoutDefaults:function(t,e,r){As._supply(t,e,r,function(r,n){return ne.coerce(t,e,JY,r,n)},\"violin\")},calc:function(t,e){var r=fs(t,e);if(r[0].t.empty)return r;var n=t._fullLayout,i=ri.getFromId(t,e[\"h\"===e.orientation?\"xaxis\":\"yaxis\"]),a=n._violinScaleGroupStats,o=e.scalegroup,s=a[o];s||(s=a[o]={maxWidth:0,maxCount:0});for(var l=0;l<r.length;l++){var u=r[l],c=u.pts.map(HY.extractVal),h=c.length,f=YY(c,ne.stdev(c,h-1,u.mean),u.q3-u.q1),p=u.bandwidth=e.bandwidth||f,d=u.span=XY(e,u,i,p),g=d[1]-d[0],v=Math.ceil(g/(Math.min(f,p)/3)),m=g/v;if(!isFinite(m)||!isFinite(v))return ne.error(\"Something went wrong with computing the violin span\"),r[0].t.empty=!0,r;var y=HY.makeKDE(u,e,c);u.density=new Array(v);for(var x=0,b=d[0];b<d[1]+m/2;x++,b+=m){var _=y(b);s.maxWidth=Math.max(s.maxWidth,_),u.density[x]={v:_,t:b}}ri.expand(i,d,{padded:!0}),s.maxCount=Math.max(s.maxCount,c.length)}return r[0].t.labels.kde=ne._(t,\"kde:\"),r},setPositions:function(t,e){for(var r=t.calcdata,n=e.xaxis,i=e.yaxis,a=0;a<QY.length;a++){for(var o=QY[a],s=\"h\"===o?i:n,l=[],u=0,c=0,h=0;h<r.length;h++){var f=r[h],p=f[0].t,d=f[0].trace;!0!==d.visible||\"violin\"!==d.type||p.empty||d.orientation!==o||d.xaxis!==n._id||d.yaxis!==i._id||(l.push(h),!1!==d.points&&(u=Math.max(u,d.jitter-d.pointpos-1),c=Math.max(c,d.jitter+d.pointpos-1)))}KY(\"violin\",t,l,s,[u,c])}},plot:function(t,r,n){var i=t._fullLayout,a=r.xaxis,o=r.yaxis;function s(t){var e=wx(t,{xaxis:a,yaxis:o,connectGaps:!0,baseTolerance:.75,shape:\"spline\",simplify:!0});return Sr.smoothopen(e[0],1)}r.plot.select(\".violinlayer\").selectAll(\"g.trace.violins\").data(n).enter().append(\"g\").attr(\"class\",\"trace violins\").each(function(t){var n=t[0],l=n.t,u=n.trace,c=n.node3=e.select(this),h=i._numViolins,f=\"group\"===i.violinmode&&h>1,p=l.bdPos=l.dPos*(1-i.violingap)*(1-i.violingroupgap)/(f?h:1),d=l.bPos=f?2*l.dPos*((l.num+.5)/h-.5)*(1-i.violingap):0;if(!0!==u.visible||l.empty)e.select(this).remove();else{var g=r[l.valLetter+\"axis\"],v=r[l.posLetter+\"axis\"],m=\"both\"===u.side,y=m||\"positive\"===u.side,x=m||\"negative\"===u.side,b=u.box&&u.box.visible,_=u.meanline&&u.meanline.visible,w=i._violinScaleGroupStats[u.scalegroup];if(c.selectAll(\"path.violin\").data(ne.identity).enter().append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").attr(\"class\",\"violin\").each(function(t){var r,n,i,a,o,c,h,f,b=e.select(this),_=t.density,M=_.length,A=t.pos+d,k=v.c2p(A);switch(u.scalemode){case\"width\":r=w.maxWidth/p;break;case\"count\":r=w.maxWidth/p*(w.maxCount/t.pts.length)}if(y){for(h=new Array(M),o=0;o<M;o++)(f=h[o]={})[l.posLetter]=A+_[o].v/r,f[l.valLetter]=_[o].t;n=s(h)}if(x){for(h=new Array(M),c=0,o=M-1;c<M;c++,o--)(f=h[c]={})[l.posLetter]=A-_[o].v/r,f[l.valLetter]=_[o].t;i=s(h)}if(m)a=n+\"L\"+i.substr(1)+\"Z\";else{var T=[k,g.c2p(_[0].t)],S=[k,g.c2p(_[M-1].t)];\"h\"===u.orientation&&(T.reverse(),S.reverse()),a=y?\"M\"+T+\"L\"+n.substr(1)+\"L\"+S:\"M\"+S+\"L\"+i.substr(1)+\"L\"+T}b.attr(\"d\",a),t.posCenterPx=k,t.posDensityScale=r*p,t.path=b.node(),t.pathLength=t.path.getTotalLength()/(m?2:1)}),b){var M,A,k=u.box.width,T=u.box.line.width;m?(M=p*k,A=0):y?(M=[0,p*k/2],A=-T):(M=[p*k/2,0],A=T),u.whiskerwidth=0,Ls.plotBoxAndWhiskers(c,{pos:v,val:g},u,{bPos:d,bdPos:M,bPosPxOffset:A}),_&&Ls.plotBoxMean(c,{pos:v,val:g},u,{bPos:d,bdPos:M,bPosPxOffset:A})}else _&&c.selectAll(\"path.mean\").data(ne.identity).enter().append(\"path\").attr(\"class\",\"mean\").style({fill:\"none\",\"vector-effect\":\"non-scaling-stroke\"}).each(function(t){var r=g.c2p(t.mean,!0),n=HY.getPositionOnKdePath(t,u,r);e.select(this).attr(\"d\",\"h\"===u.orientation?\"M\"+r+\",\"+n[0]+\"V\"+n[1]:\"M\"+n[0]+\",\"+r+\"H\"+n[1])});u.points&&Ls.plotPoints(c,{x:a,y:o},u,l)}})},style:function(t,r){var n=r?r[0].node3:e.select(t).selectAll(\"g.trace.violins\");n.style(\"opacity\",function(t){return t[0].trace.opacity}),n.each(function(r){var n=r[0].trace,i=e.select(this),a=n.box||{},o=a.line||{},s=n.meanline||{},l=s.width;i.selectAll(\"path.violin\").style(\"stroke-width\",n.line.width+\"px\").call(Oe.stroke,n.line.color).call(Oe.fill,n.fillcolor),i.selectAll(\"path.box\").style(\"stroke-width\",o.width+\"px\").call(Oe.stroke,o.color).call(Oe.fill,a.fillcolor),i.selectAll(\"path.mean\").style({\"stroke-width\":l+\"px\",\"stroke-dasharray\":2*l+\"px,\"+l+\"px\"}).call(Oe.stroke,s.color),$Y(i,n,t)})},hoverPoints:function(t,e,r,n,i){var a,o,s=t.cd,l=s[0].trace,u=l.hoveron,c=-1!==u.indexOf(\"violins\"),h=-1!==u.indexOf(\"kde\"),f=[];if(c||h){var p=_s.hoverOnBoxes(t,e,r,n);if(c&&(f=f.concat(p)),h&&p.length>0){var d,g,v,m,y,x=t.xa,b=t.ya;\"h\"===l.orientation?(y=e,d=\"y\",v=b,g=\"x\",m=x):(y=r,d=\"x\",v=x,g=\"y\",m=b);var _=s[t.index];if(y>=_.span[0]&&y<=_.span[1]){var w=ne.extendFlat({},t),M=m.c2p(y,!0),A=HY.getKdeValue(_,l,y),k=HY.getPositionOnKdePath(_,l,M),T=v._offset,S=v._length;w[d+\"0\"]=k[0],w[d+\"1\"]=k[1],w[g+\"0\"]=w[g+\"1\"]=M,w[g+\"Label\"]=g+\": \"+ri.hoverLabelText(m,y)+\", \"+s[0].t.labels.kde+\" \"+A.toFixed(3),w.spikeDistance=p[0].spikeDistance;var E=d+\"Spike\";w[E]=p[0][E],p[0].spikeDistance=void 0,p[0][E]=void 0,f.push(w),(o={stroke:t.color})[d+\"1\"]=ne.constrain(T+k[0],T,T+S),o[d+\"2\"]=ne.constrain(T+k[1],T,T+S),o[g+\"1\"]=o[g+\"2\"]=m._offset+M}}}-1!==u.indexOf(\"points\")&&(a=_s.hoverOnPoints(t,e,r));var C=i.selectAll(\".violinline-\"+l.uid).data(o?[0]:[]);return C.enter().append(\"line\").classed(\"violinline-\"+l.uid,!0).attr(\"stroke-width\",1.5),C.exit().remove(),C.attr(o),\"closest\"===n?a?[a]:f:a?(f.push(a),f):f},selectPoints:zs,moduleType:\"trace\",name:\"violin\",basePlotModule:ua,categories:[\"cartesian\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\"],meta:{}};return Fx.register([os,Bs,Kx,qL,ZL,$L,YF,fp,qG,tX,Wj,tY,DR,dV,Sh,xq,aB,LL,LF,aH,uN,VY,Gu,tV,Ep,UR,iu,aG,uG]),Fx.register([Hi,qx,Yx,WG]),Fx.register([Ul]),Fx});\n",
       "});require(['plotly'], function(Plotly) {window.Plotly = Plotly;});}</script>"
      ],
      "text/vnd.plotly.v1+html": [
       "<script type='text/javascript'>if(!window.Plotly){define('plotly', function(require, exports, module) {/**\n",
       "* plotly.js v1.35.2\n",
       "* Copyright 2012-2018, 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{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).Plotly=t()}}(function(){var t={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEAVGYEAR:315576e5,ONEAVGMONTH:26298e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:1-1e-6,MINUS_SIGN:\"\\u2212\"},e={exports:{}};!function(){var t={version:\"3.5.17\"},r=[].slice,n=function(t){return r.call(t)},i=this.document;function a(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(i)try{n(i.documentElement.childNodes)[0].nodeType}catch(t){n=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}),i)try{i.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch(t){var s=this.Element.prototype,l=s.setAttribute,u=s.setAttributeNS,c=this.CSSStyleDeclaration.prototype,h=c.setProperty;s.setAttribute=function(t,e){l.call(this,t,e+\"\")},s.setAttributeNS=function(t,e,r){u.call(this,t,e,r+\"\")},c.setProperty=function(t,e,r){h.call(this,t,e+\"\",r)}}function f(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function p(t){return null===t?NaN:+t}function d(t){return!isNaN(t)}function g(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}}}t.ascending=f,t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.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},t.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},t.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]},t.sum=function(t,e){var r,n=0,i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)d(r=+t[a])&&(n+=r);else for(;++a<i;)d(r=+e.call(t,t[a],a))&&(n+=r);return n},t.mean=function(t,e){var r,n=0,i=t.length,a=-1,o=i;if(1===arguments.length)for(;++a<i;)d(r=p(t[a]))?n+=r:--o;else for(;++a<i;)d(r=p(e.call(t,t[a],a)))?n+=r:--o;if(o)return n/o},t.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},t.median=function(e,r){var n,i=[],a=e.length,o=-1;if(1===arguments.length)for(;++o<a;)d(n=p(e[o]))&&i.push(n);else for(;++o<a;)d(n=p(r.call(e,e[o],o)))&&i.push(n);if(i.length)return t.quantile(i.sort(f),.5)},t.variance=function(t,e){var r,n,i=t.length,a=0,o=0,s=-1,l=0;if(1===arguments.length)for(;++s<i;)d(r=p(t[s]))&&(o+=(n=r-a)*(r-(a+=n/++l)));else for(;++s<i;)d(r=p(e.call(t,t[s],s)))&&(o+=(n=r-a)*(r-(a+=n/++l)));if(l>1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var v=g(f);function m(t){return t.length}t.bisectLeft=v.left,t.bisect=t.bisectRight=v.right,t.bisector=function(t){return g(1===t.length?function(e,r){return f(t(e),r)}:t)},t.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},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.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},t.transpose=function(e){if(!(a=e.length))return[];for(var r=-1,n=t.min(e,m),i=new Array(n);++r<n;)for(var a,o=-1,s=i[r]=new Array(a);++o<a;)s[o]=e[o][r];return i},t.zip=function(){return t.transpose(arguments)},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},t.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(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function b(){this._=Object.create(null)}t.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=function(t){var e=1;for(;t*e%1;)e*=10;return e}(y(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)<e;)i.push(n/a);return i},t.map=function(t,e){var r=new b;if(t instanceof b)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 _=\"__proto__\",w=\"\\0\";function M(t){return(t+=\"\")===_||t[0]===w?w+t:t}function A(t){return(t+=\"\")[0]===w?t.slice(1):t}function k(t){return M(t)in this._}function T(t){return(t=M(t))in this._&&delete this._[t]}function S(){var t=[];for(var e in this._)t.push(A(e));return t}function E(){var t=0;for(var e in this._)++t;return t}function C(){for(var t in this._)return!1;return!0}function L(){this._=Object.create(null)}function z(t){return t}function P(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function I(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=D.length;r<n;++r){var i=D[r]+e;if(i in t)return i}}x(b,{has:k,get:function(t){return this._[M(t)]},set:function(t,e){return this._[M(t)]=e},remove:T,keys:S,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:A(e),value:this._[e]});return t},size:E,empty:C,forEach:function(t){for(var e in this._)t.call(this,A(e),this._[e])}}),t.nest=function(){var e,r,n={},i=[],a=[];function o(t,a,s){if(s>=i.length)return r?r.call(n,a):e?a.sort(e):a;for(var l,u,c,h,f=-1,p=a.length,d=i[s++],g=new b;++f<p;)(h=g.get(l=d(u=a[f])))?h.push(u):g.set(l,[u]);return t?(u=t(),c=function(e,r){u.set(e,o(t,r,s))}):(u={},c=function(e,r){u[e]=o(t,r,s)}),g.forEach(c),u}return n.map=function(t,e){return o(e,t,0)},n.entries=function(e){return function t(e,r){if(r>=i.length)return e;var n=[],o=a[r++];return e.forEach(function(e,i){n.push({key:e,values:t(i,r)})}),o?n.sort(function(t,e){return o(t.key,e.key)}):n}(o(t.map,e,0),0)},n.key=function(t){return i.push(t),n},n.sortKeys=function(t){return a[i.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new L;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},x(L,{has:k,add:function(t){return this._[M(t+=\"\")]=!0,t},remove:T,values:S,size:E,empty:C,forEach:function(t){for(var e in this._)t.call(this,A(e))}}),t.behavior={},t.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n<i;)t[r=arguments[n]]=P(t,e,e[r]);return t};var D=[\"webkit\",\"ms\",\"moz\",\"Moz\",\"o\",\"O\"];function O(){}function R(){}function F(t){var e=[],r=new b;function n(){for(var r,n=e,i=-1,a=n.length;++i<a;)(r=n[i].on)&&r.apply(this,arguments);return t}return n.on=function(n,i){var a,o=r.get(n);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,a=e.indexOf(o)).concat(e.slice(a+1)),r.remove(n)),i&&e.push(r.set(n,{on:i})),t)},n}function B(){t.event.preventDefault()}function N(){for(var e,r=t.event;e=r.sourceEvent;)r=e;return r}function j(e){for(var r=new R,n=0,i=arguments.length;++n<i;)r[arguments[n]]=F(r);return r.of=function(n,i){return function(a){try{var o=a.sourceEvent=t.event;a.target=e,t.event=a,r[a.type].apply(n,i)}finally{t.event=o}}},r}t.dispatch=function(){for(var t=new R,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=F(t);return t},R.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}},t.event=null,t.requote=function(t){return t.replace(V,\"\\\\$&\")};var V=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function q(t){return U(t,Y),t}var H=function(t,e){return e.querySelector(t)},G=function(t,e){return e.querySelectorAll(t)},W=function(t,e){var r=t.matches||t[I(t,\"matchesSelector\")];return(W=function(t,e){return r.call(t,e)})(t,e)};\"function\"==typeof Sizzle&&(H=function(t,e){return Sizzle(t,e)[0]||null},G=Sizzle,W=Sizzle.matchesSelector),t.selection=function(){return t.select(i.documentElement)};var Y=t.selection.prototype=[];function X(t){return\"function\"==typeof t?t:function(){return H(t,this)}}function Z(t){return\"function\"==typeof t?t:function(){return G(t,this)}}Y.select=function(t){var e,r,n,i,a=[];t=X(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 q(a)},Y.selectAll=function(t){var e,r,i=[];t=Z(t);for(var a=-1,o=this.length;++a<o;)for(var s=this[a],l=-1,u=s.length;++l<u;)(r=s[l])&&(i.push(e=n(t.call(r,r.__data__,l,a))),e.parentNode=r);return q(i)};var J=\"http://www.w3.org/1999/xhtml\",K={svg:\"http://www.w3.org/2000/svg\",xhtml:J,xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"};function Q(e,r){return e=t.ns.qualify(e),null==r?e.local?function(){this.removeAttributeNS(e.space,e.local)}:function(){this.removeAttribute(e)}:\"function\"==typeof r?e.local?function(){var t=r.apply(this,arguments);null==t?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,t)}:function(){var t=r.apply(this,arguments);null==t?this.removeAttribute(e):this.setAttribute(e,t)}:e.local?function(){this.setAttributeNS(e.space,e.local,r)}:function(){this.setAttribute(e,r)}}function $(t){return t.trim().replace(/\\s+/g,\" \")}function tt(e){return new RegExp(\"(?:^|\\\\s+)\"+t.requote(e)+\"(?:\\\\s+|$)\",\"g\")}function et(t){return(t+\"\").trim().split(/^|\\s+/)}function rt(t,e){var r=(t=et(t).map(nt)).length;return\"function\"==typeof e?function(){for(var n=-1,i=e.apply(this,arguments);++n<r;)t[n](this,i)}:function(){for(var n=-1;++n<r;)t[n](this,e)}}function nt(t){var e=tt(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\",$(i+\" \"+t))):r.setAttribute(\"class\",$(i.replace(e,\" \")))}}function it(t,e,r){return null==e?function(){this.style.removeProperty(t)}:\"function\"==typeof e?function(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,r)}:function(){this.style.setProperty(t,e,r)}}function at(t,e){return null==e?function(){delete this[t]}:\"function\"==typeof e?function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}:function(){this[t]=e}}function ot(e){return\"function\"==typeof e?e:(e=t.ns.qualify(e)).local?function(){return this.ownerDocument.createElementNS(e.space,e.local)}:function(){var t=this.ownerDocument,r=this.namespaceURI;return r===J&&t.documentElement.namespaceURI===J?t.createElement(e):t.createElementNS(r,e)}}function st(){var t=this.parentNode;t&&t.removeChild(this)}function lt(t){return{__data__:t}}function ut(t){return function(){return W(this,t)}}function ct(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 ht(t){return U(t,ft),t}t.ns={prefix:K,qualify:function(t){var e=t.indexOf(\":\"),r=t;return e>=0&&\"xmlns\"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),K.hasOwnProperty(r)?{space:K[r],local:t}:t}},Y.attr=function(e,r){if(arguments.length<2){if(\"string\"==typeof e){var n=this.node();return(e=t.ns.qualify(e)).local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}for(r in e)this.each(Q(r,e[r]));return this}return this.each(Q(e,r))},Y.classed=function(t,e){if(arguments.length<2){if(\"string\"==typeof t){var r=this.node(),n=(t=et(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(!tt(t[i]).test(e))return!1;return!0}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(t,e))},Y.style=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){for(r in n<2&&(e=\"\"),t)this.each(it(r,t[r],e));return this}if(n<2){var i=this.node();return o(i).getComputedStyle(i,null).getPropertyValue(t)}r=\"\"}return this.each(it(t,e,r))},Y.property=function(t,e){if(arguments.length<2){if(\"string\"==typeof t)return this.node()[t];for(e in t)this.each(at(e,t[e]));return this}return this.each(at(t,e))},Y.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},Y.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},Y.append=function(t){return t=ot(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Y.insert=function(t,e){return t=ot(t),e=X(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},Y.remove=function(){return this.each(st)},Y.data=function(t,e){var r,n,i=-1,a=this.length;if(!arguments.length){for(t=new Array(a=(r=this[0]).length);++i<a;)(n=r[i])&&(t[i]=n.__data__);return t}function o(t,r){var n,i,a,o=t.length,c=r.length,h=Math.min(o,c),f=new Array(c),p=new Array(c),d=new Array(o);if(e){var g,v=new b,m=new Array(o);for(n=-1;++n<o;)(i=t[n])&&(v.has(g=e.call(i,i.__data__,n))?d[n]=i:v.set(g,i),m[n]=g);for(n=-1;++n<c;)(i=v.get(g=e.call(r,a=r[n],n)))?!0!==i&&(f[n]=i,i.__data__=a):p[n]=lt(a),v.set(g,!0);for(n=-1;++n<o;)n in m&&!0!==v.get(m[n])&&(d[n]=t[n])}else{for(n=-1;++n<h;)i=t[n],a=r[n],i?(i.__data__=a,f[n]=i):p[n]=lt(a);for(;n<c;++n)p[n]=lt(r[n]);for(;n<o;++n)d[n]=t[n]}p.update=f,p.parentNode=f.parentNode=d.parentNode=t.parentNode,s.push(p),l.push(f),u.push(d)}var s=ht([]),l=q([]),u=q([]);if(\"function\"==typeof t)for(;++i<a;)o(r=this[i],t.call(r,r.parentNode.__data__,i));else for(;++i<a;)o(r=this[i],t);return l.enter=function(){return s},l.exit=function(){return u},l},Y.datum=function(t){return arguments.length?this.property(\"__data__\",t):this.property(\"__data__\")},Y.filter=function(t){var e,r,n,i=[];\"function\"!=typeof t&&(t=ut(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 q(i)},Y.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},Y.sort=function(t){t=function(t){arguments.length||(t=f);return function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}.apply(this,arguments);for(var e=-1,r=this.length;++e<r;)this[e].sort(t);return this.order()},Y.each=function(t){return ct(this,function(e,r,n){t.call(e,e.__data__,r,n)})},Y.call=function(t){var e=n(arguments);return t.apply(e[0]=this,e),this},Y.empty=function(){return!this.node()},Y.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},Y.size=function(){var t=0;return ct(this,function(){++t}),t};var ft=[];function pt(e,r,i){var a=\"__on\"+e,o=e.indexOf(\".\"),s=gt;o>0&&(e=e.slice(0,o));var l=dt.get(e);function u(){var t=this[a];t&&(this.removeEventListener(e,t,t.$),delete this[a])}return l&&(e=l,s=vt),o?r?function(){var t=s(r,n(arguments));u.call(this),this.addEventListener(e,this[a]=t,t.$=i),t._=r}:u:r?O:function(){var r,n=new RegExp(\"^__on([^.]+)\"+t.requote(e)+\"$\");for(var i in this)if(r=i.match(n)){var a=this[i];this.removeEventListener(r[1],a,a.$),delete this[i]}}}t.selection.enter=ht,t.selection.enter.prototype=ft,ft.append=Y.append,ft.empty=Y.empty,ft.node=Y.node,ft.call=Y.call,ft.size=Y.size,ft.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 q(o)},ft.insert=function(t,e){var r,n,i;return arguments.length<2&&(r=this,e=function(t,e,a){var o,s=r[a].update,l=s.length;for(a!=i&&(i=a,n=0),e>=n&&(n=e+1);!(o=s[n])&&++n<l;);return o}),Y.insert.call(this,t,e)},t.select=function(t){var e;return\"string\"==typeof t?(e=[H(t,i)]).parentNode=i.documentElement:(e=[t]).parentNode=a(t),q([e])},t.selectAll=function(t){var e;return\"string\"==typeof t?(e=n(G(t,i))).parentNode=i.documentElement:(e=n(t)).parentNode=null,q([e])},Y.on=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){for(r in n<2&&(e=!1),t)this.each(pt(r,t[r],e));return this}if(n<2)return(n=this.node()[\"__on\"+t])&&n._;r=!1}return this.each(pt(t,e,r))};var dt=t.map({mouseenter:\"mouseover\",mouseleave:\"mouseout\"});function gt(e,r){return function(n){var i=t.event;t.event=n,r[0]=this.__data__;try{e.apply(this,r)}finally{t.event=i}}}function vt(t,e){var r=gt(t,e);return function(t){var e=t.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||r.call(this,t)}}i&&dt.forEach(function(t){\"on\"+t in i&&dt.remove(t)});var mt,yt=0;function xt(e){var r=\".dragsuppress-\"+ ++yt,n=\"click\"+r,i=t.select(o(e)).on(\"touchmove\"+r,B).on(\"dragstart\"+r,B).on(\"selectstart\"+r,B);if(null==mt&&(mt=!(\"onselectstart\"in e)&&I(e.style,\"userSelect\")),mt){var s=a(e).style,l=s[mt];s[mt]=\"none\"}return function(t){if(i.on(r,null),mt&&(s[mt]=l),t){var e=function(){i.on(n,null)};i.on(n,function(){B(),e()},!0),setTimeout(e,0)}}}t.mouse=function(t){return _t(t,N())};var bt=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function _t(e,r){r.changedTouches&&(r=r.changedTouches[0]);var n=e.ownerSVGElement||e;if(n.createSVGPoint){var i=n.createSVGPoint();if(bt<0){var a=o(e);if(a.scrollX||a.scrollY){var s=(n=t.select(\"body\").append(\"svg\").style({position:\"absolute\",top:0,left:0,margin:0,padding:0,border:\"none\"},\"important\"))[0][0].getScreenCTM();bt=!(s.f||s.e),n.remove()}}return bt?(i.x=r.pageX,i.y=r.pageY):(i.x=r.clientX,i.y=r.clientY),[(i=i.matrixTransform(e.getScreenCTM().inverse())).x,i.y]}var l=e.getBoundingClientRect();return[r.clientX-l.left-e.clientLeft,r.clientY-l.top-e.clientTop]}function wt(){return t.event.changedTouches[0].identifier}t.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=N().changedTouches),e)for(var n,i=0,a=e.length;i<a;++i)if((n=e[i]).identifier===r)return _t(t,n)},t.behavior.drag=function(){var e=j(a,\"drag\",\"dragstart\",\"dragend\"),r=null,n=s(O,t.mouse,o,\"mousemove\",\"mouseup\"),i=s(wt,t.touch,z,\"touchmove\",\"touchend\");function a(){this.on(\"mousedown.drag\",n).on(\"touchstart.drag\",i)}function s(n,i,a,o,s){return function(){var l,u=t.event.target.correspondingElement||t.event.target,c=this.parentNode,h=e.of(this,arguments),f=0,p=n(),d=\".drag\"+(null==p?\"\":\"-\"+p),g=t.select(a(u)).on(o+d,function(){var t,e,r=i(c,p);if(!r)return;t=r[0]-m[0],e=r[1]-m[1],f|=t|e,m=r,h({type:\"drag\",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:e})}).on(s+d,function(){if(!i(c,p))return;g.on(o+d,null).on(s+d,null),v(f),h({type:\"dragend\"})}),v=xt(u),m=i(c,p);l=r?[(l=r.apply(this,arguments)).x-m[0],l.y-m[1]]:[0,0],h({type:\"dragstart\"})}}return a.origin=function(t){return arguments.length?(r=t,a):r},t.rebind(a,e,\"on\")},t.touches=function(t,e){return arguments.length<2&&(e=N().touches),e?n(e).map(function(e){var r=_t(t,e);return r.identifier=e.identifier,r}):[]};var Mt=1e-6,At=Mt*Mt,kt=Math.PI,Tt=2*kt,St=Tt-Mt,Et=kt/2,Ct=kt/180,Lt=180/kt;function zt(t){return t>0?1:t<0?-1:0}function Pt(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function It(t){return t>1?0:t<-1?kt:Math.acos(t)}function Dt(t){return t>1?Et:t<-1?-Et:Math.asin(t)}function Ot(t){return((t=Math.exp(t))+1/t)/2}function Rt(t){return(t=Math.sin(t/2))*t}var Ft=Math.SQRT2;t.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<At)n=Math.log(u/o)/Ft,r=function(t){return[i+t*c,a+t*h,o*Math.exp(Ft*t*n)]};else{var p=Math.sqrt(f),d=(u*u-o*o+4*f)/(2*o*2*p),g=(u*u-o*o-4*f)/(2*u*2*p),v=Math.log(Math.sqrt(d*d+1)-d),m=Math.log(Math.sqrt(g*g+1)-g);n=(m-v)/Ft,r=function(t){var e,r=t*n,s=Ot(v),l=o/(2*p)*(s*(e=Ft*r+v,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(v));return[i+l*c,a+l*h,o*s/Ot(Ft*r+v)]}}return r.duration=1e3*n,r},t.behavior.zoom=function(){var e,r,n,a,s,l,u,c,h,f={x:0,y:0,k:1},p=[960,500],d=jt,g=250,v=0,m=\"mousedown.zoom\",y=\"mousemove.zoom\",x=\"mouseup.zoom\",b=\"touchstart.zoom\",_=j(w,\"zoomstart\",\"zoom\",\"zoomend\");function w(t){t.on(m,z).on(Nt+\".zoom\",I).on(\"dblclick.zoom\",D).on(b,P)}function M(t){return[(t[0]-f.x)/f.k,(t[1]-f.y)/f.k]}function A(t){f.k=Math.max(d[0],Math.min(d[1],t))}function k(t,e){e=function(t){return[t[0]*f.k+f.x,t[1]*f.k+f.y]}(e),f.x+=t[0]-e[0],f.y+=t[1]-e[1]}function T(e,n,i,a){e.__chart__={x:f.x,y:f.y,k:f.k},A(Math.pow(2,a)),k(r=n,i),e=t.select(e),g>0&&(e=e.transition().duration(g)),e.call(w.event)}function S(){u&&u.domain(l.range().map(function(t){return(t-f.x)/f.k}).map(l.invert)),h&&h.domain(c.range().map(function(t){return(t-f.y)/f.k}).map(c.invert))}function E(t){v++||t({type:\"zoomstart\"})}function C(t){S(),t({type:\"zoom\",scale:f.k,translate:[f.x,f.y]})}function L(t){--v||(t({type:\"zoomend\"}),r=null)}function z(){var e=this,r=_.of(e,arguments),n=0,i=t.select(o(e)).on(y,function(){n=1,k(t.mouse(e),a),C(r)}).on(x,function(){i.on(y,null).on(x,null),s(n),L(r)}),a=M(t.mouse(e)),s=xt(e);ss.call(e),E(r)}function P(){var e,r=this,n=_.of(r,arguments),i={},a=0,o=\".zoom-\"+t.event.changedTouches[0].identifier,l=\"touchmove\"+o,u=\"touchend\"+o,c=[],h=t.select(r),p=xt(r);function d(){var n=t.touches(r);return e=f.k,n.forEach(function(t){t.identifier in i&&(i[t.identifier]=M(t))}),n}function g(){var e=t.event.target;t.select(e).on(l,v).on(u,y),c.push(e);for(var n=t.event.changedTouches,o=0,h=n.length;o<h;++o)i[n[o].identifier]=null;var p=d(),g=Date.now();if(1===p.length){if(g-s<500){var m=p[0];T(r,m,i[m.identifier],Math.floor(Math.log(f.k)/Math.LN2)+1),B()}s=g}else if(p.length>1){m=p[0];var x=p[1],b=m[0]-x[0],_=m[1]-x[1];a=b*b+_*_}}function v(){var o,l,u,c,h=t.touches(r);ss.call(r);for(var f=0,p=h.length;f<p;++f,c=null)if(u=h[f],c=i[u.identifier]){if(l)break;o=u,l=c}if(c){var d=(d=u[0]-o[0])*d+(d=u[1]-o[1])*d,g=a&&Math.sqrt(d/a);o=[(o[0]+u[0])/2,(o[1]+u[1])/2],l=[(l[0]+c[0])/2,(l[1]+c[1])/2],A(g*e)}s=null,k(o,l),C(n)}function y(){if(t.event.touches.length){for(var e=t.event.changedTouches,r=0,a=e.length;r<a;++r)delete i[e[r].identifier];for(var s in i)return void d()}t.selectAll(c).on(o,null),h.on(m,z).on(b,P),p(),L(n)}g(),E(n),h.on(m,null).on(b,g)}function I(){var i=_.of(this,arguments);a?clearTimeout(a):(ss.call(this),e=M(r=n||t.mouse(this)),E(i)),a=setTimeout(function(){a=null,L(i)},50),B(),A(Math.pow(2,.002*Bt())*f.k),k(r,e),C(i)}function D(){var e=t.mouse(this),r=Math.log(f.k)/Math.LN2;T(this,e,M(e),t.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}return Nt||(Nt=\"onwheel\"in i?(Bt=function(){return-t.event.deltaY*(t.event.deltaMode?120:1)},\"wheel\"):\"onmousewheel\"in i?(Bt=function(){return t.event.wheelDelta},\"mousewheel\"):(Bt=function(){return-t.event.detail},\"MozMousePixelScroll\")),w.event=function(e){e.each(function(){var e=_.of(this,arguments),n=f;cs?t.select(this).transition().each(\"start.zoom\",function(){f=this.__chart__||{x:0,y:0,k:1},E(e)}).tween(\"zoom:zoom\",function(){var i=p[0],a=p[1],o=r?r[0]:i/2,s=r?r[1]:a/2,l=t.interpolateZoom([(o-f.x)/f.k,(s-f.y)/f.k,i/f.k],[(o-n.x)/n.k,(s-n.y)/n.k,i/n.k]);return function(t){var r=l(t),n=i/r[2];this.__chart__=f={x:o-r[0]*n,y:s-r[1]*n,k:n},C(e)}}).each(\"interrupt.zoom\",function(){L(e)}).each(\"end.zoom\",function(){L(e)}):(this.__chart__=f,E(e),C(e),L(e))})},w.translate=function(t){return arguments.length?(f={x:+t[0],y:+t[1],k:f.k},S(),w):[f.x,f.y]},w.scale=function(t){return arguments.length?(f={x:f.x,y:f.y,k:null},A(+t),S(),w):f.k},w.scaleExtent=function(t){return arguments.length?(d=null==t?jt:[+t[0],+t[1]],w):d},w.center=function(t){return arguments.length?(n=t&&[+t[0],+t[1]],w):n},w.size=function(t){return arguments.length?(p=t&&[+t[0],+t[1]],w):p},w.duration=function(t){return arguments.length?(g=+t,w):g},w.x=function(t){return arguments.length?(u=t,l=t.copy(),f={x:0,y:0,k:1},w):u},w.y=function(t){return arguments.length?(h=t,c=t.copy(),f={x:0,y:0,k:1},w):h},t.rebind(w,_,\"on\")};var Bt,Nt,jt=[0,1/0];function Vt(){}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):ce(\"\"+t,he,Ut):new Ut(t,e,r)}t.color=Vt,Vt.prototype.toString=function(){return this.rgb()+\"\"},t.hsl=Ut;var qt=Ut.prototype=new Vt;function Ht(t,e,r){var n,i;function a(t){return Math.round(255*function(t){return t>360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Gt(e,r,n){return this instanceof Gt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Gt?new Gt(e.h,e.c,e.l):ee(e instanceof Xt?e.l:(e=fe((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Gt(e,r,n)}qt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,this.l/t)},qt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,t*this.l)},qt.rgb=function(){return Ht(this.h,this.s,this.l)},t.hcl=Gt;var Wt=Gt.prototype=new Vt;function Yt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Ct)*e,Math.sin(t)*e)}function Xt(t,e,r){return this instanceof Xt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Xt?new Xt(t.l,t.a,t.b):t instanceof Gt?Yt(t.h,t.c,t.l):fe((t=ae(t)).r,t.g,t.b):new Xt(t,e,r)}Wt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Zt*(arguments.length?t:1)))},Wt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Zt*(arguments.length?t:1)))},Wt.rgb=function(){return Yt(this.h,this.c,this.l).rgb()},t.lab=Xt;var Zt=18,Jt=.95047,Kt=1,Qt=1.08883,$t=Xt.prototype=new Vt;function te(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*Jt)-1.5371385*(n=re(n)*Kt)-.4985314*(a=re(a)*Qt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}function ee(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Lt,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ce(\"\"+t,ae,Ht):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+\"\"}$t.brighter=function(t){return new Xt(Math.min(100,this.l+Zt*(arguments.length?t:1)),this.a,this.b)},$t.darker=function(t){return new Xt(Math.max(0,this.l-Zt*(arguments.length?t:1)),this.a,this.b)},$t.rgb=function(){return te(this.l,this.a,this.b)},t.rgb=ae;var le=ae.prototype=new Vt;function ue(t){return t<16?\"0\"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ce(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(de(i[0]),de(i[1]),de(i[2]))}return(a=ge.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 he(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 fe(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),i=ne((.2126729*t+.7151522*e+.072175*r)/Kt);return Xt(116*i-16,500*(n-i),200*(i-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return\"%\"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.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 ae(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new ae(i,i,i)},le.darker=function(t){return new ae((t=Math.pow(.7,arguments.length?t:1))*this.r,t*this.g,t*this.b)},le.hsl=function(){return he(this.r,this.g,this.b)},le.toString=function(){return\"#\"+ue(this.r)+ue(this.g)+ue(this.b)};var ge=t.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});function ve(t){return\"function\"==typeof t?t:function(){return t}}function me(t){return function(e,r,n){return 2===arguments.length&&\"function\"==typeof r&&(n=r,r=null),ye(e,r,t,n)}}function ye(e,r,i,a){var o={},s=t.dispatch(\"beforesend\",\"progress\",\"load\",\"error\"),l={},u=new XMLHttpRequest,c=null;function h(){var t,e=u.status;if(!e&&function(t){var e=t.responseType;return e&&\"text\"!==e?t.response:t.responseText}(u)||e>=200&&e<300||304===e){try{t=i.call(o,u)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,u)}return!this.XDomainRequest||\"withCredentials\"in u||!/^(http(s)?:)?\\/\\//.test(e)||(u=new XDomainRequest),\"onload\"in u?u.onload=u.onerror=h:u.onreadystatechange=function(){u.readyState>3&&h()},u.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,u)}finally{t.event=r}},o.header=function(t,e){return t=(t+\"\").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+\"\",o)},o.mimeType=function(t){return arguments.length?(r=null==t?null:t+\"\",o):r},o.responseType=function(t){return arguments.length?(c=t,o):c},o.response=function(t){return i=t,o},[\"get\",\"post\"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}}),o.send=function(t,n,i){if(2===arguments.length&&\"function\"==typeof n&&(i=n,n=null),u.open(t,e,!0),null==r||\"accept\"in l||(l.accept=r+\",*/*\"),u.setRequestHeader)for(var a in l)u.setRequestHeader(a,l[a]);return null!=r&&u.overrideMimeType&&u.overrideMimeType(r),null!=c&&(u.responseType=c),null!=i&&o.on(\"error\",i).on(\"load\",function(t){i(null,t)}),s.beforesend.call(o,u),u.send(null==n?null:n),o},o.abort=function(){return u.abort(),o},t.rebind(o,s,\"on\"),null==a?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(a))}ge.forEach(function(t,e){ge.set(t,oe(e))}),t.functor=ve,t.xhr=me(z),t.dsv=function(t,e){var r=new RegExp('[\"'+t+\"\\n]\"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=ye(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'\"'+t.replace(/\\\"/g,'\"\"')+'\"':t}return i.parse=function(t,e){var r;return i.parseRows(t,function(t,n){if(r)return r(t,n-1);var i=new Function(\"d\",\"return {\"+t.map(function(t,e){return JSON.stringify(t)+\": d[\"+e+\"]\"}).join(\",\")+\"}\");r=e?function(t,r){return e(i(t),r)}:i})},i.parseRows=function(t,e){var r,i,a={},o={},s=[],l=t.length,u=0,c=0;function h(){if(u>=l)return o;if(i)return i=!1,a;var e=u;if(34===t.charCodeAt(e)){for(var r=e;r++<l;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}return u=r+2,13===(s=t.charCodeAt(r+1))?(i=!0,10===t.charCodeAt(r+2)&&++u):10===s&&(i=!0),t.slice(e+1,r).replace(/\"\"/g,'\"')}for(;u<l;){var s,c=1;if(10===(s=t.charCodeAt(u++)))i=!0;else if(13===s)i=!0,10===t.charCodeAt(u)&&(++u,++c);else if(s!==n)continue;return t.slice(e,u-c)}return t.slice(e)}for(;(r=h())!==o;){for(var f=[];r!==a&&r!==o;)f.push(r),r=h();e&&null==(f=e(f,c++))||s.push(f)}return s},i.format=function(e){if(Array.isArray(e[0]))return i.formatRows(e);var r=new L,n=[];return e.forEach(function(t){for(var e in t)r.has(e)||n.push(r.add(e))}),[n.map(l).join(t)].concat(e.map(function(e){return n.map(function(t){return l(e[t])}).join(t)})).join(\"\\n\")},i.formatRows=function(t){return t.map(s).join(\"\\n\")},i},t.csv=t.dsv(\",\",\"text/csv\"),t.tsv=t.dsv(\"\\t\",\"text/tab-separated-values\");var xe,be,_e,we,Me=this[I(this,\"requestAnimationFrame\")]||function(t){setTimeout(t,17)};function Ae(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var i={c:t,t:r+e,n:null};return be?be.n=i:xe=i,be=i,_e||(we=clearTimeout(we),_e=1,Me(ke)),i}function ke(){var t=Te(),e=Se()-t;e>24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(ke,e)),_e=0):(_e=1,Me(ke))}function Te(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:xe=e.n;return be=t,r}function Ee(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}t.timer=function(){Ae.apply(this,arguments)},t.timer.flush=function(){Te(),Se()},t.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var Ce=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xb5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"].map(function(t,e){var r=Math.pow(10,3*y(8-e));return{scale:e>8?function(t){return t/r}:function(t){return t*r},symbol:t}});t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Ee(e,r))),n=1+Math.floor(1e-12+Math.log(e)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),Ce[8+n/3]};var Le=/(?:([^{])?([<>=^]))?([+\\- ])?([$#])?(0)?(\\d+)?(,)?(\\.-?\\d+)?([a-z%])?/i,ze=t.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(e,r){return(e=t.round(e,Ee(e,r))).toFixed(Math.max(0,Math.min(20,Ee(e*(1+1e-15),r))))}});function Pe(t){return t+\"\"}var Ie=t.time={},De=Date;function Oe(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}Oe.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(){Re.setUTCDate.apply(this._,arguments)},setDay:function(){Re.setUTCDay.apply(this._,arguments)},setFullYear:function(){Re.setUTCFullYear.apply(this._,arguments)},setHours:function(){Re.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Re.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Re.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Re.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Re.setUTCSeconds.apply(this._,arguments)},setTime:function(){Re.setTime.apply(this._,arguments)}};var Re=Date.prototype;function Fe(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 De(r-1)),1),r}function a(t,r){return e(t=new De(+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}t.floor=t,t.round=n,t.ceil=i,t.offset=a,t.range=o;var s=t.utc=Be(t);return s.floor=s,s.round=Be(n),s.ceil=Be(i),s.offset=Be(a),s.range=function(t,e,r){try{De=Oe;var n=new Oe;return n._=t,o(n,e,r)}finally{De=Date}},t}function Be(t){return function(e,r){try{De=Oe;var n=new Oe;return n._=e,t(n,r)._}finally{De=Date}}}Ie.year=Fe(function(t){return(t=Ie.day(t)).setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),Ie.years=Ie.year.range,Ie.years.utc=Ie.year.utc.range,Ie.day=Fe(function(t){var e=new De(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}),Ie.days=Ie.day.range,Ie.days.utc=Ie.day.utc.range,Ie.dayOfYear=function(t){var e=Ie.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=Ie[t]=Fe(function(t){return(t=Ie.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=Ie.year(t).getDay();return Math.floor((Ie.dayOfYear(t)+(r+e)%7)/7)-(r!==e)});Ie[t+\"s\"]=r.range,Ie[t+\"s\"].utc=r.utc.range,Ie[t+\"OfYear\"]=function(t){var r=Ie.year(t).getDay();return Math.floor((Ie.dayOfYear(t)+(r+e)%7)/7)}}),Ie.week=Ie.sunday,Ie.weeks=Ie.sunday.range,Ie.weeks.utc=Ie.sunday.utc.range,Ie.weekOfYear=Ie.sundayOfYear;var Ne={\"-\":\"\",_:\" \",0:\"0\"},je=/^\\s*\\d+/,Ve=/^%/;function Ue(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 qe(e){return new RegExp(\"^(?:\"+e.map(t.requote).join(\"|\")+\")\",\"i\")}function He(t){for(var e=new b,r=-1,n=t.length;++r<n;)e.set(t[r].toLowerCase(),r);return e}function Ge(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function We(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.U=+n[0],r+n[0].length):-1}function Ye(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.W=+n[0],r+n[0].length):-1}function Xe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function Ze(t,e,r){je.lastIndex=0;var n,i=je.exec(e.slice(r,r+2));return i?(t.y=(n=+i[0])+(n>68?1900:2e3),r+i[0].length):-1}function Je(t,e,r){return/^[+-]\\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Ke(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Qe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function $e(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function tr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function er(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function rr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function nr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function ir(t){var e=t.getTimezoneOffset(),r=e>0?\"-\":\"+\",n=y(e)/60|0,i=y(e)%60;return r+Ue(n,\"0\",2)+Ue(i,\"0\",2)}function ar(t,e,r){Ve.lastIndex=0;var n=Ve.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function or(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)}}t.locale=function(e){return{numberFormat:function(e){var r=e.decimal,n=e.thousands,i=e.grouping,a=e.currency,o=i&&n?function(t,e){for(var r=t.length,a=[],o=0,s=i[0],l=0;r>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),a.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=i[o=(o+1)%i.length];return a.reverse().join(n)}:z;return function(e){var n=Le.exec(e),i=n[1]||\" \",s=n[2]||\">\",l=n[3]||\"-\",u=n[4]||\"\",c=n[5],h=+n[6],f=n[7],p=n[8],d=n[9],g=1,v=\"\",m=\"\",y=!1,x=!0;switch(p&&(p=+p.substring(1)),(c||\"0\"===i&&\"=\"===s)&&(c=i=\"0\",s=\"=\"),d){case\"n\":f=!0,d=\"g\";break;case\"%\":g=100,m=\"%\",d=\"f\";break;case\"p\":g=100,m=\"%\",d=\"r\";break;case\"b\":case\"o\":case\"x\":case\"X\":\"#\"===u&&(v=\"0\"+d.toLowerCase());case\"c\":x=!1;case\"d\":y=!0,p=0;break;case\"s\":g=-1,d=\"r\"}\"$\"===u&&(v=a[0],m=a[1]),\"r\"!=d||p||(d=\"g\"),null!=p&&(\"g\"==d?p=Math.max(1,Math.min(21,p)):\"e\"!=d&&\"f\"!=d||(p=Math.max(0,Math.min(20,p)))),d=ze.get(d)||Pe;var b=c&&f;return function(e){var n=m;if(y&&e%1)return\"\";var a=e<0||0===e&&1/e<0?(e=-e,\"-\"):\"-\"===l?\"\":l;if(g<0){var u=t.formatPrefix(e,p);e=u.scale(e),n=u.symbol+m}else e*=g;var _,w,M=(e=d(e,p)).lastIndexOf(\".\");if(M<0){var A=x?e.lastIndexOf(\"e\"):-1;A<0?(_=e,w=\"\"):(_=e.substring(0,A),w=e.substring(A))}else _=e.substring(0,M),w=r+e.substring(M+1);!c&&f&&(_=o(_,1/0));var k=v.length+_.length+w.length+(b?0:a.length),T=k<h?new Array(k=h-k+1).join(i):\"\";return b&&(_=o(T+_,T.length?h-w.length:1/0)),a+=v,e=_+w,(\"<\"===s?a+e+T:\">\"===s?T+a+e:\"^\"===s?T.substring(0,k>>=1)+a+e+T.substring(k):a+(b?e:T+e))+n}}}(e),timeFormat:function(e){var r=e.dateTime,n=e.date,i=e.time,a=e.periods,o=e.days,s=e.shortDays,l=e.months,u=e.shortMonths;function c(t){var e=t.length;function r(r){for(var n,i,a,o=[],s=-1,l=0;++s<e;)37===t.charCodeAt(s)&&(o.push(t.slice(l,s)),null!=(i=Ne[n=t.charAt(++s)])&&(n=t.charAt(++s)),(a=_[n])&&(n=a(r,null==i?\"e\"===n?\" \":\"0\":i)),o.push(n),l=s+1);return o.push(t.slice(l,s)),o.join(\"\")}return r.parse=function(e){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(h(r,t,e,0)!=e.length)return null;\"p\"in r&&(r.H=r.H%12+12*r.p);var n=null!=r.Z&&De!==Oe,i=new(n?Oe:De);return\"j\"in r?i.setFullYear(r.y,0,r.j):\"W\"in r||\"U\"in r?(\"w\"in r||(r.w=\"W\"in r?1:0),i.setFullYear(r.y,0,1),i.setFullYear(r.y,0,\"W\"in r?(r.w+6)%7+7*r.W-(i.getDay()+5)%7:r.w+7*r.U-(i.getDay()+6)%7)):i.setFullYear(r.y,r.m,r.d),i.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),n?i._:i},r.toString=function(){return t},r}function h(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=w[o in Ne?e.charAt(s++):o])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}c.utc=function(t){var e=c(t);function r(t){try{var r=new(De=Oe);return r._=t,e(r)}finally{De=Date}}return r.parse=function(t){try{De=Oe;var r=e.parse(t);return r&&r._}finally{De=Date}},r.toString=e.toString,r},c.multi=c.utc.multi=or;var f=t.map(),p=qe(o),d=He(o),g=qe(s),v=He(s),m=qe(l),y=He(l),x=qe(u),b=He(u);a.forEach(function(t,e){f.set(t.toLowerCase(),e)});var _={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return u[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:c(r),d:function(t,e){return Ue(t.getDate(),e,2)},e:function(t,e){return Ue(t.getDate(),e,2)},H:function(t,e){return Ue(t.getHours(),e,2)},I:function(t,e){return Ue(t.getHours()%12||12,e,2)},j:function(t,e){return Ue(1+Ie.dayOfYear(t),e,3)},L:function(t,e){return Ue(t.getMilliseconds(),e,3)},m:function(t,e){return Ue(t.getMonth()+1,e,2)},M:function(t,e){return Ue(t.getMinutes(),e,2)},p:function(t){return a[+(t.getHours()>=12)]},S:function(t,e){return Ue(t.getSeconds(),e,2)},U:function(t,e){return Ue(Ie.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Ue(Ie.mondayOfYear(t),e,2)},x:c(n),X:c(i),y:function(t,e){return Ue(t.getFullYear()%100,e,2)},Y:function(t,e){return Ue(t.getFullYear()%1e4,e,4)},Z:ir,\"%\":function(){return\"%\"}},w={a:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.w=v.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){p.lastIndex=0;var n=p.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){x.lastIndex=0;var n=x.exec(e.slice(r));return n?(t.m=b.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){m.lastIndex=0;var n=m.exec(e.slice(r));return n?(t.m=y.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,r){return h(t,_.c.toString(),e,r)},d:Qe,e:Qe,H:tr,I:tr,j:$e,L:nr,m:Ke,M:er,p:function(t,e,r){var n=f.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:rr,U:We,w:Ge,W:Ye,x:function(t,e,r){return h(t,_.x.toString(),e,r)},X:function(t,e,r){return h(t,_.X.toString(),e,r)},y:Ze,Y:Xe,Z:Je,\"%\":ar};return c}(e)}};var sr=t.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\"]});function lr(){}t.format=sr.numberFormat,t.geo={},lr.prototype={s:0,t:0,add:function(t){cr(t,this.t,ur),cr(ur.s,this.s,this),this.s?this.t+=ur.t:this.s=ur.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var ur=new lr;function cr(t,e,r){var n=r.s=t+e,i=n-t,a=n-i;r.t=t-a+(e-i)}function hr(t,e){t&&pr.hasOwnProperty(t.type)&&pr[t.type](t,e)}t.geo.stream=function(t,e){t&&fr.hasOwnProperty(t.type)?fr[t.type](t,e):hr(t,e)};var fr={Feature:function(t,e){hr(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n<i;)hr(r[n].geometry,e)}},pr={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){dr(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)dr(r[n],e,0)},Polygon:function(t,e){gr(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)gr(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n<i;)hr(r[n],e)}};function dr(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 gr(t,e){var r=-1,n=t.length;for(e.polygonStart();++r<n;)dr(t[r],e,1);e.polygonEnd()}t.geo.area=function(e){return vr=0,t.geo.stream(e,Cr),vr};var vr,mr,yr,xr,br,_r,wr,Mr,Ar,kr,Tr,Sr,Er=new lr,Cr={sphere:function(){vr+=4*kt},point:O,lineStart:O,lineEnd:O,polygonStart:function(){Er.reset(),Cr.lineStart=Lr},polygonEnd:function(){var t=2*Er;vr+=t<0?4*kt+t:t,Cr.lineStart=Cr.lineEnd=Cr.point=O}};function Lr(){var t,e,r,n,i;function a(t,e){e=e*Ct/2+kt/4;var a=(t*=Ct)-r,o=a>=0?1:-1,s=o*a,l=Math.cos(e),u=Math.sin(e),c=i*u,h=n*l+c*Math.cos(s),f=c*o*Math.sin(s);Er.add(Math.atan2(f,h)),r=t,n=l,i=u}Cr.point=function(o,s){Cr.point=a,r=(t=o)*Ct,n=Math.cos(s=(e=s)*Ct/2+kt/4),i=Math.sin(s)},Cr.lineEnd=function(){a(t,e)}}function zr(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 Pr(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Ir(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 Dr(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Or(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Rr(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 Fr(t){return[Math.atan2(t[1],t[0]),Dt(t[2])]}function Br(t,e){return y(t[0]-e[0])<Mt&&y(t[1]-e[1])<Mt}t.geo.bounds=function(){var e,r,n,i,a,o,s,l,u,c,h,f={point:p,lineStart:g,lineEnd:v,polygonStart:function(){f.point=m,f.lineStart=x,f.lineEnd=b,u=0,Cr.polygonStart()},polygonEnd:function(){Cr.polygonEnd(),f.point=p,f.lineStart=g,f.lineEnd=v,Er<0?(e=-(n=180),r=-(i=90)):u>Mt?i=90:u<-Mt&&(r=-90),h[0]=e,h[1]=n}};function p(t,a){c.push(h=[e=t,n=t]),a<r&&(r=a),a>i&&(i=a)}function d(t,o){var s=zr([t*Ct,o*Ct]);if(l){var u=Ir(l,s),c=Ir([u[1],-u[0],0],u);Rr(c),c=Fr(c);var h=t-a,f=h>0?1:-1,d=c[0]*Lt*f,g=y(h)>180;if(g^(f*a<d&&d<f*t))(v=c[1]*Lt)>i&&(i=v);else if(g^(f*a<(d=(d+360)%360-180)&&d<f*t)){var v;(v=-c[1]*Lt)<r&&(r=v)}else o<r&&(r=o),o>i&&(i=o);g?t<a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(t<e&&(e=t),t>n&&(n=t)):t>a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else p(t,o);l=s,a=t}function g(){f.point=d}function v(){h[0]=e,h[1]=n,f.point=p,l=null}function m(t,e){if(l){var r=t-a;u+=y(r)>180?r+(r>0?360:-360):r}else o=t,s=e;Cr.point(t,e),d(t,e)}function x(){Cr.lineStart()}function b(){m(o,s),Cr.lineEnd(),y(u)>Mt&&(e=-(n=180)),h[0]=e,h[1]=n,l=null}function _(t,e){return(e-=t)<0?e+360:e}function w(t,e){return t[0]-e[0]}function M(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}return function(a){if(i=n=-(e=r=1/0),c=[],t.geo.stream(a,f),u=c.length){c.sort(w);for(var o=1,s=[g=c[0]];o<u;++o)M((p=c[o])[0],g)||M(p[1],g)?(_(g[0],p[1])>_(g[0],g[1])&&(g[1]=p[1]),_(p[0],g[1])>_(g[0],g[1])&&(g[0]=p[0])):s.push(g=p);for(var l,u,p,d=-1/0,g=(o=0,s[u=s.length-1]);o<=u;g=p,++o)p=s[o],(l=_(g[1],p[0]))>d&&(d=l,e=p[0],n=g[1])}return c=h=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,i]]}}(),t.geo.centroid=function(e){mr=yr=xr=br=_r=wr=Mr=Ar=kr=Tr=Sr=0,t.geo.stream(e,Nr);var r=kr,n=Tr,i=Sr,a=r*r+n*n+i*i;return a<At&&(r=wr,n=Mr,i=Ar,yr<Mt&&(r=xr,n=br,i=_r),(a=r*r+n*n+i*i)<At)?[NaN,NaN]:[Math.atan2(n,r)*Lt,Dt(i/Math.sqrt(a))*Lt]};var Nr={sphere:O,point:jr,lineStart:Ur,lineEnd:qr,polygonStart:function(){Nr.lineStart=Hr},polygonEnd:function(){Nr.lineStart=Ur}};function jr(t,e){t*=Ct;var r=Math.cos(e*=Ct);Vr(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function Vr(t,e,r){xr+=(t-xr)/++mr,br+=(e-br)/mr,_r+=(r-_r)/mr}function Ur(){var t,e,r;function n(n,i){n*=Ct;var a=Math.cos(i*=Ct),o=a*Math.cos(n),s=a*Math.sin(n),l=Math.sin(i),u=Math.atan2(Math.sqrt((u=e*l-r*s)*u+(u=r*o-t*l)*u+(u=t*s-e*o)*u),t*o+e*s+r*l);yr+=u,wr+=u*(t+(t=o)),Mr+=u*(e+(e=s)),Ar+=u*(r+(r=l)),Vr(t,e,r)}Nr.point=function(i,a){i*=Ct;var o=Math.cos(a*=Ct);t=o*Math.cos(i),e=o*Math.sin(i),r=Math.sin(a),Nr.point=n,Vr(t,e,r)}}function qr(){Nr.point=jr}function Hr(){var t,e,r,n,i;function a(t,e){t*=Ct;var a=Math.cos(e*=Ct),o=a*Math.cos(t),s=a*Math.sin(t),l=Math.sin(e),u=n*l-i*s,c=i*o-r*l,h=r*s-n*o,f=Math.sqrt(u*u+c*c+h*h),p=r*o+n*s+i*l,d=f&&-It(p)/f,g=Math.atan2(f,p);kr+=d*u,Tr+=d*c,Sr+=d*h,yr+=g,wr+=g*(r+(r=o)),Mr+=g*(n+(n=s)),Ar+=g*(i+(i=l)),Vr(r,n,i)}Nr.point=function(o,s){t=o,e=s,Nr.point=a,o*=Ct;var l=Math.cos(s*=Ct);r=l*Math.cos(o),n=l*Math.sin(o),i=Math.sin(s),Vr(r,n,i)},Nr.lineEnd=function(){a(t,e),Nr.lineEnd=qr,Nr.point=jr}}function Gr(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 Wr(){return!0}function Yr(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(Br(r,n)){i.lineStart();for(var s=0;s<e;++s)i.point((r=t[s])[0],r[1]);i.lineEnd()}else{var l=new Zr(r,t,null,!0),u=new Zr(r,null,l,!1);l.o=u,a.push(l),o.push(u),u=new Zr(n,null,l=new Zr(n,t,null,!1),!0),l.o=u,a.push(l),o.push(u)}}}),o.sort(e),Xr(a),Xr(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 p=f,d=!0;p.v;)if((p=p.n)===f)return;c=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(s=0,u=c.length;s<u;++s)i.point((h=c[s])[0],h[1]);else n(p.x,p.n.x,1,i);p=p.n}else{if(d)for(s=(c=p.p.z).length-1;s>=0;--s)i.point((h=c[s])[0],h[1]);else n(p.x,p.p.x,-1,i);p=p.p}c=(p=p.o).z,d=!d}while(!p.v);i.lineEnd()}}}function Xr(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 Zr(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 Jr(e,r,n,i){return function(a,o){var s,l=r(o),u=a.invert(i[0],i[1]),c={point:h,lineStart:p,lineEnd:d,polygonStart:function(){c.point=b,c.lineStart=_,c.lineEnd=w,s=[],g=[]},polygonEnd:function(){c.point=h,c.lineStart=p,c.lineEnd=d,s=t.merge(s);var e=function(t,e){var r=t[0],n=t[1],i=[Math.sin(r),-Math.cos(r),0],a=0,o=0;Er.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],p=h[1]/2+kt/4,d=Math.sin(p),g=Math.cos(p),v=1;;){v===c&&(v=0);var m=(t=u[v])[0],y=t[1]/2+kt/4,x=Math.sin(y),b=Math.cos(y),_=m-f,w=_>=0?1:-1,M=w*_,A=M>kt,k=d*x;if(Er.add(Math.atan2(k*w*Math.sin(M),g*b+k*Math.cos(M))),a+=A?_+w*Tt:_,A^f>=r^m>=r){var T=Ir(zr(h),zr(t));Rr(T);var S=Ir(i,T);Rr(S);var E=(A^_>=0?-1:1)*Dt(S[2]);(n>E||n===E&&(T[0]||T[1]))&&(o+=A^_>=0?1:-1)}if(!v++)break;f=m,d=x,g=b,h=t}}return(a<-Mt||a<Mt&&Er<-Mt)^1&o}(u,g);s.length?(x||(o.polygonStart(),x=!0),Yr(s,$r,e,n,o)):e&&(x||(o.polygonStart(),x=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),x&&(o.polygonEnd(),x=!1),s=g=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function h(t,r){var n=a(t,r);e(t=n[0],r=n[1])&&o.point(t,r)}function f(t,e){var r=a(t,e);l.point(r[0],r[1])}function p(){c.point=f,l.lineStart()}function d(){c.point=h,l.lineEnd()}var g,v,m=Qr(),y=r(m),x=!1;function b(t,e){v.push([t,e]);var r=a(t,e);y.point(r[0],r[1])}function _(){y.lineStart(),v=[]}function w(){b(v[0][0],v[0][1]),y.lineEnd();var t,e=y.clean(),r=m.buffer(),n=r.length;if(v.pop(),g.push(v),v=null,n)if(1&e){var i,a=-1;if((n=(t=r[0]).length-1)>0){for(x||(o.polygonStart(),x=!0),o.lineStart();++a<n;)o.point((i=t[a])[0],i[1]);o.lineEnd()}}else n>1&&2&e&&r.push(r.pop().concat(r.shift())),s.push(r.filter(Kr))}return c}}function Kr(t){return t.length>1}function Qr(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:O,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function $r(t,e){return((t=t.x)[0]<0?t[1]-Et-Mt:Et-t[1])-((e=e.x)[0]<0?e[1]-Et-Mt:Et-e[1])}var tn=Jr(Wr,function(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?kt:-kt,l=y(a-r);y(l-kt)<Mt?(t.point(r,n=(n+o)/2>0?Et:-Et),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&&l>=kt&&(y(r-i)<Mt&&(r-=i*Mt),y(a-s)<Mt&&(a-=s*Mt),n=function(t,e,r,n){var i,a,o=Math.sin(t-r);return y(o)>Mt?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}(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(t,e,r,n){var i;if(null==t)i=r*Et,n.point(-kt,i),n.point(0,i),n.point(kt,i),n.point(kt,0),n.point(kt,-i),n.point(0,-i),n.point(-kt,-i),n.point(-kt,0),n.point(-kt,i);else if(y(t[0]-e[0])>Mt){var a=t[0]<e[0]?kt:-kt;i=r*a/2,n.point(-a,i),n.point(0,i),n.point(a,i)}else n.point(e[0],e[1])},[-kt,-kt/2]);function en(t,e,r,n){return function(i){var a,o=i.a,s=i.b,l=o.x,u=o.y,c=0,h=1,f=s.x-l,p=s.y-u;if(a=t-l,f||!(a>0)){if(a/=f,f<0){if(a<c)return;a<h&&(h=a)}else if(f>0){if(a>h)return;a>c&&(c=a)}if(a=r-l,f||!(a<0)){if(a/=f,f<0){if(a>h)return;a>c&&(c=a)}else if(f>0){if(a<c)return;a<h&&(h=a)}if(a=e-u,p||!(a>0)){if(a/=p,p<0){if(a<c)return;a<h&&(h=a)}else if(p>0){if(a>h)return;a>c&&(c=a)}if(a=n-u,p||!(a<0)){if(a/=p,p<0){if(a>h)return;a>c&&(c=a)}else if(p>0){if(a<c)return;a<h&&(h=a)}return c>0&&(i.a={x:l+c*f,y:u+c*p}),h<1&&(i.b={x:l+h*f,y:u+h*p}),i}}}}}}var rn=1e9;function nn(e,r,n,i){return function(l){var u,c,h,f,p,d,g,v,m,y,x,b=l,_=Qr(),w=en(e,r,n,i),M={point:T,lineStart:function(){M.point=S,c&&c.push(h=[]);y=!0,m=!1,g=v=NaN},lineEnd:function(){u&&(S(f,p),d&&m&&_.rejoin(),u.push(_.buffer()));M.point=T,m&&l.lineEnd()},polygonStart:function(){l=_,u=[],c=[],x=!0},polygonEnd:function(){l=b,u=t.merge(u);var r=function(t){for(var e=0,r=c.length,n=t[1],i=0;i<r;++i)for(var a,o=1,s=c[i],l=s.length,u=s[0];o<l;++o)a=s[o],u[1]<=n?a[1]>n&&Pt(u,a,t)>0&&++e:a[1]<=n&&Pt(u,a,t)<0&&--e,u=a;return 0!==e}([e,i]),n=x&&r,a=u.length;(n||a)&&(l.polygonStart(),n&&(l.lineStart(),A(null,null,1,l),l.lineEnd()),a&&Yr(u,o,r,A,l),l.polygonEnd()),u=c=h=null}};function A(t,o,l,u){var c=0,h=0;if(null==t||(c=a(t,l))!==(h=a(o,l))||s(t,o)<0^l>0)do{u.point(0===c||3===c?e:n,c>1?i:r)}while((c=(c+l+4)%4)!==h);else u.point(o[0],o[1])}function k(t,a){return e<=t&&t<=n&&r<=a&&a<=i}function T(t,e){k(t,e)&&l.point(t,e)}function S(t,e){var r=k(t=Math.max(-rn,Math.min(rn,t)),e=Math.max(-rn,Math.min(rn,e)));if(c&&h.push([t,e]),y)f=t,p=e,d=r,y=!1,r&&(l.lineStart(),l.point(t,e));else if(r&&m)l.point(t,e);else{var n={a:{x:g,y:v},b:{x:t,y:e}};w(n)?(m||(l.lineStart(),l.point(n.a.x,n.a.y)),l.point(n.b.x,n.b.y),r||l.lineEnd(),x=!1):r&&(l.lineStart(),l.point(t,e),x=!1)}g=t,v=e,m=r}return M};function a(t,i){return y(t[0]-e)<Mt?i>0?0:3:y(t[0]-n)<Mt?i>0?2:1:y(t[1]-r)<Mt?i>0?1:0:i>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=a(t,1),n=a(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]}}function an(t){var e=0,r=kt/3,n=Sn(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*kt/180,r=t[1]*kt/180):[e/kt*180,r/kt*180]},i}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,i=1+r*(2*n-r),a=Math.sqrt(i)/n;function o(t,e){var r=Math.sqrt(i-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),a-r*Math.cos(t)]}return o.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/n,Dt((i-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&&(i.valid=!1),(i=a(t)).valid=!0,i},extent:function(s){return arguments.length?(a=nn(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]])},(t.geo.conicEqualArea=function(){return an(on)}).raw=on,t.geo.albers=function(){return t.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},t.geo.albersUsa=function(){var e,r,n,i,a=t.geo.albers(),o=t.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=t.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};function u(t){var a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}return u.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)},u.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()}}},u.precision=function(t){return arguments.length?(a.precision(t),o.precision(t),s.precision(t),u):a.precision()},u.scale=function(t){return arguments.length?(a.scale(t),o.scale(.35*t),s.scale(t),u.translate(a.translate())):a.scale()},u.translate=function(t){if(!arguments.length)return a.translate();var e=a.scale(),c=+t[0],h=+t[1];return r=a.translate(t).clipExtent([[c-.455*e,h-.238*e],[c+.455*e,h+.238*e]]).stream(l).point,n=o.translate([c-.307*e,h+.201*e]).clipExtent([[c-.425*e+Mt,h+.12*e+Mt],[c-.214*e-Mt,h+.234*e-Mt]]).stream(l).point,i=s.translate([c-.205*e,h+.212*e]).clipExtent([[c-.214*e+Mt,h+.166*e+Mt],[c-.115*e-Mt,h+.234*e-Mt]]).stream(l).point,u},u.scale(1070)};var sn,ln,un,cn,hn,fn,pn={point:O,lineStart:O,lineEnd:O,polygonStart:function(){ln=0,pn.lineStart=dn},polygonEnd:function(){pn.lineStart=pn.lineEnd=pn.point=O,sn+=y(ln/2)}};function dn(){var t,e,r,n;function i(t,e){ln+=n*t-r*e,r=t,n=e}pn.point=function(a,o){pn.point=i,t=r=a,e=n=o},pn.lineEnd=function(){i(t,e)}}var gn={point:function(t,e){t<un&&(un=t);t>hn&&(hn=t);e<cn&&(cn=e);e>fn&&(fn=e)},lineStart:O,lineEnd:O,polygonStart:O,polygonEnd:O};function vn(t){return\"m0,\"+t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+-2*t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+2*t+\"z\"}var mn,yn={point:xn,lineStart:bn,lineEnd:_n,polygonStart:function(){yn.lineStart=wn},polygonEnd:function(){yn.point=xn,yn.lineStart=bn,yn.lineEnd=_n}};function xn(t,e){xr+=t,br+=e,++_r}function bn(){var t,e;function r(r,n){var i=r-t,a=n-e,o=Math.sqrt(i*i+a*a);wr+=o*(t+r)/2,Mr+=o*(e+n)/2,Ar+=o,xn(t=r,e=n)}yn.point=function(n,i){yn.point=r,xn(t=n,e=i)}}function _n(){yn.point=xn}function wn(){var t,e,r,n;function i(t,e){var i=t-r,a=e-n,o=Math.sqrt(i*i+a*a);wr+=o*(r+t)/2,Mr+=o*(n+e)/2,Ar+=o,kr+=(o=n*t-r*e)*(r+t),Tr+=o*(n+e),Sr+=3*o,xn(r=t,n=e)}yn.point=function(a,o){yn.point=i,xn(t=r=a,e=n=o)},yn.lineEnd=function(){i(t,e)}}function Mn(t){var e=.5,r=Math.cos(30*Ct),n=16;function i(e){return(n?function(e){var r,i,o,s,l,u,c,h,f,p,d,g,v={point:m,lineStart:y,lineEnd:b,polygonStart:function(){e.polygonStart(),v.lineStart=_},polygonEnd:function(){e.polygonEnd(),v.lineStart=y}};function m(r,n){r=t(r,n),e.point(r[0],r[1])}function y(){h=NaN,v.point=x,e.lineStart()}function x(r,i){var o=zr([r,i]),s=t(r,i);a(h,f,c,p,d,g,h=s[0],f=s[1],c=r,p=o[0],d=o[1],g=o[2],n,e),e.point(h,f)}function b(){v.point=m,e.lineEnd()}function _(){y(),v.point=w,v.lineEnd=M}function w(t,e){x(r=t,e),i=h,o=f,s=p,l=d,u=g,v.point=x}function M(){a(h,f,c,p,d,g,i,o,r,s,l,u,n,e),v.lineEnd=b,b()}return v}:function(e){return kn(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function a(n,i,o,s,l,u,c,h,f,p,d,g,v,m){var x=c-n,b=h-i,_=x*x+b*b;if(_>4*e&&v--){var w=s+p,M=l+d,A=u+g,k=Math.sqrt(w*w+M*M+A*A),T=Math.asin(A/=k),S=y(y(A)-1)<Mt||y(o-f)<Mt?(o+f)/2:Math.atan2(M,w),E=t(S,T),C=E[0],L=E[1],z=C-n,P=L-i,I=b*z-x*P;(I*I/_>e||y((x*z+b*P)/_-.5)>.3||s*p+l*d+u*g<r)&&(a(n,i,o,s,l,u,C,L,S,w/=k,M/=k,A,v,m),m.point(C,L),a(C,L,S,w,M,A,c,h,f,p,d,g,v,m))}}return i.precision=function(t){return arguments.length?(n=(e=t*t)>0&&16,i):Math.sqrt(e)},i}function An(t){this.stream=t}function kn(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 Tn(t){return Sn(function(){return t})()}function Sn(e){var r,n,i,a,o,s,l=Mn(function(t,e){return[(t=r(t,e))[0]*u+a,o-t[1]*u]}),u=150,c=480,h=250,f=0,p=0,d=0,g=0,v=0,m=tn,x=z,b=null,_=null;function w(t){return[(t=i(t[0]*Ct,t[1]*Ct))[0]*u+a,o-t[1]*u]}function M(t){return(t=i.invert((t[0]-a)/u,(o-t[1])/u))&&[t[0]*Lt,t[1]*Lt]}function A(){i=Gr(n=zn(d,g,v),r);var t=r(f,p);return a=c-t[0]*u,o=h+t[1]*u,k()}function k(){return s&&(s.valid=!1,s=null),w}return w.stream=function(t){return s&&(s.valid=!1),(s=En(m(n,l(x(t))))).valid=!0,s},w.clipAngle=function(t){return arguments.length?(m=null==t?(b=t,tn):function(t){var e=Math.cos(t),r=e>0,n=y(e)>Mt;return Jr(i,function(t){var e,s,l,u,c;return{lineStart:function(){u=l=!1,c=1},point:function(h,f){var p,d=[h,f],g=i(h,f),v=r?g?0:o(h,f):g?o(h+(h<0?kt:-kt),f):0;if(!e&&(u=l=g)&&t.lineStart(),g!==l&&(p=a(e,d),(Br(e,p)||Br(d,p))&&(d[0]+=Mt,d[1]+=Mt,g=i(d[0],d[1]))),g!==l)c=0,g?(t.lineStart(),p=a(d,e),t.point(p[0],p[1])):(p=a(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(n&&e&&r^g){var m;v&s||!(m=a(d,e,!0))||(c=0,r?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!g||e&&Br(e,d)||t.point(d[0],d[1]),e=d,l=g,s=v},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return c|(u&&l)<<1}}},On(t,6*Ct),r?[0,-t]:[-kt,t-kt]);function i(t,r){return Math.cos(t)*Math.cos(r)>e}function a(t,r,n){var i=[1,0,0],a=Ir(zr(t),zr(r)),o=Pr(a,a),s=a[0],l=o-s*s;if(!l)return!n&&t;var u=e*o/l,c=-e*s/l,h=Ir(i,a),f=Or(i,u);Dr(f,Or(a,c));var p=h,d=Pr(f,p),g=Pr(p,p),v=d*d-g*(Pr(f,f)-1);if(!(v<0)){var m=Math.sqrt(v),x=Or(p,(-d-m)/g);if(Dr(x,f),x=Fr(x),!n)return x;var b,_=t[0],w=r[0],M=t[1],A=r[1];w<_&&(b=_,_=w,w=b);var k=w-_,T=y(k-kt)<Mt;if(!T&&A<M&&(b=M,M=A,A=b),T||k<Mt?T?M+A>0^x[1]<(y(x[0]-_)<Mt?M:A):M<=x[1]&&x[1]<=A:k>kt^(_<=x[0]&&x[0]<=w)){var S=Or(p,(-d+m)/g);return Dr(S,f),[x,Fr(S)]}}}function o(e,n){var i=r?t:kt-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}}((b=+t)*Ct),k()):b},w.clipExtent=function(t){return arguments.length?(_=t,x=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):z,k()):_},w.scale=function(t){return arguments.length?(u=+t,A()):u},w.translate=function(t){return arguments.length?(c=+t[0],h=+t[1],A()):[c,h]},w.center=function(t){return arguments.length?(f=t[0]%360*Ct,p=t[1]%360*Ct,A()):[f*Lt,p*Lt]},w.rotate=function(t){return arguments.length?(d=t[0]%360*Ct,g=t[1]%360*Ct,v=t.length>2?t[2]%360*Ct:0,A()):[d*Lt,g*Lt,v*Lt]},t.rebind(w,l,\"precision\"),function(){return r=e.apply(this,arguments),w.invert=r.invert&&M,A()}}function En(t){return kn(t,function(e,r){t.point(e*Ct,r*Ct)})}function Cn(t,e){return[t,e]}function Ln(t,e){return[t>kt?t-Tt:t<-kt?t+Tt:t,e]}function zn(t,e,r){return t?e||r?Gr(In(t),Dn(e,r)):In(t):e||r?Dn(e,r):Ln}function Pn(t){return function(e,r){return[(e+=t)>kt?e-Tt:e<-kt?e+Tt:e,r]}}function In(t){var e=Pn(t);return e.invert=Pn(-t),e}function Dn(t,e){var r=Math.cos(t),n=Math.sin(t),i=Math.cos(e),a=Math.sin(e);function o(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,u=Math.sin(e),c=u*r+s*n;return[Math.atan2(l*i-c*a,s*r-u*n),Dt(c*i+l*a)]}return o.invert=function(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,u=Math.sin(e),c=u*i-l*a;return[Math.atan2(l*i+u*a,s*r+c*n),Dt(c*r-s*n)]},o}function On(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=Rn(r,i),a=Rn(r,a),(o>0?i<a:i>a)&&(i+=o*Tt)):(i=t+o*Tt,a=t-.5*l);for(var u,c=i;o>0?c>a:c<a;c-=l)s.point((u=Fr([r,-n*Math.cos(c),-n*Math.sin(c)]))[0],u[1])}}function Rn(t,e){var r=zr(e);r[0]-=t,Rr(r);var n=It(-r[1]);return((-r[2]<0?-n:n)+2*Math.PI-Mt)%(2*Math.PI)}function Fn(e,r,n){var i=t.range(e,r-Mt,n).concat(r);return function(t){return i.map(function(e){return[t,e]})}}function Bn(e,r,n){var i=t.range(e,r-Mt,n).concat(r);return function(t){return i.map(function(e){return[e,t]})}}function Nn(t){return t.source}function jn(t){return t.target}t.geo.path=function(){var e,r,n,i,a,o=4.5;function s(e){return e&&(\"function\"==typeof o&&i.pointRadius(+o.apply(this,arguments)),a&&a.valid||(a=n(i)),t.geo.stream(e,a)),i.result()}function l(){return a=null,s}return s.area=function(e){return sn=0,t.geo.stream(e,n(pn)),sn},s.centroid=function(e){return xr=br=_r=wr=Mr=Ar=kr=Tr=Sr=0,t.geo.stream(e,n(yn)),Sr?[kr/Sr,Tr/Sr]:Ar?[wr/Ar,Mr/Ar]:_r?[xr/_r,br/_r]:[NaN,NaN]},s.bounds=function(e){return hn=fn=-(un=cn=1/0),t.geo.stream(e,n(gn)),[[un,cn],[hn,fn]]},s.projection=function(t){return arguments.length?(n=(e=t)?t.stream||(r=t,i=Mn(function(t,e){return r([t*Lt,e*Lt])}),function(t){return En(i(t))}):z,l()):e;var r,i},s.context=function(t){return arguments.length?(i=null==(r=t)?new function(){var t=vn(4.5),e=[],r={point:n,lineStart:function(){r.point=i},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(e){return t=vn(e),r},result:function(){if(e.length){var t=e.join(\"\");return e=[],t}}};function n(r,n){e.push(\"M\",r,\",\",n,t)}function i(t,n){e.push(\"M\",t,\",\",n),r.point=a}function a(t,r){e.push(\"L\",t,\",\",r)}function o(){r.point=n}function s(){e.push(\"Z\")}return r}:new function(t){var e=4.5,r={point:n,lineStart:function(){r.point=i},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(t){return e=t,r},result:O};function n(r,n){t.moveTo(r+e,n),t.arc(r,n,e,0,Tt)}function i(e,n){t.moveTo(e,n),r.point=a}function a(e,r){t.lineTo(e,r)}function o(){r.point=n}function s(){t.closePath()}return r}(t),\"function\"!=typeof o&&i.pointRadius(o),l()):r},s.pointRadius=function(t){return arguments.length?(o=\"function\"==typeof t?t:(i.pointRadius(+t),+t),s):o},s.projection(t.geo.albersUsa()).context(null)},t.geo.transform=function(t){return{stream:function(e){var r=new An(e);for(var n in t)r[n]=t[n];return r}}},An.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()}},t.geo.projection=Tn,t.geo.projectionMutator=Sn,(t.geo.equirectangular=function(){return Tn(Cn)}).raw=Cn.invert=Cn,t.geo.rotation=function(t){function e(e){return(e=t(e[0]*Ct,e[1]*Ct))[0]*=Lt,e[1]*=Lt,e}return t=zn(t[0]%360*Ct,t[1]*Ct,t.length>2?t[2]*Ct:0),e.invert=function(e){return(e=t.invert(e[0]*Ct,e[1]*Ct))[0]*=Lt,e[1]*=Lt,e},e},Ln.invert=Cn,t.geo.circle=function(){var t,e,r=[0,0],n=6;function i(){var t=\"function\"==typeof r?r.apply(this,arguments):r,n=zn(-t[0]*Ct,-t[1]*Ct,0).invert,i=[];return e(null,null,1,{point:function(t,e){i.push(t=n(t,e)),t[0]*=Lt,t[1]*=Lt}}),{type:\"Polygon\",coordinates:[i]}}return i.origin=function(t){return arguments.length?(r=t,i):r},i.angle=function(r){return arguments.length?(e=On((t=+r)*Ct,n*Ct),i):t},i.precision=function(r){return arguments.length?(e=On(t*Ct,(n=+r)*Ct),i):n},i.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Ct,i=t[1]*Ct,a=e[1]*Ct,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)},t.geo.graticule=function(){var e,r,n,i,a,o,s,l,u,c,h,f,p=10,d=p,g=90,v=360,m=2.5;function x(){return{type:\"MultiLineString\",coordinates:b()}}function b(){return t.range(Math.ceil(i/g)*g,n,g).map(h).concat(t.range(Math.ceil(l/v)*v,s,v).map(f)).concat(t.range(Math.ceil(r/p)*p,e,p).filter(function(t){return y(t%g)>Mt}).map(u)).concat(t.range(Math.ceil(o/d)*d,a,d).filter(function(t){return y(t%v)>Mt}).map(c))}return x.lines=function(){return b().map(function(t){return{type:\"LineString\",coordinates:t}})},x.outline=function(){return{type:\"Polygon\",coordinates:[h(i).concat(f(s).slice(1),h(n).reverse().slice(1),f(l).reverse().slice(1))]}},x.extent=function(t){return arguments.length?x.majorExtent(t).minorExtent(t):x.minorExtent()},x.majorExtent=function(t){return arguments.length?(i=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],i>n&&(t=i,i=n,n=t),l>s&&(t=l,l=s,s=t),x.precision(m)):[[i,l],[n,s]]},x.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),o>a&&(t=o,o=a,a=t),x.precision(m)):[[r,o],[e,a]]},x.step=function(t){return arguments.length?x.majorStep(t).minorStep(t):x.minorStep()},x.majorStep=function(t){return arguments.length?(g=+t[0],v=+t[1],x):[g,v]},x.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],x):[p,d]},x.precision=function(t){return arguments.length?(m=+t,u=Fn(o,a,90),c=Bn(r,e,m),h=Fn(l,s,90),f=Bn(i,n,m),x):m},x.majorExtent([[-180,-90+Mt],[180,90-Mt]]).minorExtent([[-180,-80-Mt],[180,80+Mt]])},t.geo.greatArc=function(){var e,r,n=Nn,i=jn;function a(){return{type:\"LineString\",coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}return a.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},a.source=function(t){return arguments.length?(n=t,e=\"function\"==typeof t?null:t,a):n},a.target=function(t){return arguments.length?(i=t,r=\"function\"==typeof t?null:t,a):i},a.precision=function(){return arguments.length?a:0},a},t.geo.interpolate=function(t,e){return r=t[0]*Ct,n=t[1]*Ct,i=e[0]*Ct,a=e[1]*Ct,o=Math.cos(n),s=Math.sin(n),l=Math.cos(a),u=Math.sin(a),c=o*Math.cos(r),h=o*Math.sin(r),f=l*Math.cos(i),p=l*Math.sin(i),d=2*Math.asin(Math.sqrt(Rt(a-n)+o*l*Rt(i-r))),g=1/Math.sin(d),(v=d?function(t){var e=Math.sin(t*=d)*g,r=Math.sin(d-t)*g,n=r*c+e*f,i=r*h+e*p,a=r*s+e*u;return[Math.atan2(i,n)*Lt,Math.atan2(a,Math.sqrt(n*n+i*i))*Lt]}:function(){return[r*Lt,n*Lt]}).distance=d,v;var r,n,i,a,o,s,l,u,c,h,f,p,d,g,v},t.geo.length=function(e){return mn=0,t.geo.stream(e,Vn),mn};var Vn={sphere:O,point:O,lineStart:function(){var t,e,r;function n(n,i){var a=Math.sin(i*=Ct),o=Math.cos(i),s=y((n*=Ct)-t),l=Math.cos(s);mn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*a-e*o*l)*s),e*a+r*o*l),t=n,e=a,r=o}Vn.point=function(i,a){t=i*Ct,e=Math.sin(a*=Ct),r=Math.cos(a),Vn.point=n},Vn.lineEnd=function(){Vn.point=Vn.lineEnd=O}},lineEnd:O,polygonStart:O,polygonEnd:O};function Un(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}var qn=Un(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(t.geo.azimuthalEqualArea=function(){return Tn(qn)}).raw=qn;var Hn=Un(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},z);function Gn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(kt/4+t/2)},i=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),a=r*Math.pow(n(t),i)/i;if(!i)return Xn;function o(t,e){a>0?e<-Et+Mt&&(e=-Et+Mt):e>Et-Mt&&(e=Et-Mt);var r=a/Math.pow(n(e),i);return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}return o.invert=function(t,e){var r=a-e,n=zt(i)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/i,2*Math.atan(Math.pow(a/n,1/i))-Et]},o}function Wn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),i=r/n+t;if(y(n)<Mt)return Cn;function a(t,e){var r=i-e;return[r*Math.sin(n*t),i-r*Math.cos(n*t)]}return a.invert=function(t,e){var r=i-e;return[Math.atan2(t,r)/n,i-zt(n)*Math.sqrt(t*t+r*r)]},a}(t.geo.azimuthalEquidistant=function(){return Tn(Hn)}).raw=Hn,(t.geo.conicConformal=function(){return an(Gn)}).raw=Gn,(t.geo.conicEquidistant=function(){return an(Wn)}).raw=Wn;var Yn=Un(function(t){return 1/t},Math.atan);function Xn(t,e){return[t,Math.log(Math.tan(kt/4+e/2))]}function Zn(t){var e,r=Tn(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=kt*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)}(t.geo.gnomonic=function(){return Tn(Yn)}).raw=Yn,Xn.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Et]},(t.geo.mercator=function(){return Zn(Xn)}).raw=Xn;var Jn=Un(function(){return 1},Math.asin);(t.geo.orthographic=function(){return Tn(Jn)}).raw=Jn;var Kn=Un(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});function Qn(t,e){return[Math.log(Math.tan(kt/4+e/2)),-t]}function $n(t){return t[0]}function ti(t){return t[1]}function ei(t){for(var e=t.length,r=[0,1],n=2,i=2;i<e;i++){for(;n>1&&Pt(t[r[n-2]],t[r[n-1]],t[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function ri(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return Tn(Kn)}).raw=Kn,Qn.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Et]},(t.geo.transverseMercator=function(){var t=Zn(Qn),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90])}).raw=Qn,t.geom={},t.geom.hull=function(t){var e=$n,r=ti;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=ve(e),a=ve(r),o=t.length,s=[],l=[];for(n=0;n<o;n++)s.push([+i.call(this,t[n],n),+a.call(this,t[n],n),n]);for(s.sort(ri),n=0;n<o;n++)l.push([s[n][0],-s[n][1]]);var u=ei(s),c=ei(l),h=c[0]===u[0],f=c[c.length-1]===u[u.length-1],p=[];for(n=u.length-1;n>=0;--n)p.push(t[s[u[n]][2]]);for(n=+h;n<c.length-f;++n)p.push(t[s[c[n]][2]]);return p}return n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n},t.geom.polygon=function(t){return U(t,ni),t};var ni=t.geom.polygon.prototype=[];function ii(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function ai(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 oi(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}ni.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},ni.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]},ni.clip=function(t){for(var e,r,n,i,a,o,s=oi(t),l=-1,u=this.length-oi(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;)ii(o=e[r],c,i)?(ii(a,c,i)||t.push(ai(a,o,c,i)),t.push(o)):ii(a,c,i)&&t.push(ai(a,o,c,i)),a=o;s&&t.push(t[0]),c=i}return t};var si,li,ui,ci,hi,fi=[],pi=[];function di(t){var e=fi.pop()||new function(){Li(this),this.edge=this.site=this.circle=null};return e.site=t,e}function gi(t){Mi(t),ui.remove(t),fi.push(t),Li(t)}function vi(t){var e=t.circle,r=e.x,n=e.cy,i={x:r,y:n},a=t.P,o=t.N,s=[t];gi(t);for(var l=a;l.circle&&y(r-l.circle.x)<Mt&&y(n-l.circle.cy)<Mt;)a=l.P,s.unshift(l),gi(l),l=a;s.unshift(l),Mi(l);for(var u=o;u.circle&&y(r-u.circle.x)<Mt&&y(n-u.circle.cy)<Mt;)o=u.N,s.push(u),gi(u),u=o;s.push(u),Mi(u);var c,h=s.length;for(c=1;c<h;++c)u=s[c],l=s[c-1],Si(u.edge,l.site,u.site,i);l=s[0],(u=s[h-1]).edge=Ti(l.site,u.site,null,i),wi(l),wi(u)}function mi(t){for(var e,r,n,i,a=t.x,o=t.y,s=ui._;s;)if((n=yi(s,o)-a)>Mt)s=s.L;else{if(!((i=a-xi(s,o))>Mt)){n>-Mt?(e=s.P,r=s):i>-Mt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=di(t);if(ui.insert(e,l),e||r){if(e===r)return Mi(e),r=di(e.site),ui.insert(l,r),l.edge=r.edge=Ti(e.site,l.site),wi(e),void wi(r);if(r){Mi(e),Mi(r);var u=e.site,c=u.x,h=u.y,f=t.x-c,p=t.y-h,d=r.site,g=d.x-c,v=d.y-h,m=2*(f*v-p*g),y=f*f+p*p,x=g*g+v*v,b={x:(v*y-p*x)/m+c,y:(f*x-g*y)/m+h};Si(r.edge,u,d,b),l.edge=Ti(u,t,null,b),r.edge=Ti(t,d,null,b),wi(e),wi(r)}else l.edge=Ti(e.site,l.site)}}function yi(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;var s=(r=o.site).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 xi(t,e){var r=t.N;if(r)return yi(r,e);var n=t.site;return n.y===e?n.x:1/0}function bi(t){this.site=t,this.edges=[]}function _i(t,e){return e.angle-t.angle}function wi(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=2*(l*(v=a.y-s)-u*c);if(!(h>=-At)){var f=l*l+u*u,p=c*c+v*v,d=(v*f-u*p)/h,g=(l*p-c*f)/h,v=g+s,m=pi.pop()||new function(){Li(this),this.x=this.y=this.arc=this.site=this.cy=null};m.arc=t,m.site=i,m.x=d+o,m.y=v+Math.sqrt(d*d+g*g),m.cy=v,t.circle=m;for(var y=null,x=hi._;x;)if(m.y<x.y||m.y===x.y&&m.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}hi.insert(y,m),y||(ci=m)}}}}function Mi(t){var e=t.circle;e&&(e.P||(ci=e.N),hi.remove(e),pi.push(e),Li(e),t.circle=null)}function Ai(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,p=c.y,d=h.x,g=h.y,v=(f+d)/2,m=(p+g)/2;if(g===p){if(v<o||v>=s)return;if(f>d){if(a){if(a.y>=u)return}else a={x:v,y:l};r={x:v,y:u}}else{if(a){if(a.y<l)return}else a={x:v,y:u};r={x:v,y:l}}}else if(i=m-(n=(f-d)/(g-p))*v,n<-1||n>1)if(f>d){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(p<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 ki(t,e){this.l=t,this.r=e,this.a=this.b=null}function Ti(t,e,r,n){var i=new ki(t,e);return si.push(i),r&&Si(i,t,e,r),n&&Si(i,e,t,n),li[t.i].edges.push(new Ei(i,t,e)),li[e.i].edges.push(new Ei(i,e,t)),i}function Si(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 Ei(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 Ci(){this._=null}function Li(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function zi(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 Pi(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 Ii(t){for(;t.L;)t=t.L;return t}function Di(t,e){var r,n,i,a=t.sort(Oi).pop();for(si=[],li=new Array(t.length),ui=new Ci,hi=new Ci;;)if(i=ci,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))a.x===r&&a.y===n||(li[a.i]=new bi(a),mi(a),r=a.x,n=a.y),a=t.pop();else{if(!i)break;vi(i.arc)}e&&(function(t){for(var e,r=si,n=en(t[0][0],t[0][1],t[1][0],t[1][1]),i=r.length;i--;)(!Ai(e=r[i],t)||!n(e)||y(e.a.x-e.b.x)<Mt&&y(e.a.y-e.b.y)<Mt)&&(e.a=e.b=null,r.splice(i,1))}(e),function(t){for(var e,r,n,i,a,o,s,l,u,c,h=t[0][0],f=t[1][0],p=t[0][1],d=t[1][1],g=li,v=g.length;v--;)if((a=g[v])&&a.prepare())for(l=(s=a.edges).length,o=0;o<l;)n=(c=s[o].end()).x,i=c.y,e=(u=s[++o%l].start()).x,r=u.y,(y(n-e)>Mt||y(i-r)>Mt)&&(s.splice(o,0,new Ei((m=a.site,x=c,b=y(n-h)<Mt&&d-i>Mt?{x:h,y:y(e-h)<Mt?r:d}:y(i-d)<Mt&&f-n>Mt?{x:y(r-d)<Mt?e:f,y:d}:y(n-f)<Mt&&i-p>Mt?{x:f,y:y(e-f)<Mt?r:p}:y(i-p)<Mt&&n-h>Mt?{x:y(r-p)<Mt?e:h,y:p}:null,_=void 0,_=new ki(m,null),_.a=x,_.b=b,si.push(_),_),a.site,null)),++l);var m,x,b,_}(e));var o={cells:li,edges:si};return ui=hi=si=li=null,o}function Oi(t,e){return e.y-t.y||e.x-t.x}bi.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)(t=e[r].edge).b&&t.a||e.splice(r,1);return e.sort(_i),e.length},Ei.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}},Ci.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=Ii(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;)r===(n=r.U).L?(i=n.R)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.R&&(zi(this,r),r=(t=r).U),r.C=!1,n.C=!0,Pi(this,n)):(i=n.L)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.L&&(Pi(this,r),r=(t=r).U),r.C=!1,n.C=!0,zi(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?Ii(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)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&&(e.C=!1,i.C=!0,zi(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,Pi(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,zi(this,i),t=this._;break}}else if((e=i.L).C&&(e.C=!1,i.C=!0,Pi(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,zi(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,Pi(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},t.geom.voronoi=function(t){var e=$n,r=ti,n=e,i=r,a=Ri;if(t)return o(t);function o(t){var e=new Array(t.length),r=a[0][0],n=a[0][1],i=a[1][0],o=a[1][1];return Di(s(t),a).cells.forEach(function(a,s){var l=a.edges,u=a.site;(e[s]=l.length?l.map(function(t){var e=t.start();return[e.x,e.y]}):u.x>=r&&u.x<=i&&u.y>=n&&u.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]}),e}function s(t){return t.map(function(t,e){return{x:Math.round(n(t,e)/Mt)*Mt,y:Math.round(i(t,e)/Mt)*Mt,i:e}})}return o.links=function(t){return Di(s(t)).edges.filter(function(t){return t.l&&t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},o.triangles=function(t){var e=[];return Di(s(t)).cells.forEach(function(r,n){for(var i,a,o,s,l=r.site,u=r.edges.sort(_i),c=-1,h=u.length,f=u[h-1].edge,p=f.l===l?f.r:f.l;++c<h;)f,i=p,p=(f=u[c].edge).l===l?f.r:f.l,n<i.i&&n<p.i&&(o=i,s=p,((a=l).x-s.x)*(o.y-a.y)-(a.x-o.x)*(s.y-a.y)<0)&&e.push([t[n],t[i.i],t[p.i]])}),e},o.x=function(t){return arguments.length?(n=ve(e=t),o):e},o.y=function(t){return arguments.length?(i=ve(r=t),o):r},o.clipExtent=function(t){return arguments.length?(a=null==t?Ri:t,o):a===Ri?null:a},o.size=function(t){return arguments.length?o.clipExtent(t&&[[0,0],t]):a===Ri?null:a&&a[1]},o};var Ri=[[-1e6,-1e6],[1e6,1e6]];function Fi(t){return t.x}function Bi(t){return t.y}function Ni(e,r){e=t.rgb(e),r=t.rgb(r);var n=e.r,i=e.g,a=e.b,o=r.r-n,s=r.g-i,l=r.b-a;return function(t){return\"#\"+ue(Math.round(n+o*t))+ue(Math.round(i+s*t))+ue(Math.round(a+l*t))}}function ji(t,e){var r,n={},i={};for(r in t)r in e?n[r]=Gi(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 Vi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function Ui(t,e){var r,n,i,a=qi.lastIndex=Hi.lastIndex=0,o=-1,s=[],l=[];for(t+=\"\",e+=\"\";(r=qi.exec(t))&&(n=Hi.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:Vi(r,n)})),a=Hi.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(\"\")})}t.geom.delaunay=function(e){return t.geom.voronoi().triangles(e)},t.geom.quadtree=function(t,e,r,n,i){var a,o=$n,s=ti;if(a=arguments.length)return o=Fi,s=Bi,3===a&&(i=r,n=e,r=e=0),l(t);function l(t){var l,u,c,h,f,p,d,g,v,m=ve(o),x=ve(s);if(null!=e)p=e,d=r,g=n,v=i;else if(g=v=-(p=d=1/0),u=[],c=[],f=t.length,a)for(h=0;h<f;++h)(l=t[h]).x<p&&(p=l.x),l.y<d&&(d=l.y),l.x>g&&(g=l.x),l.y>v&&(v=l.y),u.push(l.x),c.push(l.y);else for(h=0;h<f;++h){var b=+m(l=t[h],h),_=+x(l,h);b<p&&(p=b),_<d&&(d=_),b>g&&(g=b),_>v&&(v=_),u.push(b),c.push(_)}var w=g-p,M=v-d;function A(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,u=t.y;if(null!=l)if(y(l-r)+y(u-n)<.01)k(t,e,r,n,i,a,o,s);else{var c=t.point;t.x=t.y=t.point=null,k(t,c,l,u,i,a,o,s),k(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else k(t,e,r,n,i,a,o,s)}function k(t,e,r,n,i,a,o,s){var l=.5*(i+o),u=.5*(a+s),c=r>=l,h=n>=u,f=h<<1|c;t.leaf=!1,t=t.nodes[f]||(t.nodes[f]={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){A(T,t,+m(t,++h),+x(t,h),p,d,g,v)}}),c?i=l:o=l,h?a=u:s=u,A(t,e,r,n,i,a,o,s)}w>M?v=d+w:g=p+M;var T={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){A(T,t,+m(t,++h),+x(t,h),p,d,g,v)}};if(T.visit=function(t){!function t(e,r,n,i,a,o){if(!e(r,n,i,a,o)){var s=.5*(n+a),l=.5*(i+o),u=r.nodes;u[0]&&t(e,u[0],n,i,s,l),u[1]&&t(e,u[1],s,i,a,l),u[2]&&t(e,u[2],n,l,s,o),u[3]&&t(e,u[3],s,l,a,o)}}(t,T,p,d,g,v)},T.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(u,c,h,f,p){if(!(c>a||h>o||f<n||p<i)){if(d=u.point){var d,g=e-u.x,v=r-u.y,m=g*g+v*v;if(m<l){var y=Math.sqrt(l=m);n=e-y,i=r-y,a=e+y,o=r+y,s=d}}for(var x=u.nodes,b=.5*(c+f),_=.5*(h+p),w=(r>=_)<<1|e>=b,M=w+4;w<M;++w)if(u=x[3&w])switch(3&w){case 0:t(u,c,h,b,_);break;case 1:t(u,b,h,f,_);break;case 2:t(u,c,_,b,p);break;case 3:t(u,b,_,f,p)}}}(t,n,i,a,o),s}(T,t[0],t[1],p,d,g,v)},h=-1,null==e){for(;++h<f;)A(T,t[h],u[h],c[h],p,d,g,v);--h}else t.forEach(T.add);return u=c=t=l=null,T}return l.x=function(t){return arguments.length?(o=t,l):o},l.y=function(t){return arguments.length?(s=t,l):s},l.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]),l):null==e?null:[[e,r],[n,i]]},l.size=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=r=0,n=+t[0],i=+t[1]),l):null==e?null:[n-e,i-r]},l},t.interpolateRgb=Ni,t.interpolateObject=ji,t.interpolateNumber=Vi,t.interpolateString=Ui;var qi=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,Hi=new RegExp(qi.source,\"g\");function Gi(e,r){for(var n,i=t.interpolators.length;--i>=0&&!(n=t.interpolators[i](e,r)););return n}function Wi(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(Gi(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}}t.interpolate=Gi,t.interpolators=[function(t,e){var r=typeof e;return(\"string\"===r?ge.has(e.toLowerCase())||/^(#|rgb\\(|hsl\\()/i.test(e)?Ni:Ui:e instanceof Vt?Ni:Array.isArray(e)?Wi:\"object\"===r&&isNaN(e)?ji:Vi)(t,e)}],t.interpolateArray=Wi;var Yi=function(){return z},Xi=t.map({linear:Yi,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return Qi},cubic:function(){return $i},sin:function(){return ea},exp:function(){return ra},circle:function(){return na},elastic:function(t,e){var r;arguments.length<2&&(e=.45);arguments.length?r=e/Tt*Math.asin(1/t):(t=1,r=e/4);return function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Tt/e)}},back:function(t){t||(t=1.70158);return function(e){return e*e*((t+1)*e-t)}},bounce:function(){return ia}}),Zi=t.map({in:z,out:Ji,\"in-out\":Ki,\"out-in\":function(t){return Ki(Ji(t))}});function Ji(t){return function(e){return 1-t(1-e)}}function Ki(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function Qi(t){return t*t}function $i(t){return t*t*t}function ta(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 ea(t){return 1-Math.cos(t*Et)}function ra(t){return Math.pow(2,10*(t-1))}function na(t){return 1-Math.sqrt(1-t*t)}function ia(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 aa(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function oa(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=la(i),s=sa(i,a),l=la(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]<a[0]*i[1]&&(i[0]*=-1,i[1]*=-1,o*=-1,s*=-1),this.rotate=(o?Math.atan2(i[1],i[0]):Math.atan2(-a[0],a[1]))*Lt,this.translate=[t.e,t.f],this.scale=[o,l],this.skew=l?Math.atan2(s,l)*Lt:0}function sa(t,e){return t[0]*e[0]+t[1]*e[1]}function la(t){var e=Math.sqrt(sa(t,t));return e&&(t[0]/=e,t[1]/=e),e}t.ease=function(t){var e,n=t.indexOf(\"-\"),i=n>=0?t.slice(0,n):t,a=n>=0?t.slice(n+1):\"in\";return i=Xi.get(i)||Yi,a=Zi.get(a)||z,e=a(i.apply(null,r.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,i=e.c,a=e.l,o=r.h-n,s=r.c-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.c:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Yt(n+o*t,i+s*t,a+l*t)+\"\"}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,i=e.s,a=e.l,o=r.h-n,s=r.s-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.s:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Ht(n+o*t,i+s*t,a+l*t)+\"\"}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,i=e.a,a=e.b,o=r.l-n,s=r.a-i,l=r.b-a;return function(t){return te(n+o*t,i+s*t,a+l*t)+\"\"}},t.interpolateRound=aa,t.transform=function(e){var r=i.createElementNS(t.ns.prefix.svg,\"g\");return(t.transform=function(t){if(null!=t){r.setAttribute(\"transform\",t);var e=r.transform.baseVal.consolidate()}return new oa(e?e.matrix:ua)})(e)},oa.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};var ua={a:1,b:0,c:0,d:1,e:0,f:0};function ca(t){return t.length?t.pop()+\",\":\"\"}function ha(e,r){var n=[],i=[];return e=t.transform(e),r=t.transform(r),function(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:Vi(t[0],e[0])},{i:i-2,x:Vi(t[1],e[1])})}else(e[0]||e[1])&&r.push(\"translate(\"+e+\")\")}(e.translate,r.translate,n,i),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(ca(r)+\"rotate(\",null,\")\")-2,x:Vi(t,e)})):e&&r.push(ca(r)+\"rotate(\"+e+\")\")}(e.rotate,r.rotate,n,i),function(t,e,r,n){t!==e?n.push({i:r.push(ca(r)+\"skewX(\",null,\")\")-2,x:Vi(t,e)}):e&&r.push(ca(r)+\"skewX(\"+e+\")\")}(e.skew,r.skew,n,i),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(ca(r)+\"scale(\",null,\",\",null,\")\");n.push({i:i-4,x:Vi(t[0],e[0])},{i:i-2,x:Vi(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(ca(r)+\"scale(\"+e+\")\")}(e.scale,r.scale,n,i),e=r=null,function(t){for(var e,r=-1,a=i.length;++r<a;)n[(e=i[r]).i]=e.x(t);return n.join(\"\")}}function fa(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function pa(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function da(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;var r=ga(t),n=ga(e),i=r.pop(),a=n.pop(),o=null;for(;i===a;)o=i,i=r.pop(),a=n.pop();return o}(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 ga(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function va(t){t.fixed|=2}function ma(t){t.fixed&=-7}function ya(t){t.fixed|=4,t.px=t.x,t.py=t.y}function xa(t){t.fixed&=-5}t.interpolateTransform=ha,t.layout={},t.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push(da(t[r]));return e}},t.layout.chord=function(){var e,r,n,i,a,o,s,l={},u=0;function c(){var l,c,f,p,d,g={},v=[],m=t.range(i),y=[];for(e=[],r=[],l=0,p=-1;++p<i;){for(c=0,d=-1;++d<i;)c+=n[p][d];v.push(c),y.push(t.range(i)),l+=c}for(a&&m.sort(function(t,e){return a(v[t],v[e])}),o&&y.forEach(function(t,e){t.sort(function(t,r){return o(n[e][t],n[e][r])})}),l=(Tt-u*i)/l,c=0,p=-1;++p<i;){for(f=c,d=-1;++d<i;){var x=m[p],b=y[x][d],_=n[x][b],w=c,M=c+=_*l;g[x+\"-\"+b]={index:x,subindex:b,startAngle:w,endAngle:M,value:_}}r[x]={index:x,startAngle:f,endAngle:c,value:v[x]},c+=u}for(p=-1;++p<i;)for(d=p-1;++d<i;){var A=g[p+\"-\"+d],k=g[d+\"-\"+p];(A.value||k.value)&&e.push(A.value<k.value?{source:k,target:A}:{source:A,target:k})}s&&h()}function h(){e.sort(function(t,e){return s((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}return l.matrix=function(t){return arguments.length?(i=(n=t)&&n.length,e=r=null,l):n},l.padding=function(t){return arguments.length?(u=t,e=r=null,l):u},l.sortGroups=function(t){return arguments.length?(a=t,e=r=null,l):a},l.sortSubgroups=function(t){return arguments.length?(o=t,e=null,l):o},l.sortChords=function(t){return arguments.length?(s=t,e&&h(),l):s},l.chords=function(){return e||c(),e},l.groups=function(){return r||c(),r},l},t.layout.force=function(){var e,r,n,i,a,o,s={},l=t.dispatch(\"start\",\"tick\",\"end\"),u=[1,1],c=.9,h=ba,f=_a,p=-30,d=wa,g=.1,v=.64,m=[],y=[];function x(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<d){var u=e.charge/l;t.px-=a*u,t.py-=o*u}return!0}if(e.point&&l&&l<d){u=e.pointCharge/l;t.px-=a*u,t.py-=o*u}}return!e.charge}}function b(e){e.px=t.event.x,e.py=t.event.y,s.resume()}return s.tick=function(){if((n*=.99)<.005)return e=null,l.end({type:\"end\",alpha:n=0}),!0;var r,s,h,f,d,v,b,_,w,M=m.length,A=y.length;for(s=0;s<A;++s)f=(h=y[s]).source,(v=(_=(d=h.target).x-f.x)*_+(w=d.y-f.y)*w)&&(_*=v=n*a[s]*((v=Math.sqrt(v))-i[s])/v,w*=v,d.x-=_*(b=f.weight+d.weight?f.weight/(f.weight+d.weight):.5),d.y-=w*b,f.x+=_*(b=1-b),f.y+=w*b);if((b=n*g)&&(_=u[0]/2,w=u[1]/2,s=-1,b))for(;++s<M;)(h=m[s]).x+=(_-h.x)*b,h.y+=(w-h.y)*b;if(p)for(!function t(e,r,n){var i=0,a=0;e.charge=0;if(!e.leaf)for(var o,s=e.nodes,l=s.length,u=-1;++u<l;)null!=(o=s[u])&&(t(o,r,n),e.charge+=o.charge,i+=o.charge*o.cx,a+=o.charge*o.cy);if(e.point){e.leaf||(e.point.x+=Math.random()-.5,e.point.y+=Math.random()-.5);var c=r*n[e.point.index];e.charge+=e.pointCharge=c,i+=c*e.point.x,a+=c*e.point.y}e.cx=i/e.charge;e.cy=a/e.charge}(r=t.geom.quadtree(m),n,o),s=-1;++s<M;)(h=m[s]).fixed||r.visit(x(h));for(s=-1;++s<M;)(h=m[s]).fixed?(h.x=h.px,h.y=h.py):(h.x-=(h.px-(h.px=h.x))*c,h.y-=(h.py-(h.py=h.y))*c);l.tick({type:\"tick\",alpha:n})},s.nodes=function(t){return arguments.length?(m=t,s):m},s.links=function(t){return arguments.length?(y=t,s):y},s.size=function(t){return arguments.length?(u=t,s):u},s.linkDistance=function(t){return arguments.length?(h=\"function\"==typeof t?t:+t,s):h},s.distance=s.linkDistance,s.linkStrength=function(t){return arguments.length?(f=\"function\"==typeof t?t:+t,s):f},s.friction=function(t){return arguments.length?(c=+t,s):c},s.charge=function(t){return arguments.length?(p=\"function\"==typeof t?t:+t,s):p},s.chargeDistance=function(t){return arguments.length?(d=t*t,s):Math.sqrt(d)},s.gravity=function(t){return arguments.length?(g=+t,s):g},s.theta=function(t){return arguments.length?(v=t*t,s):Math.sqrt(v)},s.alpha=function(t){return arguments.length?(t=+t,n?t>0?n=t:(e.c=null,e.t=NaN,e=null,l.end({type:\"end\",alpha:n=0})):t>0&&(l.start({type:\"start\",alpha:n=t}),e=Ae(s.tick)),s):n},s.start=function(){var t,e,r,n=m.length,l=y.length,c=u[0],d=u[1];for(t=0;t<n;++t)(r=m[t]).index=t,r.weight=0;for(t=0;t<l;++t)\"number\"==typeof(r=y[t]).source&&(r.source=m[r.source]),\"number\"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;t<n;++t)r=m[t],isNaN(r.x)&&(r.x=g(\"x\",c)),isNaN(r.y)&&(r.y=g(\"y\",d)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(i=[],\"function\"==typeof h)for(t=0;t<l;++t)i[t]=+h.call(this,y[t],t);else for(t=0;t<l;++t)i[t]=h;if(a=[],\"function\"==typeof f)for(t=0;t<l;++t)a[t]=+f.call(this,y[t],t);else for(t=0;t<l;++t)a[t]=f;if(o=[],\"function\"==typeof p)for(t=0;t<n;++t)o[t]=+p.call(this,m[t],t);else for(t=0;t<n;++t)o[t]=p;function g(r,i){if(!e){for(e=new Array(n),u=0;u<n;++u)e[u]=[];for(u=0;u<l;++u){var a=y[u];e[a.source.index].push(a.target),e[a.target.index].push(a.source)}}for(var o,s=e[t],u=-1,c=s.length;++u<c;)if(!isNaN(o=s[u][r]))return o;return Math.random()*i}return s.resume()},s.resume=function(){return s.alpha(.1)},s.stop=function(){return s.alpha(0)},s.drag=function(){if(r||(r=t.behavior.drag().origin(z).on(\"dragstart.force\",va).on(\"drag.force\",b).on(\"dragend.force\",ma)),!arguments.length)return r;this.on(\"mouseover.force\",ya).on(\"mouseout.force\",xa).call(r)},t.rebind(s,l,\"on\")};var ba=20,_a=1,wa=1/0;function Ma(e,r){return t.rebind(e,r,\"sort\",\"children\",\"value\"),e.nodes=e,e.links=Ca,e}function Aa(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 ka(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 Ta(t){return t.children}function Sa(t){return t.value}function Ea(t,e){return e.value-t.value}function Ca(e){return t.merge(e.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}t.layout.hierarchy=function(){var t=Ea,e=Ta,r=Sa;function n(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(u=e.call(n,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;r&&(a.value=0),a.children=u}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return ka(i,function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.value+=e.value)}),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Aa(t,function(t){t.children&&(t.value=0)}),ka(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},t.layout.partition=function(){var e=t.layout.hierarchy(),r=[1,1];function n(t,n){var i=e.call(this,t,n);return 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}}(i[0],0,r[0],r[1]/function t(e){var r=e.children,n=0;if(r&&(i=r.length))for(var i,a=-1;++a<i;)n=Math.max(n,t(r[a]));return 1+n}(i[0])),i}return n.size=function(t){return arguments.length?(r=t,n):r},Ma(n,e)},t.layout.pie=function(){var e=Number,r=La,n=0,i=Tt,a=0;function o(s){var l,u=s.length,c=s.map(function(t,r){return+e.call(o,t,r)}),h=+(\"function\"==typeof n?n.apply(this,arguments):n),f=(\"function\"==typeof i?i.apply(this,arguments):i)-h,p=Math.min(Math.abs(f)/u,+(\"function\"==typeof a?a.apply(this,arguments):a)),d=p*(f<0?-1:1),g=t.sum(c),v=g?(f-u*d)/g:0,m=t.range(u),y=[];return null!=r&&m.sort(r===La?function(t,e){return c[e]-c[t]}:function(t,e){return r(s[t],s[e])}),m.forEach(function(t){y[t]={data:s[t],value:l=c[t],startAngle:h,endAngle:h+=l*v+d,padAngle:p}}),y}return o.value=function(t){return arguments.length?(e=t,o):e},o.sort=function(t){return arguments.length?(r=t,o):r},o.startAngle=function(t){return arguments.length?(n=t,o):n},o.endAngle=function(t){return arguments.length?(i=t,o):i},o.padAngle=function(t){return arguments.length?(a=t,o):a},o};var La={};function za(t){return t.x}function Pa(t){return t.y}function Ia(t,e,r){t.y0=e,t.y=r}t.layout.stack=function(){var e=z,r=Ra,n=Fa,i=Ia,a=za,o=Pa;function s(l,u){if(!(p=l.length))return l;var c=l.map(function(t,r){return e.call(s,t,r)}),h=c.map(function(t){return t.map(function(t,e){return[a.call(s,t,e),o.call(s,t,e)]})}),f=r.call(s,h,u);c=t.permute(c,f),h=t.permute(h,f);var p,d,g,v,m=n.call(s,h,u),y=c[0].length;for(g=0;g<y;++g)for(i.call(s,c[0][g],v=m[g],h[0][g][1]),d=1;d<p;++d)i.call(s,c[d][g],v+=h[d-1][g][1],h[d][g][1]);return l}return s.values=function(t){return arguments.length?(e=t,s):e},s.order=function(t){return arguments.length?(r=\"function\"==typeof t?t:Da.get(t)||Ra,s):r},s.offset=function(t){return arguments.length?(n=\"function\"==typeof t?t:Oa.get(t)||Fa,s):n},s.x=function(t){return arguments.length?(a=t,s):a},s.y=function(t){return arguments.length?(o=t,s):o},s.out=function(t){return arguments.length?(i=t,s):i},s};var Da=t.map({\"inside-out\":function(e){var r,n,i=e.length,a=e.map(Ba),o=e.map(Na),s=t.range(i).sort(function(t,e){return a[t]-a[e]}),l=0,u=0,c=[],h=[];for(r=0;r<i;++r)n=s[r],l<u?(l+=o[n],c.push(n)):(u+=o[n],h.push(n));return h.reverse().concat(c)},reverse:function(e){return t.range(e.length).reverse()},default:Ra}),Oa=t.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,p=[];for(p[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]}p[r]=l-=i?a/i*s:0,l<u&&(u=l)}for(r=0;r<f;++r)p[r]-=u;return p},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:Fa});function Ra(e){return t.range(e.length)}function Fa(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function Ba(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 Na(t){return t.reduce(ja,0)}function ja(t,e){return t+e[1]}function Va(t,e){return Ua(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Ua(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 qa(e){return[t.min(e),t.max(e)]}function Ha(t,e){return t.value-e.value}function Ga(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Wa(t,e){t._pack_next=e,e._pack_prev=t}function Ya(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 Xa(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,u=1/0,c=-1/0,h=1/0,f=-1/0;if(e.forEach(Za),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(Ka(r,n,i=e[2]),x(i),Ga(r,i),r._pack_prev=i,Ga(i,n),n=r._pack_next,a=3;a<l;a++){Ka(r,n,i=e[a]);var p=0,d=1,g=1;for(o=n._pack_next;o!==n;o=o._pack_next,d++)if(Ya(o,i)){p=1;break}if(1==p)for(s=r._pack_prev;s!==o._pack_prev&&!Ya(s,i);s=s._pack_prev,g++);p?(d<g||d==g&&n.r<r.r?Wa(r,n=o):Wa(r=s,n),a--):(Ga(r,i),n=i,x(i))}var v=(u+c)/2,m=(h+f)/2,y=0;for(a=0;a<l;a++)(i=e[a]).x-=v,i.y-=m,y=Math.max(y,i.r+Math.sqrt(i.x*i.x+i.y*i.y));t.r=y,e.forEach(Ja)}function x(t){u=Math.min(t.x-t.r,u),c=Math.max(t.x+t.r,c),h=Math.min(t.y-t.r,h),f=Math.max(t.y+t.r,f)}}function Za(t){t._pack_next=t._pack_prev=t}function Ja(t){delete t._pack_next,delete t._pack_prev}function Ka(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,l=.5+((n*=n)-(o*=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 Qa(t,e){return t.parent==e.parent?1:2}function $a(t){var e=t.children;return e.length?e[0]:t.t}function to(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function eo(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 ro(t,e,r){return t.a.parent===e.parent?t.a:r}function no(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function io(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 ao(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function oo(t){return t.rangeExtent?t.rangeExtent():ao(t.range())}function so(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 lo(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 uo(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:co}t.layout.histogram=function(){var e=!0,r=Number,n=qa,i=Va;function a(a,o){for(var s,l,u=[],c=a.map(r,this),h=n.call(this,c,o),f=i.call(this,h,c,o),p=(o=-1,c.length),d=f.length-1,g=e?1:1/p;++o<d;)(s=u[o]=[]).dx=f[o+1]-(s.x=f[o]),s.y=0;if(d>0)for(o=-1;++o<p;)(l=c[o])>=h[0]&&l<=h[1]&&((s=u[t.bisect(f,l,1,d)-1]).y+=g,s.push(a[o]));return u}return a.value=function(t){return arguments.length?(r=t,a):r},a.range=function(t){return arguments.length?(n=ve(t),a):n},a.bins=function(t){return arguments.length?(i=\"number\"==typeof t?function(e){return Ua(e,t)}:ve(t),a):i},a.frequency=function(t){return arguments.length?(e=!!t,a):e},a},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort(Ha),n=0,i=[1,1];function a(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,ka(s,function(t){t.r=+c(t.value)}),ka(s,Xa),n){var h=n*(e?1:Math.max(2*s.r/l,2*s.r/u))/2;ka(s,function(t){t.r+=h}),ka(s,Xa),ka(s,function(t){t.r-=h})}return function t(e,r,n,i){var a=e.children;e.x=r+=i*e.x;e.y=n+=i*e.y;e.r*=i;if(a)for(var o=-1,s=a.length;++o<s;)t(a[o],r,n,i)}(s,l/2,u/2,e?1:1/Math.max(2*s.r/l,2*s.r/u)),o}return a.size=function(t){return arguments.length?(i=t,a):i},a.radius=function(t){return arguments.length?(e=null==t||\"function\"==typeof t?t:+t,a):e},a.padding=function(t){return arguments.length?(n=+t,a):n},Ma(a,r)},t.layout.tree=function(){var e=t.layout.hierarchy().sort(null).value(null),r=Qa,n=[1,1],i=null;function a(t,a){var u=e.call(this,t,a),c=u[0],h=function(t){var e,r={A:null,children:[t]},n=[r];for(;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]}(c);if(ka(h,o),h.parent.m=-h.z,Aa(h,s),i)Aa(c,l);else{var f=c,p=c,d=c;Aa(c,function(t){t.x<f.x&&(f=t),t.x>p.x&&(p=t),t.depth>d.depth&&(d=t)});var g=r(f,p)/2-f.x,v=n[0]/(p.x+r(p,f)/2+g),m=n[1]/(d.depth||1);Aa(c,function(t){t.x=(t.x+g)*v,t.y=t.depth*m})}return u}function o(t){var e=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,i=t.children,a=i.length;for(;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(e[0].z+e[e.length-1].z)/2;i?(t.z=i.z+r(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+r(t._,i._));t.parent.A=function(t,e,n){if(e){for(var i,a=t,o=t,s=e,l=a.parent.children[0],u=a.m,c=o.m,h=s.m,f=l.m;s=to(s),a=$a(a),s&&a;)l=$a(l),(o=to(o)).a=t,(i=s.z+h-a.z-u+r(s._,a._))>0&&(eo(ro(s,t,n),t,i),u+=i,c+=i),h+=s.m,u+=a.m,f+=l.m,c+=o.m;s&&!to(o)&&(o.t=s,o.m+=h-c),a&&!$a(l)&&(l.t=a,l.m+=u-f,n=t)}return n}(t,i,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=n[0],t.y=t.depth*n[1]}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t)?l:null,a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null==(n=t)?null:l,a):i?n:null},Ma(a,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=Qa,n=[1,1],i=!1;function a(a,o){var s,l=e.call(this,a,o),u=l[0],c=0;ka(u,function(e){var n=e.children;n&&n.length?(e.x=function(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}(n),e.y=function(e){return 1+t.max(e,function(t){return t.y})}(n)):(e.x=s?c+=r(e,s):0,e.y=0,s=e)});var h=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(u),f=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(u),p=h.x-r(h,f)/2,d=f.x+r(f,h)/2;return ka(u,i?function(t){t.x=(t.x-u.x)*n[0],t.y=(u.y-t.y)*n[1]}:function(t){t.x=(t.x-p)/(d-p)*n[0],t.y=(1-(u.y?t.y/u.y:1))*n[1]}),l}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t),a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null!=(n=t),a):i?n:null},Ma(a,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=no,s=!1,l=\"squarify\",u=.5*(1+Math.sqrt(5));function c(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 h(t){var e=t.children;if(e&&e.length){var r,n,i,a=o(t),s=[],u=e.slice(),f=1/0,g=\"slice\"===l?a.dx:\"dice\"===l?a.dy:\"slice-dice\"===l?1&t.depth?a.dy:a.dx:Math.min(a.dx,a.dy);for(c(u,a.dx*a.dy/t.value),s.area=0;(i=u.length)>0;)s.push(r=u[i-1]),s.area+=r.area,\"squarify\"!==l||(n=p(s,g))<=f?(u.pop(),f=n):(s.area-=s.pop().area,d(s,g,a,!1),g=Math.min(a.dx,a.dy),s.length=s.area=0,f=1/0);s.length&&(d(s,g,a,!0),s.length=s.area=0),e.forEach(h)}}function f(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(c(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(f)}}function p(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 e*=e,(n*=n)?Math.max(e*i*u/n,n/(e*a*u)):1/0}function d(t,e,r,i){var a,o=-1,s=t.length,l=r.x,u=r.y,c=e?n(t.area/e):0;if(e==r.dx){for((i||c>r.dy)&&(c=r.dy);++o<s;)(a=t[o]).x=l,a.y=u,a.dy=c,l+=a.dx=Math.min(r.x+r.dx-l,c?n(a.area/c):0);a.z=!0,a.dx+=r.x+r.dx-l,r.y+=c,r.dy-=c}else{for((i||c>r.dx)&&(c=r.dx);++o<s;)(a=t[o]).x=l,a.y=u,a.dx=c,u+=a.dy=Math.min(r.y+r.dy-u,c?n(a.area/c):0);a.z=!1,a.dy+=r.y+r.dy-u,r.x+=c,r.dx-=c}}function g(t){var n=e||r(t),a=n[0];return a.x=a.y=0,a.value?(a.dx=i[0],a.dy=i[1]):a.dx=a.dy=0,e&&r.revalue(a),c([a],a.dx*a.dy/a.value),(e?f:h)(a),s&&(e=n),n}return g.size=function(t){return arguments.length?(i=t,g):i},g.padding=function(t){if(!arguments.length)return a;function e(e){return io(e,t)}var r;return o=null==(a=t)?no:\"function\"==(r=typeof t)?function(e){var r=t.call(g,e,e.depth);return null==r?no(e):io(e,\"number\"==typeof r?[r,r,r,r]:r)}:\"number\"===r?(t=[t,t,t,t],e):e,g},g.round=function(t){return arguments.length?(n=t?Math.round:Number,g):n!=Number},g.sticky=function(t){return arguments.length?(s=t,e=null,g):s},g.ratio=function(t){return arguments.length?(u=t,g):u},g.mode=function(t){return arguments.length?(l=t+\"\",g):l},Ma(g,r)},t.random={normal:function(t,e){var r=arguments.length;return r<2&&(e=1),r<1&&(t=0),function(){var r,n,i;do{i=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!i||i>1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var e=t.random.normal.apply(t,arguments);return function(){return Math.exp(e())}},bates:function(e){var r=t.random.irwinHall(e);return function(){return r()/e}},irwinHall:function(t){return function(){for(var e=0,r=0;r<t;r++)e+=Math.random();return e}}},t.scale={};var co={floor:z,ceil:z};function ho(e,r,n,i){var a=[],o=[],s=0,l=Math.min(e.length,r.length)-1;for(e[l]<e[0]&&(e=e.slice().reverse(),r=r.slice().reverse());++s<=l;)a.push(n(e[s-1],e[s])),o.push(i(r[s-1],r[s]));return function(r){var n=t.bisect(e,r,1,l)-1;return o[n](a[n](r))}}function fo(e,r){return t.rebind(e,r,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function po(t,e){return lo(t,uo(go(t,e)[2])),lo(t,uo(go(t,e)[2])),t}function go(t,e){null==e&&(e=10);var r=ao(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 vo(e,r){return t.range.apply(t,go(e,r))}function mo(e,r,n){var i=go(e,r);if(n){var a=Le.exec(n);if(a.shift(),\"s\"===a[8]){var o=t.formatPrefix(Math.max(y(i[0]),y(i[1])));return a[7]||(a[7]=\".\"+xo(o.scale(i[2]))),a[8]=\"f\",n=t.format(a.join(\"\")),function(t){return n(o.scale(t))+o.symbol}}a[7]||(a[7]=\".\"+function(t,e){var r=xo(e[2]);return t in yo?Math.abs(r-xo(Math.max(y(e[0]),y(e[1]))))+ +(\"e\"!==t):r-2*(\"%\"===t)}(a[8],i)),n=a.join(\"\")}else n=\",.\"+xo(i[2])+\"f\";return t.format(n)}t.scale.linear=function(){return function t(e,r,n,i){var a,o;function s(){var t=Math.min(e.length,r.length)>2?ho:so,s=i?pa:fa;return a=t(e,r,s,n),o=t(r,e,s,Gi),l}function l(t){return a(t)}l.invert=function(t){return o(t)};l.domain=function(t){return arguments.length?(e=t.map(Number),s()):e};l.range=function(t){return arguments.length?(r=t,s()):r};l.rangeRound=function(t){return l.range(t).interpolate(aa)};l.clamp=function(t){return arguments.length?(i=t,s()):i};l.interpolate=function(t){return arguments.length?(n=t,s()):n};l.ticks=function(t){return vo(e,t)};l.tickFormat=function(t,r){return mo(e,t,r)};l.nice=function(t){return po(e,t),s()};l.copy=function(){return t(e,r,n,i)};return s()}([0,1],[0,1],Gi,!1)};var yo={s:1,g:1,p:1,r:1,e:1};function xo(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,i,a){function o(t){return(i?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return i?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}l.invert=function(t){return s(r.invert(t))};l.domain=function(t){return arguments.length?(i=t[0]>=0,r.domain((a=t.map(Number)).map(o)),l):a};l.base=function(t){return arguments.length?(n=+t,r.domain(a.map(o)),l):n};l.nice=function(){var t=lo(a.map(o),i?Math:_o);return r.domain(t),a=t.map(s),l};l.ticks=function(){var t=ao(a),e=[],r=t[0],l=t[1],u=Math.floor(o(r)),c=Math.ceil(o(l)),h=n%1?2:n;if(isFinite(c-u)){if(i){for(;u<c;u++)for(var f=1;f<h;f++)e.push(s(u)*f);e.push(s(u))}else for(e.push(s(u));u++<c;)for(var f=h-1;f>0;f--)e.push(s(u)*f);for(u=0;e[u]<r;u++);for(c=e.length;e[c-1]>l;c--);e=e.slice(u,c)}return e};l.tickFormat=function(e,r){if(!arguments.length)return bo;arguments.length<2?r=bo:\"function\"!=typeof r&&(r=t.format(r));var i=Math.max(1,n*e/l.ticks().length);return function(t){var e=t/s(Math.round(o(t)));return e*n<n-.5&&(e*=n),e<=i?r(t):\"\"}};l.copy=function(){return e(r.copy(),n,i,a)};return fo(l,r)}(t.scale.linear().domain([0,1]),10,!0,[1,10])};var bo=t.format(\".0e\"),_o={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function wo(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}t.scale.pow=function(){return function t(e,r,n){var i=wo(r),a=wo(1/r);function o(t){return e(i(t))}o.invert=function(t){return a(e.invert(t))};o.domain=function(t){return arguments.length?(e.domain((n=t.map(Number)).map(i)),o):n};o.ticks=function(t){return vo(n,t)};o.tickFormat=function(t,e){return mo(n,t,e)};o.nice=function(t){return o.domain(po(n,t))};o.exponent=function(t){return arguments.length?(i=wo(r=t),a=wo(1/r),e.domain(n.map(i)),o):r};o.copy=function(){return t(e.copy(),r,n)};return fo(o,e)}(t.scale.linear(),1,[0,1])},t.scale.sqrt=function(){return t.scale.pow().exponent(.5)},t.scale.ordinal=function(){return function e(r,n){var i,a,o;function s(t){return a[((i.get(t)||(\"range\"===n.t?i.set(t,r.push(t)):NaN))-1)%a.length]}function l(e,n){return t.range(r.length).map(function(t){return e+n*t})}s.domain=function(t){if(!arguments.length)return r;r=[],i=new b;for(var e,a=-1,o=t.length;++a<o;)i.has(e=t[a])||i.set(e,r.push(e));return s[n.t].apply(s,n.a)};s.range=function(t){return arguments.length?(a=t,o=0,n={t:\"range\",a:arguments},s):a};s.rangePoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],u=t[1],c=r.length<2?(i=(i+u)/2,0):(u-i)/(r.length-1+e);return a=l(i+c*e/2,c),o=0,n={t:\"rangePoints\",a:arguments},s};s.rangeRoundPoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],u=t[1],c=r.length<2?(i=u=Math.round((i+u)/2),0):(u-i)/(r.length-1+e)|0;return a=l(i+Math.round(c*e/2+(u-i-(r.length-1+e)*c)/2),c),o=0,n={t:\"rangeRoundPoints\",a:arguments},s};s.rangeBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var u=t[1]<t[0],c=t[u-0],h=t[1-u],f=(h-c)/(r.length-e+2*i);return a=l(c+f*i,f),u&&a.reverse(),o=f*(1-e),n={t:\"rangeBands\",a:arguments},s};s.rangeRoundBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var u=t[1]<t[0],c=t[u-0],h=t[1-u],f=Math.floor((h-c)/(r.length-e+2*i));return a=l(c+Math.round((h-c-(r.length-e)*f)/2),f),u&&a.reverse(),o=Math.round(f*(1-e)),n={t:\"rangeRoundBands\",a:arguments},s};s.rangeBand=function(){return o};s.rangeExtent=function(){return ao(n.a[0])};s.copy=function(){return e(r,n)};return s.domain(r)}([],{t:\"range\",a:[[]]})},t.scale.category10=function(){return t.scale.ordinal().range(Mo)},t.scale.category20=function(){return t.scale.ordinal().range(Ao)},t.scale.category20b=function(){return t.scale.ordinal().range(ko)},t.scale.category20c=function(){return t.scale.ordinal().range(To)};var Mo=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(se),Ao=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(se),ko=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(se),To=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(se);function So(){return 0}t.scale.quantile=function(){return function e(r,n){var i;function a(){var e=0,a=n.length;for(i=[];++e<a;)i[e-1]=t.quantile(r,e/a);return o}function o(e){if(!isNaN(e=+e))return n[t.bisect(i,e)]}o.domain=function(t){return arguments.length?(r=t.map(p).filter(d).sort(f),a()):r};o.range=function(t){return arguments.length?(n=t,a()):n};o.quantiles=function(){return i};o.invertExtent=function(t){return(t=n.indexOf(t))<0?[NaN,NaN]:[t>0?i[t-1]:r[0],t<i.length?i[t]:r[r.length-1]]};o.copy=function(){return e(r,n)};return a()}([],[])},t.scale.quantize=function(){return function t(e,r,n){var i,a;function o(t){return n[Math.max(0,Math.min(a,Math.floor(i*(t-e))))]}function s(){return i=n.length/(r-e),a=n.length-1,o}o.domain=function(t){return arguments.length?(e=+t[0],r=+t[t.length-1],s()):[e,r]};o.range=function(t){return arguments.length?(n=t,s()):n};o.invertExtent=function(t){return[t=(t=n.indexOf(t))<0?NaN:t/i+e,t+1/i]};o.copy=function(){return t(e,r,n)};return s()}(0,1,[0,1])},t.scale.threshold=function(){return function e(r,n){function i(e){if(e<=e)return n[t.bisect(r,e)]}i.domain=function(t){return arguments.length?(r=t,i):r};i.range=function(t){return arguments.length?(n=t,i):n};i.invertExtent=function(t){return t=n.indexOf(t),[r[t-1],r[t]]};i.copy=function(){return e(r,n)};return i}([.5],[0,1])},t.scale.identity=function(){return function t(e){function r(t){return+t}r.invert=r;r.domain=r.range=function(t){return arguments.length?(e=t.map(r),r):e};r.ticks=function(t){return vo(e,t)};r.tickFormat=function(t,r){return mo(e,t,r)};r.copy=function(){return t(e)};return r}([0,1])},t.svg={},t.svg.arc=function(){var t=Co,e=Lo,r=So,n=Eo,i=zo,a=Po,o=Io;function s(){var s=Math.max(0,+t.apply(this,arguments)),u=Math.max(0,+e.apply(this,arguments)),c=i.apply(this,arguments)-Et,h=a.apply(this,arguments)-Et,f=Math.abs(h-c),p=c>h?0:1;if(u<s&&(d=u,u=s,s=d),f>=St)return l(u,p)+(s?l(s,1-p):\"\")+\"Z\";var d,g,v,m,y,x,b,_,w,M,A,k,T=0,S=0,E=[];if((m=(+o.apply(this,arguments)||0)/2)&&(v=n===Eo?Math.sqrt(s*s+u*u):+n.apply(this,arguments),p||(S*=-1),u&&(S=Dt(v/u*Math.sin(m))),s&&(T=Dt(v/s*Math.sin(m)))),u){y=u*Math.cos(c+S),x=u*Math.sin(c+S),b=u*Math.cos(h-S),_=u*Math.sin(h-S);var C=Math.abs(h-c-2*S)<=kt?0:1;if(S&&Do(y,x,b,_)===p^C){var L=(c+h)/2;y=u*Math.cos(L),x=u*Math.sin(L),b=_=null}}else y=x=0;if(s){w=s*Math.cos(h-T),M=s*Math.sin(h-T),A=s*Math.cos(c+T),k=s*Math.sin(c+T);var z=Math.abs(c-h+2*T)<=kt?0:1;if(T&&Do(w,M,A,k)===1-p^z){var P=(c+h)/2;w=s*Math.cos(P),M=s*Math.sin(P),A=k=null}}else w=M=0;if(f>Mt&&(d=Math.min(Math.abs(u-s)/2,+r.apply(this,arguments)))>.001){g=s<u^p?0:1;var I=d,D=d;if(f<kt){var O=null==A?[w,M]:null==b?[y,x]:ai([y,x],[A,k],[b,_],[w,M]),R=y-O[0],F=x-O[1],B=b-O[0],N=_-O[1],j=1/Math.sin(Math.acos((R*B+F*N)/(Math.sqrt(R*R+F*F)*Math.sqrt(B*B+N*N)))/2),V=Math.sqrt(O[0]*O[0]+O[1]*O[1]);D=Math.min(d,(s-V)/(j-1)),I=Math.min(d,(u-V)/(j+1))}if(null!=b){var U=Oo(null==A?[w,M]:[A,k],[y,x],u,I,p),q=Oo([b,_],[w,M],u,I,p);d===I?E.push(\"M\",U[0],\"A\",I,\",\",I,\" 0 0,\",g,\" \",U[1],\"A\",u,\",\",u,\" 0 \",1-p^Do(U[1][0],U[1][1],q[1][0],q[1][1]),\",\",p,\" \",q[1],\"A\",I,\",\",I,\" 0 0,\",g,\" \",q[0]):E.push(\"M\",U[0],\"A\",I,\",\",I,\" 0 1,\",g,\" \",q[0])}else E.push(\"M\",y,\",\",x);if(null!=A){var H=Oo([y,x],[A,k],s,-D,p),G=Oo([w,M],null==b?[y,x]:[b,_],s,-D,p);d===D?E.push(\"L\",G[0],\"A\",D,\",\",D,\" 0 0,\",g,\" \",G[1],\"A\",s,\",\",s,\" 0 \",p^Do(G[1][0],G[1][1],H[1][0],H[1][1]),\",\",1-p,\" \",H[1],\"A\",D,\",\",D,\" 0 0,\",g,\" \",H[0]):E.push(\"L\",G[0],\"A\",D,\",\",D,\" 0 0,\",g,\" \",H[0])}else E.push(\"L\",w,\",\",M)}else E.push(\"M\",y,\",\",x),null!=b&&E.push(\"A\",u,\",\",u,\" 0 \",C,\",\",p,\" \",b,\",\",_),E.push(\"L\",w,\",\",M),null!=A&&E.push(\"A\",s,\",\",s,\" 0 \",z,\",\",1-p,\" \",A,\",\",k);return E.push(\"Z\"),E.join(\"\")}function l(t,e){return\"M0,\"+t+\"A\"+t+\",\"+t+\" 0 1,\"+e+\" 0,\"+-t+\"A\"+t+\",\"+t+\" 0 1,\"+e+\" 0,\"+t}return s.innerRadius=function(e){return arguments.length?(t=ve(e),s):t},s.outerRadius=function(t){return arguments.length?(e=ve(t),s):e},s.cornerRadius=function(t){return arguments.length?(r=ve(t),s):r},s.padRadius=function(t){return arguments.length?(n=t==Eo?Eo:ve(t),s):n},s.startAngle=function(t){return arguments.length?(i=ve(t),s):i},s.endAngle=function(t){return arguments.length?(a=ve(t),s):a},s.padAngle=function(t){return arguments.length?(o=ve(t),s):o},s.centroid=function(){var r=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,n=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-Et;return[Math.cos(n)*r,Math.sin(n)*r]},s};var Eo=\"auto\";function Co(t){return t.innerRadius}function Lo(t){return t.outerRadius}function zo(t){return t.startAngle}function Po(t){return t.endAngle}function Io(t){return t&&t.padAngle}function Do(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function Oo(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,p=e[1]+u,d=(c+f)/2,g=(h+p)/2,v=f-c,m=p-h,y=v*v+m*m,x=r-n,b=c*p-f*h,_=(m<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*m-v*_)/y,M=(-b*v-m*_)/y,A=(b*m+v*_)/y,k=(-b*v+m*_)/y,T=w-d,S=M-g,E=A-d,C=k-g;return T*T+S*S>E*E+C*C&&(w=A,M=k),[[w-l,M-u],[w*r/x,M*r/x]]}function Ro(t){var e=$n,r=ti,n=Wr,i=Bo,a=i.key,o=.7;function s(a){var s,l=[],u=[],c=-1,h=a.length,f=ve(e),p=ve(r);function d(){l.push(\"M\",i(t(u),o))}for(;++c<h;)n.call(this,s=a[c],c)?u.push([+f.call(this,s,c),+p.call(this,s,c)]):u.length&&(d(),u=[]);return u.length&&d(),l.length?l.join(\"\"):null}return s.x=function(t){return arguments.length?(e=t,s):e},s.y=function(t){return arguments.length?(r=t,s):r},s.defined=function(t){return arguments.length?(n=t,s):n},s.interpolate=function(t){return arguments.length?(a=\"function\"==typeof t?i=t:(i=Fo.get(t)||Bo).key,s):a},s.tension=function(t){return arguments.length?(o=t,s):o},s}t.svg.line=function(){return Ro(z)};var Fo=t.map({linear:Bo,\"linear-closed\":No,step:function(t){var e=0,r=t.length,n=t[0],i=[n[0],\",\",n[1]];for(;++e<r;)i.push(\"H\",(n[0]+(n=t[e])[0])/2,\"V\",n[1]);r>1&&i.push(\"H\",n[0]);return i.join(\"\")},\"step-before\":jo,\"step-after\":Vo,basis:Ho,\"basis-open\":function(t){if(t.length<4)return Bo(t);var e,r=[],n=-1,i=t.length,a=[0],o=[0];for(;++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);r.push(Go(Xo,a)+\",\"+Go(Xo,o)),--n;for(;++n<i;)e=t[n],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),Zo(r,a,o);return r.join(\"\")},\"basis-closed\":function(t){var e,r,n=-1,i=t.length,a=i+4,o=[],s=[];for(;++n<4;)r=t[n%i],o.push(r[0]),s.push(r[1]);e=[Go(Xo,o),\",\",Go(Xo,s)],--n;for(;++n<a;)r=t[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),Zo(e,o,s);return e.join(\"\")},bundle:function(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 Ho(t)},cardinal:function(t,e){return t.length<3?Bo(t):t[0]+Uo(t,qo(t,e))},\"cardinal-open\":function(t,e){return t.length<4?Bo(t):t[1]+Uo(t.slice(1,-1),qo(t,e))},\"cardinal-closed\":function(t,e){return t.length<3?No(t):t[0]+Uo((t.push(t[0]),t),qo([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length<3?Bo(t):t[0]+Uo(t,function(t){var e,r,n,i,a=[],o=function(t){var e=0,r=t.length-1,n=[],i=t[0],a=t[1],o=n[0]=Jo(i,a);for(;++e<r;)n[e]=(o+(o=Jo(i=a,a=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;for(;++s<l;)e=Jo(t[s],t[s+1]),y(e)<Mt?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));s=-1;for(;++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}(t))}});function Bo(t){return t.length>1?t.join(\"L\"):t+\"Z\"}function No(t){return t.join(\"L\")+\"Z\"}function jo(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 Vo(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 Uo(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return Bo(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 qo(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 Ho(t){if(t.length<3)return Bo(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\",Go(Xo,o),\",\",Go(Xo,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),Zo(l,o,s);return t.pop(),l.push(\"L\",n),l.join(\"\")}function Go(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}Fo.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var Wo=[0,2/3,1/3,0],Yo=[0,1/3,2/3,0],Xo=[0,1/6,2/3,1/6];function Zo(t,e,r){t.push(\"C\",Go(Wo,e),\",\",Go(Wo,r),\",\",Go(Yo,e),\",\",Go(Yo,r),\",\",Go(Xo,e),\",\",Go(Xo,r))}function Jo(t,e){return(e[1]-t[1])/(e[0]-t[0])}function Ko(t){for(var e,r,n,i=-1,a=t.length;++i<a;)r=(e=t[i])[0],n=e[1]-Et,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function Qo(t){var e=$n,r=$n,n=0,i=ti,a=Wr,o=Bo,s=o.key,l=o,u=\"L\",c=.7;function h(s){var h,f,p,d=[],g=[],v=[],m=-1,y=s.length,x=ve(e),b=ve(n),_=e===r?function(){return f}:ve(r),w=n===i?function(){return p}:ve(i);function M(){d.push(\"M\",o(t(v),c),u,l(t(g.reverse()),c),\"Z\")}for(;++m<y;)a.call(this,h=s[m],m)?(g.push([f=+x.call(this,h,m),p=+b.call(this,h,m)]),v.push([+_.call(this,h,m),+w.call(this,h,m)])):g.length&&(M(),g=[],v=[]);return g.length&&M(),d.length?d.join(\"\"):null}return h.x=function(t){return arguments.length?(e=r=t,h):r},h.x0=function(t){return arguments.length?(e=t,h):e},h.x1=function(t){return arguments.length?(r=t,h):r},h.y=function(t){return arguments.length?(n=i=t,h):i},h.y0=function(t){return arguments.length?(n=t,h):n},h.y1=function(t){return arguments.length?(i=t,h):i},h.defined=function(t){return arguments.length?(a=t,h):a},h.interpolate=function(t){return arguments.length?(s=\"function\"==typeof t?o=t:(o=Fo.get(t)||Bo).key,l=o.reverse||o,u=o.closed?\"M\":\"L\",h):s},h.tension=function(t){return arguments.length?(c=t,h):c},h}function $o(t){return t.radius}function ts(t){return[t.x,t.y]}function es(){return 64}function rs(){return\"circle\"}function ns(t){var e=Math.sqrt(t/kt);return\"M0,\"+e+\"A\"+e+\",\"+e+\" 0 1,1 0,\"+-e+\"A\"+e+\",\"+e+\" 0 1,1 0,\"+e+\"Z\"}t.svg.line.radial=function(){var t=Ro(Ko);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},jo.reverse=Vo,Vo.reverse=jo,t.svg.area=function(){return Qo(z)},t.svg.area.radial=function(){var t=Qo(Ko);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},t.svg.chord=function(){var t=Nn,e=jn,r=$o,n=zo,i=Po;function a(r,n){var i,a,u=o(this,t,r,n),c=o(this,e,r,n);return\"M\"+u.p0+s(u.r,u.p1,u.a1-u.a0)+(a=c,(i=u).a0==a.a0&&i.a1==a.a1?l(u.r,u.p1,u.r,u.p0):l(u.r,u.p1,c.r,c.p0)+s(c.r,c.p1,c.a1-c.a0)+l(c.r,c.p1,u.r,u.p0))+\"Z\"}function o(t,e,a,o){var s=e.call(t,a,o),l=r.call(t,s,o),u=n.call(t,s,o)-Et,c=i.call(t,s,o)-Et;return{r:l,a0:u,a1:c,p0:[l*Math.cos(u),l*Math.sin(u)],p1:[l*Math.cos(c),l*Math.sin(c)]}}function s(t,e,r){return\"A\"+t+\",\"+t+\" 0 \"+ +(r>kt)+\",1 \"+e}function l(t,e,r,n){return\"Q 0,0 \"+n}return a.radius=function(t){return arguments.length?(r=ve(t),a):r},a.source=function(e){return arguments.length?(t=ve(e),a):t},a.target=function(t){return arguments.length?(e=ve(t),a):e},a.startAngle=function(t){return arguments.length?(n=ve(t),a):n},a.endAngle=function(t){return arguments.length?(i=ve(t),a):i},a},t.svg.diagonal=function(){var t=Nn,e=jn,r=ts;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return\"M\"+(l=l.map(r))[0]+\"C\"+l[1]+\" \"+l[2]+\" \"+l[3]}return n.source=function(e){return arguments.length?(t=ve(e),n):t},n.target=function(t){return arguments.length?(e=ve(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},t.svg.diagonal.radial=function(){var e=t.svg.diagonal(),r=ts,n=e.projection;return e.projection=function(t){return arguments.length?n(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Et;return[r*Math.cos(n),r*Math.sin(n)]}}(r=t)):r},e},t.svg.symbol=function(){var t=rs,e=es;function r(r,n){return(is.get(t.call(this,r,n))||ns)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ve(e),r):t},r.size=function(t){return arguments.length?(e=ve(t),r):e},r};var is=t.map({circle:ns,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*os)),r=e*os;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/as),r=e*as/2;return\"M0,\"+r+\"L\"+e+\",\"+-r+\" \"+-e+\",\"+-r+\"Z\"},\"triangle-up\":function(t){var e=Math.sqrt(t/as),r=e*as/2;return\"M0,\"+-r+\"L\"+e+\",\"+r+\" \"+-e+\",\"+r+\"Z\"}});t.svg.symbolTypes=is.keys();var as=Math.sqrt(3),os=Math.tan(30*Ct);Y.transition=function(t){for(var e,r,n=cs||++ps,i=vs(t),a=[],o=hs||{time:Date.now(),ease:ta,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])&&ms(r,c,i,n,o),e.push(r)}return us(a,i,n)},Y.interrupt=function(t){return this.each(null==t?ss:ls(vs(t)))};var ss=ls(vs());function ls(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 us(t,e,r){return U(t,fs),t.namespace=e,t.id=r,t}var cs,hs,fs=[],ps=0;function ds(t,e,r,n){var i=t.id,a=t.namespace;return ct(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 gs(t){return null==t&&(t=\"\"),function(){this.textContent=t}}function vs(t){return null==t?\"__transition__\":\"__transition_\"+t+\"__\"}function ms(t,e,r,n,i){var a,o,s,l,u,c=t[r]||(t[r]={active:0,count:0}),h=c[n];function f(r){var i=c.active,f=c[i];for(var d in f&&(f.timer.c=null,f.timer.t=NaN,--c.count,delete c[i],f.event&&f.event.interrupt.call(t,t.__data__,f.index)),c)if(+d<n){var g=c[d];g.timer.c=null,g.timer.t=NaN,--c.count,delete c[d]}o.c=p,Ae(function(){return o.c&&p(r||1)&&(o.c=null,o.t=NaN),1},0,a),c.active=n,h.event&&h.event.start.call(t,t.__data__,e),u=[],h.tween.forEach(function(r,n){(n=n.call(t,t.__data__,e))&&u.push(n)}),l=h.ease,s=h.duration}function p(i){for(var a=i/s,o=l(a),f=u.length;f>0;)u[--f].call(t,o);if(a>=1)return h.event&&h.event.end.call(t,t.__data__,e),--c.count?delete c[n]:delete t[r],1}h||(a=i.time,o=Ae(function(t){var e=h.delay;if(o.t=e+a,e<=t)return f(t-e);o.c=f},0,a),h=c[n]={tween:new b,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++c.count)}fs.call=Y.call,fs.empty=Y.empty,fs.node=Y.node,fs.size=Y.size,t.transition=function(e,r){return e&&e.transition?cs?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=fs,fs.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=X(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__),ms(r,c,a,i,n[a][i]),e.push(r)):e.push(null)}return us(o,a,i)},fs.selectAll=function(t){var e,r,n,i,a,o=this.id,s=this.namespace,l=[];t=Z(t);for(var u=-1,c=this.length;++u<c;)for(var h=this[u],f=-1,p=h.length;++f<p;)if(n=h[f]){a=n[s][o],r=t.call(n,n.__data__,f,u),l.push(e=[]);for(var d=-1,g=r.length;++d<g;)(i=r[d])&&ms(i,d,s,o,a),e.push(i)}return us(l,s,o)},fs.filter=function(t){var e,r,n=[];\"function\"!=typeof t&&(t=ut(t));for(var i=0,a=this.length;i<a;i++){n.push(e=[]);for(var o,s=0,l=(o=this[i]).length;s<l;s++)(r=o[s])&&t.call(r,r.__data__,s,i)&&e.push(r)}return us(n,this.namespace,this.id)},fs.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length<2?this.node()[n][r].tween.get(t):ct(this,null==e?function(e){e[n][r].tween.remove(t)}:function(i){i[n][r].tween.set(t,e)})},fs.attr=function(e,r){if(arguments.length<2){for(r in e)this.attr(r,e[r]);return this}var n=\"transform\"==e?ha:Gi,i=t.ns.qualify(e);function a(){this.removeAttribute(i)}function o(){this.removeAttributeNS(i.space,i.local)}return ds(this,\"attr.\"+e,r,i.local?function(t){return null==t?o:(t+=\"\",function(){var e,r=this.getAttributeNS(i.space,i.local);return r!==t&&(e=n(r,t),function(t){this.setAttributeNS(i.space,i.local,e(t))})})}:function(t){return null==t?a:(t+=\"\",function(){var e,r=this.getAttribute(i);return r!==t&&(e=n(r,t),function(t){this.setAttribute(i,e(t))})})})},fs.attrTween=function(e,r){var n=t.ns.qualify(e);return this.tween(\"attr.\"+e,n.local?function(t,e){var i=r.call(this,t,e,this.getAttributeNS(n.space,n.local));return i&&function(t){this.setAttributeNS(n.space,n.local,i(t))}}:function(t,e){var i=r.call(this,t,e,this.getAttribute(n));return i&&function(t){this.setAttribute(n,i(t))}})},fs.style=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){for(r in n<2&&(e=\"\"),t)this.style(r,t[r],e);return this}r=\"\"}function i(){this.style.removeProperty(t)}return ds(this,\"style.\"+t,e,function(e){return null==e?i:(e+=\"\",function(){var n,i=o(this).getComputedStyle(this,null).getPropertyValue(t);return i!==e&&(n=Gi(i,e),function(e){this.style.setProperty(t,n(e),r)})})})},fs.styleTween=function(t,e,r){return arguments.length<3&&(r=\"\"),this.tween(\"style.\"+t,function(n,i){var a=e.call(this,n,i,o(this).getComputedStyle(this,null).getPropertyValue(t));return a&&function(e){this.style.setProperty(t,a(e),r)}})},fs.text=function(t){return ds(this,\"text\",t,gs)},fs.remove=function(){var t=this.namespace;return this.each(\"end.transition\",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},fs.ease=function(e){var r=this.id,n=this.namespace;return arguments.length<1?this.node()[n][r].ease:(\"function\"!=typeof e&&(e=t.ease.apply(t,arguments)),ct(this,function(t){t[n][r].ease=e}))},fs.delay=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].delay:ct(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}))},fs.duration=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].duration:ct(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}))},fs.each=function(e,r){var n=this.id,i=this.namespace;if(arguments.length<2){var a=hs,o=cs;try{cs=n,ct(this,function(t,r,a){hs=t[i][n],e.call(t,t.__data__,r,a)})}finally{hs=a,cs=o}}else ct(this,function(a){var o=a[i][n];(o.event||(o.event=t.dispatch(\"start\",\"end\",\"interrupt\"))).on(e,r)});return this},fs.transition=function(){for(var t,e,r,n=this.id,i=++ps,a=this.namespace,o=[],s=0,l=this.length;s<l;s++){o.push(t=[]);for(var u,c=0,h=(u=this[s]).length;c<h;c++)(e=u[c])&&ms(e,c,a,i,{time:(r=e[a][n]).time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration}),t.push(e)}return us(o,a,i)},t.svg.axis=function(){var e,r=t.scale.linear(),i=ys,a=6,o=6,s=3,l=[10],u=null;function c(n){n.each(function(){var n,c=t.select(this),h=this.__chart__||r,f=this.__chart__=r.copy(),p=null==u?f.ticks?f.ticks.apply(f,l):f.domain():u,d=null==e?f.tickFormat?f.tickFormat.apply(f,l):z:e,g=c.selectAll(\".tick\").data(p,f),v=g.enter().insert(\"g\",\".domain\").attr(\"class\",\"tick\").style(\"opacity\",Mt),m=t.transition(g.exit()).style(\"opacity\",Mt).remove(),y=t.transition(g.order()).style(\"opacity\",1),x=Math.max(a,0)+s,b=oo(f),_=c.selectAll(\".domain\").data([0]),w=(_.enter().append(\"path\").attr(\"class\",\"domain\"),t.transition(_));v.append(\"line\"),v.append(\"text\");var M,A,k,T,S=v.select(\"line\"),E=y.select(\"line\"),C=g.select(\"text\").text(d),L=v.select(\"text\"),P=y.select(\"text\"),I=\"top\"===i||\"left\"===i?-1:1;if(\"bottom\"===i||\"top\"===i?(n=bs,M=\"x\",k=\"y\",A=\"x2\",T=\"y2\",C.attr(\"dy\",I<0?\"0em\":\".71em\").style(\"text-anchor\",\"middle\"),w.attr(\"d\",\"M\"+b[0]+\",\"+I*o+\"V0H\"+b[1]+\"V\"+I*o)):(n=_s,M=\"y\",k=\"x\",A=\"y2\",T=\"x2\",C.attr(\"dy\",\".32em\").style(\"text-anchor\",I<0?\"end\":\"start\"),w.attr(\"d\",\"M\"+I*o+\",\"+b[0]+\"H0V\"+b[1]+\"H\"+I*o)),S.attr(T,I*a),L.attr(k,I*x),E.attr(A,0).attr(T,I*a),P.attr(M,0).attr(k,I*x),f.rangeBand){var D=f,O=D.rangeBand()/2;h=f=function(t){return D(t)+O}}else h.rangeBand?h=f:m.call(n,f,h);v.call(n,h,f),y.call(n,f,f)})}return c.scale=function(t){return arguments.length?(r=t,c):r},c.orient=function(t){return arguments.length?(i=t in xs?t+\"\":ys,c):i},c.ticks=function(){return arguments.length?(l=n(arguments),c):l},c.tickValues=function(t){return arguments.length?(u=t,c):u},c.tickFormat=function(t){return arguments.length?(e=t,c):e},c.tickSize=function(t){var e=arguments.length;return e?(a=+t,o=+arguments[e-1],c):a},c.innerTickSize=function(t){return arguments.length?(a=+t,c):a},c.outerTickSize=function(t){return arguments.length?(o=+t,c):o},c.tickPadding=function(t){return arguments.length?(s=+t,c):s},c.tickSubdivide=function(){return arguments.length&&c},c};var ys=\"bottom\",xs={top:1,right:1,bottom:1,left:1};function bs(t,e,r){t.attr(\"transform\",function(t){var n=e(t);return\"translate(\"+(isFinite(n)?n:r(t))+\",0)\"})}function _s(t,e,r){t.attr(\"transform\",function(t){var n=e(t);return\"translate(0,\"+(isFinite(n)?n:r(t))+\")\"})}t.svg.brush=function(){var e,r,n=j(f,\"brushstart\",\"brush\",\"brushend\"),i=null,a=null,s=[0,0],l=[0,0],u=!0,c=!0,h=Ms[0];function f(e){e.each(function(){var e=t.select(this).style(\"pointer-events\",\"all\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\").on(\"mousedown.brush\",v).on(\"touchstart.brush\",v),r=e.selectAll(\".background\").data([0]);r.enter().append(\"rect\").attr(\"class\",\"background\").style(\"visibility\",\"hidden\").style(\"cursor\",\"crosshair\"),e.selectAll(\".extent\").data([0]).enter().append(\"rect\").attr(\"class\",\"extent\").style(\"cursor\",\"move\");var n=e.selectAll(\".resize\").data(h,z);n.exit().remove(),n.enter().append(\"g\").attr(\"class\",function(t){return\"resize \"+t}).style(\"cursor\",function(t){return ws[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\"),n.style(\"display\",f.empty()?\"none\":null);var o,s=t.transition(e),l=t.transition(r);i&&(o=oo(i),l.attr(\"x\",o[0]).attr(\"width\",o[1]-o[0]),d(s)),a&&(o=oo(a),l.attr(\"y\",o[0]).attr(\"height\",o[1]-o[0]),g(s)),p(s)})}function p(t){t.selectAll(\".resize\").attr(\"transform\",function(t){return\"translate(\"+s[+/e$/.test(t)]+\",\"+l[+/^s/.test(t)]+\")\"})}function d(t){t.select(\".extent\").attr(\"x\",s[0]),t.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\",s[1]-s[0])}function g(t){t.select(\".extent\").attr(\"y\",l[0]),t.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",l[1]-l[0])}function v(){var h,v,m=this,y=t.select(t.event.target),x=n.of(m,arguments),b=t.select(m),_=y.datum(),w=!/^(n|s)$/.test(_)&&i,M=!/^(e|w)$/.test(_)&&a,A=y.classed(\"extent\"),k=xt(m),T=t.mouse(m),S=t.select(o(m)).on(\"keydown.brush\",function(){32==t.event.keyCode&&(A||(h=null,T[0]-=s[1],T[1]-=l[1],A=2),B())}).on(\"keyup.brush\",function(){32==t.event.keyCode&&2==A&&(T[0]+=s[1],T[1]+=l[1],A=0,B())});if(t.event.changedTouches?S.on(\"touchmove.brush\",L).on(\"touchend.brush\",P):S.on(\"mousemove.brush\",L).on(\"mouseup.brush\",P),b.interrupt().selectAll(\"*\").interrupt(),A)T[0]=s[0]-T[0],T[1]=l[0]-T[1];else if(_){var E=+/w$/.test(_),C=+/^n/.test(_);v=[s[1-E]-T[0],l[1-C]-T[1]],T[0]=s[E],T[1]=l[C]}else t.event.altKey&&(h=T.slice());function L(){var e=t.mouse(m),r=!1;v&&(e[0]+=v[0],e[1]+=v[1]),A||(t.event.altKey?(h||(h=[(s[0]+s[1])/2,(l[0]+l[1])/2]),T[0]=s[+(e[0]<h[0])],T[1]=l[+(e[1]<h[1])]):h=null),w&&z(e,i,0)&&(d(b),r=!0),M&&z(e,a,1)&&(g(b),r=!0),r&&(p(b),x({type:\"brush\",mode:A?\"move\":\"resize\"}))}function z(t,n,i){var a,o,f=oo(n),p=f[0],d=f[1],g=T[i],v=i?l:s,m=v[1]-v[0];if(A&&(p-=g,d-=m+g),a=(i?c:u)?Math.max(p,Math.min(d,t[i])):t[i],A?o=(a+=g)+m:(h&&(g=Math.max(p,Math.min(d,2*h[i]-a))),g<a?(o=a,a=g):o=g),v[0]!=a||v[1]!=o)return i?r=null:e=null,v[0]=a,v[1]=o,!0}function P(){L(),b.style(\"pointer-events\",\"all\").selectAll(\".resize\").style(\"display\",f.empty()?\"none\":null),t.select(\"body\").style(\"cursor\",null),S.on(\"mousemove.brush\",null).on(\"mouseup.brush\",null).on(\"touchmove.brush\",null).on(\"touchend.brush\",null).on(\"keydown.brush\",null).on(\"keyup.brush\",null),k(),x({type:\"brushend\"})}b.style(\"pointer-events\",\"none\").selectAll(\".resize\").style(\"display\",null),t.select(\"body\").style(\"cursor\",y.style(\"cursor\")),x({type:\"brushstart\"}),L()}return f.event=function(i){i.each(function(){var i=n.of(this,arguments),a={x:s,y:l,i:e,j:r},o=this.__chart__||a;this.__chart__=a,cs?t.select(this).transition().each(\"start.brush\",function(){e=o.i,r=o.j,s=o.x,l=o.y,i({type:\"brushstart\"})}).tween(\"brush:brush\",function(){var t=Wi(s,a.x),n=Wi(l,a.y);return e=r=null,function(e){s=a.x=t(e),l=a.y=n(e),i({type:\"brush\",mode:\"resize\"})}}).each(\"end.brush\",function(){e=a.i,r=a.j,i({type:\"brush\",mode:\"resize\"}),i({type:\"brushend\"})}):(i({type:\"brushstart\"}),i({type:\"brush\",mode:\"resize\"}),i({type:\"brushend\"}))})},f.x=function(t){return arguments.length?(h=Ms[!(i=t)<<1|!a],f):i},f.y=function(t){return arguments.length?(h=Ms[!i<<1|!(a=t)],f):a},f.clamp=function(t){return arguments.length?(i&&a?(u=!!t[0],c=!!t[1]):i?u=!!t:a&&(c=!!t),f):i&&a?[u,c]:i?u:a?c:null},f.extent=function(t){var n,o,u,c,h;return arguments.length?(i&&(n=t[0],o=t[1],a&&(n=n[0],o=o[0]),e=[n,o],i.invert&&(n=i(n),o=i(o)),o<n&&(h=n,n=o,o=h),n==s[0]&&o==s[1]||(s=[n,o])),a&&(u=t[0],c=t[1],i&&(u=u[1],c=c[1]),r=[u,c],a.invert&&(u=a(u),c=a(c)),c<u&&(h=u,u=c,c=h),u==l[0]&&c==l[1]||(l=[u,c])),f):(i&&(e?(n=e[0],o=e[1]):(n=s[0],o=s[1],i.invert&&(n=i.invert(n),o=i.invert(o)),o<n&&(h=n,n=o,o=h))),a&&(r?(u=r[0],c=r[1]):(u=l[0],c=l[1],a.invert&&(u=a.invert(u),c=a.invert(c)),c<u&&(h=u,u=c,c=h))),i&&a?[[n,u],[o,c]]:i?[n,o]:a&&[u,c])},f.clear=function(){return f.empty()||(s=[0,0],l=[0,0],e=r=null),f},f.empty=function(){return!!i&&s[0]==s[1]||!!a&&l[0]==l[1]},t.rebind(f,n,\"on\")};var ws={n:\"ns-resize\",e:\"ew-resize\",s:\"ns-resize\",w:\"ew-resize\",nw:\"nwse-resize\",ne:\"nesw-resize\",se:\"nwse-resize\",sw:\"nesw-resize\"},Ms=[[\"n\",\"e\",\"s\",\"w\",\"nw\",\"ne\",\"se\",\"sw\"],[\"e\",\"w\"],[\"n\",\"s\"],[]],As=Ie.format=sr.timeFormat,ks=As.utc,Ts=ks(\"%Y-%m-%dT%H:%M:%S.%LZ\");function Ss(t){return t.toISOString()}function Es(e,r,n){function i(t){return e(t)}function a(e,n){var i=(e[1]-e[0])/n,a=t.bisect(Ls,i);return a==Ls.length?[r.year,go(e.map(function(t){return t/31536e6}),n)[2]]:a?r[i/Ls[a-1]<Ls[a]/i?a-1:a]:[Is,go(e,n)[2]]}return i.invert=function(t){return Cs(e.invert(t))},i.domain=function(t){return arguments.length?(e.domain(t),i):e.domain().map(Cs)},i.nice=function(t,e){var r=i.domain(),n=ao(r),o=null==t?a(n,10):\"number\"==typeof t&&a(n,t);function s(r){return!isNaN(r)&&!t.range(r,Cs(+r+1),e).length}return o&&(t=o[0],e=o[1]),i.domain(lo(r,e>1?{floor:function(e){for(;s(e=t.floor(e));)e=Cs(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=Cs(+e+1);return e}}:t))},i.ticks=function(t,e){var r=ao(i.domain()),n=null==t?a(r,10):\"number\"==typeof t?a(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],Cs(+r[1]+1),e<1?1:e)},i.tickFormat=function(){return n},i.copy=function(){return Es(e.copy(),r,n)},fo(i,e)}function Cs(t){return new Date(t)}As.iso=Date.prototype.toISOString&&+new Date(\"2000-01-01T00:00:00.000Z\")?Ss:Ts,Ss.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Ss.toString=Ts.toString,Ie.second=Fe(function(t){return new De(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),Ie.seconds=Ie.second.range,Ie.seconds.utc=Ie.second.utc.range,Ie.minute=Fe(function(t){return new De(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),Ie.minutes=Ie.minute.range,Ie.minutes.utc=Ie.minute.utc.range,Ie.hour=Fe(function(t){var e=t.getTimezoneOffset()/60;return new De(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),Ie.hours=Ie.hour.range,Ie.hours.utc=Ie.hour.utc.range,Ie.month=Fe(function(t){return(t=Ie.day(t)).setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),Ie.months=Ie.month.range,Ie.months.utc=Ie.month.utc.range;var Ls=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],zs=[[Ie.second,1],[Ie.second,5],[Ie.second,15],[Ie.second,30],[Ie.minute,1],[Ie.minute,5],[Ie.minute,15],[Ie.minute,30],[Ie.hour,1],[Ie.hour,3],[Ie.hour,6],[Ie.hour,12],[Ie.day,1],[Ie.day,2],[Ie.week,1],[Ie.month,1],[Ie.month,3],[Ie.year,1]],Ps=As.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\",Wr]]),Is={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(Cs)},floor:z,ceil:z};zs.year=Ie.year,Ie.scale=function(){return Es(t.scale.linear(),zs,Ps)};var Ds=zs.map(function(t){return[t[0].utc,t[1]]}),Os=ks.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\",Wr]]);function Rs(t){return JSON.parse(t.responseText)}function Fs(t){var e=i.createRange();return e.selectNode(i.body),e.createContextualFragment(t.responseText)}Ds.year=Ie.year.utc,Ie.scale.utc=function(){return Es(t.scale.linear(),Ds,Os)},t.text=me(function(t){return t.responseText}),t.json=function(t,e){return ye(t,\"application/json\",Rs,e)},t.html=function(t,e){return ye(t,\"text/html\",Fs,e)},t.xml=me(function(t){return t.responseXML}),e.exports?e.exports=t:this.d3=t}(),e=e.exports;var r=function(t){var e=typeof t;if(\"string\"===e){var r=t;if(0===(t=+t)&&function(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}(r))return!1}else if(\"number\"!==e)return!1;return t-t<1},n={},i=Math.PI;n.deg2rad=function(t){return t/180*i},n.rad2deg=function(t){return t/i*180},n.wrap360=function(t){var e=t%360;return e<0?e+360:e},n.wrap180=function(t){return Math.abs(t)>180&&(t-=360*Math.round(t/360)),t};var a=t.BADNUM,o=/^['\"%,$#\\s']+|[, ]|['\"%,$#\\s']+$/g,s={exports:{}};!function(t){var e=/^\\s+/,r=/\\s+$/,n=0,i=t.round,a=t.min,o=t.max,l=t.random;function u(s,l){if(s=s||\"\",l=l||{},s instanceof u)return s;if(!(this instanceof u))return new u(s,l);var c=function(n){var i={r:0,g:0,b:0},s=1,l=null,u=null,c=null,h=!1,f=!1;\"string\"==typeof n&&(n=function(t){t=t.replace(e,\"\").replace(r,\"\").toLowerCase();var n,i=!1;if(S[t])t=S[t],i=!0;else if(\"transparent\"==t)return{r:0,g:0,b:0,a:0,format:\"name\"};if(n=j.rgb.exec(t))return{r:n[1],g:n[2],b:n[3]};if(n=j.rgba.exec(t))return{r:n[1],g:n[2],b:n[3],a:n[4]};if(n=j.hsl.exec(t))return{h:n[1],s:n[2],l:n[3]};if(n=j.hsla.exec(t))return{h:n[1],s:n[2],l:n[3],a:n[4]};if(n=j.hsv.exec(t))return{h:n[1],s:n[2],v:n[3]};if(n=j.hsva.exec(t))return{h:n[1],s:n[2],v:n[3],a:n[4]};if(n=j.hex8.exec(t))return{r:P(n[1]),g:P(n[2]),b:P(n[3]),a:R(n[4]),format:i?\"name\":\"hex8\"};if(n=j.hex6.exec(t))return{r:P(n[1]),g:P(n[2]),b:P(n[3]),format:i?\"name\":\"hex\"};if(n=j.hex4.exec(t))return{r:P(n[1]+\"\"+n[1]),g:P(n[2]+\"\"+n[2]),b:P(n[3]+\"\"+n[3]),a:R(n[4]+\"\"+n[4]),format:i?\"name\":\"hex8\"};if(n=j.hex3.exec(t))return{r:P(n[1]+\"\"+n[1]),g:P(n[2]+\"\"+n[2]),b:P(n[3]+\"\"+n[3]),format:i?\"name\":\"hex\"};return!1}(n));\"object\"==typeof n&&(V(n.r)&&V(n.g)&&V(n.b)?(p=n.r,d=n.g,g=n.b,i={r:255*L(p,255),g:255*L(d,255),b:255*L(g,255)},h=!0,f=\"%\"===String(n.r).substr(-1)?\"prgb\":\"rgb\"):V(n.h)&&V(n.s)&&V(n.v)?(l=D(n.s),u=D(n.v),i=function(e,r,n){e=6*L(e,360),r=L(r,100),n=L(n,100);var i=t.floor(e),a=e-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]}}(n.h,l,u),h=!0,f=\"hsv\"):V(n.h)&&V(n.s)&&V(n.l)&&(l=D(n.s),c=D(n.l),i=function(t,e,r){var n,i,a;function o(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}if(t=L(t,360),e=L(e,100),r=L(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(n.h,l,c),h=!0,f=\"hsl\"),n.hasOwnProperty(\"a\")&&(s=n.a));var p,d,g;return s=C(s),{ok:h,format:n.format||f,r:a(255,o(i.r,0)),g:a(255,o(i.g,0)),b:a(255,o(i.b,0)),a:s}}(s);this._originalInput=s,this._r=c.r,this._g=c.g,this._b=c.b,this._a=c.a,this._roundA=i(100*this._a)/100,this._format=l.format||c.format,this._gradientType=l.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=c.ok,this._tc_id=n++}function c(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,s=o(t,e,r),l=a(t,e,r),u=(s+l)/2;if(s==l)n=i=0;else{var c=s-l;switch(i=u>.5?c/(2-s-l):c/(s+l),s){case t:n=(e-r)/c+(e<r?6:0);break;case e:n=(r-t)/c+2;break;case r:n=(t-e)/c+4}n/=6}return{h:n,s:i,l:u}}function h(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,s=o(t,e,r),l=a(t,e,r),u=s,c=s-l;if(i=0===s?0:c/s,s==l)n=0;else{switch(s){case t:n=(e-r)/c+(e<r?6:0);break;case e:n=(r-t)/c+2;break;case r:n=(t-e)/c+4}n/=6}return{h:n,s:i,v:u}}function f(t,e,r,n){var a=[I(i(t).toString(16)),I(i(e).toString(16)),I(i(r).toString(16))];return n&&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[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0):a.join(\"\")}function p(t,e,r,n){return[I(O(n)),I(i(t).toString(16)),I(i(e).toString(16)),I(i(r).toString(16))].join(\"\")}function d(t,e){e=0===e?0:e||10;var r=u(t).toHsl();return r.s-=e/100,r.s=z(r.s),u(r)}function g(t,e){e=0===e?0:e||10;var r=u(t).toHsl();return r.s+=e/100,r.s=z(r.s),u(r)}function v(t){return u(t).desaturate(100)}function m(t,e){e=0===e?0:e||10;var r=u(t).toHsl();return r.l+=e/100,r.l=z(r.l),u(r)}function y(t,e){e=0===e?0:e||10;var r=u(t).toRgb();return r.r=o(0,a(255,r.r-i(-e/100*255))),r.g=o(0,a(255,r.g-i(-e/100*255))),r.b=o(0,a(255,r.b-i(-e/100*255))),u(r)}function x(t,e){e=0===e?0:e||10;var r=u(t).toHsl();return r.l-=e/100,r.l=z(r.l),u(r)}function b(t,e){var r=u(t).toHsl(),n=(r.h+e)%360;return r.h=n<0?360+n:n,u(r)}function _(t){var e=u(t).toHsl();return e.h=(e.h+180)%360,u(e)}function w(t){var e=u(t).toHsl(),r=e.h;return[u(t),u({h:(r+120)%360,s:e.s,l:e.l}),u({h:(r+240)%360,s:e.s,l:e.l})]}function M(t){var e=u(t).toHsl(),r=e.h;return[u(t),u({h:(r+90)%360,s:e.s,l:e.l}),u({h:(r+180)%360,s:e.s,l:e.l}),u({h:(r+270)%360,s:e.s,l:e.l})]}function A(t){var e=u(t).toHsl(),r=e.h;return[u(t),u({h:(r+72)%360,s:e.s,l:e.l}),u({h:(r+216)%360,s:e.s,l:e.l})]}function k(t,e,r){e=e||6,r=r||30;var n=u(t).toHsl(),i=360/r,a=[u(t)];for(n.h=(n.h-(i*e>>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(u(n));return a}function T(t,e){e=e||6;for(var r=u(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(u({h:n,s:i,v:a})),a=(a+s)%1;return o}u.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 e,r,n,i=this.toRgb();return e=i.r/255,r=i.g/255,n=i.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=C(t),this._roundA=i(100*this._a)/100,this},toHsv:function(){var t=h(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=h(this._r,this._g,this._b),e=i(360*t.h),r=i(100*t.s),n=i(100*t.v);return 1==this._a?\"hsv(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsva(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHsl:function(){var t=c(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=c(this._r,this._g,this._b),e=i(360*t.h),r=i(100*t.s),n=i(100*t.l);return 1==this._a?\"hsl(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsla(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHex:function(t){return f(this._r,this._g,this._b,t)},toHexString:function(t){return\"#\"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,a){var o=[I(i(t).toString(16)),I(i(e).toString(16)),I(i(r).toString(16)),I(O(n))];if(a&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join(\"\")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return\"#\"+this.toHex8(t)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\"rgb(\"+i(this._r)+\", \"+i(this._g)+\", \"+i(this._b)+\")\":\"rgba(\"+i(this._r)+\", \"+i(this._g)+\", \"+i(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:i(100*L(this._r,255))+\"%\",g:i(100*L(this._g,255))+\"%\",b:i(100*L(this._b,255))+\"%\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\"rgb(\"+i(100*L(this._r,255))+\"%, \"+i(100*L(this._g,255))+\"%, \"+i(100*L(this._b,255))+\"%)\":\"rgba(\"+i(100*L(this._r,255))+\"%, \"+i(100*L(this._g,255))+\"%, \"+i(100*L(this._b,255))+\"%, \"+this._roundA+\")\"},toName:function(){return 0===this._a?\"transparent\":!(this._a<1)&&(E[f(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e=\"#\"+p(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?\"GradientType = 1, \":\"\";if(t){var i=u(t);r=\"#\"+p(i._r,i._g,i._b,i._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+n+\"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 u(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(){return this._applyModification(y,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(v,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(k,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(T,arguments)},splitcomplement:function(){return this._applyCombination(A,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},u.fromRatio=function(t,e){if(\"object\"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=\"a\"===n?t[n]:D(t[n]));t=r}return u(t,e)},u.equals=function(t,e){return!(!t||!e)&&u(t).toRgbString()==u(e).toRgbString()},u.random=function(){return u.fromRatio({r:l(),g:l(),b:l()})},u.mix=function(t,e,r){r=0===r?0:r||50;var n=u(t).toRgb(),i=u(e).toRgb(),a=r/100;return u({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},u.readability=function(e,r){var n=u(e),i=u(r);return(t.max(n.getLuminance(),i.getLuminance())+.05)/(t.min(n.getLuminance(),i.getLuminance())+.05)},u.isReadable=function(t,e,r){var n,i,a=u.readability(t,e);switch(i=!1,(n=function(t){var e,r;e=((t=t||{level:\"AA\",size:\"small\"}).level||\"AA\").toUpperCase(),r=(t.size||\"small\").toLowerCase(),\"AA\"!==e&&\"AAA\"!==e&&(e=\"AA\");\"small\"!==r&&\"large\"!==r&&(r=\"small\");return{level:e,size:r}}(r)).level+n.size){case\"AAsmall\":case\"AAAlarge\":i=a>=4.5;break;case\"AAlarge\":i=a>=3;break;case\"AAAsmall\":i=a>=7}return i},u.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var c=0;c<e.length;c++)(n=u.readability(t,e[c]))>l&&(l=n,s=u(e[c]));return u.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,u.mostReadable(t,[\"#fff\",\"#000\"],r))};var S=u.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\"},E=u.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function C(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function L(e,r){(function(t){return\"string\"==typeof t&&-1!=t.indexOf(\".\")&&1===parseFloat(t)})(e)&&(e=\"100%\");var n=function(t){return\"string\"==typeof t&&-1!=t.indexOf(\"%\")}(e);return e=a(r,o(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function z(t){return a(1,o(0,t))}function P(t){return parseInt(t,16)}function I(t){return 1==t.length?\"0\"+t:\"\"+t}function D(t){return t<=1&&(t=100*t+\"%\"),t}function O(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return P(t)/255}var F,B,N,j=(B=\"[\\\\s|\\\\(]+(\"+(F=\"(?:[-\\\\+]?\\\\d*\\\\.\\\\d+%?)|(?:[-\\\\+]?\\\\d+%?)\")+\")[,|\\\\s]+(\"+F+\")[,|\\\\s]+(\"+F+\")\\\\s*\\\\)?\",N=\"[\\\\s|\\\\(]+(\"+F+\")[,|\\\\s]+(\"+F+\")[,|\\\\s]+(\"+F+\")[,|\\\\s]+(\"+F+\")\\\\s*\\\\)?\",{CSS_UNIT:new RegExp(F),rgb:new RegExp(\"rgb\"+B),rgba:new RegExp(\"rgba\"+N),hsl:new RegExp(\"hsl\"+B),hsla:new RegExp(\"hsla\"+N),hsv:new RegExp(\"hsv\"+B),hsva:new RegExp(\"hsva\"+N),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})$/});function V(t){return!!j.CSS_UNIT.exec(t)}s.exports?s.exports=u:window.tinycolor=u}(Math),s=s.exports;var l={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\"]],Cividis:[[0,\"rgb(0,32,76)\"],[.058824,\"rgb(0,42,102)\"],[.117647,\"rgb(0,52,110)\"],[.176471,\"rgb(39,63,108)\"],[.235294,\"rgb(60,74,107)\"],[.294118,\"rgb(76,85,107)\"],[.352941,\"rgb(91,95,109)\"],[.411765,\"rgb(104,106,112)\"],[.470588,\"rgb(117,117,117)\"],[.529412,\"rgb(131,129,120)\"],[.588235,\"rgb(146,140,120)\"],[.647059,\"rgb(161,152,118)\"],[.705882,\"rgb(176,165,114)\"],[.764706,\"rgb(192,177,109)\"],[.823529,\"rgb(209,191,102)\"],[.882353,\"rgb(225,204,92)\"],[.941176,\"rgb(243,219,79)\"],[1,\"rgb(255,233,69)\"]]},u=l.RdBu,c=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 n=t[r];if(2!==n.length||+n[0]<e||!s(n[1]).isValid())return!1;e=+n[0]}return!0},h=function(t,e){if(e||(e=u),!t)return e;function r(){try{t=l[t]||JSON.parse(t)}catch(r){t=e}}return\"string\"==typeof t&&(r(),\"string\"==typeof t&&r()),c(t)?t:e},f={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DBLCLICKDELAY:300,DESELECTDIM:.2},p={},d=\"undefined\"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}},g=\"undefined\"==typeof DataView?function(){}:DataView;p.isTypedArray=function(t){return d.isView(t)&&!(t instanceof g)},p.isArrayOrTypedArray=function(t){return Array.isArray(t)||p.isTypedArray(t)};var v=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},m={},y=Array.isArray;function x(t,e,r,n){var i,a,o,s,l,u,c=t[0],h=t.length;if(2===h&&y(c)&&y(t[1])&&0===c.length){if(function(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}(t[1],c))return c;c.splice(0,c.length)}for(var f=1;f<h;f++)for(a in i=t[f])o=c[a],s=i[a],n&&y(s)?c[a]=s:e&&s&&(v(s)||(l=y(s)))?(l?(l=!1,u=o&&y(o)?o:[]):u=o&&v(o)?o:{},c[a]=x([u,s],e,r,n)):(void 0!==s||r)&&(c[a]=s);return c}m.extendFlat=function(){return x(arguments,!1,!1,!1)},m.extendDeep=function(){return x(arguments,!0,!1,!1)},m.extendDeepAll=function(){return x(arguments,!0,!0,!1)},m.extendDeepNoArrays=function(){return x(arguments,!0,!1,!0)};var b={staticPlot:!1,editable:!1,edits:{annotationPosition:!1,annotationTail:!1,annotationText:!1,axisTitleText:!1,colorbarPosition:!1,colorbarTitleText:!1,legendPosition:!1,legendText:!1,shapePosition:!1,titleText:!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:\"transparent\",topojsonURL:\"https://cdn.plot.ly/\",mapboxAccessToken:null,logging:1,globalTransforms:[],locale:\"en-US\",locales:{}},_={},w=_={};function M(t,e){if(t.apply)t.apply(t,e);else for(var r=0;r<e.length;r++)t(e[r])}w.log=function(){if(b.logging>1){for(var t=[\"LOG:\"],e=0;e<arguments.length;e++)t.push(arguments[e]);M(console.trace||console.log,t)}},w.warn=function(){if(b.logging>0){for(var t=[\"WARN:\"],e=0;e<arguments.length;e++)t.push(arguments[e]);M(console.trace||console.log,t)}},w.error=function(){if(b.logging>0){for(var t=[\"ERROR:\"],e=0;e<arguments.length;e++)t.push(arguments[e]);M(console.error,t)}};var A=function(){},k=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&&0!==e||-1!==t.indexOf(e)||t.push(e);return t},T=function(t){var e=t.editType,r=t.colorEditType;void 0===r&&(r=e);var n={family:{valType:\"string\",noBlank:!0,strict:!0,editType:e},size:{valType:\"number\",min:1,editType:e},color:{valType:\"color\",editType:r},editType:e};return t.arrayOk&&(n.family.arrayOk=!0,n.size.arrayOk=!0,n.color.arrayOk=!0),n},S={hoverlabel:{bgcolor:{valType:\"color\",arrayOk:!0,editType:\"none\"},bordercolor:{valType:\"color\",arrayOk:!0,editType:\"none\"},font:T({arrayOk:!0,editType:\"none\"}),namelength:{valType:\"integer\",min:-1,arrayOk:!0,editType:\"none\"},editType:\"calc\"}},E={type:{valType:\"enumerated\",values:[],dflt:\"scatter\",editType:\"calc+clearAxisTypes\"},visible:{valType:\"enumerated\",values:[!0,!1,\"legendonly\"],dflt:!0,editType:\"calc\"},showlegend:{valType:\"boolean\",dflt:!0,editType:\"style\"},legendgroup:{valType:\"string\",dflt:\"\",editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"style\"},name:{valType:\"string\",editType:\"style\"},uid:{valType:\"string\",dflt:\"\",editType:\"calc\"},ids:{valType:\"data_array\",editType:\"calc\"},customdata:{valType:\"data_array\",editType:\"calc\"},selectedpoints:{valType:\"any\",editType:\"calc\"},hoverinfo:{valType:\"flaglist\",flags:[\"x\",\"y\",\"z\",\"text\",\"name\"],extras:[\"all\",\"none\",\"skip\"],arrayOk:!0,dflt:\"all\",editType:\"none\"},hoverlabel:S.hoverlabel,stream:{token:{valType:\"string\",noBlank:!0,strict:!0,editType:\"calc\"},maxpoints:{valType:\"number\",min:0,max:1e4,dflt:500,editType:\"calc\"},editType:\"calc\"}},C={defaults:[\"#1f77b4\",\"#ff7f0e\",\"#2ca02c\",\"#d62728\",\"#9467bd\",\"#8c564b\",\"#e377c2\",\"#7f7f7f\",\"#bcbd22\",\"#17becf\"],defaultLine:\"#444\",lightLine:\"#eee\",background:\"#fff\",borderLine:\"#BEC8D9\",lightFraction:1e3/11},L=T({editType:\"calc\"});L.family.dflt='\"Open Sans\", verdana, arial, sans-serif',L.size.dflt=12,L.color.dflt=C.defaultLine;var z={font:L,title:{valType:\"string\",editType:\"layoutstyle\"},titlefont:T({editType:\"layoutstyle\"}),autosize:{valType:\"boolean\",dflt:!1,editType:\"none\"},width:{valType:\"number\",min:10,dflt:700,editType:\"plot\"},height:{valType:\"number\",min:10,dflt:450,editType:\"plot\"},margin:{l:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},r:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},t:{valType:\"number\",min:0,dflt:100,editType:\"plot\"},b:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},autoexpand:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},paper_bgcolor:{valType:\"color\",dflt:C.background,editType:\"plot\"},plot_bgcolor:{valType:\"color\",dflt:C.background,editType:\"layoutstyle\"},separators:{valType:\"string\",editType:\"plot\"},hidesources:{valType:\"boolean\",dflt:!1,editType:\"plot\"},showlegend:{valType:\"boolean\",editType:\"legend\"},colorway:{valType:\"colorlist\",dflt:C.defaults,editType:\"calc\"},datarevision:{valType:\"any\",editType:\"calc\"}},P={},I=m.extendFlat,D=m.extendDeepAll;function O(t){var e=t.name,r=t.categories,n=t.meta;if(P.modules[e])_.log(\"Type \"+e+\" already registered\");else{P.subplotsRegistry[t.basePlotModule.name]||function(t){var e=t.name;if(P.subplotsRegistry[e])return void _.log(\"Plot type \"+e+\" already registered.\");for(var r in N(t),P.subplotsRegistry[e]=t,P.componentsRegistry)U(r,t.name)}(t.basePlotModule);for(var i={},a=0;a<r.length;a++)i[r[a]]=!0,P.allCategories[r[a]]=!0;for(var o in P.modules[e]={_module:t,categories:i},n&&Object.keys(n).length&&(P.modules[e].meta=n),P.allTypes.push(e),P.componentsRegistry)j(o,e);t.layoutAttributes&&I(P.traceLayoutAttributes,t.layoutAttributes)}}function R(t){if(\"string\"!=typeof t.name)throw new Error(\"Component module *name* must be a string.\");var e=t.name;for(var r in P.componentsRegistry[e]=t,t.layoutAttributes&&(t.layoutAttributes._isLinkedToArray&&k(P.layoutArrayContainers,e),N(t)),P.modules)j(e,r);for(var n in P.subplotsRegistry)U(e,n);for(var i in P.transformsRegistry)V(e,i);t.schema&&t.schema.layout&&D(z,t.schema.layout)}function F(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.\");for(var i in r&&n&&_.log([e+\" has both a *transform* and *calcTransform* methods.\",\"Please note that all *transform* methods are executed\",\"before all *calcTransform* methods.\"].join(\" \")),v(t.attributes)||_.log(e+\" registered without an *attributes* object.\"),\"function\"!=typeof t.supplyDefaults&&_.log(e+\" registered without a *supplyDefaults* method.\"),P.transformsRegistry[t.name]=t,P.componentsRegistry)V(i,t.name)}function B(t){var e=t.name,r=e.split(\"-\")[0],n=t.dictionary,i=t.format,a=n&&Object.keys(n).length,o=i&&Object.keys(i).length,s=P.localeRegistry,l=s[e];if(l||(s[e]=l={}),r!==e){var u=s[r];u||(s[r]=u={}),a&&u.dictionary===l.dictionary&&(u.dictionary=n),o&&u.format===l.format&&(u.format=i)}a&&(l.dictionary=n),o&&(l.format=i)}function N(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var r=0;r<e.length;r++)k(P.layoutArrayRegexes,e[r])}}function j(t,e){var r=P.componentsRegistry[t].schema;if(r&&r.traces){var n=r.traces[e];n&&D(P.modules[e]._module.attributes,n)}}function V(t,e){var r=P.componentsRegistry[t].schema;if(r&&r.transforms){var n=r.transforms[e];n&&D(P.transformsRegistry[e].attributes,n)}}function U(t,e){var r=P.componentsRegistry[t].schema;if(r&&r.subplots){var n=P.subplotsRegistry[e],i=n.layoutAttributes,a=\"subplot\"===n.attr?n.name:n.attr;Array.isArray(a)&&(a=a[0]);var o=r.subplots[a];i&&o&&D(i,o)}}function q(t){return\"object\"==typeof t&&(t=t.type),t}P.modules={},P.allCategories={},P.allTypes=[],P.subplotsRegistry={},P.transformsRegistry={},P.componentsRegistry={},P.layoutArrayContainers=[],P.layoutArrayRegexes=[],P.traceLayoutAttributes={},P.localeRegistry={},P.apiMethodRegistry={},P.register=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\":O(r);break;case\"transform\":F(r);break;case\"component\":R(r);break;case\"locale\":B(r);break;case\"apiMethod\":var n=r.name;P.apiMethodRegistry[n]=r.fn;break;default:throw new Error(\"Invalid module was attempted to be registered!\")}}},P.getModule=function(t){var e=P.modules[q(t)];return!!e&&e._module},P.traceIs=function(t,e){if(\"various\"===(t=q(t)))return!1;var r=P.modules[t];return r||(t&&\"area\"!==t&&_.log(\"Unrecognized trace type \"+t+\".\"),r=P.modules[E.type.dflt]),!!r.categories[e]},P.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],i=0;i<n.length;i++)n[i].type===e&&r.push(i);return r},P.hasTransform=function(t,e){for(var r=t.transforms||[],n=0;n<r.length;n++)if(r[n].type===e)return!0;return!1},P.getComponentMethod=function(t,e){var r=P.componentsRegistry[t];return r&&r[e]||A},P.call=function(){var t=arguments[0],e=[].slice.call(arguments,1);return P.apiMethodRegistry[t].apply(null,e)};var H=function(t){for(var e,r,n=P.layoutArrayContainers,i=P.layoutArrayRegexes,a=t.split(\"[\")[0],o=0;o<i.length;o++)if((r=t.match(i[o]))&&0===r.index){e=r[0];break}if(e||(e=n[n.indexOf(a)]),!e)return!1;var s=t.substr(e.length);return s?!!(r=s.match(/^\\[(0|[1-9][0-9]*)\\](\\.(.+))?$/))&&{array:e,index:Number(r[1]),property:r[3]||\"\"}:{array:e,index:\"\",property:\"\"}},G=p.isArrayOrTypedArray,W=function(t,e){if(r(e))e=String(e);else if(\"string\"!=typeof e||\"[-1]\"===e.substr(e.length-4))throw\"bad property string\";for(var n,i,a,o=0,s=e.split(\".\");o<s.length;){if(n=String(s[o]).match(/^([^\\[\\]]*)((\\[\\-?[0-9]*\\])+)$/)){if(n[1])s[o]=n[1];else{if(0!==o)throw\"bad property string\";s.splice(0,1)}for(i=n[2].substr(1,n[2].length-2).split(\"][\"),a=0;a<i.length;a++)o++,s.splice(o,0,Number(i[a]))}o++}return\"object\"!=typeof t?function(t,e,r){return{set:function(){throw\"bad container\"},get:function(){},astr:e,parts:r,obj:t}}(t,e,s):{set:J(t,s,e),get:function t(e,r){return function(){var n,i,a,o,s,l=e;for(o=0;o<r.length-1;o++){if(-1===(n=r[o])){for(i=!0,a=[],s=0;s<l.length;s++)a[s]=t(l[s],r.slice(o+1))(),a[s]!==a[0]&&(i=!1);return i?a[0]:a}if(\"number\"==typeof n&&!G(l))return;if(\"object\"!=typeof(l=l[n])||null===l)return}if(\"object\"==typeof l&&null!==l&&null!==(a=l[r[o]]))return a}}(t,s),astr:e,parts:s,obj:t}};var Y=/(^|\\.)((domain|range)(\\.[xy])?|args|parallels)$/,X=/(^|\\.)args\\[/;function Z(t,e){if(void 0!==(r=t)&&null!==r&&(\"object\"!=typeof r||(G(r)?r.length:Object.keys(r).length))||v(t)&&\"]\"===e.charAt(e.length-1)||e.match(X)&&void 0!==t)return!1;var r;if(!G(t))return!0;if(e.match(Y))return!0;var n=H(e);return n&&\"\"===n.index}function J(t,e,r){return function(n){var i,a,o=t,s=\"\",l=[[t,s]],u=Z(n,r);for(a=0;a<e.length-1;a++){if(\"number\"==typeof(i=e[a])&&!G(o))throw\"array index but container is not an array\";if(-1===i){if(u=!Q(o,e.slice(a+1),n,r))break;return}if(!$(o,i,e[a+1],u))break;if(\"object\"!=typeof(o=o[i])||null===o)throw\"container is not an object\";s=K(s,i),l.push([o,s])}u?(a===e.length-1&&delete o[e[a]],function(t){var e,r,n,i,a,o;for(e=t.length-1;e>=0;e--){if(n=t[e][0],i=t[e][1],o=!1,G(n))for(r=n.length-1;r>=0;r--)Z(n[r],K(i,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--)Z(n[a[r]],K(i,a[r]))?delete n[a[r]]:o=!0;if(o)return}}(l)):o[e[a]]=n}}function K(t,e){var n=e;return r(e)?n=\"[\"+e+\"]\":t&&(n=\".\"+e),t+n}function Q(t,e,r,n){var i,a=G(r),o=!0,s=r,l=n.replace(\"-1\",0),u=!a&&Z(r,l),c=e[0];for(i=0;i<t.length;i++)l=n.replace(\"-1\",i),a&&(u=Z(s=r[i%r.length],l)),u&&(o=!1),$(t,i,c,u)&&J(t[i],e,n.replace(\"-1\",i))(s);return o}function $(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]=\"number\"==typeof r?[]:{}}return!0}var tt={counter:function(t,e,r){var n=(e||\"\")+(r?\"\":\"$\");return\"xy\"===t?new RegExp(\"^x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?\"+n):new RegExp(\"^\"+t+\"([2-9]|[1-9][0-9]+)?\"+n)}},et={},rt=(Object.keys(l),tt.counter),nt=f.DESELECTDIM,it=n.wrap180,at=p.isArrayOrTypedArray;et.valObjectMeta={data_array:{coerceFunction:function(t,e,r){at(t)?e.set(t):void 0!==r&&e.set(r)}},enumerated:{coerceFunction:function(t,e,r,n){n.coerceNumber&&(t=+t),-1===n.values.indexOf(t)?e.set(r):e.set(t)},validateFunction:function(t,e){e.coerceNumber&&(t=+t);for(var r=e.values,n=0;n<r.length;n++){var i=String(r[n]);if(\"/\"===i.charAt(0)&&\"/\"===i.charAt(i.length-1)){if(new RegExp(i.substr(1,i.length-2)).test(t))return!0}else if(t===r[n])return!0}return!1}},boolean:{coerceFunction:function(t,e,r){!0===t||!1===t?e.set(t):e.set(r)}},number:{coerceFunction:function(t,e,n,i){!r(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(n):e.set(+t)}},integer:{coerceFunction:function(t,e,n,i){t%1||!r(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(n):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if(\"string\"!=typeof t){var i=\"number\"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){s(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every(function(t){return s(t).isValid()})?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(h(t,r))}},angle:{coerceFunction:function(t,e,n){\"auto\"===t?e.set(\"auto\"):r(t)?e.set(it(+t)):e.set(n)}},subplotid:{coerceFunction:function(t,e,r){\"string\"==typeof t&&rt(r).test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||\"string\"==typeof t&&!!rt(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(\"string\"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var i=t.split(\"+\"),a=0;a<i.length;){var o=i[a];-1===n.flags.indexOf(o)||i.indexOf(o)<a?i.splice(a,1):a++}i.length?e.set(i.join(\"+\")):e.set(r)}else e.set(t);else e.set(r)}},any:{coerceFunction:function(t,e,r){void 0===t?e.set(r):e.set(t)}},info_array:{coerceFunction:function(t,e,r,n){function i(t,e,r){var n,i={set:function(t){n=t}};return void 0===r&&(r=e.dflt),et.valObjectMeta[e.valType].coerceFunction(t,i,r,e),n}var a=2===n.dimensions;if(Array.isArray(t)){var o,s,l,u,c=n.items,h=[],f=Array.isArray(c),p=f?c.length:t.length;if(r=Array.isArray(r)?r:[],a)for(o=0;o<p;o++){h[o]=[];var d=Array.isArray(t[o])?t[o]:[];for(l=f?c[o].length:d.length,s=0;s<l;s++)void 0!==(u=i(d[s],f?c[o][s]:c,(r[o]||[])[s]))&&(h[o][s]=u)}else for(o=0;o<p;o++)void 0!==(u=i(t[o],f?c[o]:c,r[o]))&&(h[o]=u);e.set(h)}else e.set(r)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var r=e.items,n=Array.isArray(r),i=2===e.dimensions;if(!e.freeLength&&t.length!==r.length)return!1;for(var a=0;a<t.length;a++)if(i){if(!Array.isArray(t[a])||!e.freeLength&&t[a].length!==r[a].length)return!1;for(var o=0;o<t[a].length;o++)if(!et.validate(t[a][o],n?r[a][o]:r))return!1}else if(!et.validate(t[a],n?r[a]:r))return!1;return!0}}},et.coerce=function(t,e,r,n,i){var a=W(r,n).get(),o=W(t,n),s=W(e,n),l=o.get();return void 0===i&&(i=a.dflt),a.arrayOk&&at(l)?(s.set(l),l):(et.valObjectMeta[a.valType].coerceFunction(l,s,i,a),s.get())},et.coerce2=function(t,e,r,n,i){var a=W(t,n),o=et.coerce(t,e,r,n,i),s=a.get();return void 0!==s&&null!==s&&o},et.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},et.coerceHoverinfo=function(t,e,r){var n,i=e._module.attributes,a=i.hoverinfo?{hoverinfo:i.hoverinfo}:E,o=a.hoverinfo;if(1===r._dataLength){var s=\"all\"===o.dflt?o.flags.slice():o.dflt.split(\"+\");s.splice(s.indexOf(\"name\"),1),n=s.join(\"+\")}return et.coerce(t,e,a,\"hoverinfo\",n)},et.coerceSelectionMarkerOpacity=function(t,e){if(t.marker){var r,n,i=t.marker.opacity;if(void 0!==i)at(i)||t.selected||t.unselected||(r=i,n=nt*i),e(\"selected.marker.opacity\",r),e(\"unselected.marker.opacity\",n)}},et.validate=function(t,e){var r=et.valObjectMeta[e.valType];if(e.arrayOk&&at(t))return!0;if(r.validateFunction)return r.validateFunction(t,e);var n={},i=n,a={set:function(t){i=t}};return r.coerceFunction(t,a,n,e),i!==n};var ot,st,lt=function(t,e){var r=t%e;return r<0?r+e:r},ut={},ct=t.BADNUM,ht=t.ONEDAY,ft=t.ONEHOUR,pt=t.ONEMIN,dt=t.ONESEC,gt=t.EPOCHJD,vt=e.time.format.utc,mt=/^\\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,yt=/^\\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,xt=(new Date).getFullYear()-70;function bt(t){return t&&P.componentsRegistry.calendars&&\"string\"==typeof t&&\"gregorian\"!==t}function _t(t,e){return String(t+Math.pow(10,e)).substr(1)}ut.dateTick0=function(t,e){return bt(t)?e?P.getComponentMethod(\"calendars\",\"CANONICAL_SUNDAY\")[t]:P.getComponentMethod(\"calendars\",\"CANONICAL_TICK\")[t]:e?\"2000-01-02\":\"2000-01-01\"},ut.dfltRange=function(t){return bt(t)?P.getComponentMethod(\"calendars\",\"DFLTRANGE\")[t]:[\"2000-01-01\",\"2001-01-01\"]},ut.isJSDate=function(t){return\"object\"==typeof t&&null!==t&&\"function\"==typeof t.getTime},ut.dateTime2ms=function(t,e){if(ut.isJSDate(t))return(t=Number(t)-t.getTimezoneOffset()*pt)>=ot&&t<=st?t:ct;if(\"string\"!=typeof t&&\"number\"!=typeof t)return ct;t=String(t);var r=bt(e),n=t.charAt(0);!r||\"G\"!==n&&\"g\"!==n||(t=t.substr(1),e=\"\");var i=r&&\"chinese\"===e.substr(0,7),a=t.match(i?yt:mt);if(!a)return ct;var o=a[1],s=a[3]||\"1\",l=Number(a[5]||1),u=Number(a[7]||0),c=Number(a[9]||0),h=Number(a[11]||0);if(r){if(2===o.length)return ct;var f;o=Number(o);try{var p=P.getComponentMethod(\"calendars\",\"getCal\")(e);if(i){var d=\"i\"===s.charAt(s.length-1);s=parseInt(s,10),f=p.newDate(o,p.toMonthIndex(o,s,d),l)}else f=p.newDate(o,Number(s),l)}catch(t){return ct}return f?(f.toJD()-gt)*ht+u*ft+c*pt+h*dt:ct}o=2===o.length?(Number(o)+2e3-xt)%100+xt:Number(o),s-=1;var g=new Date(Date.UTC(2e3,s,l,u,c));return g.setUTCFullYear(o),g.getUTCMonth()!==s?ct:g.getUTCDate()!==l?ct:g.getTime()+h*dt},ot=ut.MIN_MS=ut.dateTime2ms(\"-9999\"),st=ut.MAX_MS=ut.dateTime2ms(\"9999-12-31 23:59:59.9999\"),ut.isDateTime=function(t,e){return ut.dateTime2ms(t,e)!==ct};var wt=90*ht,Mt=3*ft,At=5*pt;function kt(t,e,r,n,i){if((e||r||n||i)&&(t+=\" \"+_t(e,2)+\":\"+_t(r,2),(n||i)&&(t+=\":\"+_t(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+=\".\"+_t(i,a)}return t}ut.ms2DateTime=function(t,e,r){if(\"number\"!=typeof t||!(t>=ot&&t<=st))return ct;e||(e=0);var n,i,a,o,s,l,u=Math.floor(10*lt(t+.05,1)),c=Math.round(t-u/10);if(bt(r)){var h=Math.floor(c/ht)+gt,f=Math.floor(lt(t,ht));try{n=P.getComponentMethod(\"calendars\",\"getCal\")(r).fromJD(h).formatDate(\"yyyy-mm-dd\")}catch(t){n=vt(\"G%Y-%m-%d\")(new Date(c))}if(\"-\"===n.charAt(0))for(;n.length<11;)n=\"-0\"+n.substr(1);else for(;n.length<10;)n=\"0\"+n;i=e<wt?Math.floor(f/ft):0,a=e<wt?Math.floor(f%ft/pt):0,o=e<Mt?Math.floor(f%pt/dt):0,s=e<At?f%dt*10+u:0}else l=new Date(c),n=vt(\"%Y-%m-%d\")(l),i=e<wt?l.getUTCHours():0,a=e<wt?l.getUTCMinutes():0,o=e<Mt?l.getUTCSeconds():0,s=e<At?10*l.getUTCMilliseconds()+u:0;return kt(n,i,a,o,s)},ut.ms2DateTimeLocal=function(t){if(!(t>=ot+ht&&t<=st-ht))return ct;var r=Math.floor(10*lt(t+.05,1)),n=new Date(Math.round(t-r/10));return kt(e.time.format(\"%Y-%m-%d\")(n),n.getHours(),n.getMinutes(),n.getSeconds(),10*n.getUTCMilliseconds()+r)},ut.cleanDate=function(t,e,r){if(ut.isJSDate(t)||\"number\"==typeof t){if(bt(r))return _.error(\"JS Dates and milliseconds are incompatible with world calendars\",t),e;if(!(t=ut.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!ut.isDateTime(t,r))return _.error(\"unrecognized date\",t),e;return t};var Tt=/%\\d?f/g;function St(t,e,r,n){t=t.replace(Tt,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(bt(n))try{t=P.getComponentMethod(\"calendars\",\"worldCalFmt\")(t,e,n)}catch(t){return\"Invalid\"}return r(t)(i)}var Et=[59,59.9,59.99,59.999,59.9999];ut.formatDate=function(t,e,n,i,a,o){if(a=bt(a)&&a,!e)if(\"y\"===n)e=o.year;else if(\"m\"===n)e=o.month;else{if(\"d\"!==n)return function(t,e){var n=lt(t+.05,ht),i=_t(Math.floor(n/ft),2)+\":\"+_t(lt(Math.floor(n/pt),60),2);if(\"M\"!==e){r(e)||(e=0);var a=(100+Math.min(lt(t/dt,60),Et[e])).toFixed(e).substr(1);e>0&&(a=a.replace(/0+$/,\"\").replace(/[\\.]$/,\"\")),i+=\":\"+a}return i}(t,n)+\"\\n\"+St(o.dayMonthYear,t,i,a);e=o.dayMonth+\"\\n\"+o.year}return St(e,t,i,a)};var Ct=3*ht;ut.incrementMonth=function(t,e,r){r=bt(r)&&r;var n=lt(t,ht);if(t=Math.round(t-n),r)try{var i=Math.round(t/ht)+gt,a=P.getComponentMethod(\"calendars\",\"getCal\")(r),o=a.fromJD(i);return e%12?a.add(o,e,\"m\"):a.add(o,e/12,\"y\"),(o.toJD()-gt)*ht+n}catch(e){_.error(\"invalid ms \"+t+\" in calendar \"+r)}var s=new Date(t+Ct);return s.setUTCMonth(s.getUTCMonth()+e)+n-Ct},ut.findExactDates=function(t,e){for(var n,i,a=0,o=0,s=0,l=0,u=bt(e)&&P.getComponentMethod(\"calendars\",\"getCal\")(e),c=0;c<t.length;c++)if(i=t[c],r(i)){if(!(i%ht))if(u)try{1===(n=u.fromJD(i/ht+gt)).day()?1===n.month()?a++:o++:s++}catch(t){}else 1===(n=new Date(i)).getUTCDate()?0===n.getUTCMonth()?a++:o++:s++}else l++;s+=o+=a;var h=t.length-l;return{exactYears:a/h,exactMonths:o/h,exactDays:s/h}};function Lt(t){return!0===t.visible}function zt(t){return!0===t[0].trace.visible}var Pt,It,Dt,Ot={};function Rt(t,e,r,n,i,a,o,s){var l=r-t,u=i-t,c=o-i,h=n-e,f=a-e,p=s-a,d=l*p-c*h;if(0===d)return null;var g=(u*p-c*f)/d,v=(u*h-l*f)/d;return v<0||v>1||g<0||g>1?null:{x:t+l*g,y:e+h*g}}function Ft(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}Ot.segmentsIntersect=Rt,Ot.segmentDistance=function(t,e,r,n,i,a,o,s){if(Rt(t,e,r,n,i,a,o,s))return 0;var l=r-t,u=n-e,c=o-i,h=s-a,f=l*l+u*u,p=c*c+h*h,d=Math.min(Ft(l,u,f,i-t,a-e),Ft(l,u,f,o-t,s-e),Ft(c,h,p,t-i,e-a),Ft(c,h,p,r-i,n-a));return Math.sqrt(d)},Ot.getTextLocation=function(t,e,r,n){if(t===It&&n===Dt||(Pt={},It=t,Dt=n),Pt[r])return Pt[r];var i=t.getPointAtLength(lt(r-n/2,e)),a=t.getPointAtLength(lt(r+n/2,e)),o=Math.atan((a.y-i.y)/(a.x-i.x)),s=t.getPointAtLength(lt(r,e)),l={x:(4*s.x+i.x+a.x)/6,y:(4*s.y+i.y+a.y)/6,theta:o};return Pt[r]=l,l},Ot.clearLocationCache=function(){It=null},Ot.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,u=0,c=t.getTotalLength(),h=c;function f(e){var r=t.getPointAtLength(e);0===e?n=r:e===c&&(i=r);var u=r.x<a?a-r.x:r.x>o?r.x-o:0,h=r.y<s?s-r.y:r.y>l?r.y-l:0;return Math.sqrt(u*u+h*h)}for(var p=f(u);p;){if((u+=p+r)>h)return;p=f(u)}for(p=f(h);p;){if(u>(h-=p+r))return;p=f(h)}return{min:u,max:h,len:h-u,total:c,isClosed:0===u&&h===c&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},Ot.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,u=n.iterationLimit||30,c=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,h=0,f=0,p=s;h<u;){if(i=(f+p)/2,o=(a=t.getPointAtLength(i))[r]-e,Math.abs(o)<l)return a;c*o>0?p=i:f=i,h++}return a};var Bt=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},Nt=function(t){return t},jt=/^\\w*$/,Vt={init2dArray:function(t,e){for(var r=new Array(t),n=0;n<t;n++)r[n]=new Array(e);return 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},dot:function(t,e){if(!t.length||!e.length||t.length!==e.length)return null;var r,n,i=t.length;if(t[0].length)for(r=new Array(i),n=0;n<i;n++)r[n]=Vt.dot(t[n],e);else if(e[0].length){var a=Vt.transposeRagged(e);for(r=new Array(a.length),n=0;n<a.length;n++)r[n]=Vt.dot(t,a[n])}else for(r=0,n=0;n<i;n++)r+=t[n]*e[n];return r},translationMatrix:function(t,e){return[[1,0,t],[0,1,e],[0,0,1]]},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]]},rotationXYMatrix:function(t,e,r){return Vt.dot(Vt.dot(Vt.translationMatrix(e,r),Vt.rotationMatrix(t)),Vt.translationMatrix(-e,-r))},apply2DTransform:function(t){return function(){var e=arguments;3===e.length&&(e=e[0]);var r=1===arguments.length?e[0]:[e[0],e[1]];return Vt.dot(t,[r[0],r[1],1]).slice(0,2)}},apply2DTransform2:function(t){var e=Vt.apply2DTransform(t);return function(t){return e(t.slice(0,2)).concat(e(t.slice(2,4)))}}},Ut=[],qt=/^(.*)(\\.[^\\.\\[\\]]+|\\[\\d\\])$/,Ht=/^[^\\.\\[\\]]+$/,Gt=p.isArrayOrTypedArray,Wt={};function Yt(t,e){return t<e}function Xt(t,e){return t<=e}function Zt(t,e){return t>e}function Jt(t,e){return t>=e}Wt.findBin=function(t,e,n){if(r(e.start))return n?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var i,a,o=0,s=e.length,l=0,u=s>1?(e[s-1]-e[0])/(s-1):1;for(a=u>=0?n?Yt:Xt:n?Jt:Zt,t+=1e-9*u*(n?-1:1)*(u>=0?1:-1);o<s&&l++<100;)a(e[i=Math.floor((o+s)/2)],t)?o=i+1:s=i;return l>90&&_.log(\"Long binary search...\"),o-1},Wt.sorterAsc=function(t,e){return t-e},Wt.sorterDes=function(t,e){return e-t},Wt.distinctVals=function(t){var e=t.slice();e.sort(Wt.sorterAsc);for(var r=e.length-1,n=e[r]-e[0]||1,i=n/(r||1)/1e4,a=[e[0]],o=0;o<r;o++)e[o+1]>e[o]+i&&(n=Math.min(n,e[o+1]-e[o]),a.push(e[o+1]));return{vals:a,minDiff:n}},Wt.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;)e[n=u((i+a)/2)]<=t?i=n+s:a=n-l;return e[i]};var Kt={},Qt=p.isArrayOrTypedArray;Kt.aggNums=function(t,e,n,i){var a,o;if((!i||i>n.length)&&(i=n.length),r(e)||(e=!1),Qt(n[0])){for(o=new Array(i),a=0;a<i;a++)o[a]=Kt.aggNums(t,e,n[a]);n=o}for(a=0;a<i;a++)r(e)?r(n[a])&&(e=t(+e,+n[a])):e=n[a];return e},Kt.len=function(t){return Kt.aggNums(function(t){return t+1},0,t)},Kt.mean=function(t,e){return e||(e=Kt.len(t)),Kt.aggNums(function(t,e){return t+e},0,t)/e},Kt.variance=function(t,e,n){return e||(e=Kt.len(t)),r(n)||(n=Kt.mean(t,e)),Kt.aggNums(function(t,e){return t+Math.pow(e-n,2)},0,t)/e},Kt.stdev=function(t,e,r){return Math.sqrt(Kt.variance(t,e,r))},Kt.interp=function(t,e){if(!r(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 n=e%1;return n*t[Math.ceil(e)]+(1-n)*t[Math.floor(e)]};var $t={},te={};function ee(t){t&&null!==t.timer&&(clearTimeout(t.timer),t.timer=null)}$t.throttle=function(t,e,r){var n=te[t],i=Date.now();if(!n){for(var a in te)te[a].ts<i-6e4&&delete te[a];n=te[t]={ts:0,timer:null}}function o(){r(),n.ts=Date.now(),n.onDone&&(n.onDone(),n.onDone=null)}ee(n),i>n.ts+e?o():n.timer=setTimeout(function(){o(),n.timer=null},e)},$t.done=function(t){var e=te[t];return e&&e.timer?new Promise(function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}}):Promise.resolve()},$t.clear=function(t){if(t)ee(te[t]),delete te[t];else for(var e in te)$t.clear(e)};var re=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var n=Math.log(Math.min(e[0],e[1]))/Math.LN10;return r(n)||(n=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),n},ne={},ie=t.FP_SAFE,ae=t.BADNUM,oe=ne={};oe.nestedProperty=W,oe.keyedContainer=function(t,e,r,n){var i,a;r=r||\"name\",n=n||\"value\";var o={};a=e&&e.length?W(t,e).get():t,e=e||\"\",a=a||[];var s={};for(i=0;i<a.length;i++)s[a[i][r]]=i;var l=jt.test(n),u={set:function(t,e){var i=null===e?4:0,c=s[t];void 0===c?(i|=3,c=a.length,s[t]=c):e!==(l?a[c][n]:W(a[c],n).get())&&(i|=2);var h=a[c]=a[c]||{};return h[r]=t,l?h[n]=e:W(h,n).set(e),null!==e&&(i&=-5),o[c]=o[c]|i,u},get:function(t){var e=s[t];return void 0===e?void 0:l?a[e][n]:W(a[e],n).get()},rename:function(t,e){var n=s[t];return void 0===n?u:(o[n]=1|o[n],s[e]=n,delete s[t],a[n][r]=e,u)},remove:function(t){var e=s[t];if(void 0===e)return u;var c=a[e];if(Object.keys(c).length>2)return o[e]=2|o[e],u.set(t,null);if(l){for(i=e;i<a.length;i++)o[i]=3|o[i];for(i=e;i<a.length;i++)s[a[i][r]]--;a.splice(e,1),delete s[t]}else W(c,n).set(null),o[e]=6|o[e];return u},constructUpdate:function(){for(var t,i,s={},u=Object.keys(o),c=0;c<u.length;c++)i=u[c],t=e+\"[\"+i+\"]\",a[i]?(1&o[i]&&(s[t+\".\"+r]=a[i][r]),2&o[i]&&(s[t+\".\"+n]=l?4&o[i]?null:a[i][n]:4&o[i]?null:W(a[i],n).get())):s[t]=null;return s}};return u},oe.relativeAttr=function(t,e){for(;e;){var r=t.match(qt);if(r)t=r[1];else{if(!t.match(Ht))throw new Error(\"bad relativeAttr call:\"+[t,e]);t=\"\"}if(\"^\"!==e.charAt(0))break;e=e.slice(1)}return t&&\"[\"!==e.charAt(0)?t+\".\"+e:t+e},oe.isPlainObject=v,oe.mod=lt,oe.toLogRange=re,oe.relinkPrivateKeys=function t(e,r){for(var n in r){var i=r[n],a=e[n];if(a!==i)if(\"_\"===n.charAt(0)||\"function\"==typeof i){if(n in e)continue;e[n]=i}else if(Gt(i)&&Gt(a)&&v(i[0])){if(\"customdata\"===n||\"ids\"===n)continue;for(var o=Math.min(i.length,a.length),s=0;s<o;s++)a[s]!==i[s]&&v(i[s])&&v(a[s])&&t(a[s],i[s])}else v(i)&&v(a)&&(t(a,i),Object.keys(a).length||delete e[n])}},oe.ensureArray=function(t,e){return Array.isArray(t)||(t=[]),t.length=e,t},oe.isTypedArray=p.isTypedArray,oe.isArrayOrTypedArray=p.isArrayOrTypedArray,oe.valObjectMeta=et.valObjectMeta,oe.coerce=et.coerce,oe.coerce2=et.coerce2,oe.coerceFont=et.coerceFont,oe.coerceHoverinfo=et.coerceHoverinfo,oe.coerceSelectionMarkerOpacity=et.coerceSelectionMarkerOpacity,oe.validate=et.validate,oe.dateTime2ms=ut.dateTime2ms,oe.isDateTime=ut.isDateTime,oe.ms2DateTime=ut.ms2DateTime,oe.ms2DateTimeLocal=ut.ms2DateTimeLocal,oe.cleanDate=ut.cleanDate,oe.isJSDate=ut.isJSDate,oe.formatDate=ut.formatDate,oe.incrementMonth=ut.incrementMonth,oe.dateTick0=ut.dateTick0,oe.dfltRange=ut.dfltRange,oe.findExactDates=ut.findExactDates,oe.MIN_MS=ut.MIN_MS,oe.MAX_MS=ut.MAX_MS,oe.findBin=Wt.findBin,oe.sorterAsc=Wt.sorterAsc,oe.sorterDes=Wt.sorterDes,oe.distinctVals=Wt.distinctVals,oe.roundUp=Wt.roundUp,oe.aggNums=Kt.aggNums,oe.len=Kt.len,oe.mean=Kt.mean,oe.variance=Kt.variance,oe.stdev=Kt.stdev,oe.interp=Kt.interp,oe.init2dArray=Vt.init2dArray,oe.transposeRagged=Vt.transposeRagged,oe.dot=Vt.dot,oe.translationMatrix=Vt.translationMatrix,oe.rotationMatrix=Vt.rotationMatrix,oe.rotationXYMatrix=Vt.rotationXYMatrix,oe.apply2DTransform=Vt.apply2DTransform,oe.apply2DTransform2=Vt.apply2DTransform2,oe.deg2rad=n.deg2rad,oe.rad2deg=n.rad2deg,oe.wrap360=n.wrap360,oe.wrap180=n.wrap180,oe.segmentsIntersect=Ot.segmentsIntersect,oe.segmentDistance=Ot.segmentDistance,oe.getTextLocation=Ot.getTextLocation,oe.clearLocationCache=Ot.clearLocationCache,oe.getVisibleSegment=Ot.getVisibleSegment,oe.findPointOnPath=Ot.findPointOnPath,oe.extendFlat=m.extendFlat,oe.extendDeep=m.extendDeep,oe.extendDeepAll=m.extendDeepAll,oe.extendDeepNoArrays=m.extendDeepNoArrays,oe.log=_.log,oe.warn=_.warn,oe.error=_.error,oe.counterRegex=tt.counter,oe.throttle=$t.throttle,oe.throttleDone=$t.done,oe.clearThrottle=$t.clear,oe.getGraphDiv=Bt,oe._=function(t,e){for(var r=t._context.locale,n=0;n<2;n++){for(var i=t._context.locales,a=0;a<2;a++){var o=(i[r]||{}).dictionary;if(o){var s=o[e];if(s)return s}i=P.localeRegistry}var l=r.split(\"-\")[0];if(l===r)break;r=l}return e},oe.notifier=function(t,n){if(-1===Ut.indexOf(t)){Ut.push(t);var i=1e3;r(n)?i=n:\"long\"===n&&(i=3e3);var a=e.select(\"body\").selectAll(\".plotly-notifier\").data([0]);a.enter().append(\"div\").classed(\"plotly-notifier\",!0),a.selectAll(\".notifier-note\").data(Ut).enter().append(\"div\").classed(\"notifier-note\",!0).style(\"opacity\",0).each(function(t){var r=e.select(this);r.append(\"button\").classed(\"notifier-close\",!0).html(\"&times;\").on(\"click\",function(){r.transition().call(o)});for(var n=r.append(\"p\"),a=t.split(/<br\\s*\\/?>/g),s=0;s<a.length;s++)s&&n.append(\"br\"),n.append(\"span\").text(a[s]);r.transition().duration(700).style(\"opacity\",1).transition().delay(i).call(o)})}function o(t){t.duration(700).style(\"opacity\",0).each(\"end\",function(t){var r=Ut.indexOf(t);-1!==r&&Ut.splice(r,1),e.select(this).remove()})}},oe.filterUnique=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},oe.filterVisible=function(t){for(var e,r=(e=t,Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace?zt:Lt),n=[],i=0;i<t.length;i++){var a=t[i];r(a)&&n.push(a)}return n},oe.pushUnique=k,oe.cleanNumber=function(t){return\"string\"==typeof t&&(t=t.replace(o,\"\")),r(t)?Number(t):a},oe.ensureNumber=function(t){return r(t)?(t=Number(t))<-ie||t>ie?ae:r(t)?Number(t):ae:ae},oe.noop=A,oe.identity=Nt,oe.swapAttrs=function(t,e,r,n){r||(r=\"x\"),n||(n=\"y\");for(var i=0;i<e.length;i++){var a=e[i],o=oe.nestedProperty(t,a.replace(\"?\",r)),s=oe.nestedProperty(t,a.replace(\"?\",n)),l=o.get();o.set(s.get()),s.set(l)}},oe.raiseToTop=function(t){t.parentNode.appendChild(t)},oe.cancelTransition=function(t){return t.transition().duration(0)},oe.constrain=function(t,e,r){return e>r?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},oe.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},oe.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},oe.randstr=function t(e,r,n){if(n||(n=16),void 0===r&&(r=24),r<=0)return\"0\";var i,a,o=Math.log(Math.pow(2,r))/Math.log(n),s=\"\";for(i=2;o===1/0;i*=2)o=Math.log(Math.pow(2,r/i))/Math.log(n)*i;var l=o-Math.floor(o);for(i=0;i<Math.floor(o);i++)s=Math.floor(Math.random()*n).toString(n)+s;l&&(a=Math.pow(n,l),s=Math.floor(Math.random()*a).toString(n)+s);var u=parseInt(s,n);return e&&e.indexOf(s)>-1||u!==1/0&&u>=Math.pow(2,r)?t(e,r,n):s},oe.OptionControl=function(t,e){t||(t={}),e||(e=\"opt\");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r[\"_\"+e]=t,r},oe.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)<-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},oe.syncOrAsync=function(t,e,r){var n;function i(){return oe.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i).then(void 0,oe.promiseError);return r&&r(e)},oe.stripTrailingSlash=function(t){return\"/\"===t.substr(-1)?t.substr(0,t.length-1):t},oe.noneOrAll=function(t,e,r){if(t){var n,i,a=!1,o=!0;for(n=0;n<r.length;n++)void 0!==(i=t[r[n]])&&null!==i?a=!0:o=!1;if(a&&!o)for(n=0;n<r.length;n++)t[r[n]]=e[r[n]]}},oe.mergeArray=function(t,e,r){if(oe.isArrayOrTypedArray(t))for(var n=Math.min(t.length,e.length),i=0;i<n;i++)e[i][r]=t[i]},oe.fillArray=function(t,e,r,n){if(n=n||oe.identity,oe.isArrayOrTypedArray(t))for(var i=0;i<e.length;i++)e[i][r]=n(t[i])},oe.castOption=function(t,e,r,n){n=n||oe.identity;var i=oe.nestedProperty(t,r).get();return oe.isArrayOrTypedArray(i)?Array.isArray(e)&&oe.isArrayOrTypedArray(i[e[0]])?n(i[e[0]][e[1]]):n(i[e]):i},oe.extractOption=function(t,e,r,n){if(r in t)return t[r];var i=oe.nestedProperty(e,n).get();return Array.isArray(i)?void 0:i},oe.tagSelected=function(t,e,n){var i,a,o=e.selectedpoints,s=e._indexToPoints;if(s)for(var l in i={},s)for(var u=s[l],c=0;c<u.length;c++)i[u[c]]=l;function h(e){return void 0!==e&&e<t.length}for(var f=0;f<o.length;f++){var p=o[f];if(r(a=p)&&a>=0&&a%1==0){var d=i?i[p]:p,g=n?n[d]:d;h(g)&&(t[g].selected=1)}}},oe.getTargetArray=function(t,e){var r=e.target;if(\"string\"==typeof r&&r){var n=oe.nestedProperty(t,r).get();return!!Array.isArray(n)&&n}return!!Array.isArray(r)&&r},oe.minExtend=function(t,e){var r={};\"object\"!=typeof e&&(e={});var n,i,a,o=Object.keys(t);for(n=0;n<o.length;n++)a=t[i=o[n]],\"_\"!==i.charAt(0)&&\"function\"!=typeof a&&(\"module\"===i?r[i]=a:Array.isArray(a)?r[i]=a.slice(0,3):r[i]=a&&\"object\"==typeof a?oe.minExtend(t[i],e[i]):a);for(o=Object.keys(e),n=0;n<o.length;n++)\"object\"==typeof(a=e[i=o[n]])&&i in r&&\"object\"==typeof r[i]||(r[i]=a);return r},oe.titleCase=function(t){return t.charAt(0).toUpperCase()+t.substr(1)},oe.containsAny=function(t,e){for(var r=0;r<e.length;r++)if(-1!==t.indexOf(e[r]))return!0;return!1},oe.isPlotDiv=function(t){var r=e.select(t);return r.node()instanceof HTMLElement&&r.size()&&r.classed(\"js-plotly-plot\")},oe.removeElement=function(t){var e=t&&t.parentNode;e&&e.removeChild(t)},oe.addStyleRule=function(t,e){if(!oe.styleSheet){var r=document.createElement(\"style\");r.appendChild(document.createTextNode(\"\")),document.head.appendChild(r),oe.styleSheet=r.sheet}var n=oe.styleSheet;n.insertRule?n.insertRule(t+\"{\"+e+\"}\",0):n.addRule?n.addRule(t,e,0):oe.warn(\"addStyleRule failed\")},oe.isIE=function(){return void 0!==window.navigator.msSaveBlob},oe.isD3Selection=function(t){return t&&\"function\"==typeof t.classed},oe.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 se=/^([^\\[\\.]+)\\.(.+)?/,le=/^([^\\.]+)\\[([0-9]+)\\](\\.)?(.+)?/;oe.expandObjectPaths=function(t){var e,r,n,i,a,o,s;if(\"object\"==typeof t&&!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&&((e=r.match(se))?(i=t[r],n=e[1],delete t[r],t[n]=oe.extendDeepNoArrays(t[n]||{},oe.objectFromPath(r,oe.expandObjectPaths(i))[n])):(e=r.match(le))?(i=t[r],n=e[1],a=parseInt(e[2]),delete t[r],t[n]=t[n]||[],\".\"===e[3]?(s=e[4],o=t[n][a]=t[n][a]||{},oe.extendDeepNoArrays(o,oe.objectFromPath(s,oe.expandObjectPaths(i)))):t[n][a]=oe.expandObjectPaths(i)):t[r]=oe.expandObjectPaths(t[r]));return t},oe.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};var ue=/%{([^\\s%{}]*)}/g,ce=/^\\w*$/;oe.templateString=function(t,e){var r={};return t.replace(ue,function(t,n){return ce.test(n)?e[n]||\"\":(r[n]=r[n]||oe.nestedProperty(e,n).get,r[n]()||\"\")})};oe.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,i=0,a=0;a<r;a++){var o=t.charCodeAt(a)||0,s=e.charCodeAt(a)||0,l=o>=48&&o<=57,u=s>=48&&s<=57;if(l&&(n=10*n+o-48),u&&(i=10*i+s-48),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var he=2e9;oe.seedPseudoRandom=function(){he=2e9},oe.pseudoRandom=function(){var t=he;return he=(69069*he+1)%4294967296,Math.abs(he-t)<429496729?oe.pseudoRandom():he/4294967296};var fe=ne.extendFlat,pe=ne.isPlainObject,de={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"calcIfAutorange\",\"clearAxisTypes\",\"plot\",\"style\",\"colorbars\"]},ge={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"calcIfAutorange\",\"plot\",\"legend\",\"ticks\",\"margins\",\"layoutstyle\",\"modebar\",\"camera\",\"arraydraw\"]},ve=de.flags.slice().concat([\"clearCalc\",\"fullReplot\"]),me=ge.flags.slice().concat(\"layoutReplot\"),ye={traces:de,layout:ge,traceFlags:function(){return xe(ve)},layoutFlags:function(){return xe(me)},update:function(t,e){var r=e.editType;if(r&&\"none\"!==r)for(var n=r.split(\"+\"),i=0;i<n.length;i++)t[n[i]]=!0},overrideAll:be};function xe(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=!1;return e}function be(t,e,r){var n=fe({},t);for(var i in n){var a=n[i];pe(a)&&(n[i]=_e(a,e,r,i))}return\"from-root\"===r&&(n.editType=e),n}function _e(t,e,r,n){if(t.valType){var i=fe({},t);if(i.editType=e,Array.isArray(t.items)){i.items=new Array(t.items.length);for(var a=0;a<t.items.length;a++)i.items[a]=_e(t.items[a],e,\"from-root\")}return i}return be(t,e,\"_\"===n.charAt(0)?\"nested\":\"from-root\")}var we={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\"]}}},Me={_isLinkedToArray:\"frames_entry\",group:{valType:\"string\"},name:{valType:\"string\"},traces:{valType:\"any\"},baseframe:{valType:\"string\"},data:{valType:\"any\"},layout:{valType:\"any\"}},Ae={dash:{valType:\"string\",values:[\"solid\",\"dot\",\"dash\",\"longdash\",\"dashdot\",\"longdashdot\"],dflt:\"solid\",editType:\"style\"}},ke=tt.counter,Te={idRegex:{x:ke(\"x\"),y:ke(\"y\")},attrRegex:ke(\"[xy]axis\"),xAxisMatch:ke(\"xaxis\"),yAxisMatch:ke(\"yaxis\"),AX_ID_PATTERN:/^[xyz][0-9]*$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,SELECTDELAY:100,SELECTID:\"-select\",DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:[\"imagelayer\",\"maplayer\",\"barlayer\",\"carpetlayer\",\"violinlayer\",\"boxlayer\",\"scatterlayer\"],layerValue2layerClass:{\"above traces\":\"above\",\"below traces\":\"below\"}},Se=Ae.dash,Ee=m.extendFlat,Ce={visible:{valType:\"boolean\",editType:\"plot\"},color:{valType:\"color\",dflt:C.defaultLine,editType:\"ticks\"},title:{valType:\"string\",editType:\"ticks+margins\"},titlefont:T({editType:\"ticks+margins\"}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"log\",\"date\",\"category\"],dflt:\"-\",editType:\"calc\"},autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0,editType:\"calc\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"plot\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"plot+margins\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot+margins\",impliedEdits:{\"^autorange\":!1}}],editType:\"plot+margins\",impliedEdits:{autorange:!1}},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},scaleanchor:{valType:\"enumerated\",values:[Te.idRegex.x.toString(),Te.idRegex.y.toString()],editType:\"plot\"},scaleratio:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},constrain:{valType:\"enumerated\",values:[\"range\",\"domain\"],dflt:\"range\",editType:\"plot\"},constraintoward:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\",\"top\",\"middle\",\"bottom\"],editType:\"plot\"},tickmode:{valType:\"enumerated\",values:[\"auto\",\"linear\",\"array\"],editType:\"ticks+margins\",impliedEdits:{tick0:void 0,dtick:void 0}},nticks:{valType:\"integer\",min:0,dflt:0,editType:\"ticks+margins\"},tick0:{valType:\"any\",editType:\"ticks+margins\",impliedEdits:{tickmode:\"linear\"}},dtick:{valType:\"any\",editType:\"ticks+margins\",impliedEdits:{tickmode:\"linear\"}},tickvals:{valType:\"data_array\",editType:\"ticks+margins\"},ticktext:{valType:\"data_array\",editType:\"ticks+margins\"},ticks:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"\"],editType:\"ticks+margins\"},mirror:{valType:\"enumerated\",values:[!0,\"ticks\",!1,\"all\",\"allticks\"],dflt:!1,editType:\"ticks+layoutstyle\"},ticklen:{valType:\"number\",min:0,dflt:5,editType:\"ticks\"},tickwidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks\"},tickcolor:{valType:\"color\",dflt:C.defaultLine,editType:\"ticks\"},showticklabels:{valType:\"boolean\",dflt:!0,editType:\"ticks+margins\"},automargin:{valType:\"boolean\",dflt:!1,editType:\"ticks+margins\"},showspikes:{valType:\"boolean\",dflt:!1,editType:\"modebar\"},spikecolor:{valType:\"color\",dflt:null,editType:\"none\"},spikethickness:{valType:\"number\",dflt:3,editType:\"none\"},spikedash:Ee({},Se,{dflt:\"dash\",editType:\"none\"}),spikemode:{valType:\"flaglist\",flags:[\"toaxis\",\"across\",\"marker\"],dflt:\"toaxis\",editType:\"none\"},spikesnap:{valType:\"enumerated\",values:[\"data\",\"cursor\"],dflt:\"data\",editType:\"none\"},tickfont:T({editType:\"ticks+margins\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"ticks+margins\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"ticks+margins\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks+margins\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"ticks+margins\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks+margins\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks+margins\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"ticks+margins\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"ticks+margins\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"ticks+margins\"},tickformatstops:{_isLinkedToArray:\"tickformatstop\",dtickrange:{valType:\"info_array\",items:[{valType:\"any\",editType:\"ticks+margins\"},{valType:\"any\",editType:\"ticks+margins\"}],editType:\"ticks+margins\"},value:{valType:\"string\",dflt:\"\",editType:\"ticks+margins\"},editType:\"ticks+margins\"},hoverformat:{valType:\"string\",dflt:\"\",editType:\"none\"},showline:{valType:\"boolean\",dflt:!1,editType:\"layoutstyle\"},linecolor:{valType:\"color\",dflt:C.defaultLine,editType:\"layoutstyle\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks+layoutstyle\"},showgrid:{valType:\"boolean\",editType:\"ticks\"},gridcolor:{valType:\"color\",dflt:C.lightLine,editType:\"ticks\"},gridwidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks\"},zeroline:{valType:\"boolean\",editType:\"ticks\"},zerolinecolor:{valType:\"color\",dflt:C.defaultLine,editType:\"ticks\"},zerolinewidth:{valType:\"number\",dflt:1,editType:\"ticks\"},anchor:{valType:\"enumerated\",values:[\"free\",Te.idRegex.x.toString(),Te.idRegex.y.toString()],editType:\"plot+margins\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],editType:\"plot+margins\"},overlaying:{valType:\"enumerated\",values:[\"free\",Te.idRegex.x.toString(),Te.idRegex.y.toString()],editType:\"plot\"},layer:{valType:\"enumerated\",values:[\"above traces\",\"below traces\"],dflt:\"above traces\",editType:\"plot\"},domain:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1,editType:\"plot+margins\"},{valType:\"number\",min:0,max:1,editType:\"plot+margins\"}],dflt:[0,1],editType:\"plot+margins\"},position:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot+margins\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\",_deprecated:{autotick:{valType:\"boolean\",editType:\"ticks+margins\"}}},Le=m.extendFlat,ze=(0,ye.overrideAll)({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:Ce.linecolor,outlinewidth:Ce.linewidth,bordercolor:Ce.linecolor,borderwidth:{valType:\"number\",min:0,dflt:0},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},tickmode:Ce.tickmode,nticks:Ce.nticks,tick0:Ce.tick0,dtick:Ce.dtick,tickvals:Ce.tickvals,ticktext:Ce.ticktext,ticks:Le({},Ce.ticks,{dflt:\"\"}),ticklen:Ce.ticklen,tickwidth:Ce.tickwidth,tickcolor:Ce.tickcolor,showticklabels:Ce.showticklabels,tickfont:T({}),tickangle:Ce.tickangle,tickformat:Ce.tickformat,tickformatstops:Ce.tickformatstops,tickprefix:Ce.tickprefix,showtickprefix:Ce.showtickprefix,ticksuffix:Ce.ticksuffix,showticksuffix:Ce.showticksuffix,separatethousands:Ce.separatethousands,exponentformat:Ce.exponentformat,showexponent:Ce.showexponent,title:{valType:\"string\"},titlefont:T({}),titleside:{valType:\"enumerated\",values:[\"right\",\"top\",\"bottom\"],dflt:\"top\"}},\"colorbars\",\"from-root\"),Pe={zauto:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{zmin:void 0,zmax:void 0}},zmin:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{zauto:!1}},zmax:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{zauto:!1}},colorscale:{valType:\"colorscale\",editType:\"calc\",impliedEdits:{autocolorscale:!1}},autocolorscale:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{colorscale:void 0}},reversescale:{valType:\"boolean\",dflt:!1,editType:\"calc\"},showscale:{valType:\"boolean\",dflt:!0,editType:\"calc\"}},Ie=m.extendFlat,De=function(t,e,r){return{color:{valType:\"color\",arrayOk:!0,editType:e||\"style\"},colorscale:Ie({},Pe.colorscale,{}),cauto:Ie({},Pe.zauto,{impliedEdits:{cmin:void 0,cmax:void 0}}),cmax:Ie({},Pe.zmax,{editType:e||Pe.zmax.editType,impliedEdits:{cauto:!1}}),cmin:Ie({},Pe.zmin,{editType:e||Pe.zmin.editType,impliedEdits:{cauto:!1}}),autocolorscale:Ie({},Pe.autocolorscale,{dflt:!1===r?r:Pe.autocolorscale.dflt}),reversescale:Ie({},Pe.reversescale,{})}},Oe={},Re=Oe={};Re.defaults=C.defaults;var Fe=Re.defaultLine=C.defaultLine;Re.lightLine=C.lightLine;var Be=Re.background=C.background;function Ne(t){if(r(t)||\"string\"!=typeof t)return t;var e=t.trim();if(\"rgb\"!==e.substr(0,3))return t;var n=e.match(/^rgba?\\s*\\(([^()]*)\\)$/);if(!n)return t;var i=n[1].trim().split(/\\s*[\\s,]\\s*/),a=\"a\"===e.charAt(3)&&4===i.length;if(!a&&3!==i.length)return t;for(var o=0;o<i.length;o++){if(!i[o].length)return t;if(i[o]=Number(i[o]),!(i[o]>=0))return t;if(3===o)i[o]>1&&(i[o]=1);else if(i[o]>=1)return t}var s=Math.round(255*i[0])+\", \"+Math.round(255*i[1])+\", \"+Math.round(255*i[2]);return a?\"rgba(\"+s+\", \"+i[3]+\")\":\"rgb(\"+s+\")\"}Re.tinyRGB=function(t){var e=t.toRgb();return\"rgb(\"+Math.round(e.r)+\", \"+Math.round(e.g)+\", \"+Math.round(e.b)+\")\"},Re.rgb=function(t){return Re.tinyRGB(s(t))},Re.opacity=function(t){return t?s(t).getAlpha():0},Re.addOpacity=function(t,e){var r=s(t).toRgb();return\"rgba(\"+Math.round(r.r)+\", \"+Math.round(r.g)+\", \"+Math.round(r.b)+\", \"+e+\")\"},Re.combine=function(t,e){var r=s(t).toRgb();if(1===r.a)return s(t).toRgbString();var n=s(e||Be).toRgb(),i=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},a={r:i.r*(1-r.a)+r.r*r.a,g:i.g*(1-r.a)+r.g*r.a,b:i.b*(1-r.a)+r.b*r.a};return s(a).toRgbString()},Re.contrast=function(t,e,r){var n=s(t);return 1!==n.getAlpha()&&(n=s(Re.combine(t,Be))),(n.isDark()?e?n.lighten(e):Be:r?n.darken(r):Fe).toString()},Re.stroke=function(t,e){var r=s(e);t.style({stroke:Re.tinyRGB(r),\"stroke-opacity\":r.getAlpha()})},Re.fill=function(t,e){var r=s(e);t.style({fill:Re.tinyRGB(r),\"fill-opacity\":r.getAlpha()})},Re.clean=function(t){if(t&&\"object\"==typeof t){var e,r,n,i,a=Object.keys(t);for(e=0;e<a.length;e++)if(i=t[n=a[e]],\"color\"===n.substr(n.length-5))if(Array.isArray(i))for(r=0;r<i.length;r++)i[r]=Ne(i[r]);else t[n]=Ne(i);else if(\"colorscale\"===n.substr(n.length-10)&&Array.isArray(i))for(r=0;r<i.length;r++)Array.isArray(i[r])&&(i[r][1]=Ne(i[r][1]));else if(Array.isArray(i)){var o=i[0];if(!Array.isArray(o)&&o&&\"object\"==typeof o)for(r=0;r<i.length;r++)Re.clean(i[r])}else i&&\"object\"==typeof i&&Re.clean(i)}};var je=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},Ve=function(t,e,r,n){var i,a;r?(i=ne.nestedProperty(t,r).get(),a=ne.nestedProperty(t._input,r).get()):(i=t,a=t._input);var o=n+\"auto\",s=n+\"min\",u=n+\"max\",c=i[o],h=i[s],f=i[u],p=i.colorscale;!1===c&&void 0!==h||(h=ne.aggNums(Math.min,null,e)),!1===c&&void 0!==f||(f=ne.aggNums(Math.max,null,e)),h===f&&(h-=.5,f+=.5),i[s]=h,i[u]=f,a[s]=h,a[u]=f,a[o]=!1!==c||void 0===h&&void 0===f,i.autocolorscale&&(p=h*f<0?l.RdBu:h>=0?l.Reds:l.Blues,a.colorscale=p,i.reversescale&&(p=je(p)),i.colorscale=p)},Ue=function(t,e,r,n,i){var a=function(t){var e=[\"showexponent\",\"showtickprefix\",\"showticksuffix\"].filter(function(e){return void 0!==t[e]});if(e.every(function(r){return t[r]===t[e[0]]})||1===e.length)return t[e[0]]}(t);if(r(\"tickprefix\")&&r(\"showtickprefix\",a),r(\"ticksuffix\",i.tickSuffixDflt)&&r(\"showticksuffix\",a),r(\"showticklabels\")){var o=i.font||{},s=e.color===t.color?e.color:o.color;if(ne.coerceFont(r,\"tickfont\",{family:o.family,size:o.size,color:s}),r(\"tickangle\"),\"category\"!==n){var l=r(\"tickformat\");!function(t,e){var r,n,i=t.tickformatstops,a=e.tickformatstops=[];if(!Array.isArray(i))return;function o(t,e){return ne.coerce(r,n,Ce.tickformatstops,t,e)}for(var s=0;s<i.length;s++)r=i[s],n={},o(\"dtickrange\"),o(\"value\"),a.push(n)}(t,e),l||\"date\"===n||(r(\"showexponent\",a),r(\"exponentformat\"),r(\"separatethousands\"))}}};var qe=function(t,e,r,n){var i=ne.coerce2(t,e,Ce,\"ticklen\"),a=ne.coerce2(t,e,Ce,\"tickwidth\"),o=ne.coerce2(t,e,Ce,\"tickcolor\",e.color);r(\"ticks\",n.outerTicks||i||a||o?\"outside\":\"\")||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)},He=t.ONEDAY,Ge=function(t,e,n,i){var a=\"auto\";\"array\"!==t.tickmode||\"log\"!==i&&\"date\"!==i||(t.tickmode=\"auto\"),Array.isArray(t.tickvals)?a=\"array\":t.dtick&&(a=\"linear\");var o=n(\"tickmode\",a);if(\"auto\"===o)n(\"nticks\");else if(\"linear\"===o){var s=\"date\"===i?He:1,l=n(\"dtick\",s);if(r(l))e.dtick=l>0?Number(l):s;else if(\"string\"!=typeof l)e.dtick=s;else{var u=l.charAt(0),c=l.substr(1);((c=r(c)?Number(c):0)<=0||!(\"date\"===i&&\"M\"===u&&c===Math.round(c)||\"log\"===i&&\"L\"===u||\"log\"===i&&\"D\"===u&&(1===c||2===c)))&&(e.dtick=s)}var h=\"date\"===i?ne.dateTick0(e.calendar):0,f=n(\"tick0\",h);\"date\"===i?e.tick0=ne.cleanDate(f,h):r(f)&&\"D1\"!==l&&\"D2\"!==l?e.tick0=Number(f):e.tick0=h}else{void 0===n(\"tickvals\")?e.tickmode=\"auto\":n(\"ticktext\")}},We=function(t){return void 0!==l[t]||c(t)},Ye=function(t,e,n,i,a){var o,s=a.prefix,l=a.cLetter,u=s.slice(0,s.length-1),c=s?ne.nestedProperty(t,u).get()||{}:t,h=s?ne.nestedProperty(e,u).get()||{}:e,f=c[l+\"min\"],p=c[l+\"max\"],d=c.colorscale;i(s+l+\"auto\",!(r(f)&&r(p)&&f<p)),i(s+l+\"min\"),i(s+l+\"max\"),void 0!==d&&(o=!We(d)),i(s+\"autocolorscale\",o);var g,v,m=i(s+\"colorscale\");(i(s+\"reversescale\")&&(h.colorscale=je(m)),\"marker.line.\"!==s)&&(s&&(v=c,g=ne.isPlainObject(v.colorbar)),i(s+\"showscale\",g)&&function(t,e,r){var n=e.colorbar={},i=t.colorbar||{};function a(t,e){return ne.coerce(i,n,ze,t,e)}a(\"thickness\",\"fraction\"===a(\"thicknessmode\")?30/(r.width-r.margin.l-r.margin.r):30),a(\"len\",\"fraction\"===a(\"lenmode\")?1:r.height-r.margin.t-r.margin.b),a(\"x\"),a(\"xanchor\"),a(\"xpad\"),a(\"y\"),a(\"yanchor\"),a(\"ypad\"),ne.noneOrAll(i,n,[\"x\",\"y\"]),a(\"outlinecolor\"),a(\"outlinewidth\"),a(\"bordercolor\"),a(\"borderwidth\"),a(\"bgcolor\"),Ge(i,n,a,\"linear\");var o={outerTicks:!1,font:r.font};Ue(i,n,a,\"linear\",o),qe(i,n,a,\"linear\",o),a(\"title\",r._dfltTitle.colorbar),ne.coerceFont(a,\"titlefont\",r.font),a(\"titleside\")}(c,h,n))},Xe=function(t,e){var n=e?ne.nestedProperty(t,e).get()||{}:t,i=n.color,a=!1;if(ne.isArrayOrTypedArray(i))for(var o=0;o<i.length;o++)if(r(i[o])){a=!0;break}return ne.isPlainObject(n)&&(a||!0===n.showscale||r(n.cmin)&&r(n.cmax)||We(n.colorscale)||ne.isPlainObject(n.colorbar))};function Ze(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return s(e).toRgbString()}var Je={};Je.scales=l,Je.defaultScale=u,Je.attributes=Pe,Je.handleDefaults=Ye,Je.calc=Ve,Je.hasColorscale=Xe,Je.isValidScale=We,Je.getScale=h,Je.flipScale=je,Je.extractScale=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}},Je.makeColorScaleFunc=function(t,n){n=n||{};for(var i=t.domain,a=t.range,o=a.length,l=new Array(o),u=0;u<o;u++){var c=s(a[u]).toRgb();l[u]=[c.r,c.g,c.b,c.a]}var h,f=e.scale.linear().domain(i).range(l).clamp(!0),p=n.noNumericCheck,d=n.returnArray;return(h=p&&d?f:p?function(t){return Ze(f(t))}:d?function(t){return r(t)?f(t):s(t).isValid()?t:Oe.defaultLine}:function(t){return r(t)?Ze(f(t)):s(t).isValid()?t:Oe.defaultLine}).domain=f.domain,h.range=function(){return a},h};var Ke={circle:{n:0,f:function(t){var r=e.round(t,2);return\"M\"+r+\",0A\"+r+\",\"+r+\" 0 1,1 0,-\"+r+\"A\"+r+\",\"+r+\" 0 0,1 \"+r+\",0Z\"}},square:{n:1,f:function(t){var r=e.round(t,2);return\"M\"+r+\",\"+r+\"H-\"+r+\"V-\"+r+\"H\"+r+\"Z\"}},diamond:{n:2,f:function(t){var r=e.round(1.3*t,2);return\"M\"+r+\",0L0,\"+r+\"L-\"+r+\",0L0,-\"+r+\"Z\"}},cross:{n:3,f:function(t){var r=e.round(.4*t,2),n=e.round(1.2*t,2);return\"M\"+n+\",\"+r+\"H\"+r+\"V\"+n+\"H-\"+r+\"V\"+r+\"H-\"+n+\"V-\"+r+\"H-\"+r+\"V-\"+n+\"H\"+r+\"V-\"+r+\"H\"+n+\"Z\"}},x:{n:4,f:function(t){var r=e.round(.8*t/Math.sqrt(2),2),n=\"l\"+r+\",\"+r,i=\"l\"+r+\",-\"+r,a=\"l-\"+r+\",-\"+r,o=\"l-\"+r+\",\"+r;return\"M0,\"+r+n+i+a+i+a+o+a+o+n+o+n+\"Z\"}},\"triangle-up\":{n:5,f:function(t){var r=e.round(2*t/Math.sqrt(3),2);return\"M-\"+r+\",\"+e.round(t/2,2)+\"H\"+r+\"L0,-\"+e.round(t,2)+\"Z\"}},\"triangle-down\":{n:6,f:function(t){var r=e.round(2*t/Math.sqrt(3),2);return\"M-\"+r+\",-\"+e.round(t/2,2)+\"H\"+r+\"L0,\"+e.round(t,2)+\"Z\"}},\"triangle-left\":{n:7,f:function(t){var r=e.round(2*t/Math.sqrt(3),2);return\"M\"+e.round(t/2,2)+\",-\"+r+\"V\"+r+\"L-\"+e.round(t,2)+\",0Z\"}},\"triangle-right\":{n:8,f:function(t){var r=e.round(2*t/Math.sqrt(3),2);return\"M-\"+e.round(t/2,2)+\",-\"+r+\"V\"+r+\"L\"+e.round(t,2)+\",0Z\"}},\"triangle-ne\":{n:9,f:function(t){var r=e.round(.6*t,2),n=e.round(1.2*t,2);return\"M-\"+n+\",-\"+r+\"H\"+r+\"V\"+n+\"Z\"}},\"triangle-se\":{n:10,f:function(t){var r=e.round(.6*t,2),n=e.round(1.2*t,2);return\"M\"+r+\",-\"+n+\"V\"+r+\"H-\"+n+\"Z\"}},\"triangle-sw\":{n:11,f:function(t){var r=e.round(.6*t,2),n=e.round(1.2*t,2);return\"M\"+n+\",\"+r+\"H-\"+r+\"V-\"+n+\"Z\"}},\"triangle-nw\":{n:12,f:function(t){var r=e.round(.6*t,2),n=e.round(1.2*t,2);return\"M-\"+r+\",\"+n+\"V-\"+r+\"H\"+n+\"Z\"}},pentagon:{n:13,f:function(t){var r=e.round(.951*t,2),n=e.round(.588*t,2),i=e.round(-t,2),a=e.round(-.309*t,2);return\"M\"+r+\",\"+a+\"L\"+n+\",\"+e.round(.809*t,2)+\"H-\"+n+\"L-\"+r+\",\"+a+\"L0,\"+i+\"Z\"}},hexagon:{n:14,f:function(t){var r=e.round(t,2),n=e.round(t/2,2),i=e.round(t*Math.sqrt(3)/2,2);return\"M\"+i+\",-\"+n+\"V\"+n+\"L0,\"+r+\"L-\"+i+\",\"+n+\"V-\"+n+\"L0,-\"+r+\"Z\"}},hexagon2:{n:15,f:function(t){var r=e.round(t,2),n=e.round(t/2,2),i=e.round(t*Math.sqrt(3)/2,2);return\"M-\"+n+\",\"+i+\"H\"+n+\"L\"+r+\",0L\"+n+\",-\"+i+\"H-\"+n+\"L-\"+r+\",0Z\"}},octagon:{n:16,f:function(t){var r=e.round(.924*t,2),n=e.round(.383*t,2);return\"M-\"+n+\",-\"+r+\"H\"+n+\"L\"+r+\",-\"+n+\"V\"+n+\"L\"+n+\",\"+r+\"H-\"+n+\"L-\"+r+\",\"+n+\"V-\"+n+\"Z\"}},star:{n:17,f:function(t){var r=1.4*t,n=e.round(.225*r,2),i=e.round(.951*r,2),a=e.round(.363*r,2),o=e.round(.588*r,2),s=e.round(-r,2),l=e.round(-.309*r,2),u=e.round(.118*r,2),c=e.round(.809*r,2);return\"M\"+n+\",\"+l+\"H\"+i+\"L\"+a+\",\"+u+\"L\"+o+\",\"+c+\"L0,\"+e.round(.382*r,2)+\"L-\"+o+\",\"+c+\"L-\"+a+\",\"+u+\"L-\"+i+\",\"+l+\"H-\"+n+\"L0,\"+s+\"Z\"}},hexagram:{n:18,f:function(t){var r=e.round(.66*t,2),n=e.round(.38*t,2),i=e.round(.76*t,2);return\"M-\"+i+\",0l-\"+n+\",-\"+r+\"h\"+i+\"l\"+n+\",-\"+r+\"l\"+n+\",\"+r+\"h\"+i+\"l-\"+n+\",\"+r+\"l\"+n+\",\"+r+\"h-\"+i+\"l-\"+n+\",\"+r+\"l-\"+n+\",-\"+r+\"h-\"+i+\"Z\"}},\"star-triangle-up\":{n:19,f:function(t){var r=e.round(t*Math.sqrt(3)*.8,2),n=e.round(.8*t,2),i=e.round(1.6*t,2),a=e.round(4*t,2),o=\"A \"+a+\",\"+a+\" 0 0 1 \";return\"M-\"+r+\",\"+n+o+r+\",\"+n+o+\"0,-\"+i+o+\"-\"+r+\",\"+n+\"Z\"}},\"star-triangle-down\":{n:20,f:function(t){var r=e.round(t*Math.sqrt(3)*.8,2),n=e.round(.8*t,2),i=e.round(1.6*t,2),a=e.round(4*t,2),o=\"A \"+a+\",\"+a+\" 0 0 1 \";return\"M\"+r+\",-\"+n+o+\"-\"+r+\",-\"+n+o+\"0,\"+i+o+r+\",-\"+n+\"Z\"}},\"star-square\":{n:21,f:function(t){var r=e.round(1.1*t,2),n=e.round(2*t,2),i=\"A \"+n+\",\"+n+\" 0 0 1 \";return\"M-\"+r+\",-\"+r+i+\"-\"+r+\",\"+r+i+r+\",\"+r+i+r+\",-\"+r+i+\"-\"+r+\",-\"+r+\"Z\"}},\"star-diamond\":{n:22,f:function(t){var r=e.round(1.4*t,2),n=e.round(1.9*t,2),i=\"A \"+n+\",\"+n+\" 0 0 1 \";return\"M-\"+r+\",0\"+i+\"0,\"+r+i+r+\",0\"+i+\"0,-\"+r+i+\"-\"+r+\",0Z\"}},\"diamond-tall\":{n:23,f:function(t){var r=e.round(.7*t,2),n=e.round(1.4*t,2);return\"M0,\"+n+\"L\"+r+\",0L0,-\"+n+\"L-\"+r+\",0Z\"}},\"diamond-wide\":{n:24,f:function(t){var r=e.round(1.4*t,2),n=e.round(.7*t,2);return\"M0,\"+n+\"L\"+r+\",0L0,-\"+n+\"L-\"+r+\",0Z\"}},hourglass:{n:25,f:function(t){var r=e.round(t,2);return\"M\"+r+\",\"+r+\"H-\"+r+\"L\"+r+\",-\"+r+\"H-\"+r+\"Z\"},noDot:!0},bowtie:{n:26,f:function(t){var r=e.round(t,2);return\"M\"+r+\",\"+r+\"V-\"+r+\"L-\"+r+\",\"+r+\"V-\"+r+\"Z\"},noDot:!0},\"circle-cross\":{n:27,f:function(t){var r=e.round(t,2);return\"M0,\"+r+\"V-\"+r+\"M\"+r+\",0H-\"+r+\"M\"+r+\",0A\"+r+\",\"+r+\" 0 1,1 0,-\"+r+\"A\"+r+\",\"+r+\" 0 0,1 \"+r+\",0Z\"},needLine:!0,noDot:!0},\"circle-x\":{n:28,f:function(t){var r=e.round(t,2),n=e.round(t/Math.sqrt(2),2);return\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n+\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n+\"M\"+r+\",0A\"+r+\",\"+r+\" 0 1,1 0,-\"+r+\"A\"+r+\",\"+r+\" 0 0,1 \"+r+\",0Z\"},needLine:!0,noDot:!0},\"square-cross\":{n:29,f:function(t){var r=e.round(t,2);return\"M0,\"+r+\"V-\"+r+\"M\"+r+\",0H-\"+r+\"M\"+r+\",\"+r+\"H-\"+r+\"V-\"+r+\"H\"+r+\"Z\"},needLine:!0,noDot:!0},\"square-x\":{n:30,f:function(t){var r=e.round(t,2);return\"M\"+r+\",\"+r+\"L-\"+r+\",-\"+r+\"M\"+r+\",-\"+r+\"L-\"+r+\",\"+r+\"M\"+r+\",\"+r+\"H-\"+r+\"V-\"+r+\"H\"+r+\"Z\"},needLine:!0,noDot:!0},\"diamond-cross\":{n:31,f:function(t){var r=e.round(1.3*t,2);return\"M\"+r+\",0L0,\"+r+\"L-\"+r+\",0L0,-\"+r+\"ZM0,-\"+r+\"V\"+r+\"M-\"+r+\",0H\"+r},needLine:!0,noDot:!0},\"diamond-x\":{n:32,f:function(t){var r=e.round(1.3*t,2),n=e.round(.65*t,2);return\"M\"+r+\",0L0,\"+r+\"L-\"+r+\",0L0,-\"+r+\"ZM-\"+n+\",-\"+n+\"L\"+n+\",\"+n+\"M-\"+n+\",\"+n+\"L\"+n+\",-\"+n},needLine:!0,noDot:!0},\"cross-thin\":{n:33,f:function(t){var r=e.round(1.4*t,2);return\"M0,\"+r+\"V-\"+r+\"M\"+r+\",0H-\"+r},needLine:!0,noDot:!0,noFill:!0},\"x-thin\":{n:34,f:function(t){var r=e.round(t,2);return\"M\"+r+\",\"+r+\"L-\"+r+\",-\"+r+\"M\"+r+\",-\"+r+\"L-\"+r+\",\"+r},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t){var r=e.round(1.2*t,2),n=e.round(.85*t,2);return\"M0,\"+r+\"V-\"+r+\"M\"+r+\",0H-\"+r+\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n+\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t){var r=e.round(t/2,2),n=e.round(t,2);return\"M\"+r+\",\"+n+\"V-\"+n+\"m-\"+n+\",0V\"+n+\"M\"+n+\",\"+r+\"H-\"+n+\"m0,-\"+n+\"H\"+n},needLine:!0,noFill:!0},\"y-up\":{n:37,f:function(t){var r=e.round(1.2*t,2),n=e.round(1.6*t,2),i=e.round(.8*t,2);return\"M-\"+r+\",\"+i+\"L0,0M\"+r+\",\"+i+\"L0,0M0,-\"+n+\"L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"y-down\":{n:38,f:function(t){var r=e.round(1.2*t,2),n=e.round(1.6*t,2),i=e.round(.8*t,2);return\"M-\"+r+\",-\"+i+\"L0,0M\"+r+\",-\"+i+\"L0,0M0,\"+n+\"L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"y-left\":{n:39,f:function(t){var r=e.round(1.2*t,2),n=e.round(1.6*t,2),i=e.round(.8*t,2);return\"M\"+i+\",\"+r+\"L0,0M\"+i+\",-\"+r+\"L0,0M-\"+n+\",0L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"y-right\":{n:40,f:function(t){var r=e.round(1.2*t,2),n=e.round(1.6*t,2),i=e.round(.8*t,2);return\"M-\"+i+\",\"+r+\"L0,0M-\"+i+\",-\"+r+\"L0,0M\"+n+\",0L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"line-ew\":{n:41,f:function(t){var r=e.round(1.4*t,2);return\"M\"+r+\",0H-\"+r},needLine:!0,noDot:!0,noFill:!0},\"line-ns\":{n:42,f:function(t){var r=e.round(1.4*t,2);return\"M0,\"+r+\"V-\"+r},needLine:!0,noDot:!0,noFill:!0},\"line-ne\":{n:43,f:function(t){var r=e.round(t,2);return\"M\"+r+\",-\"+r+\"L-\"+r+\",\"+r},needLine:!0,noDot:!0,noFill:!0},\"line-nw\":{n:44,f:function(t){var r=e.round(t,2);return\"M\"+r+\",\"+r+\"L-\"+r+\",-\"+r},needLine:!0,noDot:!0,noFill:!0}},Qe={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,MID_SHIFT:.35,OPPOSITE_SIDE:{left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\"}},$e={xmlns:\"http://www.w3.org/2000/xmlns/\",svg:\"http://www.w3.org/2000/svg\",xlink:\"http://www.w3.org/1999/xlink\"};$e.svgAttrs={xmlns:$e.svg,\"xmlns:xlink\":$e.xlink};var tr={entityToUnicode:{mu:\"\\u03bc\",\"#956\":\"\\u03bc\",amp:\"&\",\"#28\":\"&\",lt:\"<\",\"#60\":\"<\",gt:\">\",\"#62\":\">\",nbsp:\"\\xa0\",\"#160\":\"\\xa0\",times:\"\\xd7\",\"#215\":\"\\xd7\",plusmn:\"\\xb1\",\"#177\":\"\\xb1\",deg:\"\\xb0\",\"#176\":\"\\xb0\"}},er={},rr=Qe.LINE_SPACING;function nr(t,e){return t.node().getBoundingClientRect()[e]}var ir=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;er.convertToTspans=function(t,r,n){var i=t.text(),a=!t.attr(\"data-notex\")&&\"undefined\"!=typeof MathJax&&i.match(ir),o=e.select(t.node().parentNode);if(!o.empty()){var s=t.attr(\"class\")?t.attr(\"class\").split(\" \")[0]:\"text\";return s+=\"-math\",o.selectAll(\"svg.\"+s).remove(),o.selectAll(\"g.\"+s+\"-group\").remove(),t.style(\"display\",null).attr({\"data-unformatted\":i,\"data-math\":\"N\"}),a?(r&&r._promises||[]).push(new Promise(function(r){t.style(\"display\",\"none\");var u=parseInt(t.node().style.fontSize,10),c={fontSize:u};!function(t,r,n){var i=\"math-output-\"+ne.randstr([],64),a=e.select(\"body\").append(\"div\").attr({id:i}).style({visibility:\"hidden\",position:\"absolute\"}).style({\"font-size\":r.fontSize+\"px\"}).text((o=t,o.replace(ar,\"\\\\lt \").replace(or,\"\\\\gt \")));var o;MathJax.Hub.Queue([\"Typeset\",MathJax.Hub,a.node()],function(){var r=e.select(\"body\").select(\"#MathJax_SVG_glyphs\");if(a.select(\".MathJax_SVG\").empty()||!a.select(\"svg\").node())ne.log(\"There was an error in the tex syntax.\",t),n();else{var i=a.select(\"svg\").node().getBoundingClientRect();n(a.select(\".MathJax_SVG\"),r,i)}a.remove()})}(a[2],c,function(e,a,c){o.selectAll(\"svg.\"+s).remove(),o.selectAll(\"g.\"+s+\"-group\").remove();var h=e&&e.select(\"svg\");if(!h||!h.node())return l(),void r();var f=o.append(\"g\").classed(s+\"-group\",!0).attr({\"pointer-events\":\"none\",\"data-unformatted\":i,\"data-math\":\"Y\"});f.node().appendChild(h.node()),a&&a.node()&&h.node().insertBefore(a.node().cloneNode(!0),h.node().firstChild),h.attr({class:s,height:c.height,preserveAspectRatio:\"xMinYMin meet\"}).style({overflow:\"visible\",\"pointer-events\":\"none\"});var p=t.node().style.fill||\"black\";h.select(\"g\").attr({fill:p,stroke:p});var d=nr(h,\"width\"),g=nr(h,\"height\"),v=+t.attr(\"x\")-d*{start:0,middle:.5,end:1}[t.attr(\"text-anchor\")||\"start\"],m=-(u||nr(t,\"height\"))/4;\"y\"===s[0]?(f.attr({transform:\"rotate(\"+[-90,+t.attr(\"x\"),+t.attr(\"y\")]+\") translate(\"+[-d/2,m-g/2]+\")\"}),h.attr({x:+t.attr(\"x\"),y:+t.attr(\"y\")})):\"l\"===s[0]?h.attr({x:t.attr(\"x\"),y:m-g/2}):\"a\"===s[0]?h.attr({x:0,y:m}):h.attr({x:v,y:+t.attr(\"y\")+m-g/2}),n&&n.call(t,f),r(f)})})):l(),t}function l(){o.empty()||(s=t.attr(\"class\")+\"-math\",o.select(\"svg.\"+s).remove()),t.text(\"\").style(\"white-space\",\"pre\"),function(t,r){r=(n=r,function(t,e){if(!t)return\"\";for(var r=0;r<e.length;r++){var n=e[r];t=t.replace(n.regExp,n.sub)}return t}(n,pr)).replace(dr,\" \");var n;var i,a=!1,o=[],s=-1;function l(){s++;var r=document.createElementNS($e.svg,\"tspan\");e.select(r).attr({class:\"line\",dy:s*rr+\"em\"}),t.appendChild(r),i=r;var n=o;if(o=[{node:r}],n.length>1)for(var a=1;a<n.length;a++)u(n[a])}function u(t){var r,n=t.type,a={};if(\"a\"===n){r=\"a\";var s=t.target,l=t.href,u=t.popup;l&&(a={\"xlink:xlink:show\":\"_blank\"===s||\"_\"!==s.charAt(0)?\"new\":\"replace\",target:s,\"xlink:xlink:href\":l},u&&(a.onclick='window.open(this.href.baseVal,this.target.baseVal,\"'+u+'\");return false;'))}else r=\"tspan\";t.style&&(a.style=t.style);var h=document.createElementNS($e.svg,r);if(\"sup\"===n||\"sub\"===n){c(i,cr),i.appendChild(h);var f=document.createElementNS($e.svg,\"tspan\");c(f,cr),e.select(f).attr(\"dy\",ur[n]),a.dy=lr[n],i.appendChild(h),i.appendChild(f)}else i.appendChild(h);e.select(h).attr(a),i=t.node=h,o.push(t)}function c(t,e){t.appendChild(document.createTextNode(e))}function h(t){if(1!==o.length){var e=o.pop();t!==e.type&&ne.log(\"Start tag <\"+e.type+\"> doesnt match end tag <\"+t+\">. Pretending it did match.\",r),i=o[o.length-1].node}else ne.log(\"Ignoring unexpected end tag </\"+t+\">.\",r)}mr.test(r)?l():(i=t,o=[{node:t}]);for(var f=r.split(gr),p=0;p<f.length;p++){var d=f[p],g=d.match(vr),v=g&&g[2].toLowerCase(),m=sr[v];if(\"br\"===v)l();else if(void 0===m)c(i,d);else if(g[1])h(v);else{var y=g[4],x={type:v},b=wr(y,yr);if(b?(b=b.replace(Mr,\"$1 fill:\"),m&&(b+=\";\"+m)):m&&(b=m),b&&(x.style=b),\"a\"===v){a=!0;var _=wr(y,xr);if(_){var w=document.createElement(\"a\");w.href=_,-1!==hr.indexOf(w.protocol)&&(x.href=encodeURI(_),x.target=wr(y,br)||\"_blank\",x.popup=wr(y,_r))}}u(x)}}return a}(t.node(),i)&&t.style(\"pointer-events\",\"all\"),er.positionText(t),n&&n.call(t)}};var ar=/(<|&lt;|&#60;)/g,or=/(>|&gt;|&#62;)/g;var sr={sup:\"font-size:70%\",sub:\"font-size:70%\",b:\"font-weight:bold\",i:\"font-style:italic\",a:\"cursor:pointer\",span:\"\",em:\"font-style:italic;font-weight:bold\"},lr={sub:\"0.3em\",sup:\"-0.6em\"},ur={sub:\"-0.21em\",sup:\"0.42em\"},cr=\"\\u200b\",hr=[\"http:\",\"https:\",\"mailto:\",\"\",void 0,\":\"],fr=new RegExp(\"</?(\"+Object.keys(sr).join(\"|\")+\")( [^>]*)?/?>\",\"g\"),pr=Object.keys(tr.entityToUnicode).map(function(t){return{regExp:new RegExp(\"&\"+t+\";\",\"g\"),sub:tr.entityToUnicode[t]}}),dr=/(\\r\\n?|\\n)/g,gr=/(<[^<>]*>)/,vr=/<(\\/?)([^ >]*)(\\s+(.*))?>/i,mr=/<br(\\s+.*)?>/i,yr=/(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i,xr=/(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i,br=/(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i,_r=/(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;function wr(t,e){if(!t)return null;var r=t.match(e);return r&&(r[3]||r[4])}var Mr=/(^|;)\\s*color:/;function Ar(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}}er.plainText=function(t){return(t||\"\").replace(fr,\" \")},er.lineCount=function(t){return t.selectAll(\"tspan.line\").size()||1},er.positionText=function(t,r,n){return t.each(function(){var t=e.select(this);function i(e,r){return void 0===r?null===(r=t.attr(e))&&(t.attr(e,0),r=0):t.attr(e,r),r}var a=i(\"x\",r),o=i(\"y\",n);\"text\"===this.nodeName&&t.selectAll(\"tspan.line\").attr({x:a,y:o})})},er.makeEditable=function(t,r){var n=r.gd,i=r.delegate,a=e.dispatch(\"edit\",\"input\",\"cancel\"),o=i||t;if(t.style({\"pointer-events\":i?\"none\":\"all\"}),1!==t.size())throw new Error(\"boo\");function s(){var i,s,u,c;i=e.select(n).select(\".svg-container\"),s=i.append(\"div\"),u=t.node().style,c=parseFloat(u.fontSize||12),s.classed(\"plugin-editable editable\",!0).style({position:\"absolute\",\"font-family\":u.fontFamily||\"Arial\",\"font-size\":c,color:r.fill||u.fill||\"black\",opacity:1,\"background-color\":r.background||\"transparent\",outline:\"#ffffff33 1px solid\",margin:[-c/8+1,0,0,-1].join(\"px \")+\"px\",padding:\"0\",\"box-sizing\":\"border-box\"}).attr({contenteditable:!0}).text(r.text||t.attr(\"data-unformatted\")).call(Ar(t,i,r)).on(\"blur\",function(){n._editing=!1,t.text(this.textContent).style({opacity:1});var r,i=e.select(this).attr(\"class\");(r=i?\".\"+i.split(\" \")[0]+\"-math-group\":\"[class*=-math-group]\")&&e.select(t.node().parentNode).select(r).style({opacity:0});var o=this.textContent;e.select(this).transition().duration(0).remove(),e.select(document).on(\"mouseup\",null),a.edit.call(t,o)}).on(\"focus\",function(){var t=this;n._editing=!0,e.select(document).on(\"mouseup\",function(){if(e.event.target===t)return!1;document.activeElement===s.node()&&s.node().blur()})}).on(\"keyup\",function(){27===e.event.which?(n._editing=!1,t.style({opacity:1}),e.select(this).style({opacity:0}).on(\"blur\",function(){return!1}).transition().remove(),a.cancel.call(t,this.textContent)):(a.input.call(t,this.textContent),e.select(this).call(Ar(t,i,r)))}).on(\"keydown\",function(){13===e.event.which&&this.blur()}).call(l),t.style({opacity:0});var h,f=o.attr(\"class\");(h=f?\".\"+f.split(\" \")[0]+\"-math-group\":\"[class*=-math-group]\")&&e.select(t.node().parentNode).select(h).style({opacity:0})}function l(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}return r.immediate?s():o.on(\"click\",s),e.rebind(t,a,\"on\")};var kr=function(t){var e=t.marker,n=e.sizeref||1,i=e.sizemin||0,a=\"area\"===e.sizemode?function(t){return Math.sqrt(t/n)}:function(t){return t/n};return function(t){var e=a(t/2);return r(e)&&e>0?Math.max(e,i):0}},Tr={hasLines:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf(\"lines\")},hasMarkers:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf(\"markers\")},hasText:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf(\"text\")},isBubble:function(t){return ne.isPlainObject(t.marker)&&ne.isArrayOrTypedArray(t.marker.size)}},Sr={},Er=Qe.LINE_SPACING,Cr=f.DESELECTDIM,Lr=Sr={};Lr.font=function(t,e,r,n){ne.isPlainObject(e)&&(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(Oe.fill,n)},Lr.setPosition=function(t,e,r){t.attr(\"x\",e).attr(\"y\",r)},Lr.setSize=function(t,e,r){t.attr(\"width\",e).attr(\"height\",r)},Lr.setRect=function(t,e,r,n,i){t.call(Lr.setPosition,e,r).call(Lr.setSize,n,i)},Lr.translatePoint=function(t,e,n,i){var a=n.c2p(t.x),o=i.c2p(t.y);return!!(r(a)&&r(o)&&e.node())&&(\"text\"===e.node().nodeName?e.attr(\"x\",a).attr(\"y\",o):e.attr(\"transform\",\"translate(\"+a+\",\"+o+\")\"),!0)},Lr.translatePoints=function(t,r,n){t.each(function(t){var i=e.select(this);Lr.translatePoint(t,i,r,n)})},Lr.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr(\"display\",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:\"none\")},Lr.hideOutsideRangePoints=function(t,r,n){if(r._hasClipOnAxisFalse){n=n||\".point,.textpoint\";var i=r.xaxis,a=r.yaxis;t.each(function(r){var o=r[0].trace,s=o.xcalendar,l=o.ycalendar;t.selectAll(n).each(function(t){Lr.hideOutsideRangePoint(t,e.select(this),i,a,s,l)})})}},Lr.crispRound=function(t,e,n){return e&&r(e)?t._context.staticPlot?e:e<1?1:Math.round(e):n||0},Lr.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||\"\";Oe.stroke(e,n||a.color),Lr.dashLine(e,s,o)},Lr.lineGroupStyle=function(t,r,n,i){t.style(\"fill\",\"none\").each(function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||\"\";e.select(this).call(Oe.stroke,n||a.color).call(Lr.dashLine,s,o)})},Lr.dashLine=function(t,e,r){r=+r||0,e=Lr.dashStyle(e,r),t.style({\"stroke-dasharray\":e,\"stroke-width\":r+\"px\"})},Lr.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return\"solid\"===t?t=\"\":\"dot\"===t?t=r+\"px,\"+r+\"px\":\"dash\"===t?t=3*r+\"px,\"+3*r+\"px\":\"longdash\"===t?t=5*r+\"px,\"+5*r+\"px\":\"dashdot\"===t?t=3*r+\"px,\"+r+\"px,\"+r+\"px,\"+r+\"px\":\"longdashdot\"===t&&(t=5*r+\"px,\"+2*r+\"px,\"+r+\"px,\"+2*r+\"px\"),t},Lr.singleFillStyle=function(t){var r=(((e.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;r&&t.call(Oe.fill,r)},Lr.fillGroupStyle=function(t){t.style(\"stroke-width\",0).each(function(r){var n=e.select(this);try{n.call(Oe.fill,r[0].trace.fillcolor)}catch(e){ne.error(e,t),n.remove()}})},Lr.symbolNames=[],Lr.symbolFuncs=[],Lr.symbolNeedLines={},Lr.symbolNoDot={},Lr.symbolNoFill={},Lr.symbolList=[],Object.keys(Ke).forEach(function(t){var e=Ke[t];Lr.symbolList=Lr.symbolList.concat([e.n,t,e.n+100,t+\"-open\"]),Lr.symbolNames[e.n]=t,Lr.symbolFuncs[e.n]=e.f,e.needLine&&(Lr.symbolNeedLines[e.n]=!0),e.noDot?Lr.symbolNoDot[e.n]=!0:Lr.symbolList=Lr.symbolList.concat([e.n+200,t+\"-dot\",e.n+300,t+\"-open-dot\"]),e.noFill&&(Lr.symbolNoFill[e.n]=!0)});var zr=Lr.symbolNames.length,Pr=\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\";function Ir(t,e){var r=t%100;return Lr.symbolFuncs[r](e)+(t>=200?Pr:\"\")}Lr.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=Lr.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=zr||t>=400?0:Math.floor(Math.max(t,0))};var Dr={x1:1,x2:0,y1:0,y2:0},Or={x1:0,x2:0,y1:1,y2:0};Lr.gradient=function(t,r,n,i,a,o){var l=r._fullLayout._defs.select(\".gradients\").selectAll(\"#\"+n).data([i+a+o],ne.identity);l.exit().remove(),l.enter().append(\"radial\"===i?\"radialGradient\":\"linearGradient\").each(function(){var t=e.select(this);\"horizontal\"===i?t.attr(Dr):\"vertical\"===i&&t.attr(Or),t.attr(\"id\",n);var r=s(a),l=s(o);t.append(\"stop\").attr({offset:\"0%\",\"stop-color\":Oe.tinyRGB(l),\"stop-opacity\":l.getAlpha()}),t.append(\"stop\").attr({offset:\"100%\",\"stop-color\":Oe.tinyRGB(r),\"stop-opacity\":r.getAlpha()})}),t.style({fill:\"url(#\"+n+\")\",\"fill-opacity\":null})},Lr.initGradients=function(t){var e=t._fullLayout._defs.selectAll(\".gradients\").data([0]);e.enter().append(\"g\").classed(\"gradients\",!0),e.selectAll(\"linearGradient,radialGradient\").remove()},Lr.singlePointStyle=function(t,e,r,n,i,a){var o=r.marker;!function(t,e,r,n,i,a,o,s){if(P.traceIs(r,\"symbols\")){var l=kr(r);e.attr(\"d\",function(t){var e;e=\"various\"===t.ms||\"various\"===a.size?3:Tr.isBubble(r)?l(t.ms):(a.size||6)/2,t.mrc=e;var n=Lr.symbolNumber(t.mx||a.symbol)||0;return t.om=n%200>=100,Ir(n,e)})}e.style(\"opacity\",function(t){return(t.mo+1||a.opacity+1)-1});var u,c,h,f=!1;if(t.so?(h=o.outlierwidth,c=o.outliercolor,u=a.outliercolor):(h=(t.mlw+1||o.width+1||(t.trace?t.trace.marker.line.width:0)+1)-1,c=\"mlc\"in t?t.mlcc=i(t.mlc):ne.isArrayOrTypedArray(o.color)?Oe.defaultLine:o.color,ne.isArrayOrTypedArray(a.color)&&(u=Oe.defaultLine,f=!0),u=\"mc\"in t?t.mcc=n(t.mc):a.color||\"rgba(0,0,0,0)\"),t.om)e.call(Oe.stroke,u).style({\"stroke-width\":(h||1)+\"px\",fill:\"none\"});else{e.style(\"stroke-width\",h+\"px\");var p=a.gradient,d=t.mgt;if(d?f=!0:d=p&&p.type,d&&\"none\"!==d){var g=t.mgc;g?f=!0:g=p.color;var v=\"g\"+s._fullLayout._uid+\"-\"+r.uid;f&&(v+=\"-\"+t.i),e.call(Lr.gradient,s,v,d,u,g)}else e.call(Oe.fill,u);h&&e.call(Oe.stroke,c)}}(t,e,r,n,i,o,o.line,a)},Lr.pointStyle=function(t,r,n){if(t.size()){var i=r.marker,a=Lr.tryColorscale(i,\"\"),o=Lr.tryColorscale(i,\"line\");t.each(function(t){Lr.singlePointStyle(t,e.select(this),r,a,o,n)})}},Lr.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.marker||{},a=r.marker||{},o=n.marker||{},s=i.opacity,l=a.opacity,u=o.opacity,c=void 0!==l,h=void 0!==u;e.opacityFn=function(t){var e=t.mo,r=void 0!==e;if(r||c||h){if(!t.selected)return h?u:Cr*(r?e:s);if(c)return l}};var f=a.color,p=o.color;(f||p)&&(e.colorFn=function(t){if(t.selected){if(f)return f}else if(p)return p});var d=a.size,g=o.size,v=void 0!==d,m=void 0!==g;return(v||m)&&(e.sizeFn=function(t){var e=t.mrc;return t.selected?v?d/2:e:m?g/2:e}),e},Lr.selectedPointStyle=function(t,r){if(t.size()&&r.selectedpoints){var n=Lr.makeSelectedPointStyleFns(r),i=r.marker||{};t.each(function(t){var r=e.select(this),i=n.opacityFn(t);void 0!==i&&r.style(\"opacity\",i)}),n.colorFn&&t.each(function(t){var r=e.select(this),i=n.colorFn(t);i&&Oe.fill(r,i)}),P.traceIs(r,\"symbols\")&&n.sizeFn&&t.each(function(t){var r=e.select(this),a=t.mx||i.symbol||0,o=n.sizeFn(t);r.attr(\"d\",Ir(Lr.symbolNumber(a),o)),t.mrc2=o})}},Lr.tryColorscale=function(t,e){var r=e?ne.nestedProperty(t,e).get():t,n=r.colorscale,i=r.color;return n&&ne.isArrayOrTypedArray(i)?Je.makeColorScaleFunc(Je.extractScale(n,r.cmin,r.cmax)):ne.identity};var Rr={start:1,end:-1,middle:0,bottom:1,top:-1};function Fr(t,r,n,i){var a=e.select(t.node().parentNode),o=-1!==r.indexOf(\"top\")?\"top\":-1!==r.indexOf(\"bottom\")?\"bottom\":\"middle\",s=-1!==r.indexOf(\"left\")?\"end\":-1!==r.indexOf(\"right\")?\"start\":\"middle\",l=i?i/.8+1:0,u=(er.lineCount(t)-1)*Er+1,c=Rr[s]*l,h=.75*n+Rr[o]*l+(Rr[o]-1)*u*n/2;t.attr(\"text-anchor\",s),a.attr(\"transform\",\"translate(\"+c+\",\"+h+\")\")}function Br(t,e){var n=t.ts||e.textfont.size;return r(n)&&n>0?n:0}Lr.textPointStyle=function(t,r,n){t.each(function(t){var i=e.select(this),a=ne.extractOption(t,r,\"tx\",\"text\");if(a){var o=t.tp||r.textposition,s=Br(t,r);i.call(Lr.font,t.tf||r.textfont.family,s,t.tc||r.textfont.color).text(a).call(er.convertToTspans,n).call(Fr,o,s,t.mrc)}else i.remove()})},Lr.selectedTextStyle=function(t,r){if(t.size()&&r.selectedpoints){var n=r.selected||{},i=r.unselected||{};t.each(function(t){var a,o=e.select(this),s=t.tc||r.textfont.color,l=t.tp||r.textposition,u=Br(t,r),c=(n.textfont||{}).color,h=(i.textfont||{}).color;t.selected?c&&(a=c):h?a=h:c||(a=Oe.addOpacity(s,Cr)),a&&Oe.fill(o,a),Fr(o,l,u,t.mrc2||t.mrc)})}};var Nr=.5;function jr(t,r,n,i){var a=t[0]-r[0],o=t[1]-r[1],s=n[0]-r[0],l=n[1]-r[1],u=Math.pow(a*a+o*o,Nr/2),c=Math.pow(s*s+l*l,Nr/2),h=(c*c*a-u*u*s)*i,f=(c*c*o-u*u*l)*i,p=3*c*(u+c),d=3*u*(u+c);return[[e.round(r[0]+(p&&h/p),2),e.round(r[1]+(p&&f/p),2)],[e.round(r[0]-(d&&h/d),2),e.round(r[1]-(d&&f/d),2)]]}Lr.smoothopen=function(t,e){if(t.length<3)return\"M\"+t.join(\"L\");var r,n=\"M\"+t[0],i=[];for(r=1;r<t.length-1;r++)i.push(jr(t[r-1],t[r],t[r+1],e));for(n+=\"Q\"+i[0][0]+\" \"+t[1],r=2;r<t.length-1;r++)n+=\"C\"+i[r-2][1]+\" \"+i[r-1][0]+\" \"+t[r];return n+=\"Q\"+i[t.length-3][1]+\" \"+t[t.length-1]},Lr.smoothclosed=function(t,e){if(t.length<3)return\"M\"+t.join(\"L\")+\"Z\";var r,n=\"M\"+t[0],i=t.length-1,a=[jr(t[i],t[0],t[1],e)];for(r=1;r<i;r++)a.push(jr(t[r-1],t[r],t[r+1],e));for(a.push(jr(t[i-1],t[i],t[0],e)),r=1;r<=i;r++)n+=\"C\"+a[r-1][1]+\" \"+a[r][0]+\" \"+t[r];return n+=\"C\"+a[i][1]+\" \"+a[0][0]+\" \"+t[0]+\"Z\"};var Vr={hv:function(t,r){return\"H\"+e.round(r[0],2)+\"V\"+e.round(r[1],2)},vh:function(t,r){return\"V\"+e.round(r[1],2)+\"H\"+e.round(r[0],2)},hvh:function(t,r){return\"H\"+e.round((t[0]+r[0])/2,2)+\"V\"+e.round(r[1],2)+\"H\"+e.round(r[0],2)},vhv:function(t,r){return\"V\"+e.round((t[1]+r[1])/2,2)+\"H\"+e.round(r[0],2)+\"V\"+e.round(r[1],2)}},Ur=function(t,r){return\"L\"+e.round(r[0],2)+\",\"+e.round(r[1],2)};Lr.steps=function(t){var r=Vr[t]||Ur;return function(t){for(var n=\"M\"+e.round(t[0][0],2)+\",\"+e.round(t[0][1],2),i=1;i<t.length;i++)n+=r(t[i-1],t[i]);return n}},Lr.makeTester=function(){var t=e.select(\"body\").selectAll(\"#js-plotly-tester\").data([0]);t.enter().append(\"svg\").attr(\"id\",\"js-plotly-tester\").attr($e.svgAttrs).style({position:\"absolute\",left:\"-10000px\",top:\"-10000px\",width:\"9000px\",height:\"9000px\",\"z-index\":\"1\"});var r=t.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\"}),Lr.tester=t,Lr.testref=r},Lr.savedBBoxes={};var qr=0;function Hr(t){var e=t.getAttribute(\"data-unformatted\");if(null!==e)return e+t.getAttribute(\"data-math\")+t.getAttribute(\"text-anchor\")+t.getAttribute(\"style\")}Lr.bBox=function(t,r,n){var i,a,o;if(n||(n=Hr(t)),n){if(i=Lr.savedBBoxes[n])return ne.extendFlat({},i)}else if(1===t.childNodes.length){var s=t.childNodes[0];if(n=Hr(s)){var l=+s.getAttribute(\"x\")||0,u=+s.getAttribute(\"y\")||0,c=s.getAttribute(\"transform\");if(!c){var h=Lr.bBox(s,!1,n);return l&&(h.left+=l,h.right+=l),u&&(h.top+=u,h.bottom+=u),h}if(n+=\"~\"+l+\"~\"+u+\"~\"+c,i=Lr.savedBBoxes[n])return ne.extendFlat({},i)}}r?a=t:(o=Lr.tester.node(),a=t.cloneNode(!0),o.appendChild(a)),e.select(a).attr(\"transform\",null).call(er.positionText,0,0);var f=a.getBoundingClientRect(),p=Lr.testref.node().getBoundingClientRect();r||o.removeChild(a);var d={height:f.height,width:f.width,left:f.left-p.left,top:f.top-p.top,right:f.right-p.left,bottom:f.bottom-p.top};return qr>=1e4&&(Lr.savedBBoxes={},qr=0),n&&(Lr.savedBBoxes[n]=d),qr++,ne.extendFlat({},d)},Lr.setClipUrl=function(t,r){if(r){var n=\"#\"+r,i=e.select(\"base\");i.size()&&i.attr(\"href\")&&(n=window.location.href.split(\"#\")[0]+n),t.attr(\"clip-path\",\"url(\"+n+\")\")}else t.attr(\"clip-path\",null)},Lr.getTranslate=function(t){var e=(t[t.attr?\"attr\":\"getAttribute\"](\"transform\")||\"\").replace(/.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/,function(t,e,r){return[e,r].join(\" \")}).split(\" \");return{x:+e[0]||0,y:+e[1]||0}},Lr.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=(a+=\" translate(\"+e+\", \"+r+\")\").trim(),t[i](\"transform\",a),a},Lr.getScale=function(t){var e=(t[t.attr?\"attr\":\"getAttribute\"](\"transform\")||\"\").replace(/.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/,function(t,e,r){return[e,r].join(\" \")}).split(\" \");return{x:+e[0]||1,y:+e[1]||1}},Lr.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=(a+=\" scale(\"+e+\", \"+r+\")\").trim(),t[i](\"transform\",a),a},Lr.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=(n+=i).trim(),this.setAttribute(\"transform\",n)}),i};var Gr=/translate\\([^)]*\\)\\s*$/;Lr.setTextPointsScale=function(t,r,n){t.each(function(){var t,i=e.select(this),a=i.select(\"text\");if(a.node()){var o=parseFloat(a.attr(\"x\")||0),s=parseFloat(a.attr(\"y\")||0),l=(i.attr(\"transform\")||\"\").match(Gr);t=1===r&&1===n?[]:[\"translate(\"+o+\",\"+s+\")\",\"scale(\"+r+\",\"+n+\")\",\"translate(\"+-o+\",\"+-s+\")\"],l&&t.push(l),i.attr(\"transform\",t.join(\" \"))}})};var Wr={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20},Yr=Ae.dash,Xr=m.extendFlat,Zr={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dx:{valType:\"number\",dflt:1,editType:\"calc\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dy:{valType:\"number\",dflt:1,editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"],editType:\"calc\"},hoveron:{valType:\"flaglist\",flags:[\"points\",\"fills\"],editType:\"style\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},shape:{valType:\"enumerated\",values:[\"linear\",\"spline\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},smoothing:{valType:\"number\",min:0,max:1.3,dflt:1,editType:\"plot\"},dash:Xr({},Yr,{editType:\"style\"}),simplify:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cliponaxis:{valType:\"boolean\",dflt:!0,editType:\"plot\"},fill:{valType:\"enumerated\",values:[\"none\",\"tozeroy\",\"tozerox\",\"tonexty\",\"tonextx\",\"toself\",\"tonext\"],dflt:\"none\",editType:\"calc\"},fillcolor:{valType:\"color\",editType:\"style\"},marker:Xr({symbol:{valType:\"enumerated\",values:Sr.symbolList,dflt:\"circle\",arrayOk:!0,editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,arrayOk:!0,editType:\"style\"},size:{valType:\"number\",min:0,dflt:6,arrayOk:!0,editType:\"calcIfAutorange\"},maxdisplayed:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},sizeref:{valType:\"number\",dflt:1,editType:\"calc\"},sizemin:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"diameter\",\"area\"],dflt:\"diameter\",editType:\"calc\"},showscale:{valType:\"boolean\",dflt:!1,editType:\"calc\"},colorbar:ze,line:Xr({width:{valType:\"number\",min:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},De()),gradient:{type:{valType:\"enumerated\",values:[\"radial\",\"horizontal\",\"vertical\",\"none\"],arrayOk:!0,dflt:\"none\",editType:\"calc\"},color:{valType:\"color\",arrayOk:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},De()),selected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},unselected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},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,editType:\"calc\"},textfont:T({editType:\"calc\",colorEditType:\"style\",arrayOk:!0}),r:{valType:\"data_array\",editType:\"calc\"},t:{valType:\"data_array\",editType:\"calc\"}},Jr=Zr.marker,Kr={r:Zr.r,t:Zr.t,marker:{color:Jr.color,size:Jr.size,symbol:Jr.symbol,opacity:Jr.opacity,editType:\"calc\"}},Qr=m.extendFlat,$r=ye.overrideAll,tn=Qr({},Ce.domain,{});function en(t,e){return Qr({},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 rn=$r({radialaxis:en(0,{range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},domain:tn,orientation:{valType:\"number\"}}),angularaxis:en(0,{range:{valType:\"info_array\",items:[{valType:\"number\",dflt:0},{valType:\"number\",dflt:360}]},domain:tn}),layout:{direction:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"]},orientation:{valType:\"angle\"}}},\"plot\",\"nested\"),nn={},an=ne.extendFlat,on=ne.extendDeepAll,sn=\"_isSubplotObj\",ln=\"_isLinkedToArray\",un=[sn,ln,\"_arrayAttrRegexps\",\"_deprecated\"];function cn(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(hn(e[r]))r++;else if(r<e.length)return!1;for(;r<e.length;r++){var n=t[e[r]];if(!ne.isPlainObject(n))break;if(t=n,r===e.length-1)break;if(t._isLinkedToArray){if(!hn(e[++r]))return!1}else if(\"info_array\"===t.valType){var i=e[++r];if(!hn(i))return!1;var a=t.items;if(Array.isArray(a)){if(i>=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!hn(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function hn(t){return t===Math.round(t)&&t>=0}function fn(t){return function(t){nn.crawl(t,function(t,e,r){nn.isValObject(t)?\"data_array\"===t.valType?(t.role=\"data\",r[e+\"src\"]={valType:\"string\",editType:\"none\"}):!0===t.arrayOk&&(r[e+\"src\"]={valType:\"string\",editType:\"none\"}):ne.isPlainObject(t)&&(t.role=\"object\")})}(t),function(t){nn.crawl(t,function(t,e,r){if(!t)return;var n=t[ln];if(!n)return;delete t[ln],r[e]={items:{}},r[e].items[n]=t,r[e].role=\"object\"})}(t),t}function pn(t,e,r){var n=ne.nestedProperty(t,r),i=on({},e.layoutAttributes);i[sn]=!0,n.set(i)}function dn(t,e,r){var n=ne.nestedProperty(t,r);n.set(on(n.get()||{},e))}nn.IS_SUBPLOT_OBJ=sn,nn.IS_LINKED_TO_ARRAY=ln,nn.DEPRECATED=\"_deprecated\",nn.UNDERSCORE_ATTRS=un,nn.get=function(){var t={};P.allTypes.concat(\"area\").forEach(function(e){t[e]=function(t){var e,r;\"area\"===t?(e={attributes:Kr},r={}):(e=P.modules[t]._module,r=e.basePlotModule);var n={type:null};on(n,E),on(n,e.attributes),r.attributes&&on(n,r.attributes);n.type=t;var i={meta:e.meta||{},attributes:fn(n)};if(e.layoutAttributes){var a={};on(a,e.layoutAttributes),i.layoutAttributes=fn(a)}return i}(e)});var e,r={};return Object.keys(P.transformsRegistry).forEach(function(t){r[t]=function(t){var e=P.transformsRegistry[t],r=on({},e.attributes);return Object.keys(P.componentsRegistry).forEach(function(e){var n=P.componentsRegistry[e];n.schema&&n.schema.transforms&&n.schema.transforms[t]&&Object.keys(n.schema.transforms[t]).forEach(function(e){dn(r,n.schema.transforms[t][e],e)})}),{attributes:fn(r)}}(t)}),{defs:{valObjects:ne.valObjectMeta,metaKeys:un.concat([\"description\",\"role\",\"editType\",\"impliedEdits\"]),editType:{traces:ye.traces,layout:ye.layout},impliedEdits:{}},traces:t,layout:function(){var t,e,r={};for(t in on(r,z),P.subplotsRegistry)if((e=P.subplotsRegistry[t]).layoutAttributes)if(\"cartesian\"===e.name)pn(r,e,\"xaxis\"),pn(r,e,\"yaxis\");else{var n=\"subplot\"===e.attr?e.name:e.attr;pn(r,e,n)}for(t in r=function(t){return an(t,{radialaxis:rn.radialaxis,angularaxis:rn.angularaxis}),an(t,rn.layout),t}(r),P.componentsRegistry){var i=(e=P.componentsRegistry[t]).schema;if(i&&(i.subplots||i.layout)){var a=i.subplots;if(a&&a.xaxis&&!a.yaxis)for(var o in a.xaxis)delete r.yaxis[o]}else e.layoutAttributes&&dn(r,e.layoutAttributes,e.name)}return{layoutAttributes:fn(r)}}(),transforms:r,frames:(e={frames:ne.extendDeepAll({},Me)},fn(e),e.frames),animation:fn(we)}},nn.crawl=function(t,e,r,n){var i=r||0;n=n||\"\",Object.keys(t).forEach(function(r){var a=t[r];if(-1===un.indexOf(r)){var o=(n?n+\".\":\"\")+r;e(a,r,t,i,o),nn.isValObject(a)||ne.isPlainObject(a)&&\"impliedEdits\"!==r&&nn.crawl(a,e,i+1,o)}})},nn.isValObject=function(t){return t&&void 0!==t.valType},nn.findArrayAttributes=function(t){var e=[],r=[];function n(n,i,a,o){if(r=r.slice(0,o).concat([i]),n&&(\"data_array\"===n.valType||!0===n.arrayOk)&&!(\"colorbar\"===r[o-1]&&(\"ticktext\"===i||\"tickvals\"===i))){var s=function(t){return t.join(\".\")}(r),l=ne.nestedProperty(t,s).get();ne.isArrayOrTypedArray(l)&&e.push(s)}}if(nn.crawl(E,n),t._module&&t._module.attributes&&nn.crawl(t._module.attributes,n),t.transforms)for(var i=t.transforms,a=0;a<i.length;a++){var o=i[a]._module;o&&(r=[\"transforms[\"+a+\"]\"],nn.crawl(o.attributes,n,1))}return t._fullInput&&t._fullInput._module&&t._fullInput._module.attributes&&(nn.crawl(t._fullInput._module.attributes,n),e=ne.filterUnique(e)),e},nn.getTraceValObject=function(t,e){var r,n,i=e[0],a=1;if(\"transforms\"===i){if(!Array.isArray(t.transforms))return!1;var o=e[1];if(!hn(o)||o>=t.transforms.length)return!1;n=(r=(P.transformsRegistry[t.transforms[o].type]||{}).attributes)&&r[e[2]],a=3}else if(\"area\"===t.type)n=Kr[i];else{var s=t._module;if(s||(s=(P.modules[t.type||E.type.dflt]||{})._module),!s)return!1;if(!(n=(r=s.attributes)&&r[i])){var l=s.basePlotModule;l&&l.attributes&&(n=l.attributes[i])}n||(n=E[i])}return cn(n,e,a)},nn.getLayoutValObject=function(t,e){return cn(function(t,e){var r,n,i,a,o=t._basePlotModules;if(o){var s;for(r=0;r<o.length;r++){if((i=o[r]).attrRegex&&i.attrRegex.test(e)){if(i.layoutAttrOverrides)return i.layoutAttrOverrides;!s&&i.layoutAttributes&&(s=i.layoutAttributes)}var l=i.baseLayoutAttrOverrides;if(l&&e in l)return l[e]}if(s)return s}var u=t._modules;if(u)for(r=0;r<u.length;r++)if((a=u[r].layoutAttributes)&&e in a)return a[e];for(n in P.componentsRegistry)if(!(i=P.componentsRegistry[n]).schema&&e===i.name)return i.layoutAttributes;if(e in z)return z[e];if(\"radialaxis\"===e||\"angularaxis\"===e)return rn[e];return rn.layout[e]||!1}(t,e[0]),e,1)};var gn={id2name:function(t){if(\"string\"==typeof t&&t.match(Te.AX_ID_PATTERN)){var e=t.substr(1);return\"1\"===e&&(e=\"\"),t.charAt(0)+\"axis\"+e}},name2id:function(t){if(t.match(Te.AX_NAME_PATTERN)){var e=t.substr(5);return\"1\"===e&&(e=\"\"),t.charAt(0)+e}},cleanId:function(t,e){if(t.match(Te.AX_ID_PATTERN)&&(!e||t.charAt(0)===e)){var r=t.substr(1).replace(/^0+/,\"\");return\"1\"===r&&(r=\"\"),t.charAt(0)+r}},list:function(t,e,r){var n=t._fullLayout;if(!n)return[];var i,a=gn.listIds(t,e),o=new Array(a.length);for(i=0;i<a.length;i++){var s=a[i];o[i]=n[s.charAt(0)+\"axis\"+s.substr(1)]}if(!r){var l=n._subplots.gl3d||[];for(i=0;i<l.length;i++){var u=n[l[i]];e?o.push(u[e+\"axis\"]):o.push(u.xaxis,u.yaxis,u.zaxis)}}return o},listIds:function(t,e){var r=t._fullLayout;if(!r)return[];var n=r._subplots;return e?n[e+\"axis\"]:n.xaxis.concat(n.yaxis)},getFromId:function(t,e,r){var n=t._fullLayout;return\"x\"===r?e=e.replace(/y[0-9]*/,\"\"):\"y\"===r&&(e=e.replace(/x[0-9]*/,\"\")),n[gn.id2name(e)]},getFromTrace:function(t,e,r){var n=t._fullLayout,i=null;if(P.traceIs(e,\"gl3d\")){var a=e.scene;\"scene\"===a.substr(0,5)&&(i=n[a][r+\"axis\"])}else i=gn.getFromId(t,e[r+\"axis\"]||r);return i},idSort:function(t,e){var r=t.charAt(0),n=e.charAt(0);return r!==n?r>n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)}},vn={};function mn(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=ne.nestedProperty(n,e.prop).get(),(a=r[e.type]=r[e.type]||{}).hasOwnProperty(e.prop)&&a[e.prop]!==i&&(o=!0),a[e.prop]=i,{changed:o,value:i}}function yn(t,e){var r=[],n=e[0],i={};if(\"string\"==typeof n)i[n]=e[1];else{if(!ne.isPlainObject(n))return r;i=n}return bn(i,function(t,e,n){r.push({type:\"layout\",prop:t,value:n})},\"\",0),r}function xn(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(!ne.isPlainObject(n))return o;a=n,void 0===r&&(r=i)}return void 0===r&&(r=null),bn(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 bn(t,e,r,n){Object.keys(t).forEach(function(i){var a=t[i];if(\"_\"!==i[0]){var o=r+(n>0?\".\":\"\")+i;ne.isPlainObject(a)?bn(a,e,o,n+1):e(o,i,a)}})}vn.manageCommandObserver=function(t,e,r,n){var i={},a=!0;e&&e._commandObserver&&(i=e._commandObserver),i.cache||(i.cache={}),i.lookupTable={};var o=vn.hasSimpleAPICommandBindings(t,r,i.lookupTable);if(e&&e._commandObserver){if(o)return i;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,i}if(o){mn(t,o,i.cache),i.check=function(){if(a){var e=mn(t,o,i.cache);return e.changed&&n&&void 0!==i.lookupTable[e.value]&&(i.disable(),Promise.resolve(n({value:e.value,type:o.type,prop:o.prop,traces:o.traces,index:i.lookupTable[e.value]})).then(i.enable,i.enable)),e.changed}};for(var s=[\"plotly_relayout\",\"plotly_redraw\",\"plotly_restyle\",\"plotly_update\",\"plotly_animatingframe\",\"plotly_afterplot\"],l=0;l<s.length;l++)t._internalOn(s[l],i.check);i.remove=function(){for(var e=0;e<s.length;e++)t._removeInternalListener(s[e],i.check)}}else ne.log(\"Unable to automatically bind plot updates to API command\"),i.lookupTable={},i.remove=function(){};return i.disable=function(){a=!1},i.enable=function(){a=!0},e&&(e._commandObserver=i),i},vn.hasSimpleAPICommandBindings=function(t,e,r){var n,i,a=e.length;for(n=0;n<a;n++){var o,s=e[n],l=s.method,u=s.args;if(Array.isArray(u)||(u=[]),!l)return!1;var c=vn.computeAPICommandBindings(t,l,u);if(1!==c.length)return!1;if(i){if((o=c[0]).type!==i.type)return!1;if(o.prop!==i.prop)return!1;if(Array.isArray(i.traces)){if(!Array.isArray(o.traces))return!1;o.traces.sort();for(var h=0;h<i.traces.length;h++)if(i.traces[h]!==o.traces[h])return!1}else if(o.prop!==i.prop)return!1}else i=c[0],Array.isArray(i.traces)&&i.traces.sort();var f=(o=c[0]).value;if(Array.isArray(f)){if(1!==f.length)return!1;f=f[0]}r&&(r[f]=n)}return i},vn.executeAPICommand=function(t,e,r){if(\"skip\"===e)return Promise.resolve();var n=P.apiMethodRegistry[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 ne.warn(\"API call to Plotly.\"+e+\" rejected.\",t),Promise.reject(t)})},vn.computeAPICommandBindings=function(t,e,r){var n;switch(Array.isArray(r)||(r=[]),e){case\"restyle\":n=xn(t,r);break;case\"relayout\":n=yn(t,r);break;case\"update\":n=xn(t,[r[0],r[2]]).concat(yn(t,[r[1]]));break;case\"animate\":n=function(t,e){return Array.isArray(e[0])&&1===e[0].length&&-1!==[\"string\",\"number\"].indexOf(typeof e[0][0])?[{type:\"layout\",prop:\"_currentFrame\",value:e[0][0].toString()}]:[]}(0,r);break;default:n=[]}return n};var _n={},wn=ne._,Mn=t.BADNUM,An=_n={},kn=ne.relinkPrivateKeys;ne.extendFlat(An,P),An.attributes=E,An.attributes.type.values=An.allTypes,An.fontAttrs=T,An.layoutAttributes=z,An.fontWeight=\"normal\";var Tn=An.transformsRegistry;An.executeAPICommand=vn.executeAPICommand,An.computeAPICommandBindings=vn.computeAPICommandBindings,An.manageCommandObserver=vn.manageCommandObserver,An.hasSimpleAPICommandBindings=vn.hasSimpleAPICommandBindings,An.redrawText=function(t){if(!((t=ne.getGraphDiv(t)).data&&t.data[0]&&t.data[0].r))return new Promise(function(e){setTimeout(function(){P.getComponentMethod(\"annotations\",\"draw\")(t),P.getComponentMethod(\"legend\",\"draw\")(t),(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()}),e(An.previousPromises(t))},300)})},An.resize=function(t){return t=ne.getGraphDiv(t),new Promise(function(e,r){t&&!function(t){var e=window.getComputedStyle(t).display;return!e||\"none\"===e}(t)||r(new Error(\"Resize must be passed a displayed plot div element.\")),t._redrawTimer&&clearTimeout(t._redrawTimer),t._redrawTimer=setTimeout(function(){if(t.layout.width&&t.layout.height)e(t);else{delete t.layout.width,delete t.layout.height;var r=t.changed;t.autoplay=!0,P.call(\"relayout\",t,{autosize:!0}).then(function(){t.changed=r,e(t)})}},100)})},An.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then(function(){t._promises=[]})},An.addLinks=function(t){if(t._context.showLink||t._context.showSources){var r=t._fullLayout,n=r._paper.selectAll(\"text.js-plot-link-container\").data([0]);n.enter().append(\"text\").classed(\"js-plot-link-container\",!0).style({\"font-family\":'\"Open Sans\", Arial, sans-serif',\"font-size\":\"12px\",fill:Oe.defaultLine,\"pointer-events\":\"all\"}).each(function(){var t=e.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=n.node(),a={y:r._paper.attr(\"height\")-9};document.body.contains(i)&&i.getComputedTextLength()>=r.width-20?(a[\"text-anchor\"]=\"start\",a.x=5):(a[\"text-anchor\"]=\"end\",a.x=r._paper.attr(\"width\")-7),n.attr(a);var o=n.select(\".js-link-to-tool\"),s=n.select(\".js-link-spacer\"),l=n.select(\".js-sourcelinks\");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(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(){An.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})}}(t,o),s.text(o.text()&&l.text()?\" - \":\"\")}},An.sendDataToCloud=function(t){t.emit(\"plotly_beforeexport\");var r=window.PLOTLYENV&&window.PLOTLYENV.BASE_URL||\"https://plot.ly\",n=e.select(t).append(\"div\").attr(\"id\",\"hiddenform\").style(\"display\",\"none\"),i=n.append(\"form\").attr({action:r+\"/external\",method:\"post\",target:\"_blank\"});return i.append(\"input\").attr({type:\"text\",name:\"data\"}).node().value=An.graphJson(t,!1,\"keepdata\"),i.node().submit(),n.remove(),t.emit(\"plotly_afterexport\"),!1};var Sn,En=[\"days\",\"shortDays\",\"months\",\"shortMonths\",\"periods\",\"dateTime\",\"date\",\"time\",\"decimal\",\"thousands\",\"grouping\",\"currency\"],Cn=[\"year\",\"month\",\"dayMonth\",\"dayMonthYear\"];function Ln(t,e){var r,n,i=t.trace,a=i._arrayAttrs,o={};for(r=0;r<a.length;r++)o[n=a[r]]=ne.nestedProperty(i,n).get().slice();for(t.trace=e,r=0;r<a.length;r++)n=a[r],ne.nestedProperty(t.trace,n).set(o[n])}function zn(t,e){var r=t._context.locale,n=!1,i={};function a(t){for(var r=!0,a=0;a<e.length;a++){var o=e[a];i[o]||(t[o]?i[o]=t[o]:r=!1)}r&&(n=!0)}for(var o=0;o<2;o++){for(var s=t._context.locales,l=0;l<2;l++){var u=(s[r]||{}).format;if(u&&(a(u),n))break;s=P.localeRegistry}var c=r.split(\"-\")[0];if(n||c===r)break;r=c}return n||a(P.localeRegistry.en.format),i}function Pn(t,e,r,n){for(var i=t.transforms,a=[t],o=0;o<i.length;o++){var s=i[o],l=Tn[s.type];l&&l.transform&&(a=l.transform(a,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return a}function In(t){for(var e=0;e<t.length;e++)t[e].clearCalc()}An.supplyDefaults=function(t){var r=t._fullLayout||{};if(r._skipDefaults)delete r._skipDefaults;else{var n,i=t._fullLayout={},a=t.layout||{},o=t._fullData||[],s=t._fullData=[],l=t.data||[],u=t._context||{};t._transitionData||An.createTransitionData(t),i._dfltTitle={plot:wn(t,\"Click to enter Plot title\"),x:wn(t,\"Click to enter X axis title\"),y:wn(t,\"Click to enter Y axis title\"),colorbar:wn(t,\"Click to enter Colorscale title\"),annotation:wn(t,\"new text\")},i._traceWord=wn(t,\"trace\");var c=zn(t,En);if(i._mapboxAccessToken=u.mapboxAccessToken,r._initialAutoSizeIsDone){var h=r.width,f=r.height;An.supplyLayoutGlobalDefaults(a,i,c),a.width||(i.width=h),a.height||(i.height=f)}else{An.supplyLayoutGlobalDefaults(a,i,c);var p=!a.width||!a.height,d=i.autosize,g=u.autosizable;p&&(d||g)?An.plotAutoSize(t,a,i):p&&An.sanitizeMargins(t),!d&&p&&(a.width=i.width,a.height=i.height)}i._d3locale=function(t,r){return t.decimal=r.charAt(0),t.thousands=r.charAt(1),e.locale(t)}(c,i.separators),i._extraFormat=zn(t,Cn),i._initialAutoSizeIsDone=!0,i._dataLength=l.length,i._modules=[],i._basePlotModules=[],i._subplots=function(){var t,e,r={};if(!Sn){Sn=[];var n=P.subplotsRegistry;for(var i in n){var a=n[i],o=a.attr;if(o&&(Sn.push(i),Array.isArray(o)))for(e=0;e<o.length;e++)ne.pushUnique(Sn,o[e])}}for(t=0;t<Sn.length;t++)r[Sn[t]]=[];return r}(),i._globalTransforms=(t._context||{}).globalTransforms,An.supplyDataDefaults(l,s,a,i),i._has=An._hasPlotType.bind(i);var v=i._modules;for(n=0;n<v.length;n++){var m=v[n];m.cleanData&&m.cleanData(s)}if(o.length===l.length)for(n=0;n<s.length;n++)kn(s[n],o[n]);An.supplyLayoutModuleDefaults(a,i,s,t._transitionData),i._hasCartesian=i._has(\"cartesian\"),i._hasGeo=i._has(\"geo\"),i._hasGL3D=i._has(\"gl3d\"),i._hasGL2D=i._has(\"gl2d\"),i._hasTernary=i._has(\"ternary\"),i._hasPie=i._has(\"pie\"),An.cleanPlot(s,i,o,r),An.linkSubplots(s,i,o,r),kn(i,r),An.doAutoMargin(t);var y=gn.list(t);for(n=0;n<y.length;n++){y[n].setScale()}if((t.calcdata||[]).length===s.length)for(n=0;n<s.length;n++){var x=s[n],b=t.calcdata[n][0];b&&b.trace&&(b.trace._hasCalcTransform?Ln(b,x):b.trace=x)}}},An.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=[])},An._hasPlotType=function(t){var e,r=this._basePlotModules||[];for(e=0;e<r.length;e++){if(r[e].name===t)return!0}var n=this._modules||[];for(e=0;e<n.length;e++){var i=n[e];if(i.categories&&i.categories.indexOf(t)>=0)return!0}return!1},An.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,c=n._has&&n._has(\"gl\"),h=e._has&&e._has(\"gl\");c&&!h&&void 0!==n._glcontainer&&(n._glcontainer.selectAll(\".gl-canvas\").remove(),n._glcanvas=null);t:for(i=0;i<r.length;i++){var f=r[i].uid;for(a=0;a<t.length;a++){if(f===t[a].uid)continue t}var p=\".hm\"+f+\",.contour\"+f+\",.carpet\"+f+\",#clip\"+f+\",.trace\"+f;l&&n._paper.selectAll(p).remove(),u&&(n._infolayer.selectAll(\".cb\"+f).remove(),n._infolayer.selectAll(\"g.rangeslider-container\").selectAll(p).remove())}n._zoomlayer&&n._zoomlayer.selectAll(\".select-outline\").remove()},An.linkSubplots=function(t,e,r,n){var i,a,o,s,l=n._plots||{},u=e._plots={},c=e._subplots,h={_fullData:t,_fullLayout:e},f=c.cartesian.concat(c.gl2d||[]);for(i=0;i<f.length;i++){var p,d=l[o=f[i]],g=gn.getFromId(h,o,\"x\"),v=gn.getFromId(h,o,\"y\");for(d?((p=u[o]=d).xaxis.layer!==g.layer&&(p.xlines.attr(\"d\",null),p.xaxislayer.selectAll(\"*\").remove()),p.yaxis.layer!==v.layer&&(p.ylines.attr(\"d\",null),p.yaxislayer.selectAll(\"*\").remove())):(p=u[o]={}).id=o,p.xaxis=g,p.yaxis=v,p._hasClipOnAxisFalse=!1,a=0;a<t.length;a++){var m=t[a];if(m.xaxis===p.xaxis._id&&m.yaxis===p.yaxis._id&&!1===m.cliponaxis){p._hasClipOnAxisFalse=!0;break}}}var y=gn.list(h,null,!0);for(i=0;i<y.length;i++){var x=null;(s=y[i]).overlaying&&(x=gn.getFromId(h,s.overlaying))&&x.overlaying&&(s.overlaying=!1,x=null),s._mainAxis=x||s,x&&(s.domain=x.domain.slice()),s._anchorAxis=\"free\"===s.anchor?null:gn.getFromId(h,s.anchor)}for(i=0;i<y.length;i++){var b=\"x\"===(s=y[i])._id.charAt(0),_=s._mainAxis._anchorAxis,w=\"\",M=\"\",A=\"\";if(_&&(A=_._mainAxis._id,w=b?s._id+A:A+s._id),!w||-1===f.indexOf(w))for(w=\"\",a=0;a<f.length;a++){var k=(o=f[a]).indexOf(\"y\"),T=b?o.substr(0,k):o.substr(k),S=b?o.substr(k):o.substr(0,k);if(T===s._id){M||(M=o);var E=gn.getFromId(h,S);if(A&&E.overlaying===A){w=o;break}}}s._mainSubplot=w||M}},An.clearExpandedTraceDefaultColors=function(t){var e,r,n;for(r=[],(e=t._module._colorAttrs)||(t._module._colorAttrs=e=[],nn.crawl(t._module.attributes,function(t,n,i,a){r[a]=n,r.length=a+1,\"color\"===t.valType&&void 0===t.dflt&&e.push(r.join(\".\"))})),n=0;n<e.length;n++){ne.nestedProperty(t,\"_input.\"+e[n]).get()||ne.nestedProperty(t,e[n]).set(null)}},An.supplyDataDefaults=function(t,e,r,n){var i,a,o,s=n._modules,l=n._basePlotModules,u=0,c=0;function h(t){e.push(t);var r=t._module;r&&(!0===t.visible&&ne.pushUnique(s,r),ne.pushUnique(l,t._module.basePlotModule),u++,!1!==t._input.visible&&c++)}n._transformModules=[];var f={},p=[];for(i=0;i<t.length;i++){if(o=t[i],(a=An.supplyTraceDefaults(o,c,n,i)).index=i,a._input=o,a._expandedIndex=u,a.transforms&&a.transforms.length)for(var d=Pn(a,e,r,n),g=0;g<d.length;g++){var v=d[g],m=An.supplyTraceDefaults(v,u,n,i);kn(m,v),v.uid=m.uid=a.uid+g,m.index=i,m._input=o,m._fullInput=a,m._expandedIndex=u,m._expandedInput=v,h(m)}else a._fullInput=a,a._expandedInput=a,h(a);P.traceIs(a,\"carpetAxis\")&&(f[a.carpet]=a),P.traceIs(a,\"carpetDependent\")&&p.push(i)}for(i=0;i<p.length;i++)if((a=e[p[i]]).visible){var y=f[a.carpet];a._carpet=y,y&&y.visible?(a.xaxis=y.xaxis,a.yaxis=y.yaxis):a.visible=!1}},An.supplyAnimationDefaults=function(t){var e;t=t||{};var r={};function n(e,n){return ne.coerce(t||{},r,we,e,n)}if(n(\"mode\"),n(\"direction\"),n(\"fromcurrent\"),Array.isArray(t.frame))for(r.frame=[],e=0;e<t.frame.length;e++)r.frame[e]=An.supplyAnimationFrameDefaults(t.frame[e]||{});else r.frame=An.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(r.transition=[],e=0;e<t.transition.length;e++)r.transition[e]=An.supplyAnimationTransitionDefaults(t.transition[e]||{});else r.transition=An.supplyAnimationTransitionDefaults(t.transition||{});return r},An.supplyAnimationFrameDefaults=function(t){var e={};function r(r,n){return ne.coerce(t||{},e,we.frame,r,n)}return r(\"duration\"),r(\"redraw\"),e},An.supplyAnimationTransitionDefaults=function(t){var e={};function r(r,n){return ne.coerce(t||{},e,we.transition,r,n)}return r(\"duration\"),r(\"easing\"),e},An.supplyFrameDefaults=function(t){var e={};function r(r,n){return ne.coerce(t,e,Me,r,n)}return r(\"group\"),r(\"name\"),r(\"traces\"),r(\"baseframe\"),r(\"data\"),r(\"layout\"),e},An.supplyTraceDefaults=function(t,e,r,n){var i,a=r.colorway||Oe.defaults,o={},s=a[e%a.length];function l(e,r){return ne.coerce(t,o,An.attributes,e,r)}var u=l(\"visible\");l(\"type\"),l(\"uid\"),l(\"name\",r._traceWord+\" \"+n);var c=An.getModule(o);if(o._module=c,c){var h=c.basePlotModule,f=h.attr;if(f){var p=r._subplots,d=h.attributes,g=\"\";if(\"gl2d\"!==h.name||u){if(Array.isArray(f))for(i=0;i<f.length;i++){var v=f[i],m=ne.coerce(t,o,d,v);p[v]&&ne.pushUnique(p[v],m),g+=m}else g=ne.coerce(t,o,d,f);p[h.name]&&ne.pushUnique(p[h.name],g)}}}return u&&(l(\"customdata\"),l(\"ids\"),P.traceIs(o,\"showLegend\")&&(l(\"showlegend\"),l(\"legendgroup\")),P.getComponentMethod(\"fx\",\"supplyDefaults\")(t,o,s,r),c&&(c.supplyDefaults(t,o,s,r),ne.coerceHoverinfo(t,o,r)),P.traceIs(o,\"noOpacity\")||l(\"opacity\"),P.traceIs(o,\"notLegendIsolatable\")&&(o.visible=!!o.visible),c&&c.selectPoints&&l(\"selectedpoints\"),An.supplyTransformDefaults(t,o,r)),o},An.supplyTransformDefaults=function(t,e,r){var n=r._globalTransforms||[],i=r._transformModules||[];if(Array.isArray(t.transforms)||0!==n.length)for(var a=t.transforms||[],o=n.concat(a),s=e.transforms=[],l=0;l<o.length;l++){var u,c=o[l],h=c.type,f=Tn[h],p=!(c._module&&c._module===f),d=f&&\"function\"==typeof f.transform;f||ne.warn(\"Unrecognized transform type \"+h+\".\"),f&&f.supplyDefaults&&(p||d)?((u=f.supplyDefaults(c,e,r,t)).type=h,u._module=f,ne.pushUnique(i,f)):u=ne.extendFlat({},c),s.push(u)}},An.supplyLayoutGlobalDefaults=function(t,e,r){function n(r,n){return ne.coerce(t,e,An.layoutAttributes,r,n)}var i=ne.coerceFont(n,\"font\");n(\"title\",e._dfltTitle.plot),ne.coerceFont(n,\"titlefont\",{family:i.family,size:Math.round(1.4*i.size),color:i.color}),n(\"autosize\",!(t.width&&t.height)),n(\"width\"),n(\"height\"),n(\"margin.l\"),n(\"margin.r\"),n(\"margin.t\"),n(\"margin.b\"),n(\"margin.pad\"),n(\"margin.autoexpand\"),t.width&&t.height&&An.sanitizeMargins(e),P.getComponentMethod(\"grid\",\"sizeDefaults\")(t,e),n(\"paper_bgcolor\"),n(\"separators\",r.decimal+r.thousands),n(\"hidesources\"),n(\"colorway\"),n(\"datarevision\"),P.getComponentMethod(\"calendars\",\"handleDefaults\")(t,e,\"calendar\"),P.getComponentMethod(\"fx\",\"supplyLayoutGlobalDefaults\")(t,e,n)},An.plotAutoSize=function(t,e,n){var i,a,o=t._context||{},s=o.frameMargins,l=ne.isPlotDiv(t);if(l&&t.emit(\"plotly_autosize\"),o.fillFrame)i=window.innerWidth,a=window.innerHeight,document.body.style.overflow=\"hidden\";else if(r(s)&&s>0){var u=function(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}(t._boundingBoxMargins),c=u.left+u.right,h=u.bottom+u.top,f=1-2*s,p=n._container&&n._container.node?n._container.node().getBoundingClientRect():{width:n.width,height:n.height};i=Math.round(f*(p.width-c)),a=Math.round(f*(p.height-h))}else{var d=l?window.getComputedStyle(t):{};i=parseFloat(d.width)||n.width,a=parseFloat(d.height)||n.height}var g=An.layoutAttributes.width.min,v=An.layoutAttributes.height.min;i<g&&(i=g),a<v&&(a=v);var m=!e.width&&Math.abs(n.width-i)>1,y=!e.height&&Math.abs(n.height-a)>1;(y||m)&&(m&&(n.width=i),y&&(n.height=a)),t._initialAutoSize||(t._initialAutoSize={width:i,height:a}),An.sanitizeMargins(n)},An.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,s=P.componentsRegistry,l=e._basePlotModules,u=P.subplotsRegistry.cartesian;for(i in s)(o=s[i]).includeBasePlot&&o.includeBasePlot(t,e);for(var c in l.length||l.push(u),e._has(\"cartesian\")&&(P.getComponentMethod(\"grid\",\"contentDefaults\")(t,e),u.finalizeSubplots(t,e)),e._subplots)e._subplots[c].sort(ne.subplotSort);for(a=0;a<l.length;a++)(o=l[a]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r);var h=e._modules;for(a=0;a<h.length;a++)(o=h[a]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r);var f=e._transformModules;for(a=0;a<f.length;a++)(o=f[a]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r,n);for(i in s)(o=s[i]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r)},An.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&&(e._glcontainer.selectAll(\".gl-canvas\").remove(),e._glcontainer.remove(),e._glcanvas=null),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)),ne.clearThrottle(),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._promises,delete t._redrawTimer,delete t.firstscatter,delete t._hmlumcount,delete t._hmpixcount,delete t._transitionData,delete t._transitioning,delete t._initialAutoSize,delete t._transitioningWithDuration,delete t._dragging,delete t._dragged,delete t._hoverdata,delete t._snapshotInProgress,delete t._editing,delete t._replotPending,delete t._mouseDownTime,delete t._legendMouseDownTime,t.removeAllListeners&&t.removeAllListeners()},An.style=function(t){var e,r=t._fullLayout._modules,n=[];for(e=0;e<r.length;e++){var i=r[e];i.style&&ne.pushUnique(n,i.style)}for(e=0;e<n.length;e++)n[e](t)},An.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))}},An.autoMargin=function(t,e,r){var n=t._fullLayout;if(n._pushmargin||(n._pushmargin={}),!1!==n.margin.autoexpand){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||An.doAutoMargin(t)}},An.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),e._pushmargin||(e._pushmargin={});var n=e._size,i=JSON.stringify(n),a=Math.max(e.margin.l||0,0),o=Math.max(e.margin.r||0,0),s=Math.max(e.margin.t||0,0),l=Math.max(e.margin.b||0,0),u=e._pushmargin;if(!1!==e.margin.autoexpand)for(var c in u.base={l:{val:0,size:a},r:{val:1,size:o},t:{val:1,size:s},b:{val:0,size:l}},u){var h=u[c].l||{},f=u[c].b||{},p=h.val,d=h.size,g=f.val,v=f.size;for(var m in u){if(r(d)&&u[m].r){var y=u[m].r.val,x=u[m].r.size;if(y>p){var b=(d*y+(x-e.width)*p)/(y-p),_=(x*(1-p)+(d-e.width)*(1-y))/(y-p);b>=0&&_>=0&&b+_>a+o&&(a=b,o=_)}}if(r(v)&&u[m].t){var w=u[m].t.val,M=u[m].t.size;if(w>g){var A=(v*w+(M-e.height)*g)/(w-g),k=(M*(1-g)+(v-e.height)*(1-w))/(w-g);A>=0&&k>=0&&A+k>l+s&&(l=A,s=k)}}}}if(n.l=Math.round(a),n.r=Math.round(o),n.t=Math.round(s),n.b=Math.round(l),n.p=Math.round(e.margin.pad),n.w=Math.round(e.width)-n.l-n.r,n.h=Math.round(e.height)-n.t-n.b,!e._replotting&&\"{}\"!==i&&i!==JSON.stringify(e._size))return P.call(\"plot\",t)},An.graphJson=function(t,e,r,n,i){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&An.supplyDefaults(t);var a=i?t._fullData:t.data,o=i?t._fullLayout:t.layout,s=(t._transitionData||{})._frames;function l(t){if(\"function\"==typeof t)return null;if(ne.isPlainObject(t)){var e,n,i={};for(e in t)if(\"function\"!=typeof t[e]&&-1===[\"_\",\"[\"].indexOf(e.charAt(0))){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&&!ne.isPlainObject(t.stream))continue}else if(\"keepall\"!==r&&\"string\"==typeof(n=t[e+\"src\"])&&n.indexOf(\":\")>0)continue;i[e]=l(t[e])}return i}return Array.isArray(t)?t.map(l):ne.isJSDate(t)?ne.ms2DateTimeLocal(+t):t}var u={data:(a||[]).map(function(t){var r=l(t);return e&&delete r.fit,r})};return e||(u.layout=l(o)),t.framework&&t.framework.isPolar&&(u=t.framework.getConfig()),s&&(u.frames=l(s)),\"object\"===n?u:JSON.stringify(u)},An.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]).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\":o[(i=n.value).name]=i,a.splice(n.index,0,i);break;case\"delete\":delete o[(i=a[n.index]).name],a.splice(n.index,1)}return Promise.resolve()},An.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()])&&-1===u.indexOf(s.name);)l.push(s),u.push(s.name);for(var c={};s=l.pop();)if(s.layout&&(c.layout=An.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&&(-1===(a=c.traces.indexOf(i))&&(a=c.data.length,c.traces[a]=i),c.data[a]=An.extendTrace(c.data[a],s.data[r]))}return c},An.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)}},An.extendObjectWithContainers=function(t,e,r){var n,i,a,o,s,l,u,c=ne.extendDeepNoArrays({},e||{}),h=ne.expandObjectPaths(c),f={};if(r&&r.length)for(a=0;a<r.length;a++)void 0===(i=(n=ne.nestedProperty(h,r[a])).get())?ne.nestedProperty(f,r[a]).set(null):(n.set(null),ne.nestedProperty(f,r[a]).set(i));if(t=ne.extendDeepNoArrays(t||{},h),r&&r.length)for(a=0;a<r.length;a++)if(l=ne.nestedProperty(f,r[a]).get()){for(u=(s=ne.nestedProperty(t,r[a])).get(),Array.isArray(u)||(u=[],s.set(u)),o=0;o<l.length;o++){var p=l[o];u[o]=null===p?null:An.extendObjectWithContainers(u[o],p)}s.set(u)}return t},An.dataArrayContainers=[\"transforms\",\"dimensions\"],An.layoutArrayContainers=P.layoutArrayContainers,An.extendTrace=function(t,e){return An.extendObjectWithContainers(t,e,An.dataArrayContainers)},An.extendLayout=function(t,e){return An.extendObjectWithContainers(t,e,An.layoutArrayContainers)},An.transition=function(t,e,r,n,i,a){var o,s,l=Array.isArray(e)?e.length:0,u=n.slice(0,l),c=[];var h=!1;for(o=0;o<u.length;o++){s=u[o];t._fullData[s]._module}var f=[An.previousPromises,function(){if(t._transitionData)return t._transitioning=!1,function(t){var e=Promise.resolve();if(!t)return e;for(;t.length;)e=e.then(t.shift());return e}(t._transitionData._interruptCallbacks)},function(){var n;for(n=0;n<u.length;n++){var i=u[n],a=t._fullData[i]._module;a&&(a.animatable&&c.push(i),t.data[u[n]]=An.extendTrace(t.data[u[n]],e[n]))}var o=ne.expandObjectPaths(ne.extendDeepNoArrays({},r)),s=/^[xy]axis[0-9]*$/;for(var l in o)s.test(l)&&delete o[l].range;return An.extendLayout(t.layout,o),delete t.calcdata,An.supplyDefaults(t),An.doCalcdata(t),P.getComponentMethod(\"errorbars\",\"calc\")(t),Promise.resolve()},An.rehover,function(){return t.emit(\"plotly_transitioning\",[]),new Promise(function(e){t._transitioning=!0,a.duration>0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){h=!0}),i.redraw&&t._transitionData._interruptCallbacks.push(function(){return P.call(\"redraw\",t)}),t._transitionData._interruptCallbacks.push(function(){t.emit(\"plotly_transitioninterrupted\",[])});var n,o,s=0,l=0;function u(){return s++,function(){var r;h||++l!==s||(r=e,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(i.redraw)return P.call(\"redraw\",t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(\"plotly_transitioned\",[])}).then(r)))}}var f=t._fullLayout._basePlotModules,p=!1;if(r)for(o=0;o<f.length;o++)if(f[o].transitionAxes){var d=ne.expandObjectPaths(r);p=f[o].transitionAxes(t,d,a,u)||p}for(p?(n=ne.extendFlat({},a)).duration=0:n=a,o=0;o<f.length;o++)f[o].plot(t,c,n,u);setTimeout(u())})}],p=ne.syncOrAsync(f,t);return p&&p.then||(p=Promise.resolve()),p.then(function(){return t})},An.doCalcdata=function(t,e){var r,n,i,a,o=gn.list(t),s=t._fullData,l=t._fullLayout,u=new Array(s.length),c=(t.calcdata||[]).slice(0);for(t.calcdata=u,t.firstscatter=!0,l._numBoxes=0,l._numViolins=0,l._violinScaleGroupStats={},t._hmpixcount=0,t._hmlumcount=0,l._piecolormap={},l._piecolorway=null,l._piedefaultcolorcount=0,i=0;i<s.length;i++)Array.isArray(e)&&-1===e.indexOf(i)&&(u[i]=c[i]);for(i=0;i<s.length;i++)(r=s[i])._arrayAttrs=nn.findArrayAttributes(r);var h=l._subplots.polar||[];for(i=0;i<h.length;i++)o.push(l[h[i]].radialaxis,l[h[i]].angularaxis);In(o);var f=!1;for(i=0;i<s.length;i++)if(!0===(r=s[i]).visible&&r.transforms)for((n=r._module)&&n.calc&&n.calc(t,r),a=0;a<r.transforms.length;a++){var p=r.transforms[a];(n=Tn[p.type])&&n.calcTransform&&(r._hasCalcTransform=!0,f=!0,n.calcTransform(t,r,p))}for(f&&In(o),i=0;i<s.length;i++){var d=[];if(!0===(r=s[i]).visible){n=r._module;var g=r.transforms||[];for(a=g.length-1;a>=0;a--)if(g[a].enabled){r._indexToPoints=g[a]._indexToPoints;break}n&&n.calc&&(d=n.calc(t,r))}Array.isArray(d)&&d[0]||(d=[{x:Mn,y:Mn}]),d[0].t||(d[0].t={}),d[0].trace=r,u[i]=d}P.getComponentMethod(\"fx\",\"calc\")(t)},An.rehover=function(t){t._fullLayout._rehover&&t._fullLayout._rehover()},An.generalUpdatePerTraceModule=function(t,e,r,n){var i,a=e.traceHash,o={};for(i=0;i<r.length;i++){var s=r[i],l=s[0].trace;l.visible&&(o[l.type]=o[l.type]||[],o[l.type].push(s))}for(var u in a)if(!o[u]){var c=a[u][0];c[0].trace.visible=!1,o[u]=[c]}for(var h in o){var f=o[h];f[0][0].trace._module.plot(t,e,ne.filterVisible(f),n)}e.traceHash=o};var Dn={draw:function(t,n,i){var a,o=i.propContainer,s=i.propName,l=i.placeholder,u=i.traceIndex,c=i.avoid||{},h=i.attributes,p=i.transform,d=i.containerGroup,g=t._fullLayout,v=o.titlefont||{},m=v.family,y=v.size,x=v.color,b=1,_=!1,w=(o.title||\"\").trim();\"title\"===s?a=\"titleText\":-1!==s.indexOf(\"axis\")?a=\"axisTitleText\":s.indexOf(!0)&&(a=\"colorbarTitleText\");var M=t._context.edits[a];\"\"===w?b=0:w.replace(On,\" % \")===l.replace(On,\" % \")&&(b=.2,_=!0,M||(w=\"\"));var A=w||M;d||(d=g._infolayer.selectAll(\".g-\"+n).data([0])).enter().append(\"g\").classed(\"g-\"+n,!0);var k=d.selectAll(\"text\").data(A?[0]:[]);if(k.enter().append(\"text\"),k.text(w).attr(\"class\",n),k.exit().remove(),!A)return d;function T(t){ne.syncOrAsync([S,E],t)}function S(r){var n;return p?(n=\"\",p.rotate&&(n+=\"rotate(\"+[p.rotate,h.x,h.y]+\")\"),p.offset&&(n+=\"translate(0, \"+p.offset+\")\")):n=null,r.attr(\"transform\",n),r.style({\"font-family\":m,\"font-size\":e.round(y,2)+\"px\",fill:Oe.rgb(x),opacity:b*Oe.opacity(x),\"font-weight\":_n.fontWeight}).attr(h).call(er.convertToTspans,t),_n.previousPromises(t)}function E(t){var n=e.select(t.node().parentNode);if(c&&c.selection&&c.side&&w){n.attr(\"transform\",null);var i=0,a={left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\"}[c.side],o=-1!==[\"left\",\"top\"].indexOf(c.side)?-1:1,s=r(c.pad)?c.pad:2,l=Sr.bBox(n.node()),u={left:0,top:0,right:g.width,bottom:g.height},h=c.maxShift||(u[c.side]-l[c.side])*(\"left\"===c.side||\"top\"===c.side?-1:1);if(h<0)i=h;else{var f=c.offsetLeft||0,p=c.offsetTop||0;l.left-=f,l.right-=f,l.top-=p,l.bottom-=p,c.selection.each(function(){var t=Sr.bBox(this);ne.bBoxIntersect(l,t,s)&&(i=Math.max(i,o*(t[c.side]-l[a])+s))}),i=Math.min(h,i)}if(i>0||h<0){var d={left:[-i,0],right:[i,0],top:[0,-i],bottom:[0,i]}[c.side];n.attr(\"transform\",\"translate(\"+d+\")\")}}}k.call(T),M&&(w?k.on(\".opacity\",null):(b=0,_=!0,k.text(l).on(\"mouseover.opacity\",function(){e.select(this).transition().duration(f.SHOW_PLACEHOLDER).style(\"opacity\",1)}).on(\"mouseout.opacity\",function(){e.select(this).transition().duration(f.HIDE_PLACEHOLDER).style(\"opacity\",0)})),k.call(er.makeEditable,{gd:t}).on(\"edit\",function(e){void 0!==u?P.call(\"restyle\",t,s,e,u):P.call(\"relayout\",t,s,e)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(T)}).on(\"input\",function(t){this.text(t||\" \").call(er.positionText,h.x,h.y)}));return k.classed(\"js-placeholder\",_),d}},On=/ [XY][0-9]* /;var Rn=t.FP_SAFE,Fn=Vn,Bn=Un,Nn=function(t){t._length||t.setScale();var e,r=t._min&&t._max&&t._min.length&&t._max.length;t.autorange&&r&&(t.range=Vn(t),t._r=t.range.slice(),t._rl=ne.simpleMap(t._r,t.r2l),(e=t._input).range=t.range.slice(),e.autorange=t.autorange);if(t._anchorAxis&&t._anchorAxis.rangeslider){var n=t._anchorAxis.rangeslider[t._name];n&&\"auto\"===n.rangemode&&(n.range=r?Vn(t):t._rangeInitial?t._rangeInitial.slice():t.range.slice()),(e=t._anchorAxis._input).rangeslider[t._name]=ne.extendFlat({},n)}},jn=function(t,e,n){if(!function(t){return t.autorange||t._rangesliderAutorange}(t)||!e)return;t._min||(t._min=[]);t._max||(t._max=[]);n||(n={});t._m||t.setScale();var i,a,o,s,l,u,c,h,f,p,d,g,v=e.length,m=n.padded||!1,y=n.tozero&&(\"linear\"===t.type||\"-\"===t.type),x=\"log\"===t.type,b=!1;function _(t){if(Array.isArray(t))return b=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var w=_((t._m>0?n.ppadplus:n.ppadminus)||n.ppad||0),M=_((t._m>0?n.ppadminus:n.ppadplus)||n.ppad||0),A=_(n.vpadplus||n.vpad),k=_(n.vpadminus||n.vpad);if(!b){if(d=1/0,g=-1/0,x)for(i=0;i<v;i++)(s=e[i])<d&&s>0&&(d=s),s>g&&s<Rn&&(g=s);else for(i=0;i<v;i++)(s=e[i])<d&&s>-Rn&&(d=s),s>g&&s<Rn&&(g=s);e=[d,g],v=2}function T(n){if(l=e[n],r(l))for(h=w(n),f=M(n),d=l-k(n),g=l+A(n),x&&d<g/10&&(d=g/10),u=t.c2l(d),c=t.c2l(g),y&&(u=Math.min(0,u),c=Math.max(0,c)),o=0;o<2;o++){var i=o?c:u;if(qn(i)){var v=o?t._max:t._min,b=o?h:f,_=o?Gn:Hn;for(p=!0,a=0;a<v.length&&p;a++){if(s=v[a],_(s.val,i)&&s.pad>=b&&(s.extrapad||!m)){p=!1;break}_(i,s.val)&&s.pad<=b&&(m||!s.extrapad)&&(v.splice(a,1),a--)}if(p){var T=y&&0===i;v.push({val:i,pad:T?0:b,extrapad:!T&&m})}}}}var S=Math.min(6,v);for(i=0;i<S;i++)T(i);for(i=v-1;i>=S;i--)T(i)};function Vn(t){var e,r,n,i,a,o,s,l,u=[],c=t._min[0].val,h=t._max[0].val,f=0,p=!1,d=Un(t);for(e=1;e<t._min.length&&c===h;e++)c=Math.min(c,t._min[e].val);for(e=1;e<t._max.length&&c===h;e++)h=Math.max(h,t._max[e].val);if(t.range){var g=ne.simpleMap(t.range,t.r2l);p=g[1]<g[0]}for(\"reversed\"===t.autorange&&(p=!0,t.autorange=!0),e=0;e<t._min.length;e++)for(n=t._min[e],r=0;r<t._max.length;r++)l=(i=t._max[r]).val-n.val,s=t._length-d(n)-d(i),l>0&&s>0&&l/s>f&&(a=n,o=i,f=l/s);if(c===h){var v=c-1,m=c+1;u=\"tozero\"===t.rangemode?c<0?[v,0]:[0,m]:\"nonnegative\"===t.rangemode?[Math.max(0,v),Math.max(0,m)]:[v,m]}else f&&(\"linear\"!==t.type&&\"-\"!==t.type||(\"tozero\"===t.rangemode?(a.val>=0&&(a={val:0,pad:0}),o.val<=0&&(o={val:0,pad:0})):\"nonnegative\"===t.rangemode&&(a.val-f*d(a)<0&&(a={val:0,pad:0}),o.val<0&&(o={val:1,pad:0})),f=(o.val-a.val)/(t._length-d(a)-d(o))),u=[a.val-f*d(a),o.val+f*d(o)]);return u[0]===u[1]&&(\"tozero\"===t.rangemode?u=u[0]<0?[u[0],0]:u[0]>0?[0,u[0]]:[0,1]:(u=[u[0]-1,u[0]+1],\"nonnegative\"===t.rangemode&&(u[0]=Math.max(0,u[0])))),p&&u.reverse(),ne.simpleMap(u,t.l2r||Number)}function Un(t){var e=t._length/20;return\"domain\"===t.constrain&&t._inputDomain&&(e*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(t){return t.pad+(t.extrapad?e:0)}}function qn(t){return r(t)&&Math.abs(t)<Rn}function Hn(t,e){return t<=e}function Gn(t,e){return t>=e}var Wn=t.BADNUM,Yn=function(t,e){return function(t,e){for(var n,i=0,a=0,o=Math.max(1,(t.length-1)/1e3),s=0;s<t.length;s+=o)n=t[Math.round(s)],ne.isDateTime(n,e)&&(i+=1),r(n)&&(a+=1);return i>2*a}(t,e)?\"date\":function(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)],ne.cleanNumber(e)!==Wn?n++:\"string\"==typeof e&&\"\"!==e&&\"None\"!==e&&i++;return i>2*n}(t)?\"category\":function(t){if(!t)return!1;for(var e=0;e<t.length;e++)if(r(t[e]))return!0;return!1}(t)?\"linear\":\"-\"};var Xn=ne.cleanNumber,Zn=ne.ms2DateTime,Jn=ne.dateTime2ms,Kn=ne.ensureNumber,Qn=t.FP_SAFE,$n=t.BADNUM;function ti(t){return Math.pow(10,t)}var ei=function(t,n){n=n||{};var i=(t._id||\"x\").charAt(0),a=10;function o(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*a*Math.abs(n-i))}return $n}function s(e,n,i){var a=Jn(e,i||t.calendar);if(a===$n){if(!r(e))return $n;a=Jn(new Date(+e))}return a}function l(e,r,n){return Zn(e,r,n||t.calendar)}function u(e){return t._categories[Math.round(e)]}function c(e){if(t._categoriesMap){var n=t._categoriesMap[e];if(void 0!==n)return n}if(r(e))return+e}function h(n){return r(n)?e.round(t._b+t._m*n,2):$n}function f(e){return(e-t._b)/t._m}t.c2l=\"log\"===t.type?o:Kn,t.l2c=\"log\"===t.type?ti:Kn,t.l2p=h,t.p2l=f,t.c2p=\"log\"===t.type?function(t,e){return h(o(t,e))}:h,t.p2c=\"log\"===t.type?function(t){return ti(f(t))}:f,-1!==[\"linear\",\"-\"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=Xn,t.c2d=t.c2r=t.l2d=t.l2r=Kn,t.d2p=t.r2p=function(e){return t.l2p(Xn(e))},t.p2d=t.p2r=f,t.cleanPos=Kn):\"log\"===t.type?(t.d2r=t.d2l=function(t,e){return o(Xn(t),e)},t.r2d=t.r2c=function(t){return ti(Xn(t))},t.d2c=t.r2l=Xn,t.c2d=t.l2r=Kn,t.c2r=o,t.l2d=ti,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return ti(f(t))},t.r2p=function(e){return t.l2p(Xn(e))},t.p2r=f,t.cleanPos=Kn):\"date\"===t.type?(t.d2r=t.r2d=ne.identity,t.d2c=t.r2c=t.d2l=t.r2l=s,t.c2d=t.c2r=t.l2d=t.l2r=l,t.d2p=t.r2p=function(e,r,n){return t.l2p(s(e,0,n))},t.p2d=t.p2r=function(t,e,r){return l(f(t),e,r)},t.cleanPos=function(e){return ne.cleanDate(e,$n,t.calendar)}):\"category\"===t.type&&(t.d2c=t.d2l=function(e){if(null!==e&&void 0!==e){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return $n},t.r2d=t.c2d=t.l2d=u,t.d2r=t.d2l_noadd=c,t.r2c=function(e){var r=c(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=Kn,t.r2l=c,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return u(f(t))},t.r2p=t.d2p,t.p2r=f,t.cleanPos=function(t){return\"string\"==typeof t&&\"\"!==t?t:Kn(t)}),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,n){n||(n={}),e||(e=\"range\");var a,o,s=ne.nestedProperty(t,e).get();if(o=(o=\"date\"===t.type?ne.dfltRange(t.calendar):\"y\"===i?Te.DFLTRANGEY:n.dfltRange||Te.DFLTRANGEX).slice(),s&&2===s.length)for(\"date\"===t.type&&(s[0]=ne.cleanDate(s[0],$n,t.calendar),s[1]=ne.cleanDate(s[1],$n,t.calendar)),a=0;a<2;a++)if(\"date\"===t.type){if(!ne.isDateTime(s[a],t.calendar)){t[e]=o;break}if(t.r2l(s[0])===t.r2l(s[1])){var l=ne.constrain(t.r2l(s[0]),ne.MIN_MS+1e3,ne.MAX_MS-1e3);s[0]=t.l2r(l-1e3),s[1]=t.l2r(l+1e3);break}}else{if(!r(s[a])){if(!r(s[1-a])){t[e]=o;break}s[a]=s[1-a]*(a?10:.1)}if(s[a]<-Qn?s[a]=-Qn:s[a]>Qn&&(s[a]=Qn),s[0]===s[1]){var u=Math.max(1,Math.abs(1e-6*s[0]));s[0]-=u,s[1]+=u}}else ne.nestedProperty(t,e).set(o)},t.setScale=function(e){var r=n._size;if(t._categories||(t._categories=[]),t._categoriesMap||(t._categoriesMap={}),t.overlaying){var a=gn.getFromId({_fullLayout:n},t.overlaying);t.domain=a.domain}var o=e&&t._r?\"_r\":\"range\",s=t.calendar;t.cleanRange(o);var l=t.r2l(t[o][0],s),u=t.r2l(t[o][1],s);if(\"y\"===i?(t._offset=r.t+(1-t.domain[1])*r.h,t._length=r.h*(t.domain[1]-t.domain[0]),t._m=t._length/(l-u),t._b=-t._m*u):(t._offset=r.l+t.domain[0]*r.w,t._length=r.w*(t.domain[1]-t.domain[0]),t._m=t._length/(u-l),t._b=-t._m*l),!isFinite(t._m)||!isFinite(t._b))throw n._replotting=!1,new Error(\"Something went wrong with axis scaling\")},t.makeCalcdata=function(e,r){var n,i,a,o,s=t.type,l=\"date\"===s&&e[r+\"calendar\"];if(r in e){if(n=e[r],o=e._length||n.length,ne.isTypedArray(n)&&(\"linear\"===s||\"log\"===s)){if(o===n.length)return n;if(n.subarray)return n.subarray(0,o)}for(i=new Array(o),a=0;a<o;a++)i[a]=t.d2c(n[a],0,l)}else{var u=r+\"0\"in e?t.d2c(e[r+\"0\"],0,l):0,c=e[\"d\"+r]?Number(e[\"d\"+r]):1;for(n=e[{x:\"y\",y:\"x\"}[r]],o=e._length||n.length,i=new Array(o),a=0;a<o;a++)i[a]=u+a*c}return i},t.isValidRange=function(e){return Array.isArray(e)&&2===e.length&&r(t.r2l(e[0]))&&r(t.r2l(e[1]))},t.isPtWithinRange=function(e,r){var n=t.c2l(e[i],null,r);return n>=t.r2l(t.range[0])&&n<=t.r2l(t.range[1])},t.clearCalc=function(){t._min=[],t._max=[],t._categories=(t._initialCategories||[]).slice(),t._categoriesMap={};for(var e=0;e<t._categories.length;e++)t._categoriesMap[t._categories[e]]=e};var p=n._d3locale;\"date\"===t.type&&(t._dateFormat=p?p.timeFormat.utc:e.time.format.utc,t._extraFormat=n._extraFormat),t._separators=n.separators,t._numFormat=p?p.numberFormat:e.format,delete t._minDtick,delete t._forceTick0},ri={},ni=t.ONEAVGYEAR,ii=t.ONEAVGMONTH,ai=t.ONEDAY,oi=t.ONEHOUR,si=t.ONEMIN,li=t.ONESEC,ui=t.MINUS_SIGN,ci=t.BADNUM,hi=Qe.MID_SHIFT,fi=Qe.LINE_SPACING,pi=ri={};pi.setConvert=ei,pi.id2name=gn.id2name,pi.name2id=gn.name2id,pi.cleanId=gn.cleanId,pi.list=gn.list,pi.listIds=gn.listIds,pi.getFromId=gn.getFromId,pi.getFromTrace=gn.getFromTrace,pi.expand=jn,pi.getAutoRange=Fn,pi.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),s=r._fullLayout._subplots[o+\"axis\"],l=n+\"ref\",u={};return i||(i=s[0]||a),a||(a=i),u[l]={valType:\"enumerated\",values:s.concat(a?[a]:[]),dflt:i},ne.coerce(t,e,u,l)},pi.coercePosition=function(t,e,r,n,i,a){var o,s;if(\"paper\"===n||\"pixel\"===n)o=ne.ensureNumber,s=r(i,a);else{var l=pi.getFromId(e,n);s=r(i,a=l.fraction2r(a)),o=l.cleanPos}t[i]=o(s)},pi.cleanPosition=function(t,e,r){return(\"paper\"===r||\"pixel\"===r?ne.ensureNumber:pi.getFromId(e,r).cleanPos)(t)};var di=pi.getDataConversions=function(t,e,r,n){var i,a=\"x\"===r||\"y\"===r||\"z\"===r?r:n;if(Array.isArray(a)){if(i={type:Yn(n),_categories:[]},pi.setConvert(i),\"category\"===i.type)for(var o=0;o<n.length;o++)i.d2c(n[o])}else i=pi.getFromTrace(t,e,a);return i?{d2c:i.d2c,c2d:i.c2d}:\"ids\"===a?{d2c:vi,c2d:vi}:{d2c:gi,c2d:gi}};function gi(t){return+t}function vi(t){return String(t)}pi.getDataToCoordFunc=function(t,e,r,n){return di(t,e,r,n).d2c},pi.counterLetter=function(t){var e=t.charAt(0);return\"x\"===e?\"y\":\"y\"===e?\"x\":void 0},pi.minDtick=function(t,e,r,n){-1===[\"log\",\"category\"].indexOf(t.type)&&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},pi.saveRangeInitial=function(t,e){for(var r=pi.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&&!1===a.autorange||e&&s)&&(a._rangeInitial=a.range.slice(),n=!0)}return n},pi.saveShowSpikeInitial=function(t,e){for(var r=pi.list(t,\"\",!0),n=!1,i=\"on\",a=0;a<r.length;a++){var o=r[a],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),\"on\"!==i||o.showspikes||(i=\"off\")}return t._fullLayout._cartesianSpikesEnabled=i,n},pi.autoBin=function(t,e,n,i,a){var o,s,l=ne.aggNums(Math.min,null,t),u=ne.aggNums(Math.max,null,t);if(a||(a=e.calendar),\"category\"===e.type)return{start:l-.5,end:u+.5,size:1,_dataSpan:u-l};if(n)o=(u-l)/n;else{var c=ne.distinctVals(t),h=Math.pow(10,Math.floor(Math.log(c.minDiff)/Math.LN10)),f=h*ne.roundUp(c.minDiff/h,[.9,1.9,4.9,9.9],!0);o=Math.max(f,2*ne.stdev(t)/Math.pow(t.length,i?.25:.4)),r(o)||(o=1)}s=\"log\"===e.type?{type:\"linear\",range:[l,u]}:{type:e.type,range:ne.simpleMap([l,u],e.c2r,0,a),calendar:a},pi.setConvert(s),pi.autoTicks(s,o);var p,d=pi.tickIncrement(pi.tickFirst(s),s.dtick,\"reverse\",a);if(\"number\"==typeof s.dtick)p=(d=function(t,e,n,i,a){var o=0,s=0,l=0,u=0;function c(e){return(1+100*(e-t)/n.dtick)%100<2}for(var h=0;h<e.length;h++)e[h]%1==0?l++:r(e[h])||u++,c(e[h])&&o++,c(e[h]+n.dtick/2)&&s++;var f=e.length-u;if(l===f&&\"date\"!==n.type)n.dtick<1?t=i-.5*n.dtick:(t-=.5)+n.dtick<i&&(t+=n.dtick);else if(s<.1*f&&(o>.3*f||c(i)||c(a))){var p=n.dtick/2;t+=t+p<i?p:-p}return t}(d,t,s,l,u))+(1+Math.floor((u-d)/s.dtick))*s.dtick;else for(\"M\"===s.dtick.charAt(0)&&(d=function(t,e,r,n,i){var a=ne.findExactDates(e,i);if(a.exactDays>.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=pi.tickIncrement(t,\"M6\",\"reverse\")+1.5*ai:a.exactMonths>.8?t=pi.tickIncrement(t,\"M1\",\"reverse\")+15.5*ai:t-=ai/2;var s=pi.tickIncrement(t,r);if(s<=n)return s}return t}(d,t,s.dtick,l,a)),p=d,0;p<=u;)p=pi.tickIncrement(p,s.dtick,!1,a),0;return{start:e.c2r(d,0,a),end:e.c2r(p,0,a),size:s.dtick,_dataSpan:u-l}},pi.prepTicks=function(t){var e=ne.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=ne.constrain(t._length/r,4,9)+1),\"radialaxis\"===t._name&&(n*=2)),\"array\"===t.tickmode&&(n*=100),pi.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))}t.tick0||(t.tick0=\"date\"===t.type?\"2000-01-01\":0),ki(t)},pi.calcTicks=function(t){pi.prepTicks(t);var e=ne.simpleMap(t.range,t.r2l);if(\"array\"===t.tickmode)return function(t){var e,r,n=t.tickvals,i=t.ticktext,a=new Array(n.length),o=ne.simpleMap(t.range,t.r2l),s=1.0001*o[0]-1e-4*o[1],l=1.0001*o[1]-1e-4*o[0],u=Math.min(s,l),c=Math.max(s,l),h=0;Array.isArray(i)||(i=[]);var f=\"category\"===t.type?t.d2l_noadd:t.d2l;\"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));for(r=0;r<n.length;r++)(e=f(n[r]))>u&&e<c&&(void 0===i[r]?a[h]=pi.tickText(t,e):a[h]=Ti(t,e,String(i[r])),h++);h<n.length&&a.splice(h,n.length-h);return a}(t);t._tmin=pi.tickFirst(t);var r=1.0001*e[0]-1e-4*e[1],n=1.0001*e[1]-1e-4*e[0],i=e[1]<e[0];if(t._tmin<r!==i)return[];var a=[];\"category\"===t.type&&(n=i?Math.max(-.5,n):Math.min(t._categories.length-.5,n));for(var o=null,s=Math.max(1e3,t._length||0),l=t._tmin;(i?l>=n:l<=n)&&!(a.length>s||l===o);l=pi.tickIncrement(l,t.dtick,i,t.calendar))o=l,a.push(l);\"angular\"===t._id&&360===Math.abs(e[1]-e[0])&&a.pop(),t._tmax=a[a.length-1],t._prevDateHead=\"\",t._inCalcTicks=!0;for(var u=new Array(a.length),c=0;c<a.length;c++)u[c]=pi.tickText(t,a[c]);return t._inCalcTicks=!1,u};var mi=[2,5,10],yi=[1,2,3,6,12],xi=[1,2,5,10,15,30],bi=[1,2,3,7,14],_i=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],wi=[-.301,0,.301,.699,1],Mi=[15,30,45,90,180];function Ai(t,e,r){return e*ne.roundUp(t/e,r)}function ki(t){var e=t.dtick;if(t._tickexponent=0,r(e)||\"string\"==typeof e||(e=1),\"category\"===t.type&&(t._tickround=null),\"date\"===t.type){var n=t.r2l(t.tick0),i=t.l2r(n).replace(/(^-|i)/g,\"\"),a=i.length;if(\"M\"===String(e).charAt(0))a>10||\"01-01\"!==i.substr(5)?t._tickround=\"d\":t._tickround=+e.substr(1)%12==0?\"y\":\"m\";else if(e>=ai&&a<=10||e>=15*ai)t._tickround=\"d\";else if(e>=si&&a<=16||e>=oi)t._tickround=\"M\";else if(e>=li&&a<=19||e>=si)t._tickround=\"S\";else{var o=t.l2r(n+e).replace(/^-/,\"\").length;t._tickround=Math.max(a,o)-20}}else if(r(e)||\"L\"===e.charAt(0)){var s=t.range.map(t.r2d||Number);r(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),u=Math.floor(Math.log(l)/Math.LN10+.01);Math.abs(u)>3&&(Ei(t.exponentformat)&&!Ci(u)?t._tickexponent=3*Math.round((u-1)/3):t._tickexponent=u)}else t._tickround=null}function Ti(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}}pi.autoTicks=function(t,e){var n;function i(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if(\"date\"===t.type){t.tick0=ne.dateTick0(t.calendar);var a=2*e;a>ni?(e/=ni,n=i(10),t.dtick=\"M\"+12*Ai(e,n,mi)):a>ii?(e/=ii,t.dtick=\"M\"+Ai(e,1,yi)):a>ai?(t.dtick=Ai(e,ai,bi),t.tick0=ne.dateTick0(t.calendar,!0)):a>oi?t.dtick=Ai(e,oi,yi):a>si?t.dtick=Ai(e,si,xi):a>li?t.dtick=Ai(e,li,xi):(n=i(10),t.dtick=Ai(e,n,mi))}else if(\"log\"===t.type){t.tick0=0;var o=ne.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(o[1]-o[0])<1){var s=1.5*Math.abs((o[1]-o[0])/e);e=Math.abs(Math.pow(10,o[1])-Math.pow(10,o[0]))/s,n=i(10),t.dtick=\"L\"+Ai(e,n,mi)}else t.dtick=e>.3?\"D2\":\"D1\"}else\"category\"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):\"angular\"===t._id?(t.tick0=0,n=1,t.dtick=Ai(e,n,Mi)):(t.tick0=0,n=i(10),t.dtick=Ai(e,n,mi));if(0===t.dtick&&(t.dtick=1),!r(t.dtick)&&\"string\"!=typeof t.dtick){var l=t.dtick;throw t.dtick=1,\"ax.dtick error: \"+String(l)}},pi.tickIncrement=function(t,n,i,a){var o=i?-1:1;if(r(n))return t+o*n;var s=n.charAt(0),l=o*Number(n.substr(1));if(\"M\"===s)return ne.incrementMonth(t,l,a);if(\"L\"===s)return Math.log(Math.pow(10,t)+l)/Math.LN10;if(\"D\"===s){var u=\"D2\"===n?wi:_i,c=t+.01*o,h=ne.roundUp(ne.mod(c,1),u,i);return Math.floor(c)+Math.log(e.round(Math.pow(10,h),1))/Math.LN10}throw\"unrecognized dtick \"+String(n)},pi.tickFirst=function(t){var n=t.r2l||Number,i=ne.simpleMap(t.range,n),a=i[1]<i[0],o=a?Math.floor:Math.ceil,s=1.0001*i[0]-1e-4*i[1],l=t.dtick,u=n(t.tick0);if(r(l)){var c=o((s-u)/l)*l+u;return\"category\"===t.type&&(c=ne.constrain(c,0,t._categories.length-1)),c}var h=l.charAt(0),f=Number(l.substr(1));if(\"M\"===h){for(var p,d,g,v=0,m=u;v<10;){if(((p=pi.tickIncrement(m,l,a,t.calendar))-s)*(m-s)<=0)return a?Math.min(m,p):Math.max(m,p);d=(s-(m+p)/2)/(p-m),g=h+(Math.abs(Math.round(d))||1)*f,m=pi.tickIncrement(m,g,d<0?!a:a,t.calendar),v++}return ne.error(\"tickFirst did not converge\",t),m}if(\"L\"===h)return Math.log(o((Math.pow(10,s)-u)/f)*f+u)/Math.LN10;if(\"D\"===h){var y=\"D2\"===l?wi:_i,x=ne.roundUp(ne.mod(s,1),y,a);return Math.floor(s)+Math.log(e.round(Math.pow(10,x),1))/Math.LN10}throw\"unrecognized dtick \"+String(l)},pi.tickText=function(t,e,n){var i,a,o=Ti(t,e),s=\"array\"===t.tickmode,l=n||s,u=\"category\"===t.type?t.d2l_noadd:t.d2l;if(s&&Array.isArray(t.ticktext)){var c=ne.simpleMap(t.range,t.r2l),h=Math.abs(c[1]-c[0])/1e4;for(a=0;a<t.ticktext.length&&!(Math.abs(e-u(t.tickvals[a]))<h);a++);if(a<t.ticktext.length)return o.text=String(t.ticktext[a]),o}function f(r){var i;return void 0===r||(n?\"none\"===r:(i={first:t._tmin,last:t._tmax}[r],\"all\"!==r&&e!==i))}return i=n?\"never\":\"none\"!==t.exponentformat&&f(t.showexponent)?\"hide\":\"\",\"date\"===t.type?function(t,e,n,i){var a=t._tickround,o=n&&t.hoverformat||pi.getTickFormat(t);i&&(a=r(a)?4:{y:\"m\",m:\"d\",d:\"M\",M:\"S\",S:4}[a]);var s,l=ne.formatDate(e.x,o,a,t._dateFormat,t.calendar,t._extraFormat),u=l.indexOf(\"\\n\");-1!==u&&(s=l.substr(u+1),l=l.substr(0,u));i&&(\"00:00:00\"===l||\"00:00\"===l?(l=s,s=\"\"):8===l.length&&(l=l.replace(/:00$/,\"\")));s&&(n?\"d\"===a?l+=\", \"+s:l=s+(l?\", \"+l:\"\"):t._inCalcTicks&&s===t._prevDateHead||(l+=\"<br>\"+s,t._prevDateHead=s));e.text=l}(t,o,n,l):\"log\"===t.type?function(t,e,n,i,a){var o=t.dtick,s=e.x,l=t.tickformat;\"never\"===a&&(a=\"\");!i||\"string\"==typeof o&&\"L\"===o.charAt(0)||(o=\"L3\");if(l||\"string\"==typeof o&&\"L\"===o.charAt(0))e.text=Li(Math.pow(10,s),t,a,i);else if(r(o)||\"D\"===o.charAt(0)&&ne.mod(s+.01,1)<.1){var u=Math.round(s);-1!==[\"e\",\"E\",\"power\"].indexOf(t.exponentformat)||Ei(t.exponentformat)&&Ci(u)?(e.text=0===u?1:1===u?\"10\":u>1?\"10<sup>\"+u+\"</sup>\":\"10<sup>\"+ui+-u+\"</sup>\",e.fontSize*=1.25):(e.text=Li(Math.pow(10,s),t,\"\",\"fakehover\"),\"D1\"===o&&\"y\"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if(\"D\"!==o.charAt(0))throw\"unrecognized dtick \"+String(o);e.text=String(Math.round(Math.pow(10,ne.mod(s,1)))),e.fontSize*=.75}if(\"D1\"===t.dtick){var c=String(e.text).charAt(0);\"0\"!==c&&\"1\"!==c||(\"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*(s<0?.5:.25)))}}(t,o,0,l,i):\"category\"===t.type?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=\"\");e.text=String(r)}(t,o):\"angular\"===t._id?function(t,e,r,n,i){if(\"radians\"!==t.thetaunit||r)e.text=Li(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text=\"0\";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){var r=1;for(;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=Li(ne.deg2rad(e.x),t,i,n);else{var s=e.x<0;1===o[1]?1===o[0]?e.text=\"\\u03c0\":e.text=o[0]+\"\\u03c0\":e.text=[\"<sup>\",o[0],\"</sup>\",\"\\u2044\",\"<sub>\",o[1],\"</sub>\",\"\\u03c0\"].join(\"\"),s&&(e.text=ui+e.text)}}}}(t,o,n,l,i):function(t,e,r,n,i){\"never\"===i?i=\"\":\"all\"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i=\"hide\");e.text=Li(e.x,t,i,n)}(t,o,0,l,i),t.tickprefix&&!f(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!f(t.showticksuffix)&&(o.text+=t.ticksuffix),o},pi.hoverLabelText=function(t,e,r){if(r!==ci&&r!==e)return pi.hoverLabelText(t,e)+\" - \"+pi.hoverLabelText(t,r);var n=\"log\"===t.type&&e<=0,i=pi.tickText(t,t.c2l(n?-e:e),\"hover\").text;return n?0===e?\"0\":ui+i:i};var Si=[\"f\",\"p\",\"n\",\"\\u03bc\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\"];function Ei(t){return\"SI\"===t||\"B\"===t}function Ci(t){return t>14||t<-15}function Li(t,e,n,i){var a=t<0,o=e._tickround,s=n||e.exponentformat||\"B\",l=e._tickexponent,u=pi.getTickFormat(e),c=e.separatethousands;if(i){var h={exponentformat:s,dtick:\"none\"===e.showexponent?e.dtick:r(t)&&Math.abs(t)||1,range:\"none\"===e.showexponent?e.range.map(e.r2d):[0,t||1]};ki(h),o=(Number(h._tickround)||0)+4,l=h._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,ui);var f,p=Math.pow(10,-o)/2;if(\"none\"===s&&(l=0),(t=Math.abs(t))<p)t=\"0\",a=!1;else{if(t+=p,l&&(t*=Math.pow(10,-l),o+=l),0===o)t=String(Math.floor(t));else if(o<0){t=(t=String(Math.round(t))).substr(0,t.length+o);for(var d=o;d<0;d++)t+=\"0\"}else{var g=(t=String(t)).indexOf(\".\")+1;g&&(t=t.substr(0,g+o).replace(/\\.?0+$/,\"\"))}t=ne.numSeparate(t,e._separators,c)}l&&\"hide\"!==s&&(Ei(s)&&Ci(l)&&(s=\"power\"),f=l<0?ui+-l:\"power\"!==s?\"+\"+l:String(l),\"e\"===s?t+=\"e\"+f:\"E\"===s?t+=\"E\"+f:\"power\"===s?t+=\"\\xd710<sup>\"+f+\"</sup>\":\"B\"===s&&9===l?t+=\"B\":Ei(s)&&(t+=Si[l/3+5]));return a?ui+t:t}function zi(t,e){for(var r=0;r<e.length;r++)-1===t.indexOf(e[r])&&t.push(e[r])}function Pi(t,e,r){var n,i,a=[],o=[],s=t.layout;for(n=0;n<e.length;n++)a.push(pi.getFromId(t,e[n]));for(n=0;n<r.length;n++)o.push(pi.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],p=o[0][h],d=!0,g=!1,v=!1;if(\"_\"!==h.charAt(0)&&\"function\"!=typeof f&&-1===u.indexOf(h)){for(i=1;i<a.length&&d;i++){var m=a[i][h];\"type\"===h&&-1!==c.indexOf(f)&&-1!==c.indexOf(m)&&f!==m?g=!0:m!==f&&(d=!1)}for(i=1;i<o.length&&d;i++){var y=o[i][h];\"type\"===h&&-1!==c.indexOf(p)&&-1!==c.indexOf(y)&&p!==y?v=!0:o[i][h]!==p&&(d=!1)}d&&(g&&(s[a[0]._name].type=\"linear\"),v&&(s[o[0]._name].type=\"linear\"),Ii(s,h,a,o,t._fullLayout._dfltTitle))}}for(n=0;n<t._fullLayout.annotations.length;n++){var x=t._fullLayout.annotations[n];-1!==e.indexOf(x.xref)&&-1!==r.indexOf(x.yref)&&ne.swapAttrs(s.annotations[n],[\"?\"])}}function Ii(t,e,r,n,i){var a,o=ne.nestedProperty,s=o(t[r[0]._name],e).get(),l=o(t[n[0]._name],e).get();for(\"title\"===e&&(s===i.x&&(s=i.y),l===i.y&&(l=i.x)),a=0;a<r.length;a++)o(t,r[a]._name+\".\"+e).set(l);for(a=0;a<n.length;a++)o(t,n[a]._name+\".\"+e).set(s)}pi.getTickFormat=function(t){var e,r,n,i,a,o,s;function l(t){return\"string\"!=typeof t?t:Number(t.replace(\"M\",\"\"))*ii}function u(t,e){var r=[\"L\",\"D\"];if(typeof t==typeof e){if(\"number\"==typeof t)return t-e;var n=r.indexOf(t.charAt(0)),i=r.indexOf(e.charAt(0));return n===i?Number(t.replace(/(L|D)/g,\"\"))-Number(e.replace(/(L|D)/g,\"\")):n-i}return\"number\"==typeof t?1:-1}function c(t,e){var r=null===e[0],n=null===e[1],i=u(t,e[0])>=0,a=u(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case\"date\":case\"linear\":for(e=0;e<t.tickformatstops.length;e++)if(n=t.dtick,i=t.tickformatstops[e].dtickrange,a=void 0,void 0,void 0,a=l||function(t){return t},o=i[0],s=i[1],(!o&&\"number\"!=typeof o||a(o)<=a(n))&&(!s&&\"number\"!=typeof s||a(s)>=a(n))){r=t.tickformatstops[e];break}break;case\"log\":for(e=0;e<t.tickformatstops.length;e++)if(c(t.dtick,t.tickformatstops[e].dtickrange)){r=t.tickformatstops[e];break}}return r?r.value:t.tickformat},pi.getSubplots=function(t,e){var r=t._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=e?pi.findSubplotsWithAxis(n,e):n;return i.sort(function(t,e){var r=t.substr(1).split(\"y\"),n=e.substr(1).split(\"y\");return r[0]===n[0]?+r[1]-+n[1]:+r[0]-+n[0]}),i},pi.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},pi.makeClipPaths=function(t){var r,n,i=t._fullLayout,a={_offset:0,_length:i.width,_id:\"\"},o={_offset:0,_length:i.height,_id:\"\"},s=pi.list(t,\"x\",!0),l=pi.list(t,\"y\",!0),u=[];for(r=0;r<s.length;r++)for(u.push({x:s[r],y:o}),n=0;n<l.length;n++)0===r&&u.push({x:a,y:l[n]}),u.push({x:s[r],y:l[n]});var c=i._clips.selectAll(\".axesclip\").data(u,function(t){return t.x._id+t.y._id});c.enter().append(\"clipPath\").classed(\"axesclip\",!0).attr(\"id\",function(t){return\"clip\"+i._uid+t.x._id+t.y._id}).append(\"rect\"),c.exit().remove(),c.each(function(t){e.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})})},pi.doTicks=function(t,n,i){var a,o=t._fullLayout,s=!1;if(\"object\"==typeof n)n=(a=n)._id,s=!0;else if(a=pi.getFromId(t,n),\"redraw\"===n&&o._paper.selectAll(\"g.subplot\").each(function(t){var e=o._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(),o._infolayer.select(\".g-\"+r._id+\"title\").remove(),o._infolayer.select(\".g-\"+n._id+\"title\").remove()}),!n||\"redraw\"===n)return ne.syncOrAsync(pi.list(t,\"\",!0).map(function(e){return function(){if(e._id){var r=pi.doTicks(t,e._id);return\"redraw\"===n&&(e._r=e.range.slice(),e._rl=ne.simpleMap(e._r,e.r2l)),r}}}));a.setScale();var l,u,c,h,f,p=n.charAt(0),d=pi.counterLetter(n),g=pi.calcTicks(a),v=function(t){return[t.text,t.x,a.mirror,t.font,t.fontSize,t.fontColor].join(\"_\")},m=n+\"tick\",y=n+\"grid\",x=n+\"zl\",b=(a.linewidth||1)/2,_=\"outside\"===a.ticks?a.ticklen:0,w=0,M=Sr.crispRound(t,a.gridwidth,1),A=Sr.crispRound(t,a.zerolinewidth,M),k=Sr.crispRound(t,a.tickwidth,1);if(a._counterangle&&\"outside\"===a.ticks){var T=a._counterangle*Math.PI/180;_=a.ticklen*Math.cos(T)+1,w=a.ticklen*Math.sin(T)}if(a.showticklabels&&(\"outside\"===a.ticks||a.showline)&&(_+=.2*a.tickfont.size),\"x\"===p)l=[\"bottom\",\"top\"],u=a._transfn||function(t){return\"translate(\"+(a._offset+a.l2p(t.x))+\",0)\"},c=function(t,e){if(a._counterangle){var r=a._counterangle*Math.PI/180;return\"M0,\"+t+\"l\"+Math.sin(r)*e+\",\"+Math.cos(r)*e}return\"M0,\"+t+\"v\"+e};else if(\"y\"===p)l=[\"left\",\"right\"],u=a._transfn||function(t){return\"translate(0,\"+(a._offset+a.l2p(t.x))+\")\"},c=function(t,e){if(a._counterangle){var r=a._counterangle*Math.PI/180;return\"M\"+t+\",0l\"+Math.cos(r)*e+\",\"+-Math.sin(r)*e}return\"M\"+t+\",0h\"+e};else{if(\"angular\"!==n)return void ne.warn(\"Unrecognized doTicks axis:\",n);l=[\"left\",\"right\"],u=a._transfn,c=function(t,e){return\"M\"+t+\",0h\"+e}}var S=a.side||l[0],E=[-1,1,S===l[1]?1:-1];if(\"inside\"!==a.ticks==(\"x\"===p)&&(E=E.map(function(t){return-t})),a.visible){a._tickFilter&&(g=g.filter(a._tickFilter));var C=g.filter(F);if(\"angular\"===a._id&&(C=g),s){if(B(a._axislayer,c(a._pos+b*E[2],E[2]*a.ticklen)),a._counteraxis)U({gridlayer:a._gridlayer,zerolinelayer:a._zerolinelayer},a._counteraxis);return N(a._axislayer,a._pos)}if(o._has(\"cartesian\")){var L={};(h=pi.getSubplots(t,a)).map(function(t){var e=o._plots[t],r=e[d+\"axis\"],n=r._mainAxis._id;L[n]||(L[n]=1,U(e,r,t))});var z=a._mainSubplot,I=o._plots[z],D=[];if(a.ticks){var O=E[2],R=c(a._mainLinePosition+b*O,O*a.ticklen);a._anchorAxis&&a.mirror&&!0!==a.mirror&&(R+=c(a._mainMirrorPosition-b*O,-O*a.ticklen)),B(I[p+\"axislayer\"],R),D=Object.keys(a._linepositions)}return D.map(function(t){var e=o._plots[t][p+\"axislayer\"],r=a._linepositions[t]||[];function n(t){var e=E[t];return c(r[t]+b*e,e*a.ticklen)}B(e,n(0)+n(1))}),N(I[p+\"axislayer\"],a._mainLinePosition)}}function F(t){var e=a.l2p(t.x);return e>1&&e<a._length-1}function B(t,e){var r=t.selectAll(\"path.\"+m).data(\"inside\"===a.ticks?C:g,v);e&&a.ticks?(r.enter().append(\"path\").classed(m,1).classed(\"ticks\",1).classed(\"crisp\",1).call(Oe.stroke,a.tickcolor).style(\"stroke-width\",k+\"px\").attr(\"d\",e),r.attr(\"transform\",u),r.exit().remove()):r.remove()}function N(i,s){var l,c,d,y,x,M=i.selectAll(\"g.\"+m).data(g,v);if(!r(s))return M.remove(),void j();if(!a.showticklabels)return M.remove(),j(),void C();\"x\"===p?(l=function(t){return t.dx+w*x},y=s+(_+b)*(x=\"bottom\"===S?1:-1),c=function(t){return t.dy+y+t.fontSize*(\"bottom\"===S?1:-.2)},d=function(t){return r(t)&&0!==t&&180!==t?t*x<0?\"end\":\"start\":\"middle\"}):\"y\"===p?(x=\"right\"===S?1:-1,c=function(t){return t.dy+t.fontSize*hi-w*x},l=function(t){return t.dx+s+(_+b+(90===Math.abs(a.tickangle)?t.fontSize/2:0))*x},d=function(t){return r(t)&&90===Math.abs(t)?\"middle\":\"right\"===S?\"start\":\"end\"}):\"angular\"===n&&(a._labelShift=w,a._labelStandoff=_,a._pad=b,l=a._labelx,c=a._labely,d=a._labelanchor);var A=0,k=0,T=[];function E(t,n){t.each(function(t){var i=d(n,t),a=e.select(this),o=a.select(\".text-math-group\"),s=u.call(a.node(),t)+(r(n)&&0!=+n?\" rotate(\"+n+\",\"+l(t)+\",\"+(c(t)-t.fontSize/2)+\")\":\"\"),h=function(t,e,r){var n=(t-1)*e;if(\"x\"===p){if(r<-60||60<r)return-.5*n;if(\"top\"===S)return-n}else{if((r*=\"left\"===S?1:-1)<-30)return-n;if(r<30)return-.5*n}return 0}(er.lineCount(a),fi*t.fontSize,r(n)?+n:0);if(h&&(s+=\" translate(0, \"+h+\")\"),o.empty())a.select(\"text\").attr({transform:s,\"text-anchor\":i});else{var f=Sr.bBox(o.node()).width*{end:-.5,start:.5}[i];o.attr(\"transform\",s+(f?\"translate(\"+f+\",0)\":\"\"))}})}function C(){if(a.showticklabels){var e=t.getBoundingClientRect(),r=i.node().getBoundingClientRect();a._boundingBox={width:r.width,height:r.height,left:r.left-e.left,right:r.right-e.left,top:r.top-e.top,bottom:r.bottom-e.top}}else{var n,s=o._size;\"x\"===p?(n=\"free\"===a.anchor?s.t+s.h*(1-a.position):s.t+s.h*(1-a._anchorAxis.domain[{bottom:0,top:1}[a.side]]),a._boundingBox={top:n,bottom:n,left:a._offset,right:a._offset+a._length,width:a._length,height:0}):(n=\"free\"===a.anchor?s.l+s.w*a.position:s.l+s.w*a._anchorAxis.domain[{left:0,right:1}[a.side]],a._boundingBox={left:n,right:n,bottom:a._offset+a._length,top:a._offset,height:a._length,width:0})}if(h){var l=a._counterSpan=[1/0,-1/0];for(f=0;f<h.length;f++){var u=o._plots[h[f]][\"x\"===p?\"yaxis\":\"xaxis\"];c(l,[u._offset,u._offset+u._length])}\"free\"===a.anchor&&c(l,\"x\"===p?[a._boundingBox.bottom,a._boundingBox.top]:[a._boundingBox.right,a._boundingBox.left])}function c(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.max(t[1],e[1])}}M.enter().append(\"g\").classed(m,1).append(\"text\").attr(\"text-anchor\",\"middle\").each(function(r){var n=e.select(this),i=t._promises.length;n.call(er.positionText,l(r),c(r)).call(Sr.font,r.font,r.fontSize,r.fontColor).text(r.text).call(er.convertToTspans,t),(i=t._promises[i])?T.push(t._promises.pop().then(function(){E(n,a.tickangle)})):E(n,a.tickangle)}),M.exit().remove(),M.each(function(t){A=Math.max(A,t.fontSize)}),\"angular\"===n&&M.each(function(t){e.select(this).select(\"text\").call(er.positionText,l(t),c(t))}),E(M,a._lastangle||a.tickangle);var L=ne.syncOrAsync([function(){return T.length&&Promise.all(T)},function(){if(E(M,a.tickangle),\"x\"===p&&!r(a.tickangle)&&(\"log\"!==a.type||\"D\"!==String(a.dtick).charAt(0))){var t=[];for(M.each(function(r){var n=e.select(this),i=n.select(\".text-math-group\"),o=a.l2p(r.x);i.empty()&&(i=n.select(\"text\"));var s=Sr.bBox(i.node());t.push({top:0,bottom:10,height:10,left:o-s.width/2,right:o+s.width/2+2,width:s.width+2})}),f=0;f<t.length-1;f++)if(ne.bBoxIntersect(t[f],t[f+1])){k=30;break}k&&(Math.abs((g[g.length-1].x-g[0].x)*a._m)/(g.length-1)<2.5*A&&(k=90),E(M,k)),a._lastangle=k}return j(),n+\" done\"},C,function(){if(a.automargin&&(\"x\"===p||\"y\"===p)){var e=a.side[0],r={x:0,y:0,r:0,l:0,t:0,b:0};\"x\"===p?(r.y=\"free\"===a.anchor?a.position:a._anchorAxis.domain[\"t\"===e?1:0],r[e]+=a._boundingBox.height):(r.x=\"free\"===a.anchor?a.position:a._anchorAxis.domain[\"r\"===e?1:0],r[e]+=a._boundingBox.width),a.title!==o._dfltTitle[p]&&(r[e]+=a.titlefont.size);var n=a._name+\".automargin\",i=o._pushmargin[n];(!i||i[e].size<r[e])&&_n.autoMargin(t,n,r)}}]);return L&&L.then&&t._promises.push(L),L}function j(){if(!i){var r=gn.getFromId(t,n);if(!(r.rangeslider&&r.rangeslider.visible&&r._boundingBox&&\"bottom\"===r.side)){var a,s,l,u,c=e.select(t).selectAll(\"g.\"+n+\"tick\"),h={selection:c,side:r.side},f=n.charAt(0),p=t._fullLayout._size,d=r.titlefont.size;if(c.size()){var g=Sr.getTranslate(c.node().parentNode);h.offsetLeft=g.x,h.offsetTop=g.y}var v=10+1.5*d+(r.linewidth?r.linewidth-1:0);\"x\"===f?(s=\"free\"===r.anchor?{_offset:p.t+(1-(r.position||0))*p.h,_length:0}:gn.getFromId(t,r.anchor),l=r._offset+r._length/2,u=\"top\"===r.side?-v-d*(r.showticklabels?1:0):s._length+v+d*(r.showticklabels?1.5:.5),u+=s._offset,h.side||(h.side=\"bottom\")):(s=\"free\"===r.anchor?{_offset:p.l+(r.position||0)*p.w,_length:0}:gn.getFromId(t,r.anchor),u=r._offset+r._length/2,l=\"right\"===r.side?s._length+v+d*(r.showticklabels?1:.5):-v-d*(r.showticklabels?.5:0),l+=s._offset,a={rotate:\"-90\",offset:0},h.side||(h.side=\"left\")),Dn.draw(t,n+\"title\",{propContainer:r,propName:r._name+\".title\",placeholder:o._dfltTitle[f],avoid:h,transform:a,attributes:{x:l,y:u,\"text-anchor\":\"middle\"}})}}}function V(t,e){return!0===t.visible&&t.xaxis+t.yaxis===e&&(!(!P.traceIs(t,\"bar\")||t.orientation!=={x:\"h\",y:\"v\"}[p])||t.fill&&t.fill.charAt(t.fill.length-1)===p)}function U(r,i,o){var s=r.gridlayer.selectAll(\".\"+n),l=r.zerolinelayer,c=r[\"hidegrid\"+p]?[]:C,h=a._gridpath||(\"x\"===p?\"M0,\"+i._offset+\"v\":\"M\"+i._offset+\",0h\")+i._length,f=s.selectAll(\"path.\"+y).data(!1===a.showgrid?[]:c,v);if(f.enter().append(\"path\").classed(y,1).classed(\"crisp\",1).attr(\"d\",h).each(function(t){a.zeroline&&(\"linear\"===a.type||\"-\"===a.type)&&Math.abs(t.x)<a.dtick/100&&e.select(this).remove()}),f.attr(\"transform\",u).call(Oe.stroke,a.gridcolor||\"#ddd\").style(\"stroke-width\",M+\"px\"),\"function\"==typeof h&&f.attr(\"d\",h),f.exit().remove(),l){for(var d=!1,g=0;g<t._fullData.length;g++)if(V(t._fullData[g],o)){d=!0;break}var m=ne.simpleMap(a.range,a.r2l),b=m[0]*m[1]<=0&&a.zeroline&&(\"linear\"===a.type||\"-\"===a.type)&&c.length&&(d||F({x:0})||!a.showline),_=l.selectAll(\"path.\"+x).data(b?[{x:0,id:n}]:[]);_.enter().append(\"path\").classed(x,1).classed(\"zl\",1).classed(\"crisp\",1).attr(\"d\",h).each(function(){l.selectAll(\"path\").sort(function(t,e){return gn.idSort(t.id,e.id)})}),_.attr(\"transform\",u).call(Oe.stroke,a.zerolinecolor||Oe.defaultLine).style(\"stroke-width\",A+\"px\"),_.exit().remove()}}},pi.swap=function(t,e){for(var r=function(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++)-1===i[n].x.indexOf(o)&&-1===i[n].y.indexOf(s)||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]],zi(u.x,l.x),zi(u.y,l.y);zi(u.x,[o]),zi(u.y,[s])}else i.push({x:[o],y:[s]})}}return i}(t,e),n=0;n<r.length;n++)Pi(t,r[n].x,r[n].y)};var Di={pointsAccessorFunction:function(t,e){for(var r,n,i=0;i<t.length&&(r=t[i])!==e;i++)r._indexToPoints&&!1!==r.enabled&&(n=r._indexToPoints);return n?function(t){return n[t]}:function(t){return[t]}}},Oi={},Ri=Di.pointsAccessorFunction,Fi=t.BADNUM;Oi.moduleType=\"transform\",Oi.name=\"aggregate\";var Bi=Oi.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},groups:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},aggregations:{_isLinkedToArray:\"aggregation\",target:{valType:\"string\",editType:\"calc\"},func:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"median\",\"mode\",\"rms\",\"stddev\",\"min\",\"max\",\"first\",\"last\"],dflt:\"first\",editType:\"calc\"},funcmode:{valType:\"enumerated\",values:[\"sample\",\"population\"],dflt:\"sample\",editType:\"calc\"},enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},Ni=Bi.aggregations;function ji(t,e,r,n){if(n.enabled){for(var i=n.target,a=ne.nestedProperty(e,i),o=a.get(),s=function(t,e){var r=t.func,n=e.d2c,i=e.c2d;switch(r){case\"count\":return Vi;case\"first\":return Ui;case\"last\":return qi;case\"sum\":return function(t,e){for(var r=0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==Fi&&(r+=o)}return i(r)};case\"avg\":return function(t,e){for(var r=0,a=0,o=0;o<e.length;o++){var s=n(t[e[o]]);s!==Fi&&(r+=s,a++)}return a?i(r/a):Fi};case\"min\":return function(t,e){for(var r=1/0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==Fi&&(r=Math.min(r,o))}return r===1/0?Fi:i(r)};case\"max\":return function(t,e){for(var r=-1/0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==Fi&&(r=Math.max(r,o))}return r===-1/0?Fi:i(r)};case\"median\":return function(t,e){for(var r=[],a=0;a<e.length;a++){var o=n(t[e[a]]);o!==Fi&&r.push(o)}if(!r.length)return Fi;r.sort();var s=(r.length-1)/2;return i((r[Math.floor(s)]+r[Math.ceil(s)])/2)};case\"mode\":return function(t,e){for(var r={},a=0,o=Fi,s=0;s<e.length;s++){var l=n(t[e[s]]);if(l!==Fi){var u=r[l]=(r[l]||0)+1;u>a&&(a=u,o=l)}}return a?i(o):Fi};case\"rms\":return function(t,e){for(var r=0,a=0,o=0;o<e.length;o++){var s=n(t[e[o]]);s!==Fi&&(r+=s*s,a++)}return a?i(Math.sqrt(r/a)):Fi};case\"stddev\":return function(e,r){var i,a=0,o=0,s=1,l=Fi;for(i=0;i<r.length&&l===Fi;i++)l=n(e[r[i]]);if(l===Fi)return Fi;for(;i<r.length;i++){var u=n(e[r[i]]);if(u!==Fi){var c=u-l;a+=c,o+=c*c,s++}}var h=\"sample\"===t.funcmode?s-1:s;return h?Math.sqrt((o-a*a/s)/h):0}}}(n,ri.getDataConversions(t,e,i,o)),l=new Array(r.length),u=0;u<r.length;u++)l[u]=s(o,r[u]);a.set(l)}}function Vi(t,e){return e.length}function Ui(t,e){return t[e[0]]}function qi(t,e){return t[e[e.length-1]]}Oi.supplyDefaults=function(t,e){var r,n={};function i(e,r){return ne.coerce(t,n,Bi,e,r)}if(!i(\"enabled\"))return n;var a=nn.findArrayAttributes(e),o={};for(r=0;r<a.length;r++)o[a[r]]=1;var s=i(\"groups\");if(!Array.isArray(s)){if(!o[s])return void(n.enabled=!1);o[s]=0}var l,u=t.aggregations||[],c=n.aggregations=new Array(u.length);function h(t,e){return ne.coerce(u[r],l,Ni,t,e)}for(r=0;r<u.length;r++){l={_index:r};var f=h(\"target\"),p=h(\"func\");h(\"enabled\")&&f&&(o[f]||\"count\"===p&&void 0===o[f])?(\"stddev\"===p&&h(\"funcmode\"),o[f]=0,c[r]=l):c[r]={enabled:!1,_index:r}}for(r=0;r<a.length;r++)o[a[r]]&&c.push({target:a[r],func:Ni.func.dflt,enabled:!0,_index:-1});return n},Oi.calcTransform=function(t,e,r){if(r.enabled){var n=r.groups,i=ne.getTargetArray(e,{target:n});if(i){var a,o,s,l,u={},c={},h=[],f=Ri(e.transforms,r);for(a=0;a<i.length;a++)void 0===(s=u[o=i[a]])?(u[o]=h.length,l=[a],h.push(l),c[u[o]]=f(a)):(h[s].push(a),c[u[o]]=(c[u[o]]||[]).concat(f(a)));r._indexToPoints=c;var p=r.aggregations;for(a=0;a<p.length;a++)ji(t,e,h,p[a]);\"string\"==typeof n&&ji(t,e,h,{target:n,func:\"first\",enabled:!0})}}};var Hi=Oi,Gi={xaxis:{valType:\"subplotid\",dflt:\"x\",editType:\"calc+clearAxisTypes\"},yaxis:{valType:\"subplotid\",dflt:\"y\",editType:\"calc+clearAxisTypes\"}},Wi=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\")}},Yi=s.mix,Xi=C.lightFraction,Zi=function(t,e,r,n){var i=(n=n||{}).dfltColor;function a(r,i){return ne.coerce2(t,e,n.attributes,r,i)}var o=a(\"linecolor\",i),s=a(\"linewidth\");r(\"showline\",n.showLine||!!o||!!s)||(delete e.linecolor,delete e.linewidth);var l=a(\"gridcolor\",Yi(i,n.bgColor,n.blend||Xi).toRgbString()),u=a(\"gridwidth\");if(r(\"showgrid\",n.showGrid||!!l||!!u)||(delete e.gridcolor,delete e.gridwidth),!n.noZeroLine){var c=a(\"zerolinecolor\",i),h=a(\"zerolinewidth\");r(\"zeroline\",n.showGrid||!!c||!!h)||(delete e.zerolinecolor,delete e.zerolinewidth)}};function Ji(t,r,n){var i,a,o,s,l,u=[],c=n.map(function(e){return e[t]}),h=e.bisector(r).left;for(i=0;i<c.length;i++)for(o=c[i],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 Ki=function(t,r,n,i){switch(r){case\"array\":return Array.isArray(n)?n.slice():[];case\"category ascending\":return Ji(t,e.ascending,i);case\"category descending\":return Ji(t,e.descending,i);case\"trace\":default:return[]}},Qi=function(t,e,r,n,i){var a=n.letter,o=n.font||{},s=r(\"visible\",!n.cheateronly),l=e.type;\"date\"===l&&P.getComponentMethod(\"calendars\",\"handleDefaults\")(t,e,\"calendar\",n.calendar);ei(e,i);var u=r(\"autorange\",!e.isValidRange(t.range));if(e._rangesliderAutorange=!1,u&&r(\"rangemode\"),r(\"range\"),e.cleanRange(),Wi(t,e,r),e._initialCategories=\"category\"===l?Ki(a,e.categoryorder,e.categoryarray,n.data):[],\"category\"===l||n.noHover||r(\"hoverformat\"),!s)return e;var c=r(\"color\"),h=c===t.color?c:o.color;return r(\"title\",i._dfltTitle[a]),ne.coerceFont(r,\"titlefont\",{family:o.family,size:Math.round(1.2*o.size),color:h}),Ge(t,e,r,l),Ue(t,e,r,l,n),qe(t,e,r,n),Zi(t,e,r,{dfltColor:c,bgColor:n.bgColor,showGrid:n.showGrid,attributes:Ce}),(e.showline||e.ticks)&&r(\"mirror\"),n.automargin&&r(\"automargin\"),e},$i=gn.id2name,ta=function(t,e,r,n,i){var a=i._axisConstraintGroups,o=e._id,s=o.charAt(0);if(!e.fixedrange&&(r(\"constrain\"),ne.coerce(t,e,{constraintoward:{valType:\"enumerated\",values:\"x\"===s?[\"left\",\"center\",\"right\"]:[\"bottom\",\"middle\",\"top\"],dflt:\"x\"===s?\"center\":\"middle\"}},\"constraintoward\"),t.scaleanchor)){var l=function(t,e,r,n){var i,a,o,s,l=n[$i(e)].type,u=[];for(a=0;a<r.length;a++)(o=r[a])!==e&&((s=n[$i(o)]).type!==l||s.fixedrange||u.push(o));for(i=0;i<t.length;i++)if(t[i][e]){var c=t[i],h=[];for(a=0;a<u.length;a++)o=u[a],c[o]||h.push(o);return{linkableAxes:h,thisGroup:c}}return{linkableAxes:u,thisGroup:null}}(a,o,n,i),u=ne.coerce(t,e,{scaleanchor:{valType:\"enumerated\",values:l.linkableAxes}},\"scaleanchor\");if(u){var c=r(\"scaleratio\");c||(c=e.scaleratio=1),function(t,e,r,n,i){var a,o,s,l,u;null===e?((e={})[r]=1,u=t.length,t.push(e)):u=t.indexOf(e);var c=Object.keys(e);for(a=0;a<t.length;a++)if(s=t[a],a!==u&&s[n]){var h=s[n];for(o=0;o<c.length;o++)l=c[o],s[l]=h*i*e[l];return void t.splice(u,1)}if(1!==i)for(o=0;o<c.length;o++)e[c[o]]*=i;e[n]=1}(a,l.thisGroup,o,u,c)}else-1!==n.indexOf(t.scaleanchor)&&ne.warn(\"ignored \"+e._name+'.scaleanchor: \"'+t.scaleanchor+'\" to avoid either an infinite loop and possibly inconsistent scaleratios, or because the targetaxis has fixed range.')}};var ea=function(t,e,n,i){var a,o,s,l,u=i.counterAxes||[],c=i.overlayableAxes||[],h=i.letter,f=i.grid;f&&(o=f._domains[h][f._axisMap[e._id]],a=f._anchors[e._id],o&&(s=f[h+\"side\"].split(\" \")[0],l=f.domain[h][\"right\"===s||\"top\"===s?1:0])),o=o||[0,1],a=a||(r(t.position)?\"free\":u[0]||\"free\"),s=s||(\"x\"===h?\"bottom\":\"left\"),l=l||0,\"free\"===ne.coerce(t,e,{anchor:{valType:\"enumerated\",values:[\"free\"].concat(u),dflt:a}},\"anchor\")&&n(\"position\",l),ne.coerce(t,e,{side:{valType:\"enumerated\",values:\"x\"===h?[\"bottom\",\"top\"]:[\"left\",\"right\"],dflt:s}},\"side\");var p=!1;if(c.length&&(p=ne.coerce(t,e,{overlaying:{valType:\"enumerated\",values:[!1].concat(c),dflt:!1}},\"overlaying\")),!p){var d=n(\"domain\",o);d[0]>d[1]-.01&&(e.domain=o),ne.noneOrAll(t.domain,e.domain,o)}return n(\"layer\"),e},ra=gn.name2id,na=function(t,e,r,n,i){i&&(e._name=i,e._id=ra(i)),\"-\"===r(\"type\")&&(!function(t,e){if(\"-\"!==t.type)return;var r=t._id,n=r.charAt(0);-1!==r.indexOf(\"scene\")&&(r=n);var i=function(t,e,r){for(var n=0;n<t.length;n++){var i=t[n];if((i[r+\"axis\"]||r)===e){if(aa(i,r))return i;if((i[r]||[]).length||i[r+\"0\"])return i}}}(e,r,n);if(!i)return;if(\"histogram\"===i.type&&n==={v:\"y\",h:\"x\"}[i.orientation||\"v\"])return void(t.type=\"linear\");var a=n+\"calendar\",o=i[a];if(aa(i,n)){for(var s,l=ia(i),u=[],c=0;c<e.length;c++)s=e[c],P.traceIs(s,\"box-violin\")&&(s[n+\"axis\"]||n)===r&&(void 0!==s[l]?u.push(s[l][0]):void 0!==s.name?u.push(s.name):u.push(\"text\"),s[a]!==o&&(o=void 0));t.type=Yn(u,o)}else t.type=Yn(i[n]||[i[n+\"0\"]],o)}(e,n),\"-\"===e.type?e.type=\"linear\":t.type=e.type)};function ia(t){return{v:\"x\",h:\"y\"}[t.orientation||\"v\"]}function aa(t,e){var r=ia(t),n=P.traceIs(t,\"box-violin\"),i=P.traceIs(t._fullInput||{},\"candlestick\");return n&&!i&&e===r&&void 0===t[r]&&void 0===t[r+\"0\"]}var oa=Te.attrRegex,sa={},la=Te.SUBPLOT_PATTERN;sa.getSubplotCalcData=function(t,e,r){var n=P.subplotsRegistry[e];if(!n)return[];for(var i=n.attr,a=[],o=0;o<t.length;o++){var s=t[o];s[0].trace[i]===r&&a.push(s)}return a},sa.getModuleCalcData=function(t,e){var r=[],n=\"string\"==typeof e?P.getModule(e):e;if(!n)return r;for(var i=0;i<t.length;i++){var a=t[i],o=a[0].trace;o._module===n&&!0===o.visible&&r.push(a)}return r},sa.getSubplotData=function(t,e,r){if(!P.subplotsRegistry[e])return[];var n,i,a,o=P.subplotsRegistry[e].attr,s=[];if(\"gl2d\"===e){var l=r.match(la);i=\"x\"+l[1],a=\"y\"+l[2]}for(var u=0;u<t.length;u++)n=t[u],\"gl2d\"===e&&P.traceIs(n,\"gl2d\")?n[o[0]]===i&&n[o[1]]===a&&s.push(n):n[o]===r&&s.push(n);return s};var ua={},ca=sa.getModuleCalcData;function ha(t,e,r,n,i){var a=t._fullLayout._modules;e.plot&&e.plot.selectAll(\"g:not(.scatterlayer)\").selectAll(\"g.trace\").remove();for(var o=0;o<a.length;o++){var s=a[o];if(\"cartesian\"===s.basePlotModule.name){var l=ca(r,s);s.plot&&s.plot(t,e,l,n,i)}}}function fa(t){var e=t.plotgroup,r=t.id,n=Te.layerValue2layerClass[t.xaxis.layer],i=Te.layerValue2layerClass[t.yaxis.layer];if(t.mainplot){var a=t.mainplotinfo,o=a.plotgroup,s=r+\"-x\",l=r+\"-y\";t.gridlayer=a.gridlayer,t.zerolinelayer=a.zerolinelayer,ga(a.overlinesBelow,\"path\",s),ga(a.overlinesBelow,\"path\",l),ga(a.overaxesBelow,\"g\",s),ga(a.overaxesBelow,\"g\",l),t.plot=ga(a.overplot,\"g\",r),ga(a.overlinesAbove,\"path\",s),ga(a.overlinesAbove,\"path\",l),ga(a.overaxesAbove,\"g\",s),ga(a.overaxesAbove,\"g\",l),t.xlines=o.select(\".overlines-\"+n).select(\".\"+s),t.ylines=o.select(\".overlines-\"+i).select(\".\"+l),t.xaxislayer=o.select(\".overaxes-\"+n).select(\".\"+s),t.yaxislayer=o.select(\".overaxes-\"+i).select(\".\"+l)}else{var u=ga(e,\"g\",\"layer-subplot\");t.shapelayer=ga(u,\"g\",\"shapelayer\"),t.imagelayer=ga(u,\"g\",\"imagelayer\"),t.gridlayer=ga(e,\"g\",\"gridlayer\"),t.zerolinelayer=ga(e,\"g\",\"zerolinelayer\"),ga(e,\"path\",\"xlines-below\"),ga(e,\"path\",\"ylines-below\"),t.overlinesBelow=ga(e,\"g\",\"overlines-below\"),ga(e,\"g\",\"xaxislayer-below\"),ga(e,\"g\",\"yaxislayer-below\"),t.overaxesBelow=ga(e,\"g\",\"overaxes-below\"),t.plot=ga(e,\"g\",\"plot\"),t.overplot=ga(e,\"g\",\"overplot\"),ga(e,\"path\",\"xlines-above\"),ga(e,\"path\",\"ylines-above\"),t.overlinesAbove=ga(e,\"g\",\"overlines-above\"),ga(e,\"g\",\"xaxislayer-above\"),ga(e,\"g\",\"yaxislayer-above\"),t.overaxesAbove=ga(e,\"g\",\"overaxes-above\"),t.xlines=e.select(\".xlines-\"+n),t.ylines=e.select(\".ylines-\"+i),t.xaxislayer=e.select(\".xaxislayer-\"+n),t.yaxislayer=e.select(\".yaxislayer-\"+i)}ga(t.gridlayer,\"g\",t.xaxis._id,t.xaxis._id),ga(t.gridlayer,\"g\",t.yaxis._id,t.yaxis._id),t.gridlayer.selectAll(\"g\").sort(gn.idSort);for(var c=0;c<Te.traceLayerClasses.length;c++)ga(t.plot,\"g\",Te.traceLayerClasses[c]);t.xlines.style(\"fill\",\"none\").classed(\"crisp\",!0),t.ylines.style(\"fill\",\"none\").classed(\"crisp\",!0)}function pa(t,r){if(t){var n={};t.each(function(t){e.select(this).remove(),da(t,r),n[t]=!0});for(var i=r._plots,a=Object.keys(i),o=0;o<a.length;o++)for(var s=i[a[o]].overlays||[],l=0;l<s.length;l++){var u=s[l];n[u.id]&&u.plot.selectAll(\".trace\").remove()}}}function da(t,e){e._draggers.selectAll(\"g.\"+t).remove(),e._defs.select(\"#clip\"+e._uid+t+\"plot\").remove()}function ga(t,e,r,n){var i=t.selectAll(\".\"+r).data([n||0]);return i.enter().append(e).classed(r,!0),i}ua.name=\"cartesian\",ua.attr=[\"xaxis\",\"yaxis\"],ua.idRoot=[\"x\",\"y\"],ua.idRegex=Te.idRegex,ua.attrRegex=Te.attrRegex,ua.attributes=Gi,ua.layoutAttributes=Ce,ua.supplyLayoutDefaults=function(t,e,r){var n,i={},a={},o={},s={};for(n=0;n<r.length;n++){var l=r[n];if(P.traceIs(l,\"cartesian\")||P.traceIs(l,\"gl2d\")){var u=gn.id2name(l.xaxis),c=gn.id2name(l.yaxis);P.traceIs(l,\"carpet\")&&(\"carpet\"!==l.type||l._cheater)||u&&(a[u]=1),\"carpet\"===l.type&&l._cheater&&u&&(i[u]=1),P.traceIs(l,\"2dMap\")&&(o[u]=!0,o[c]=!0),P.traceIs(l,\"oriented\")&&(s[\"h\"===l.orientation?c:u]=!0)}}var h=e._subplots,f=h.xaxis,p=h.yaxis,d=ne.simpleMap(f,gn.id2name),g=ne.simpleMap(p,gn.id2name),v=d.concat(g),m=Oe.background;f.length&&p.length&&(m=ne.coerce(t,e,z,\"plot_bgcolor\"));var y,x,b,_,w=Oe.combine(m,e.paper_bgcolor);function M(t,e){return ne.coerce(b,_,Ce,t,e)}function A(t,e){return ne.coerce2(b,_,Ce,t,e)}function k(t){return\"x\"===t?p:f}var T={x:k(\"x\"),y:k(\"y\")};function S(e,r){for(var n=\"x\"===e?d:g,i=[],a=0;a<n.length;a++){var o=n[a];o===r||(t[o]||{}).overlaying||i.push(gn.name2id(o))}return i}for(n=0;n<v.length;n++){y=v[n],ne.isPlainObject(t[y])||(t[y]={}),b=t[y],_=e[y]={},na(b,_,M,r,y);var E=S(x=y.charAt(0),y),C={letter:x,font:e.font,outerTicks:o[y],showGrid:!s[y],data:r,bgColor:w,calendar:e.calendar,automargin:!0,cheateronly:\"x\"===x&&i[y]&&!a[y]};Qi(b,_,M,C,e);var L=A(\"spikecolor\"),I=A(\"spikethickness\"),D=A(\"spikedash\"),O=A(\"spikemode\"),R=A(\"spikesnap\");M(\"showspikes\",!!(L||I||D||O||R))||(delete _.spikecolor,delete _.spikethickness,delete _.spikedash,delete _.spikemode,delete _.spikesnap);var F={letter:x,counterAxes:T[x],overlayableAxes:E,grid:e.grid};ea(b,_,M,F),_._input=b}var B=P.getComponentMethod(\"rangeslider\",\"handleDefaults\"),N=P.getComponentMethod(\"rangeselector\",\"handleDefaults\");for(n=0;n<d.length;n++)y=d[n],b=t[y],_=e[y],B(t,e,y),\"date\"===_.type&&N(b,_,e,g,_.calendar),M(\"fixedrange\");for(n=0;n<g.length;n++){y=g[n],b=t[y],_=e[y];var j=e[gn.id2name(_.anchor)];M(\"fixedrange\",j&&j.rangeslider&&j.rangeslider.visible)}e._axisConstraintGroups=[];var V=T.x.concat(T.y);for(n=0;n<v.length;n++)x=(y=v[n]).charAt(0),b=t[y],_=e[y],ta(b,_,M,V,e)},ua.transitionAxes=function(t,r,n,i){var a=t._fullLayout,o=[];var s,l,u,c,h=function(t){var e,r,n,i,s={};for(e in t)if((r=e.split(\".\"))[0].match(oa)){var l=e.charAt(0),u=r[0];if(n=a[u],i={},Array.isArray(t[e])?i.to=t[e].slice(0):Array.isArray(t[e].range)&&(i.to=t[e].range.slice(0)),!i.to)continue;i.axisName=u,i.length=n._length,o.push(l),s[l]=i}return s}(r),f=Object.keys(h),p=function(t,e,r){var n,i,a,o=t._plots,s=[];for(n in o){var l=o[n];if(-1===s.indexOf(l)){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]||-1===e.indexOf(u)&&-1===e.indexOf(c)||s.push(l)}}return s}(a,f,h);if(!p.length)return function(){function e(e,r,n){for(var i=0;i<e.length;i++)if(r(t,i),n)return}e(a.annotations||[],P.getComponentMethod(\"annotations\",\"drawOne\")),e(a.shapes||[],P.getComponentMethod(\"shapes\",\"drawOne\")),e(a.images||[],P.getComponentMethod(\"images\",\"draw\"),!0)}(),!1;function d(t){var e=t.xaxis,r=t.yaxis;a._defs.select(\"#\"+t.clipId+\"> rect\").call(Sr.setTranslate,0,0).call(Sr.setScale,1,1),t.plot.call(Sr.setTranslate,e._offset,r._offset).call(Sr.setScale,1,1);var n=t.plot.selectAll(\".scatterlayer .trace\");n.selectAll(\".point\").call(Sr.setPointGroupScale,1,1),n.selectAll(\".textpoint\").call(Sr.setTextPointsScale,1,1),n.call(Sr.hideOutsideRangePoints,t)}function g(e,r){var n,i,o,s=h[e.xaxis._id],l=h[e.yaxis._id],u=[];if(s){i=(n=t._fullLayout[s.axisName])._r,o=s.to,u[0]=(i[0]*(1-r)+r*o[0]-i[0])/(i[1]-i[0])*e.xaxis._length;var c=i[1]-i[0],f=o[1]-o[0];n.range[0]=i[0]*(1-r)+r*o[0],n.range[1]=i[1]*(1-r)+r*o[1],u[2]=e.xaxis._length*(1-r+r*f/c)}else u[0]=0,u[2]=e.xaxis._length;if(l){i=(n=t._fullLayout[l.axisName])._r,o=l.to,u[1]=(i[1]*(1-r)+r*o[1]-i[1])/(i[0]-i[1])*e.yaxis._length;var p=i[1]-i[0],d=o[1]-o[0];n.range[0]=i[0]*(1-r)+r*o[0],n.range[1]=i[1]*(1-r)+r*o[1],u[3]=e.yaxis._length*(1-r+r*d/p)}else u[1]=0,u[3]=e.yaxis._length;!function(e,r){var n,i=[];for(i=[e._id,r._id],n=0;n<i.length;n++)ri.doTicks(t,i[n],!0);function o(e,r,a){for(n=0;n<e.length;n++){var o=e[n];if(-1===i.indexOf(o.xref)&&-1===i.indexOf(o.yref)||r(t,n),a)return}}o(a.annotations||[],P.getComponentMethod(\"annotations\",\"drawOne\")),o(a.shapes||[],P.getComponentMethod(\"shapes\",\"drawOne\")),o(a.images||[],P.getComponentMethod(\"images\",\"draw\"),!0)}(e.xaxis,e.yaxis);var g=e.xaxis,v=e.yaxis,m=!!s,y=!!l,x=m?g._length/u[2]:1,b=y?v._length/u[3]:1,_=m?u[0]:0,w=y?u[1]:0,M=m?u[0]/u[2]*g._length:0,A=y?u[1]/u[3]*v._length:0,k=g._offset-M,T=v._offset-A;a._defs.select(\"#\"+e.clipId+\"> rect\").call(Sr.setTranslate,_,w).call(Sr.setScale,1/x,1/b),e.plot.call(Sr.setTranslate,k,T).call(Sr.setScale,x,b).selectAll(\".points\").selectAll(\".point\").call(Sr.setPointGroupScale,1/x,1/b),e.plot.selectAll(\".points\").selectAll(\".textpoint\").call(Sr.setTextPointsScale,1/x,1/b)}i&&(s=i());var v=e.ease(n.easing);return t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(c),c=null,function(){for(var e={},r=0;r<f.length;r++){var n=t._fullLayout[f[r]+\"axis\"];e[n._name+\".range[0]\"]=n.range[0],e[n._name+\".range[1]\"]=n.range[1],n.range=n._r.slice()}return P.call(\"relayout\",t,e).then(function(){for(var t=0;t<p.length;t++)d(p[t])})}()}),l=Date.now(),c=window.requestAnimationFrame(function e(){u=Date.now();for(var r=Math.min(1,(u-l)/n.duration),i=v(r),a=0;a<p.length;a++)g(p[a],i);u-l>n.duration?(function(){for(var e={},r=0;r<f.length;r++){var n=t._fullLayout[h[f[r]].axisName],i=h[f[r]].to;e[n._name+\".range[0]\"]=i[0],e[n._name+\".range[1]\"]=i[1],n.range=i.slice()}s&&s(),P.call(\"relayout\",t,e).then(function(){for(var t=0;t<p.length;t++)d(p[t])})}(),c=window.cancelAnimationFrame(e)):c=window.requestAnimationFrame(e)}),Promise.resolve()},ua.finalizeSubplots=function(t,e){var r,n,i,a=e._subplots,o=a.xaxis,s=a.yaxis,l=a.cartesian,u=l.concat(a.gl2d||[]),c={},h={};for(r=0;r<u.length;r++){var f=u[r].split(\"y\");c[f[0]]=1,h[\"y\"+f[1]]=1}for(r=0;r<o.length;r++)c[n=o[r]]||(i=(t[gn.id2name(n)]||{}).anchor,Te.idRegex.y.test(i)||(i=\"y\"),l.push(n+i),u.push(n+i),h[i]||(h[i]=1,ne.pushUnique(s,i)));for(r=0;r<s.length;r++)h[i=s[r]]||(n=(t[gn.id2name(i)]||{}).anchor,Te.idRegex.x.test(n)||(n=\"x\"),l.push(n+i),u.push(n+i),c[n]||(c[n]=1,ne.pushUnique(o,n)));if(!u.length){for(var p in n=\"\",i=\"\",t){if(Te.attrRegex.test(p))\"x\"===p.charAt(0)?(!n||+p.substr(5)<+n.substr(5))&&(n=p):(!i||+p.substr(5)<+i.substr(5))&&(i=p)}n=n?gn.name2id(n):\"x\",i=i?gn.name2id(i):\"y\",o.push(n),s.push(i),l.push(n+i)}},ua.plot=function(t,e,r,n){var i,a=t._fullLayout,o=a._subplots.cartesian,s=t.calcdata;if(!Array.isArray(e))for(e=[],i=0;i<s.length;i++)e.push(i);for(a._glcanvas&&a._glcanvas.size()&&a._glcanvas.each(function(t){t.regl&&t.regl.clear({color:!0})}),i=0;i<o.length;i++){for(var l,u=o[i],c=a._plots[u],h=[],f=0;f<s.length;f++){var p=s[f],d=p[0].trace;d.xaxis+d.yaxis===u&&((-1!==e.indexOf(d.index)||d.carpet)&&(l&&l[0].trace.xaxis+l[0].trace.yaxis===u&&-1!==[\"tonextx\",\"tonexty\",\"tonext\"].indexOf(d.fill)&&-1===h.indexOf(l)&&h.push(l),h.push(p)),l=p)}ha(t,c,h,r,n)}},ua.clean=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p=n._modules||[],d=e._modules||[];for(l=0;l<p.length;l++)\"scatter\"===(f=p[l].name)?i=!0:\"scattergl\"===f&&(o=!0);for(l=0;l<d.length;l++)\"scatter\"===(f=d[l].name)?a=!0:\"scattergl\"===f&&(s=!0);if(i&&!a){for(u=n._plots,c=Object.keys(u||{}),l=0;l<c.length;l++)(h=u[c[l]]).plot&&h.plot.select(\"g.scatterlayer\").selectAll(\"g.trace\").remove();n._infolayer.selectAll(\"g.rangeslider-container\").select(\"g.scatterlayer\").selectAll(\"g.trace\").remove()}if(o&&!s)for(u=n._plots,c=Object.keys(u||{}),l=0;l<c.length;l++)(h=u[c[l]])._scene&&h._scene.destroy();var g=n._subplots||{},v=e._subplots||{xaxis:[],yaxis:[]};if(g.xaxis&&g.yaxis){var m=g.xaxis.concat(g.yaxis),y=v.xaxis.concat(v.yaxis);for(l=0;l<m.length;l++)-1===y.indexOf(m[l])&&n._infolayer.selectAll(\".g-\"+m[l]+\"title\").remove()}var x=n._has&&n._has(\"cartesian\"),b=e._has&&e._has(\"cartesian\");if(x&&!b)pa(n._cartesianlayer.selectAll(\".subplot\"),n),n._defs.selectAll(\".axesclip\").remove(),delete n._axisConstraintGroups;else if(g.cartesian)for(l=0;l<g.cartesian.length;l++){var _=g.cartesian[l];if(-1===v.cartesian.indexOf(_)){var w=\".\"+_+\",.\"+_+\"-x,.\"+_+\"-y\";n._cartesianlayer.selectAll(w).remove(),da(_,n)}}},ua.drawFramework=function(t){var r=t._fullLayout,n=function(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=l._mainAxis,h=u._mainAxis,f=c._id+h._id;f!==o&&-1!==r.indexOf(f)?(s.mainplot=f,s.mainplotinfo=e._plots[f],i.push(o)):n.push(o)}return n=n.concat(i)}(t),i=r._cartesianlayer.selectAll(\".subplot\").data(n,ne.identity);i.enter().append(\"g\").attr(\"class\",function(t){return\"subplot \"+t}),i.order(),i.exit().call(pa,r),i.each(function(t){var n=r._plots[t];(n.plotgroup=e.select(this),n.overlays=[],fa(n),n.mainplot)&&r._plots[n.mainplot].overlays.push(n);n.draglayer=ga(r._draggers,\"g\",t)})},ua.rangePlot=function(t,e,r){fa(e),ha(t,e,r),_n.style(t)},ua.toSVG=function(t){var r=t._fullLayout._glimages,n=e.select(t).selectAll(\".svg-container\");n.filter(function(t,e){return e===n.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\").each(function(){var t=this.toDataURL(\"image/png\");r.append(\"svg:image\").attr({xmlns:$e.svg,\"xlink:href\":t,preserveAspectRatio:\"none\",x:0,y:0,width:this.width,height:this.height})})};var va=ne.mergeArray,ma=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;va(e.text,t,\"tx\"),va(e.hovertext,t,\"htx\");var n=e.marker;if(n){va(n.opacity,t,\"mo\"),va(n.color,t,\"mc\");var i=n.line;i&&(va(i.color,t,\"mlc\"),va(i.width,t,\"mlw\"))}},ya=m.extendFlat,xa=T({editType:\"calc\",arrayOk:!0}),ba=Zr.marker,_a=ya({line:ya({width:ya({},ba.line.width,{dflt:0}),editType:\"calc\"},De()),editType:\"calc\"},De(),{showscale:ba.showscale,colorbar:ze,opacity:{valType:\"number\",arrayOk:!0,dflt:1,min:0,max:1,editType:\"style\"}}),wa={x:Zr.x,x0:Zr.x0,dx:Zr.dx,y:Zr.y,y0:Zr.y0,dy:Zr.dy,text:Zr.text,hovertext:Zr.hovertext,textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"none\",arrayOk:!0,editType:\"calc\"},textfont:ya({},xa,{}),insidetextfont:ya({},xa,{}),outsidetextfont:ya({},xa,{}),constraintext:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"both\",\"none\"],dflt:\"both\",editType:\"calc\"},cliponaxis:ya({},Zr.cliponaxis,{}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},base:{valType:\"any\",dflt:null,arrayOk:!0,editType:\"calc\"},offset:{valType:\"number\",dflt:null,arrayOk:!0,editType:\"calc\"},width:{valType:\"number\",dflt:null,min:0,arrayOk:!0,editType:\"calc\"},marker:_a,selected:{marker:{opacity:Zr.selected.marker.opacity,color:Zr.selected.marker.color,editType:\"style\"},textfont:Zr.selected.textfont,editType:\"style\"},unselected:{marker:{opacity:Zr.unselected.marker.opacity,color:Zr.unselected.marker.color,editType:\"style\"},textfont:Zr.unselected.textfont,editType:\"style\"},r:Zr.r,t:Zr.t,_deprecated:{bardir:{valType:\"enumerated\",editType:\"calc\",values:[\"v\",\"h\"]}}},Ma=function(t,e){ne.isArrayOrTypedArray(e.selectedpoints)&&ne.tagSelected(t,e)},Aa=ne.isArrayOrTypedArray,ka=function(t,e,r,n,i){r(\"marker.color\",n),Xe(t,\"marker\")&&Ye(t,e,i,r,{prefix:\"marker.\",cLetter:\"c\"}),r(\"marker.line.color\",Oe.defaultLine),Xe(t,\"marker.line\")&&Ye(t,e,i,r,{prefix:\"marker.line.\",cLetter:\"c\"}),r(\"marker.line.width\"),r(\"marker.opacity\"),r(\"selected.marker.color\"),r(\"unselected.marker.color\")},Ta=function(t,e,r,n){var i,a=n(\"x\"),o=n(\"y\");if(P.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],r),a)o?i=Math.min(a.length,o.length):(i=a.length,n(\"y0\"),n(\"dy\"));else{if(!o)return 0;i=e.y.length,n(\"x0\"),n(\"dx\")}return e._length=i,i},Sa={};(function(t){\"use strict\";var e;e=\"function\"!=typeof t.matchMedia||!t.matchMedia(\"(hover: none)\").matches,Sa=e}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{});var Ea=function(){var t=!1;try{var e=Object.defineProperty({},\"passive\",{get:function(){t=!0}});window.addEventListener(\"test\",null,e),window.removeEventListener(\"test\",null,e)}catch(e){t=!1}return t}(),Ca={left:0,top:0},La=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var n=t.clientX||0,i=t.clientY||0,a=(o=e,o===window||o===document||o===document.body?Ca:o.getBoundingClientRect());var o;return r[0]=n-a.left,r[1]=i-a.top,r};var za=[[\"sw-resize\",\"s-resize\",\"se-resize\"],[\"w-resize\",\"move\",\"e-resize\"],[\"nw-resize\",\"n-resize\",\"ne-resize\"]],Pa={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:\"Arial, sans-serif\",HOVERMINTIME:50,HOVERID:\"-hover\"};function Ia(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}var Da=Ia;function Oa(t){return\"function\"==typeof t}function Ra(t){return\"object\"==typeof t&&null!==t}function Fa(t){return void 0===t}Ia.EventEmitter=Ia,Ia.prototype._events=void 0,Ia.prototype._maxListeners=void 0,Ia.defaultMaxListeners=10,Ia.prototype.setMaxListeners=function(t){if(\"number\"!=typeof t||t<0||isNaN(t))throw TypeError(\"n must be a positive number\");return this._maxListeners=t,this},Ia.prototype.emit=function(t){var e,r,n,i,a,o;if(this._events||(this._events={}),\"error\"===t&&(!this._events.error||Ra(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var s=new Error('Uncaught, unspecified \"error\" event. ('+e+\")\");throw s.context=e,s}if(Fa(r=this._events[t]))return!1;if(Oa(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:i=Array.prototype.slice.call(arguments,1),r.apply(this,i)}else if(Ra(r))for(i=Array.prototype.slice.call(arguments,1),n=(o=r.slice()).length,a=0;a<n;a++)o[a].apply(this,i);return!0},Ia.prototype.addListener=function(t,e){var r;if(!Oa(e))throw TypeError(\"listener must be a function\");return this._events||(this._events={}),this._events.newListener&&this.emit(\"newListener\",t,Oa(e.listener)?e.listener:e),this._events[t]?Ra(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,Ra(this._events[t])&&!this._events[t].warned&&(r=Fa(this._maxListeners)?Ia.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},Ia.prototype.on=Ia.prototype.addListener,Ia.prototype.once=function(t,e){if(!Oa(e))throw TypeError(\"listener must be a function\");var r=!1;function n(){this.removeListener(t,n),r||(r=!0,e.apply(this,arguments))}return n.listener=e,this.on(t,n),this},Ia.prototype.removeListener=function(t,e){var r,n,i,a;if(!Oa(e))throw TypeError(\"listener must be a function\");if(!this._events||!this._events[t])return this;if(i=(r=this._events[t]).length,n=-1,r===e||Oa(r.listener)&&r.listener===e)delete this._events[t],this._events.removeListener&&this.emit(\"removeListener\",t,e);else if(Ra(r)){for(a=i;a-- >0;)if(r[a]===e||r[a].listener&&r[a].listener===e){n=a;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},Ia.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(Oa(r=this._events[t]))this.removeListener(t,r);else if(r)for(;r.length;)this.removeListener(t,r[r.length-1]);return delete this._events[t],this},Ia.prototype.listeners=function(t){return this._events&&this._events[t]?Oa(this._events[t])?[this._events[t]]:this._events[t].slice():[]},Ia.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(Oa(e))return 1;if(e)return e.length}return 0},Ia.listenerCount=function(t,e){return t.listenerCount(e)};var Ba,Na=Da.EventEmitter,ja={init:function(t){if(t._ev instanceof Na)return t;var e=new Na,r=new Na;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}},Va=Ba={};Va.wrapped=function(t,e,r){(t=Bt(t))._fullLayout&&$t.clear(t._fullLayout._uid+Pa.HOVERID),Va.raw(t,e,r)},Va.raw=function(t,e){var r=t._fullLayout,n=t._hoverdata;e||(e={}),e.target&&!1===ja.triggerHandler(t,\"plotly_beforehover\",e)||(r._hoverlayer.selectAll(\"g\").remove(),r._hoverlayer.selectAll(\"line\").remove(),r._hoverlayer.selectAll(\"circle\").remove(),t._hoverdata=void 0,e.target&&n&&t.emit(\"plotly_unhover\",{event:e,points:n}))};var Ua={},qa=Ua={};function Ha(){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 Ga(t){return La(t.changedTouches?t.changedTouches[0]:t,document.body)}qa.align=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},qa.getCursor=function(t,e,r,n){return t=\"left\"===r?0:\"center\"===r?1:\"right\"===r?2:ne.constrain(Math.floor(3*t),0,2),e=\"bottom\"===n?0:\"middle\"===n?1:\"top\"===n?2:ne.constrain(Math.floor(3*e),0,2),za[e][t]},qa.unhover=Ba.wrapped,qa.unhoverRaw=Ba.raw,qa.init=function(t){var e,r,n,i,a,o,s,l,u=t.gd,c=1,h=f.DBLCLICKDELAY,p=t.element;u._mouseDownTime||(u._mouseDownTime=0),p.style.pointerEvents=\"all\",p.onmousedown=g,Ea?(p._ontouchstart&&p.removeEventListener(\"touchstart\",p._ontouchstart),p._ontouchstart=g,p.addEventListener(\"touchstart\",g,{passive:!1})):p.ontouchstart=g;var d=t.clampFn||function(t,e,r){return Math.abs(t)<r&&(t=0),Math.abs(e)<r&&(e=0),[t,e]};function g(f){f.preventDefault(),u._dragged=!1,u._dragging=!0;var d=Ga(f);e=d[0],r=d[1],s=f.target,o=f,l=2===f.buttons||f.ctrlKey,(n=(new Date).getTime())-u._mouseDownTime<h?c+=1:(c=1,u._mouseDownTime=n),t.prepFn&&t.prepFn(f,e,r),Sa&&!l?(a=Ha()).style.cursor=window.getComputedStyle(p).cursor:Sa||(a=document,i=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(p).cursor),document.addEventListener(\"mousemove\",v),document.addEventListener(\"mouseup\",m),document.addEventListener(\"touchmove\",v),document.addEventListener(\"touchend\",m)}function v(n){n.preventDefault();var i=Ga(n),a=t.minDrag||Te.MINDRAG,o=d(i[0]-e,i[1]-r,a),s=o[0],c=o[1];(s||c)&&(u._dragged=!0,qa.unhover(u)),u._dragged&&t.moveFn&&!l&&t.moveFn(s,c)}function m(e){if(document.removeEventListener(\"mousemove\",v),document.removeEventListener(\"mouseup\",m),document.removeEventListener(\"touchmove\",v),document.removeEventListener(\"touchend\",m),e.preventDefault(),Sa?ne.removeElement(a):i&&(a.documentElement.style.cursor=i,i=null),u._dragging){if(u._dragging=!1,(new Date).getTime()-u._mouseDownTime>h&&(c=Math.max(c-1,1)),u._dragged)t.doneFn&&t.doneFn(e);else if(t.clickFn&&t.clickFn(c,o),!l){var r;try{r=new MouseEvent(\"click\",e)}catch(t){var n=Ga(e);(r=document.createEvent(\"MouseEvents\")).initMouseEvent(\"click\",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}s.dispatchEvent(r)}!function(t){t._dragging=!1,t._replotPending&&P.call(\"plot\",t)}(u),u._dragged=!1}else u._dragged=!1}},qa.coverSlip=Ha;function Wa(t,e,r,n){n=n||ne.identity,Array.isArray(t)&&(e[0][r]=n(t))}var Ya={getSubplot:function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},flat:function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=e;return r},p2c:function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=t[n].p2c(e);return r},getDistanceFunction:function(t,e,r,n){return\"closest\"===t?n||Ya.quadrature(e,r):\"x\"===t?e:r},getClosest:function(t,e,r){if(!1!==r.index)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},inbox:function(t,e,r){return t*e<0||0===t?r:1/0},quadrature:function(t,e){return function(r){var n=t(r),i=e(r);return Math.sqrt(n*n+i*i)}},makeEventData:function(t,e,r){var n=\"index\"in t?t.index:t.pointNumber,i={data:e._input,fullData:e,curveNumber:e.index,pointNumber:n};if(e._indexToPoints){var a=e._indexToPoints[n];1===a.length?i.pointIndex=a[0]:i.pointIndices=a}else i.pointIndex=n;return e._module.eventData?i=e._module.eventData(i,t,e,r,n):(\"xVal\"in t?i.x=t.xVal:\"x\"in t&&(i.x=t.x),\"yVal\"in t?i.y=t.yVal:\"y\"in t&&(i.y=t.y),t.xa&&(i.xaxis=t.xa),t.ya&&(i.yaxis=t.ya),void 0!==t.zLabelVal&&(i.z=t.zLabelVal)),Ya.appendArrayPointValue(i,e,n),i},appendArrayPointValue:function(t,e,r){var n=e._arrayAttrs;if(n)for(var i=0;i<n.length;i++){var a=n[i],o=Za(a);if(void 0===t[o]){var s=Ja(ne.nestedProperty(e,a).get(),r);void 0!==s&&(t[o]=s)}}},appendArrayMultiPointValues:function(t,e,r){var n=e._arrayAttrs;if(n)for(var i=0;i<n.length;i++){var a=n[i],o=Za(a);if(void 0===t[o]){for(var s=ne.nestedProperty(e,a).get(),l=new Array(r.length),u=0;u<r.length;u++)l[u]=Ja(s,r[u]);t[o]=l}}}},Xa={ids:\"id\",locations:\"location\",labels:\"label\",values:\"value\",\"marker.colors\":\"color\"};function Za(t){return Xa[t]||t}function Ja(t,e){return Array.isArray(e)?Array.isArray(t)&&Array.isArray(t[e[0]])?t[e[0]][e[1]]:void 0:t[e]}var Ka=function(t,e){(t.attr(\"class\")||\"\").split(\" \").forEach(function(e){0===e.indexOf(\"cursor-\")&&t.classed(e,!1)}),e&&t.classed(\"cursor-\"+e,!0)},Qa=\"data-savedcursor\",$a=function(t,e){var r=t.attr(Qa);if(e){if(!r){for(var n=(t.attr(\"class\")||\"\").split(\" \"),i=0;i<n.length;i++){var a=n[i];0===a.indexOf(\"cursor-\")&&t.attr(Qa,a.substr(7)).classed(a,!1)}t.attr(Qa)||t.attr(Qa,\"!!\")}Ka(t,e)}else r&&(t.attr(Qa,null),\"!!\"===r?Ka(t):Ka(t,r))},to={},eo=Pa.YANGLE,ro=Math.PI*eo/180,no=1/Math.sin(ro),io=Math.cos(ro),ao=Math.sin(ro),oo=Pa.HOVERARROWSIZE,so=Pa.HOVERTEXTPAD;function lo(t,r,n){var i=r.hovermode,a=r.rotateLabels,o=r.bgColor,s=r.container,l=r.outerContainer,u=r.commonLabelOpts||{},c=r.fontFamily||Pa.HOVERFONT,h=r.fontSize||Pa.HOVERFONTSIZE,f=t[0],p=f.xa,d=f.ya,g=\"y\"===i?\"yLabel\":\"xLabel\",v=f[g],m=(String(v)||\"\").split(\" \")[0],y=l.node().getBoundingClientRect(),x=y.top,b=y.width,_=y.height,w=void 0!==v&&f.distance<=r.hoverdistance&&(\"x\"===i||\"y\"===i);if(w){var M,A,k=!0;for(M=0;M<t.length;M++){k&&void 0===t[M].zLabel&&(k=!1),A=t[M].hoverinfo||t[M].trace.hoverinfo;var T=Array.isArray(A)?A:A.split(\"+\");if(-1===T.indexOf(\"all\")&&-1===T.indexOf(i)){w=!1;break}}k&&(w=!1)}var S=s.selectAll(\"g.axistext\").data(w?[0]:[]);S.enter().append(\"g\").classed(\"axistext\",!0),S.exit().remove(),S.each(function(){var r=e.select(this),a=r.selectAll(\"path\").data([0]),o=r.selectAll(\"text\").data([0]);a.enter().append(\"path\").style({\"stroke-width\":\"1px\"}),a.style({fill:u.bgcolor||Oe.defaultLine,stroke:u.bordercolor||Oe.background}),o.enter().append(\"text\").attr(\"data-notex\",1),o.text(v).call(Sr.font,u.font.family||c,u.font.size||h,u.font.color||Oe.background).call(er.positionText,0,0).call(er.convertToTspans,n),r.attr(\"transform\",\"\");var s=o.node().getBoundingClientRect();if(\"x\"===i){o.attr(\"text-anchor\",\"middle\").call(er.positionText,0,\"top\"===p.side?x-s.bottom-oo-so:x-s.top+oo+so);var l=\"top\"===p.side?\"-\":\"\";a.attr(\"d\",\"M0,0L\"+oo+\",\"+l+oo+\"H\"+(so+s.width/2)+\"v\"+l+(2*so+s.height)+\"H-\"+(so+s.width/2)+\"V\"+l+oo+\"H-\"+oo+\"Z\"),r.attr(\"transform\",\"translate(\"+(p._offset+(f.x0+f.x1)/2)+\",\"+(d._offset+(\"top\"===p.side?0:d._length))+\")\")}else{o.attr(\"text-anchor\",\"right\"===d.side?\"start\":\"end\").call(er.positionText,(\"right\"===d.side?1:-1)*(so+oo),x-s.top-s.height/2);var y=\"right\"===d.side?\"\":\"-\";a.attr(\"d\",\"M0,0L\"+y+oo+\",\"+oo+\"V\"+(so+s.height/2)+\"h\"+y+(2*so+s.width)+\"V-\"+(so+s.height/2)+\"H\"+y+oo+\"V-\"+oo+\"Z\"),r.attr(\"transform\",\"translate(\"+(p._offset+(\"right\"===d.side?p._length:0))+\",\"+(d._offset+(f.y0+f.y1)/2)+\")\")}t=t.filter(function(t){return void 0!==t.zLabelVal||(t[g]||\"\").split(\" \")[0]===m})});var E=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 E.enter().append(\"g\").classed(\"hovertext\",!0).each(function(){var t=e.select(this);t.append(\"rect\").call(Oe.fill,Oe.addOpacity(o,.8)),t.append(\"text\").classed(\"name\",!0),t.append(\"path\").style(\"stroke-width\",\"1px\"),t.append(\"text\").classed(\"nums\",!0).call(Sr.font,c,h)}),E.exit().remove(),E.each(function(t){var r=e.select(this).attr(\"transform\",\"\"),s=\"\",l=\"\",u=Oe.opacity(t.color)?t.color:Oe.defaultLine,f=Oe.combine(u,o),p=t.borderColor||Oe.contrast(f);if(void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name){s=er.plainText(t.name||\"\");var d=Math.round(t.nameLength);d>-1&&s.length>d&&(s=d>3?s.substr(0,d-3)+\"...\":s.substr(0,d))}void 0!==t.extraText&&(l+=t.extraText),void 0!==t.zLabel?(void 0!==t.xLabel&&(l+=\"x: \"+t.xLabel+\"<br>\"),void 0!==t.yLabel&&(l+=\"y: \"+t.yLabel+\"<br>\"),l+=(l?\"z: \":\"\")+t.zLabel):w&&t[i+\"Label\"]===v?l=t[(\"x\"===i?\"y\":\"x\")+\"Label\"]||\"\":void 0===t.xLabel?void 0!==t.yLabel&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:\"(\"+t.xLabel+\", \"+t.yLabel+\")\",t.text&&!Array.isArray(t.text)&&(l+=(l?\"<br>\":\"\")+t.text),\"\"===l&&(\"\"===s&&r.remove(),l=s);var g=r.select(\"text.nums\").call(Sr.font,t.fontFamily||c,t.fontSize||h,t.fontColor||p).text(l).attr(\"data-notex\",1).call(er.positionText,0,0).call(er.convertToTspans,n),m=r.select(\"text.name\"),y=0;s&&s!==l?(m.call(Sr.font,t.fontFamily||c,t.fontSize||h,f).text(s).attr(\"data-notex\",1).call(er.positionText,0,0).call(er.convertToTspans,n),y=m.node().getBoundingClientRect().width+2*so):(m.remove(),r.select(\"rect\").remove()),r.select(\"path\").style({fill:f,stroke:p});var M,A,k=g.node().getBoundingClientRect(),T=t.xa._offset+(t.x0+t.x1)/2,S=t.ya._offset+(t.y0+t.y1)/2,E=Math.abs(t.x1-t.x0),C=Math.abs(t.y1-t.y0),L=k.width+oo+so+y;t.ty0=x-k.top,t.bx=k.width+2*so,t.by=k.height+2*so,t.anchor=\"start\",t.txwidth=k.width,t.tx2width=y,t.offset=0,a?(t.pos=T,M=S+C/2+L<=_,A=S-C/2-L>=0,\"top\"!==t.idealAlign&&M||!A?M?(S+=C/2,t.anchor=\"start\"):t.anchor=\"middle\":(S-=C/2,t.anchor=\"end\")):(t.pos=S,M=T+E/2+L<=b,A=T-E/2-L>=0,\"left\"!==t.idealAlign&&M||!A?M?(T+=E/2,t.anchor=\"start\"):t.anchor=\"middle\":(T-=E/2,t.anchor=\"end\")),g.attr(\"text-anchor\",t.anchor),y&&m.attr(\"text-anchor\",t.anchor),r.attr(\"transform\",\"translate(\"+T+\",\"+S+\")\"+(a?\"rotate(\"+eo+\")\":\"\"))}),E}function uo(t,r){t.each(function(t){var n=e.select(this);if(t.del)n.remove();else{var i=\"end\"===t.anchor?-1:1,a=n.select(\"text.nums\"),o={start:1,end:-1,middle:0}[t.anchor],s=o*(oo+so),l=s+o*(t.txwidth+so),u=0,c=t.offset;\"middle\"===t.anchor&&(s-=t.tx2width/2,l+=t.txwidth/2+so),r&&(c*=-ao,u=t.offset*io),n.select(\"path\").attr(\"d\",\"middle\"===t.anchor?\"M-\"+(t.bx/2+t.tx2width/2)+\",\"+(c-t.by/2)+\"h\"+t.bx+\"v\"+t.by+\"h-\"+t.bx+\"Z\":\"M0,0L\"+(i*oo+u)+\",\"+(oo+c)+\"v\"+(t.by/2-oo)+\"h\"+i*t.bx+\"v-\"+t.by+\"H\"+(i*oo+u)+\"V\"+(c-oo)+\"Z\"),a.call(er.positionText,s+u,c+t.ty0-t.by/2+so),t.tx2width&&(n.select(\"text.name\").call(er.positionText,l+o*so+u,c+t.ty0-t.by/2+so),n.select(\"rect\").call(Sr.setRect,l+(o-1)*t.tx2width/2+u,c-t.by/2-1,t.tx2width,t.by+2))}})}function co(t,e){var r=t.index,n=t.trace||{},i=t.cd[0],a=t.cd[r]||{},o=Array.isArray(r)?function(t,e){return ne.castOption(i,r,t)||ne.extractOption({},n,\"\",e)}:function(t,e){return ne.extractOption(a,n,t,e)};function s(e,r,n){var i=o(r,n);i&&(t[e]=i)}if(s(\"hoverinfo\",\"hi\",\"hoverinfo\"),s(\"color\",\"hbg\",\"hoverlabel.bgcolor\"),s(\"borderColor\",\"hbc\",\"hoverlabel.bordercolor\"),s(\"fontFamily\",\"htf\",\"hoverlabel.font.family\"),s(\"fontSize\",\"hts\",\"hoverlabel.font.size\"),s(\"fontColor\",\"htc\",\"hoverlabel.font.color\"),s(\"nameLength\",\"hnl\",\"hoverlabel.namelength\"),t.posref=\"y\"===e?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=ne.constrain(t.x0,0,t.xa._length),t.x1=ne.constrain(t.x1,0,t.xa._length),t.y0=ne.constrain(t.y0,0,t.ya._length),t.y1=ne.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel=\"xLabel\"in t?t.xLabel:ri.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel=\"yLabel\"in t?t.yLabel:ri.hoverLabelText(t.ya,t.yLabelVal),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||\"log\"===t.xa.type&&t.xerr<=0)){var l=ri.tickText(t.xa,t.xa.c2l(t.xerr),\"hover\").text;void 0!==t.xerrneg?t.xLabel+=\" +\"+l+\" / -\"+ri.tickText(t.xa,t.xa.c2l(t.xerrneg),\"hover\").text:t.xLabel+=\" \\xb1 \"+l,\"x\"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||\"log\"===t.ya.type&&t.yerr<=0)){var u=ri.tickText(t.ya,t.ya.c2l(t.yerr),\"hover\").text;void 0!==t.yerrneg?t.yLabel+=\" +\"+u+\" / -\"+ri.tickText(t.ya,t.ya.c2l(t.yerrneg),\"hover\").text:t.yLabel+=\" \\xb1 \"+u,\"y\"===e&&(t.distance+=1)}var c=t.hoverinfo||t.trace.hoverinfo;return\"all\"!==c&&(-1===(c=Array.isArray(c)?c:c.split(\"+\")).indexOf(\"x\")&&(t.xLabel=void 0),-1===c.indexOf(\"y\")&&(t.yLabel=void 0),-1===c.indexOf(\"z\")&&(t.zLabel=void 0),-1===c.indexOf(\"text\")&&(t.text=void 0),-1===c.indexOf(\"name\")&&(t.name=void 0)),t}function ho(t,e){var r,n,i=e.container,a=e.fullLayout,o=e.event,l=!!t.hLinePoint,u=!!t.vLinePoint;if(i.selectAll(\".spikeline\").remove(),u||l){var c=Oe.combine(a.plot_bgcolor,a.paper_bgcolor);if(l){var h,f,p=t.hLinePoint;r=p&&p.xa,\"cursor\"===(n=p&&p.ya).spikesnap?(h=o.pointerX,f=o.pointerY):(h=r._offset+p.x,f=n._offset+p.y);var d,g,v=s.readability(p.color,c)<1.5?Oe.contrast(c):p.color,m=n.spikemode,y=n.spikethickness,x=n.spikecolor||v,b=n._boundingBox,_=(b.left+b.right)/2<h?b.right:b.left;-1===m.indexOf(\"toaxis\")&&-1===m.indexOf(\"across\")||(-1!==m.indexOf(\"toaxis\")&&(d=_,g=h),-1!==m.indexOf(\"across\")&&(d=n._counterSpan[0],g=n._counterSpan[1]),i.insert(\"line\",\":first-child\").attr({x1:d,x2:g,y1:f,y2:f,\"stroke-width\":y,stroke:x,\"stroke-dasharray\":Sr.dashStyle(n.spikedash,y)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),i.insert(\"line\",\":first-child\").attr({x1:d,x2:g,y1:f,y2:f,\"stroke-width\":y+2,stroke:c}).classed(\"spikeline\",!0).classed(\"crisp\",!0)),-1!==m.indexOf(\"marker\")&&i.insert(\"circle\",\":first-child\").attr({cx:_+(\"right\"!==n.side?y:-y),cy:f,r:y,fill:x}).classed(\"spikeline\",!0)}if(u){var w,M,A=t.vLinePoint;r=A&&A.xa,n=A&&A.ya,\"cursor\"===r.spikesnap?(w=o.pointerX,M=o.pointerY):(w=r._offset+A.x,M=n._offset+A.y);var k,T,S=s.readability(A.color,c)<1.5?Oe.contrast(c):A.color,E=r.spikemode,C=r.spikethickness,L=r.spikecolor||S,z=r._boundingBox,P=(z.top+z.bottom)/2<M?z.bottom:z.top;-1===E.indexOf(\"toaxis\")&&-1===E.indexOf(\"across\")||(-1!==E.indexOf(\"toaxis\")&&(k=P,T=M),-1!==E.indexOf(\"across\")&&(k=r._counterSpan[0],T=r._counterSpan[1]),i.insert(\"line\",\":first-child\").attr({x1:w,x2:w,y1:k,y2:T,\"stroke-width\":C,stroke:L,\"stroke-dasharray\":Sr.dashStyle(r.spikedash,C)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),i.insert(\"line\",\":first-child\").attr({x1:w,x2:w,y1:k,y2:T,\"stroke-width\":C+2,stroke:c}).classed(\"spikeline\",!0).classed(\"crisp\",!0)),-1!==E.indexOf(\"marker\")&&i.insert(\"circle\",\":first-child\").attr({cx:w,cy:P-(\"top\"!==r.side?C:-C),r:C,fill:L}).classed(\"spikeline\",!0)}}}function fo(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}to.hover=function(t,n,i,a){t=ne.getGraphDiv(t),ne.throttle(t._fullLayout._uid+Pa.HOVERID,Pa.HOVERMINTIME,function(){!function(t,n,i,a){i||(i=\"xy\");var o=Array.isArray(i)?i:[i],s=t._fullLayout,l=s._plots||[],u=l[i],c=s._has(\"cartesian\");if(u){var h=u.overlays.map(function(t){return t.id});o=o.concat(h)}for(var f=o.length,p=new Array(f),d=new Array(f),g=!1,v=0;v<f;v++){var m=o[v],y=l[m];if(y)g=!0,p[v]=ri.getFromId(t,y.xaxis._id),d[v]=ri.getFromId(t,y.yaxis._id);else{var x=s[m]._subplot;p[v]=x.xaxis,d[v]=x.yaxis}}var b=n.hovermode||s.hovermode;b&&!g&&(b=\"closest\");if(-1===[\"x\",\"y\",\"closest\"].indexOf(b)||!t.calcdata||t.querySelector(\".zoombox\")||t._dragging)return Ua.unhoverRaw(t,n);var _,w,M,A,k,T,S,E,C,L,z,I,D,O=-1===s.hoverdistance?1/0:s.hoverdistance,R=-1===s.spikedistance?1/0:s.spikedistance,F=[],B=[],N={hLinePoint:null,vLinePoint:null};if(Array.isArray(n))for(b=\"array\",M=0;M<n.length;M++)\"skip\"!==(k=t.calcdata[n[M].curveNumber||0])[0].trace.hoverinfo&&B.push(k);else{for(A=0;A<t.calcdata.length;A++)k=t.calcdata[A],\"skip\"!==(T=k[0].trace).hoverinfo&&-1!==o.indexOf(Ya.getSubplot(T))&&B.push(k);var j,V,U=!n.target;if(U)j=\"xpx\"in n?n.xpx:p[0]._length/2,n.pointerX=j+p[0]._offset,V=\"ypx\"in n?n.ypx:d[0]._length/2,n.pointerY=V+d[0]._offset;else{if(!1===ja.triggerHandler(t,\"plotly_beforehover\",n))return;var q=n.target.getBoundingClientRect();if(j=n.clientX-q.left,V=n.clientY-q.top,j<0||j>q.width||V<0||V>q.height)return Ua.unhoverRaw(t,n);n.pointerX=n.offsetX,n.pointerY=n.offsetY}if(_=\"xval\"in n?Ya.flat(o,n.xval):Ya.p2c(p,j),w=\"yval\"in n?Ya.flat(o,n.yval):Ya.p2c(d,V),!r(_[0])||!r(w[0]))return ne.warn(\"Fx.hover failed\",n,t),Ua.unhoverRaw(t,n)}var H=1/0;for(A=0;A<B.length;A++)if((k=B[A])&&k[0]&&k[0].trace&&!0===k[0].trace.visible&&(T=k[0].trace,-1===[\"carpet\",\"contourcarpet\"].indexOf(T._module.name))){if(S=Ya.getSubplot(T),E=o.indexOf(S),C=b,I={cd:k,trace:T,xa:p[E],ya:d[E],maxHoverDistance:O,maxSpikeDistance:R,index:!1,distance:Math.min(H,O),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:Oe.defaultLine,name:T.name,x0:void 0,x1:void 0,y0:void 0,y1:void 0,xLabelVal:void 0,yLabelVal:void 0,zLabelVal:void 0,text:void 0},s[S]&&(I.subplot=s[S]._subplot),D=F.length,\"array\"===C){var G=n[A];\"pointNumber\"in G?(I.index=G.pointNumber,C=\"closest\"):(C=\"\",\"xval\"in G&&(L=G.xval,C=\"x\"),\"yval\"in G&&(z=G.yval,C=C?\"closest\":\"y\"))}else L=_[E],z=w[E];if(0!==O)if(T._module&&T._module.hoverPoints){var W=T._module.hoverPoints(I,L,z,C,s._hoverlayer);if(W)for(var Y,X=0;X<W.length;X++)Y=W[X],r(Y.x0)&&r(Y.y0)&&F.push(co(Y,b))}else ne.log(\"Unrecognized trace type in hover:\",T);if(\"closest\"===b&&F.length>D&&(F.splice(0,D),H=F[0].distance),c&&0!==R&&0===F.length){I.distance=R,I.index=!1;var Z=T._module.hoverPoints(I,L,z,\"closest\",s._hoverlayer);if(Z&&(Z=Z.filter(function(t){return t.spikeDistance<=R})),Z&&Z.length){var J,K=Z.filter(function(t){return t.xa.showspikes});if(K.length){var Q=K[0];r(Q.x0)&&r(Q.y0)&&(J=rt(Q),(!N.vLinePoint||N.vLinePoint.spikeDistance>J.spikeDistance)&&(N.vLinePoint=J))}var $=Z.filter(function(t){return t.ya.showspikes});if($.length){var tt=$[0];r(tt.x0)&&r(tt.y0)&&(J=rt(tt),(!N.hLinePoint||N.hLinePoint.spikeDistance>J.spikeDistance)&&(N.hLinePoint=J))}}}}function et(t,e){for(var r,n=null,i=1/0,a=0;a<t.length;a++)(r=t[a].spikeDistance)<i&&r<=e&&(n=t[a],i=r);return n}function rt(t){return t?{xa:t.xa,ya:t.ya,x:void 0!==t.xSpike?t.xSpike:(t.x0+t.x1)/2,y:void 0!==t.ySpike?t.ySpike:(t.y0+t.y1)/2,distance:t.distance,spikeDistance:t.spikeDistance,curveNumber:t.trace.index,color:t.color,pointNumber:t.index}:null}var nt={fullLayout:s,container:s._hoverlayer,outerContainer:s._paperdiv,event:n},it=t._spikepoints,at={vLinePoint:N.vLinePoint,hLinePoint:N.hLinePoint};if(t._spikepoints=at,c&&0!==R&&0!==F.length){var ot=F.filter(function(t){return t.ya.showspikes}),st=et(ot,R);N.hLinePoint=rt(st);var lt=F.filter(function(t){return t.xa.showspikes}),ut=et(lt,R);N.vLinePoint=rt(ut)}if(0===F.length){var ct=Ua.unhoverRaw(t,n);return!c||null===N.hLinePoint&&null===N.vLinePoint||fo(it)&&ho(N,nt),ct}c&&fo(it)&&ho(N,nt);F.sort(function(t,e){return t.distance-e.distance});var ht=t._hoverdata,ft=[];for(M=0;M<F.length;M++){var pt=F[M];ft.push(Ya.makeEventData(pt,pt.trace,pt.cd))}t._hoverdata=ft;var dt=\"y\"===b&&B.length>1,gt=Oe.combine(s.plot_bgcolor||Oe.background,s.paper_bgcolor),vt={hovermode:b,rotateLabels:dt,bgColor:gt,container:s._hoverlayer,outerContainer:s._paperdiv,commonLabelOpts:s.hoverlabel,hoverdistance:s.hoverdistance},mt=lo(F,vt,t);if(function(t,e,r){var n,i,a,o,s,l,u,c=0,h=t.map(function(t,n){var i=t[e];return[{i:n,dp:0,pos:t.pos,posref:t.posref,size:t.by*(\"x\"===i._id.charAt(0)?no:1)/2,pmin:0,pmax:\"x\"===i._id.charAt(0)?r.width:r.height}]}).sort(function(t,e){return t[0].posref-e[0].posref});function f(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]).pos+l.dp+l.size>e.pmax&&u++;for(o=t.length-1;o>=0&&!(u<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,u--);for(o=0;o<t.length&&!(u<=0);o++)if((l=t[o]).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]).pos+l.dp+l.size>e.pmax&&(l.del=!0,u--)}}}for(;!n&&c<=t.length;){for(c++,n=!0,o=0;o<h.length-1;){var p=h[o],d=h[o+1],g=p[p.length-1],v=d[0];if((i=g.pos+g.dp+g.size-v.pos-v.dp+v.size)>.01&&g.pmin===v.pmin&&g.pmax===v.pmax){for(s=d.length-1;s>=0;s--)d[s].dp+=i;for(p.push.apply(p,d),h.splice(o+1,1),u=0,s=p.length-1;s>=0;s--)u+=p[s].dp;for(a=u/p.length,s=p.length-1;s>=0;s--)p[s].dp-=a;n=!1}else o++}h.forEach(f)}for(o=h.length-1;o>=0;o--){var m=h[o];for(s=m.length-1;s>=0;s--){var y=m[s],x=t[y.i];x.offset=y.dp,x.del=y.del}}}(F,dt?\"xa\":\"ya\",s),uo(mt,dt),n.target&&n.target.tagName){var yt=P.getComponentMethod(\"annotations\",\"hasClickToShow\")(t,ft);$a(e.select(n.target),yt?\"pointer\":\"\")}if(!n.target||a||!function(t,e,r){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}(t,0,ht))return;ht&&t.emit(\"plotly_unhover\",{event:n,points:ht});t.emit(\"plotly_hover\",{event:n,points:t._hoverdata,xaxes:p,yaxes:d,xvals:_,yvals:w})}(t,n,i,a)})},to.loneHover=function(t,r){var n={color:t.color||Oe.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,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,trace:{index:0,hoverinfo:\"\"},xa:{_offset:0},ya:{_offset:0},index:0},i=e.select(r.container),a=r.outerContainer?e.select(r.outerContainer):i,o={hovermode:\"closest\",rotateLabels:!1,bgColor:r.bgColor||Oe.background,container:i,outerContainer:a},s=lo([n],o,r.gd);return uo(s,o.rotateLabels),s.node()};var po=to.hover,go=function(t,e,r,n){r(\"hoverlabel.bgcolor\",(n=n||{}).bgcolor),r(\"hoverlabel.bordercolor\",n.bordercolor),r(\"hoverlabel.namelength\",n.namelength),ne.coerceFont(r,\"hoverlabel.font\",n.font)},vo=T({editType:\"none\"});vo.family.dflt=Pa.HOVERFONT,vo.size.dflt=Pa.HOVERFONTSIZE;var mo={dragmode:{valType:\"enumerated\",values:[\"zoom\",\"pan\",\"select\",\"lasso\",\"orbit\",\"turntable\"],dflt:\"zoom\",editType:\"modebar\"},hovermode:{valType:\"enumerated\",values:[\"x\",\"y\",\"closest\",!1],editType:\"modebar\"},hoverdistance:{valType:\"integer\",min:-1,dflt:20,editType:\"none\"},spikedistance:{valType:\"integer\",min:-1,dflt:20,editType:\"none\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"none\"},bordercolor:{valType:\"color\",editType:\"none\"},font:vo,namelength:{valType:\"integer\",min:-1,dflt:15,editType:\"none\"},editType:\"none\"}};var yo={moduleType:\"component\",name:\"fx\",constants:Pa,schema:{layout:mo},attributes:S,layoutAttributes:mo,supplyLayoutGlobalDefaults:function(t,e){go(0,0,function(r,n){return ne.coerce(t,e,mo,r,n)})},supplyDefaults:function(t,e,r,n){go(0,0,function(r,n){return ne.coerce(t,e,S,r,n)},n.hoverlabel)},supplyLayoutDefaults:function(t,e,r){function n(r,n){return ne.coerce(t,e,mo,r,n)}var i;n(\"dragmode\"),e._has(\"cartesian\")?(e._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}(r),i=e._isHoriz?\"y\":\"x\"):i=\"closest\",n(\"hovermode\",i)&&(n(\"hoverdistance\"),n(\"spikedistance\"));var a=e._has(\"mapbox\"),o=e._has(\"geo\"),s=e._basePlotModules.length;\"zoom\"===e.dragmode&&((a||o)&&1===s||a&&o&&2===s)&&(e.dragmode=\"pan\")},calc:function(t){var e=t.calcdata,r=t._fullLayout;function n(t){return function(e){return ne.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var i=0;i<e.length;i++){var a=e[i],o=a[0].trace;if(!P.traceIs(o,\"pie\")){var s=P.traceIs(o,\"2dMap\")?Wa:ne.fillArray;s(o.hoverinfo,a,\"hi\",n(o)),o.hoverlabel&&(s(o.hoverlabel.bgcolor,a,\"hbg\"),s(o.hoverlabel.bordercolor,a,\"hbc\"),s(o.hoverlabel.font.size,a,\"hts\"),s(o.hoverlabel.font.color,a,\"htc\"),s(o.hoverlabel.font.family,a,\"htf\"),s(o.hoverlabel.namelength,a,\"hnl\"))}}},getDistanceFunction:Ya.getDistanceFunction,getClosest:Ya.getClosest,inbox:Ya.inbox,quadrature:Ya.quadrature,appendArrayPointValue:Ya.appendArrayPointValue,castHoverOption:function(t,e,r){return ne.castOption(t,e,\"hoverlabel.\"+r)},castHoverinfo:function(t,e,r){return ne.castOption(t,r,\"hoverinfo\",function(r){return ne.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)})},hover:to.hover,unhover:Ua.unhover,loneHover:to.loneHover,loneUnhover:function(t){var r=ne.isD3Selection(t)?t:e.select(t);r.selectAll(\"g.hovertext\").remove(),r.selectAll(\".spikeline\").remove()},click:function(t,e,r){var n=P.getComponentMethod(\"annotations\",\"onClick\")(t,t._hoverdata);function i(){t.emit(\"plotly_click\",{points:t._hoverdata,event:e})}void 0!==r&&po(t,e,r,!0),t._hoverdata&&e&&e.target&&(n&&n.then?n.then(i):i(),e.stopImmediatePropagation&&e.stopImmediatePropagation())}};var xo=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=ne.extractOption(t,e,\"htx\",\"hovertext\");if(bo(i))return n(i);var a=ne.extractOption(t,e,\"tx\",\"text\");return bo(a)?n(a):void 0};function bo(t){return t||0===t}var _o=function(t,e,r,n){var i,a,o,s,l,u,c,h=t.cd,f=h[0].trace,p=h[0].t,d=\"closest\"===n,g=t.maxHoverDistance,v=t.maxSpikeDistance;function m(t){return t[o]-t.w/2}function y(t){return t[o]+t.w/2}var x=d?m:function(t){return Math.min(m(t),t.p-p.bardelta/2)},b=d?y:function(t){return Math.max(y(t),t.p+p.bardelta/2)};function _(t,e){return yo.inbox(t-i,e-i,g+Math.min(1,Math.abs(e-t)/c)-1)}function w(t){return _(x(t),b(t))}function M(t){return yo.inbox(t.b-a,t[s]-a,g+(t[s]-a)/(t[s]-t.b)-1)}\"h\"===f.orientation?(i=r,a=e,o=\"y\",s=\"x\",l=M,u=w):(i=e,a=r,o=\"x\",s=\"y\",u=M,l=w);var A=t[o+\"a\"],k=t[s+\"a\"];c=Math.abs(A.r2c(A.range[1])-A.r2c(A.range[0]));var T=yo.getDistanceFunction(n,l,u,function(t){return(l(t)+u(t))/2});if(yo.getClosest(h,T,t),!1!==t.index){d||(x=function(t){return Math.min(m(t),t.p-p.bargroupwidth/2)},b=function(t){return Math.max(y(t),t.p+p.bargroupwidth/2)});var S=h[t.index],E=S.mcc||f.marker.color,C=S.mlcc||f.marker.line.color,L=S.mlw||f.marker.line.width;Oe.opacity(E)?t.color=E:Oe.opacity(C)&&L&&(t.color=C);var z=f.base?S.b+S.s:S.s;t[s+\"0\"]=t[s+\"1\"]=k.c2p(S[s],!0),t[s+\"LabelVal\"]=z;var I=p.extents[p.extents.round(S.p)];return t[o+\"0\"]=A.c2p(d?x(S):I[0],!0),t[o+\"1\"]=A.c2p(d?b(S):I[1],!0),t[o+\"LabelVal\"]=S.p,t.spikeDistance=(M(S)+function(t){return _(m(t),y(t))}(S))/2+v-g,t[o+\"Spike\"]=A.c2p(S.p,!0),xo(S,f,t),P.getComponentMethod(\"errorbars\",\"hoverInfo\")(S,f,t),[t]}},wo={barmode:{valType:\"enumerated\",values:[\"stack\",\"group\",\"overlay\",\"relative\"],dflt:\"group\",editType:\"calc\"},barnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},bargap:{valType:\"number\",min:0,max:1,editType:\"calc\"},bargroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}},Mo=function(t,e,r){function n(r,n){return ne.coerce(t,e,wo,r,n)}for(var i=!1,a=!1,o=!1,s={},l=0;l<r.length;l++){var u=r[l];if(P.traceIs(u,\"bar\")){if(i=!0,\"overlay\"!==t.barmode&&\"stack\"!==t.barmode){var c=u.xaxis+u.yaxis;s[c]&&(o=!0),s[c]=!0}if(u.visible&&\"histogram\"===u.type)\"category\"!==ri.getFromId({_fullLayout:e},u[\"v\"===u.orientation?\"xaxis\":\"yaxis\"]).type&&(a=!0)}}i&&(\"overlay\"!==n(\"barmode\")&&n(\"barnorm\"),n(\"bargap\",a&&!o?0:.2),n(\"bargroupgap\"))},Ao=wa.text,ko=wa.textposition,To=wa.textfont,So=wa.insidetextfont,Eo=wa.outsidetextfont,Co=3,Lo=function(t,n,i){var a=n.xaxis,o=n.yaxis,s=t._fullLayout,l=n.plot.select(\".barlayer\").selectAll(\"g.trace.bars\").data(i);l.enter().append(\"g\").attr(\"class\",\"trace bars\"),l.each(function(t){t[0].node3=e.select(this)}),l.append(\"g\").attr(\"class\",\"points\").each(function(i){var l=e.select(this),u=i[0].t,c=i[0].trace,h=u.poffset,f=Array.isArray(h);l.selectAll(\"g.point\").data(ne.identity).enter().append(\"g\").classed(\"point\",!0).each(function(l,u){var p,d,g,v,m=l.p+(f?h[u]:h),y=m+l.w,x=l.b,b=x+l.s;if(\"h\"===c.orientation?(g=o.c2p(m,!0),v=o.c2p(y,!0),p=a.c2p(x,!0),d=a.c2p(b,!0),l.ct=[d,(g+v)/2]):(p=a.c2p(m,!0),d=a.c2p(y,!0),g=o.c2p(x,!0),v=o.c2p(b,!0),l.ct=[(p+d)/2,v]),r(p)&&r(d)&&r(g)&&r(v)&&p!==d&&g!==v){var _=(l.mlw+1||c.marker.line.width+1||(l.trace?l.trace.marker.line.width:0)+1)-1,w=e.round(_/2%1,2);if(!t._context.staticPlot){var M=Oe.opacity(l.mc||c.marker.color)<1||_>.01?k:function(t,e){return Math.abs(t-e)>=2?k(t):t>e?Math.ceil(t):Math.floor(t)};d=M(d,p=M(p,d)),v=M(v,g=M(g,v))}var A=e.select(this);A.append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").attr(\"d\",\"M\"+p+\",\"+g+\"V\"+v+\"H\"+d+\"V\"+g+\"Z\").call(Sr.setClipUrl,n.layerClipId),function(t,e,r,n,i,a,o,s){var l;function u(e,r,n){var i=e.append(\"text\").text(r).attr({class:\"bartext bartext-\"+l,transform:\"\",\"text-anchor\":\"middle\",\"data-notex\":1}).call(Sr.font,n).call(er.convertToTspans,t);return i}var c=r[0].trace,h=c.orientation,f=function(t,e){var r=Io(t.text,e);return Do(Ao,r)}(c,n);if(!f)return;if(\"none\"===(l=function(t,e){var r=Io(t.textposition,e);return function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt}(ko,r)}(c,n)))return;var p,d,g,v,m,y,x=function(t,e,r){return Po(To,t.textfont,e,r)}(c,n,t._fullLayout.font),b=function(t,e,r){return Po(So,t.insidetextfont,e,r)}(c,n,x),_=function(t,e,r){return Po(Eo,t.outsidetextfont,e,r)}(c,n,x),w=t._fullLayout.barmode,M=\"stack\"===w||\"relative\"===w,A=r[n],k=!M||A._outmost,T=Math.abs(a-i)-2*Co,S=Math.abs(s-o)-2*Co;\"outside\"===l&&(k||(l=\"inside\"));if(\"auto\"===l)if(k){l=\"inside\",p=u(e,f,b),d=Sr.bBox(p.node()),g=d.width,v=d.height;var E=g>0&&v>0,C=g<=T&&v<=S,L=g<=S&&v<=T,z=\"h\"===h?T>=g*(S/v):S>=v*(T/g);E&&(C||L||z)?l=\"inside\":(l=\"outside\",p.remove(),p=null)}else l=\"inside\";if(!p&&(p=u(e,f,\"outside\"===l?_:b),d=Sr.bBox(p.node()),g=d.width,v=d.height,g<=0||v<=0))return void p.remove();\"outside\"===l?(y=\"both\"===c.constraintext||\"outside\"===c.constraintext,m=function(t,e,r,n,i,a,o){var s,l=\"h\"===a?Math.abs(n-r):Math.abs(e-t);l>2*Co&&(s=Co);var u=1;o&&(u=\"h\"===a?Math.min(1,l/i.height):Math.min(1,l/i.width));var c,h,f,p,d=(i.left+i.right)/2,g=(i.top+i.bottom)/2;c=u*i.width,h=u*i.height,\"h\"===a?e<t?(f=e-s-c/2,p=(r+n)/2):(f=e+s+c/2,p=(r+n)/2):n>r?(f=(t+e)/2,p=n+s+h/2):(f=(t+e)/2,p=n-s-h/2);return zo(d,g,f,p,u,!1)}(i,a,o,s,d,h,y)):(y=\"both\"===c.constraintext||\"inside\"===c.constraintext,m=function(t,e,r,n,i,a,o){var s,l,u,c,h,f,p,d=i.width,g=i.height,v=(i.left+i.right)/2,m=(i.top+i.bottom)/2,y=Math.abs(e-t),x=Math.abs(n-r);y>2*Co&&x>2*Co?(y-=2*(h=Co),x-=2*h):h=0;d<=y&&g<=x?(f=!1,p=1):d<=x&&g<=y?(f=!0,p=1):d<g==y<x?(f=!1,p=o?Math.min(y/d,x/g):1):(f=!0,p=o?Math.min(x/d,y/g):1);f&&(f=90);f?(s=p*g,l=p*d):(s=p*d,l=p*g);\"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);return zo(v,m,u,c,p,f)}(i,a,o,s,d,h,y));p.attr(\"transform\",m)}(t,A,i,u,p,d,g,v),n.layerClipId&&Sr.hideOutsideRangePoint(i[u],A.select(\"text\"),a,o,c.xcalendar,c.ycalendar)}else e.select(this).remove();function k(t){return 0===s.bargap&&0===s.bargroupgap?e.round(Math.round(t)-w,2):t}})}),P.getComponentMethod(\"errorbars\",\"plot\")(l,n),l.each(function(t){var r=!1===t[0].trace.cliponaxis;Sr.setClipUrl(e.select(this),r?null:n.layerClipId)})};function zo(t,e,r,n,i,a){var o;return i<1?o=\"scale(\"+i+\") \":(i=1,o=\"\"),\"translate(\"+(r-i*t)+\" \"+(n-i*e)+\")\"+o+(a?\"rotate(\"+a+\" \"+t+\" \"+e+\") \":\"\")}function Po(t,e,n,i){var a=Io((e=e||{}).family,n),o=Io(e.size,n),l=Io(e.color,n);return{family:Do(t.family,a,i.family),size:function(t,e,n){if(r(e)){e=+e;var i=t.min,a=t.max,o=void 0!==i&&e<i||void 0!==a&&e>a;if(!o)return e}return void 0!==n?n:t.dflt}(t.size,o,i.size),color:function(t,e,r){return s(e).isValid()?e:void 0!==r?r:t.dflt}(t.color,l,i.color)}}function Io(t,e){var r;return Array.isArray(t)?e<t.length&&(r=t[e]):r=t,r}function Do(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}var Oo=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[];if(!1===e)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var s=n[r];e.contains(s.ct)?(o.push({pointNumber:r,x:i.c2d(s.x),y:a.c2d(s.y)}),s.selected=1):s.selected=0}return o},Ro=Bo,Fo=t.BADNUM;function Bo(t,e,r){this.traces=t,this.separateNegativeValues=e,this.dontMergeOverlappingData=r;for(var n=1/0,i=[],a=0;a<t.length;a++){for(var o=t[a],s=0;s<o.length;s++){var l=o[s];l.p!==Fo&&i.push(l.p)}o[0]&&o[0].width1&&(n=Math.min(o[0].width1,n))}this.positions=i;var u=ne.distinctVals(i);this.distinctPositions=u.vals,1===u.vals.length&&n!==1/0?this.minDiff=n:this.minDiff=Math.min(u.minDiff,n),this.binWidth=this.minDiff,this.bins={}}Bo.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},Bo.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},Bo.prototype.getLabel=function(t,e){return(e<0&&this.separateNegativeValues?\"v\":\"^\")+(this.dontMergeOverlappingData?t:Math.round(t/this.binWidth))};var No=ne.isArrayOrTypedArray,jo=t.BADNUM,Vo=function(t,e){var r,n=e.xaxis,i=e.yaxis,a=t._fullData,o=t.calcdata,s=[],l=[];for(r=0;r<a.length;r++){var u=a[r];!0===u.visible&&P.traceIs(u,\"bar\")&&u.xaxis===n._id&&u.yaxis===i._id&&(\"h\"===u.orientation?s.push(o[r]):l.push(o[r]))}Uo(t,n,i,l),Uo(t,i,n,s)};function Uo(t,e,n,i){if(i.length){var a,o,s,l,u=t._fullLayout.barmode,c=\"group\"===u;if(\"overlay\"===u)qo(t,e,n,i);else if(c){for(a=[],o=[],s=0;s<i.length;s++)void 0===(l=i[s])[0].trace.offset?o.push(l):a.push(l);o.length&&function(t,e,r,n){var i=t._fullLayout.barnorm,a=new Ro(n,!1,!i);(function(t,e,r){var n,i,a,o,s=t._fullLayout,l=s.bargap,u=s.bargroupgap,c=r.positions,h=r.distinctPositions,f=r.minDiff,p=r.traces,d=c.length!==h.length,g=p.length,v=f*(1-l),m=d?v/g:v,y=m*(1-u);for(n=0;n<g;n++){i=p[n],a=i[0];var x=d?((2*n+1-g)*m-y)/2:-y/2;(o=a.t).barwidth=y,o.poffset=x,o.bargroupwidth=v,o.bardelta=f}r.binWidth=p[0][0].t.barwidth/100,Go(r),Wo(t,e,r),Yo(t,e,r,d)})(t,e,a),i?(Jo(t,r,a),Ko(t,r,a)):Zo(t,r,a)}(t,e,n,o),a.length&&qo(t,e,n,a)}else{for(a=[],o=[],s=0;s<i.length;s++)void 0===(l=i[s])[0].trace.base?o.push(l):a.push(l);o.length&&function(t,e,n,i){var a=t._fullLayout.barmode,o=\"stack\"===a,s=\"relative\"===a,l=t._fullLayout.barnorm,u=new Ro(i,s,!(l||o||s));Ho(t,e,u),function(t,e,n){var i,a,o,s,l=t._fullLayout.barnorm,u=Qo(e),c=n.traces,h=[null,null];for(i=0;i<c.length;i++)for(a=c[i],o=0;o<a.length;o++)if((s=a[o]).s!==jo){var f=n.put(s.p,s.b+s.s),p=f+s.b+s.s;s.b=f,s[u]=p,l||(r(e.c2l(p))&&Xo(h,p),s.hasB&&r(e.c2l(f))&&Xo(h,f))}l||ri.expand(e,h,{tozero:!0,padded:!0})}(t,n,u);for(var c=0;c<i.length;c++)for(var h=i[c],f=0;f<h.length;f++){var p=h[f];if(p.s!==jo){var d=p.b+p.s===u.get(p.p,p.s);d&&(p._outmost=!0)}}l&&Ko(t,n,u)}(t,e,n,o),a.length&&qo(t,e,n,a)}!function(t,e){var n,i,a,o=e._id.charAt(0),s={},l=1/0,u=-1/0;for(n=0;n<t.length;n++)for(a=t[n],i=0;i<a.length;i++){var c=a[i].p;r(c)&&(l=Math.min(l,c),u=Math.max(u,c))}var h=1e4/(u-l),f=s.round=function(t){return String(Math.round(h*(t-l)))};for(n=0;n<t.length;n++)for((a=t[n])[0].t.extents=s,i=0;i<a.length;i++){var p=a[i],d=p[o]-p.w/2;if(r(d)){var g=p[o]+p.w/2,v=f(p.p);s[v]?s[v]=[Math.min(d,s[v][0]),Math.max(g,s[v][1])]:s[v]=[d,g]}}}(i,e)}}function qo(t,e,r,n){for(var i=t._fullLayout.barnorm,a=!i,o=0;o<n.length;o++){var s=n[o],l=new Ro([s],!1,a);Ho(t,e,l),i?(Jo(t,r,l),Ko(t,r,l)):Zo(t,r,l)}}function Ho(t,e,r){var n,i,a=t._fullLayout,o=a.bargap,s=a.bargroupgap,l=r.minDiff,u=r.traces,c=l*(1-o),h=c*(1-s),f=-h/2;for(n=0;n<u.length;n++)(i=u[n][0].t).barwidth=h,i.poffset=f,i.bargroupwidth=c,i.bardelta=l;r.binWidth=u[0][0].t.barwidth/100,Go(r),Wo(t,e,r),Yo(t,e,r)}function Go(t){var e,n,i,a,o,s,l=t.traces;for(e=0;e<l.length;e++){a=(i=(n=l[e])[0]).trace,s=i.t;var u,c=a.offset,h=s.poffset;if(No(c)){for(u=c.slice(0,n.length),o=0;o<u.length;o++)r(u[o])||(u[o]=h);for(o=u.length;o<n.length;o++)u.push(h);s.poffset=u}else void 0!==c&&(s.poffset=c);var f=a.width,p=s.barwidth;if(No(f)){var d=f.slice(0,n.length);for(o=0;o<d.length;o++)r(d[o])||(d[o]=p);for(o=d.length;o<n.length;o++)d.push(p);if(s.barwidth=d,void 0===c){for(u=[],o=0;o<n.length;o++)u.push(h+(p-d[o])/2);s.poffset=u}}else void 0!==f&&(s.barwidth=f,void 0===c&&(s.poffset=h+(p-f)/2))}}function Wo(t,e,r){for(var n=r.traces,i=Qo(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 p=o[f],d=p.w=h?c[f]:c;p[i]=p.p+(u?l[f]:l)+d/2}}function Yo(t,e,r,n){var i=r.traces,a=r.distinctPositions,o=a[0],s=r.minDiff,l=s/2;ri.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],p=f[0],d=p.trace;if(void 0!==d.width||void 0!==d.offset)for(var g=p.t,v=g.poffset,m=g.barwidth,y=Array.isArray(v),x=Array.isArray(m),b=0;b<f.length;b++){var _=f[b],w=y?v[b]:v,M=x?m[b]:m,A=_.p+w,k=A+M;u=Math.min(u,A),c=Math.max(c,k)}}ri.expand(e,[u,c],{padded:!1})}function Xo(t,e){r(t[0])?t[0]=Math.min(t[0],e):t[0]=e,r(t[1])?t[1]=Math.max(t[1],e):t[1]=e}function Zo(t,e,n){for(var i=n.traces,a=Qo(e),o=[null,null],s=0;s<i.length;s++)for(var l=i[s],u=0;u<l.length;u++){var c=l[u],h=c.b,f=h+c.s;c[a]=f,r(e.c2l(f))&&Xo(o,f),c.hasB&&r(e.c2l(h))&&Xo(o,h)}ri.expand(e,o,{tozero:!0,padded:!0})}function Jo(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];s.s!==jo&&r.put(s.p,s.b+s.s)}}function Ko(t,e,n){var i=n.traces,a=Qo(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;function f(t){r(e.c2l(t))&&(t<l-s||t>u+s||!r(l))&&(h=!0,Xo(c,t))}for(var p=0;p<i.length;p++)for(var d=i[p],g=0;g<d.length;g++){var v=d[g];if(v.s!==jo){var m=Math.abs(o/n.get(v.p,v.s));v.b*=m,v.s*=m;var y=v.b,x=y+v.s;v[a]=x,f(x),v.hasB&&f(y)}}ri.expand(e,c,{tozero:!0,padded:h})}function Qo(t){return t._id.charAt(0)}var $o=function(t,r){var n=r?r[0].node3:e.select(t).selectAll(\"g.trace.bars\"),i=n.size(),a=t._fullLayout;n.style(\"opacity\",function(t){return t[0].trace.opacity}).each(function(t){(\"stack\"===a.barmode&&i>1||0===a.bargap&&0===a.bargroupgap&&!t[0].trace.marker.line.width)&&e.select(this).attr(\"shape-rendering\",\"crispEdges\")}),n.selectAll(\"g.points\").each(function(r){var n=e.select(this),i=n.selectAll(\"path\"),a=n.selectAll(\"text\"),o=r[0].trace;Sr.pointStyle(i,o,t),Sr.selectedPointStyle(i,o),a.each(function(t){var r,n=e.select(this);function i(e){var n=r[e];return Array.isArray(n)?n[t.i]:n}n.classed(\"bartext-inside\")?r=o.insidetextfont:n.classed(\"bartext-outside\")&&(r=o.outsidetextfont),r||(r=o.textfont),Sr.font(n,i(\"family\"),i(\"size\"),i(\"color\"))}),Sr.selectedTextStyle(a,o)}),P.getComponentMethod(\"errorbars\",\"style\")(n)},ts=m.extendFlat,es=Qe.LINE_SPACING,rs={colorbar:\"colorbar\",cbbg:\"cbbg\",cbfill:\"cbfill\",cbfills:\"cbfills\",cbline:\"cbline\",cblines:\"cblines\",cbaxis:\"cbaxis\",cbtitleunshift:\"cbtitleunshift\",cbtitle:\"cbtitle\",cboutline:\"cboutline\",crisp:\"crisp\",jsPlaceholder:\"js-placeholder\"},ns=function(t,r){var n={};function i(){var o=t._fullLayout,l=o._size;if(\"function\"==typeof n.fillcolor||\"function\"==typeof n.line.color){var u,c,h=e.extent((\"function\"==typeof n.fillcolor?n.fillcolor:n.line.color).domain()),f=[],p=[],d=\"function\"==typeof n.line.color?n.line.color:function(){return n.line.color},g=\"function\"==typeof n.fillcolor?n.fillcolor:function(){return n.fillcolor},v=n.levels.end+n.levels.size/100,m=n.levels.size,y=1.001*h[0]-.001*h[1],x=1.001*h[1]-.001*h[0];for(c=0;c<1e5&&(u=n.levels.start+c*m,!(m>0?u>=v:u<=v));c++)u>y&&u<x&&f.push(u);if(\"function\"==typeof n.fillcolor)if(n.filllevels)for(v=n.filllevels.end+n.filllevels.size/100,m=n.filllevels.size,c=0;c<1e5&&(u=n.filllevels.start+c*m,!(m>0?u>=v:u<=v));c++)u>h[0]&&u<h[1]&&p.push(u);else(p=f.map(function(t){return t-n.levels.size/2})).push(p[p.length-1]+n.levels.size);else n.fillcolor&&\"string\"==typeof n.fillcolor&&(p=[0]);n.levels.size<0&&(f.reverse(),p.reverse());var b,_=o.height-o.margin.t-o.margin.b,w=o.width-o.margin.l-o.margin.r,M=Math.round(n.thickness*(\"fraction\"===n.thicknessmode?w:1)),A=M/l.w,k=Math.round(n.len*(\"fraction\"===n.lenmode?_:1)),T=k/l.h,S=n.xpad/l.w,E=(n.borderwidth+n.outlinewidth)/2,C=n.ypad/l.h,L=Math.round(n.x*l.w+n.xpad),z=n.x-A*({middle:.5,right:1}[n.xanchor]||0),I=n.y+T*(({top:-.5,bottom:.5}[n.yanchor]||0)-.5),D=Math.round(l.h*(1-I)),O=D-k,R={type:\"linear\",range:h,tickmode:n.tickmode,nticks:n.nticks,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,tickfont:n.tickfont,tickangle:n.tickangle,tickformat:n.tickformat,exponentformat:n.exponentformat,separatethousands:n.separatethousands,showexponent:n.showexponent,showtickprefix:n.showtickprefix,tickprefix:n.tickprefix,showticksuffix:n.showticksuffix,ticksuffix:n.ticksuffix,title:n.title,titlefont:n.titlefont,showline:!0,anchor:\"free\",position:1},F={type:\"linear\",_id:\"y\"+r},B={letter:\"y\",font:o.font,noHover:!0,calendar:o.calendar};if(Qi(R,F,$,B,o),ea(R,F,$,B),F.position=n.x+S+A,i.axis=F,-1!==[\"top\",\"bottom\"].indexOf(n.titleside)&&(F.titleside=n.titleside,F.titlex=n.x+S,F.titley=I+(\"top\"===n.titleside?T-C:C)),n.line.color&&\"auto\"===n.tickmode){F.tickmode=\"linear\",F.tick0=n.levels.start;var N=n.levels.size,j=ne.constrain((D-O)/50,4,15)+1,V=(h[1]-h[0])/((n.nticks||j)*N);if(V>1){var U=Math.pow(10,Math.floor(Math.log(V)/Math.LN10));N*=U*ne.roundUp(V/U,[2,5,10]),(Math.abs(n.levels.start)/n.levels.size+1e-6)%1<2e-6&&(F.tick0=0)}F.dtick=N}F.domain=[I+C,I+T-C],F.setScale();var q=o._infolayer.selectAll(\"g.\"+r).data([0]);q.enter().append(\"g\").classed(r,!0).classed(rs.colorbar,!0).each(function(){var t=e.select(this);t.append(\"rect\").classed(rs.cbbg,!0),t.append(\"g\").classed(rs.cbfills,!0),t.append(\"g\").classed(rs.cblines,!0),t.append(\"g\").classed(rs.cbaxis,!0).classed(rs.crisp,!0),t.append(\"g\").classed(rs.cbtitleunshift,!0).append(\"g\").classed(rs.cbtitle,!0),t.append(\"rect\").classed(rs.cboutline,!0),t.select(\".cbtitle\").datum(0)}),q.attr(\"transform\",\"translate(\"+Math.round(l.l)+\",\"+Math.round(l.t)+\")\");var H=q.select(\".cbtitleunshift\").attr(\"transform\",\"translate(-\"+Math.round(l.l)+\",-\"+Math.round(l.t)+\")\");F._axislayer=q.select(\".cbaxis\");var G=0;if(-1!==[\"top\",\"bottom\"].indexOf(n.titleside)){var W,Y=l.l+(n.x+S)*l.w,X=F.titlefont.size;W=\"top\"===n.titleside?(1-(I+T-C))*l.h+l.t+3+.75*X:(1-(I+C))*l.h+l.t-3-.25*X,tt(F._id+\"title\",{attributes:{x:Y,y:W,\"text-anchor\":\"start\"}})}var Z,J,K,Q=ne.syncOrAsync([_n.previousPromises,function(){if(-1!==[\"top\",\"bottom\"].indexOf(n.titleside)){var r=q.select(\".cbtitle\"),i=r.select(\"text\"),a=[-n.outlinewidth/2,n.outlinewidth/2],u=r.select(\".h\"+F._id+\"title-math-group\").node(),c=15.6;if(i.node()&&(c=parseInt(i.node().style.fontSize,10)*es),u?(G=Sr.bBox(u).height)>c&&(a[1]-=(G-c)/2):i.node()&&!i.classed(rs.jsPlaceholder)&&(G=Sr.bBox(i.node()).height),G){if(G+=5,\"top\"===n.titleside)F.domain[1]-=G/l.h,a[1]*=-1;else{F.domain[0]+=G/l.h;var v=er.lineCount(i);a[1]+=(1-v)*c}r.attr(\"transform\",\"translate(\"+a+\")\"),F.setScale()}}q.selectAll(\".cbfills,.cblines\").attr(\"transform\",\"translate(0,\"+Math.round(l.h*(1-F.domain[1]))+\")\"),F._axislayer.attr(\"transform\",\"translate(0,\"+Math.round(-l.t)+\")\");var m=q.select(\".cbfills\").selectAll(\"rect.cbfill\").data(p);m.enter().append(\"rect\").classed(rs.cbfill,!0).style(\"stroke\",\"none\"),m.exit().remove(),m.each(function(t,r){var n=[0===r?h[0]:(p[r]+p[r-1])/2,r===p.length-1?h[1]:(p[r]+p[r+1])/2].map(F.c2p).map(Math.round);r!==p.length-1&&(n[1]+=n[1]>n[0]?1:-1);var i=g(t).replace(\"e-\",\"\"),a=s(i).toHexString();e.select(this).attr({x:L,width:Math.max(M,2),y:e.min(n),height:Math.max(e.max(n)-e.min(n),2),fill:a})});var y=q.select(\".cblines\").selectAll(\"path.cbline\").data(n.line.color&&n.line.width?f:[]);return y.enter().append(\"path\").classed(rs.cbline,!0),y.exit().remove(),y.each(function(t){e.select(this).attr(\"d\",\"M\"+L+\",\"+(Math.round(F.c2p(t))+n.line.width/2%1)+\"h\"+M).call(Sr.lineGroupStyle,n.line.width,d(t),n.line.dash)}),F._axislayer.selectAll(\"g.\"+F._id+\"tick,path\").remove(),F._pos=L+M+(n.outlinewidth||0)/2-(\"outside\"===n.ticks?1:0),F.side=\"right\",ne.syncOrAsync([function(){return ri.doTicks(t,F,!0)},function(){if(-1===[\"top\",\"bottom\"].indexOf(n.titleside)){var r=F.titlefont.size,i=F._offset+F._length/2,a=l.l+(F.position||0)*l.w+(\"right\"===F.side?10+r*(F.showticklabels?1:.5):-10-r*(F.showticklabels?.5:0));tt(\"h\"+F._id+\"title\",{avoid:{selection:e.select(t).selectAll(\"g.\"+F._id+\"tick\"),side:n.titleside,offsetLeft:l.l,offsetTop:0,maxShift:o.width},attributes:{x:a,y:i,\"text-anchor\":\"middle\"},transform:{rotate:\"-90\",offset:0}})}}])},_n.previousPromises,function(){var e=M+n.outlinewidth/2+Sr.bBox(F._axislayer.node()).width;if((b=H.select(\"text\")).node()&&!b.classed(rs.jsPlaceholder)){var i,a=H.select(\".h\"+F._id+\"title-math-group\").node();i=a&&-1!==[\"top\",\"bottom\"].indexOf(n.titleside)?Sr.bBox(a).width:Sr.bBox(H.node()).right-L-l.l,e=Math.max(e,i)}var o=2*n.xpad+e+n.borderwidth+n.outlinewidth/2,s=D-O;q.select(\".cbbg\").attr({x:L-n.xpad-(n.borderwidth+n.outlinewidth)/2,y:O-E,width:Math.max(o,2),height:Math.max(s+2*E,2)}).call(Oe.fill,n.bgcolor).call(Oe.stroke,n.bordercolor).style({\"stroke-width\":n.borderwidth}),q.selectAll(\".cboutline\").attr({x:L,y:O+n.ypad+(\"top\"===n.titleside?G:0),width:Math.max(M,2),height:Math.max(s-2*n.ypad-G,2)}).call(Oe.stroke,n.outlinecolor).style({fill:\"None\",\"stroke-width\":n.outlinewidth});var u=({center:.5,right:1}[n.xanchor]||0)*o;q.attr(\"transform\",\"translate(\"+(l.l-u)+\",\"+l.t+\")\"),_n.autoMargin(t,r,{x:n.x,y:n.y,l:o*({right:1,center:.5}[n.xanchor]||0),r:o*({left:1,center:.5}[n.xanchor]||0),t:s*({bottom:1,middle:.5}[n.yanchor]||0),b:s*({top:1,middle:.5}[n.yanchor]||0)})}],t);if(Q&&Q.then&&(t._promises||[]).push(Q),t._context.edits.colorbarPosition)Ua.init({element:q.node(),gd:t,prepFn:function(){Z=q.attr(\"transform\"),Ka(q)},moveFn:function(t,e){q.attr(\"transform\",Z+\" translate(\"+t+\",\"+e+\")\"),J=Ua.align(z+t/l.w,A,0,1,n.xanchor),K=Ua.align(I-e/l.h,T,0,1,n.yanchor);var r=Ua.getCursor(J,K,n.xanchor,n.yanchor);Ka(q,r)},doneFn:function(){Ka(q),void 0!==J&&void 0!==K&&P.call(\"restyle\",t,{\"colorbar.x\":J,\"colorbar.y\":K},a().index)}});return Q}function $(t,e){return ne.coerce(R,F,Ce,t,e)}function tt(e,r){var n,i=a();n=P.traceIs(i,\"markerColorscale\")?\"marker.colorbar.title\":\"colorbar.title\";var s={propContainer:F,propName:n,traceIndex:i.index,placeholder:o._dfltTitle.colorbar,containerGroup:q.select(\".cbtitle\")},l=\"h\"===e.charAt(0)?e.substr(1):\"h\"+e;q.selectAll(\".\"+l+\",.\"+l+\"-math-group\").remove(),Dn.draw(t,e,ts(s,r||{}))}o._infolayer.selectAll(\"g.\"+r).remove()}function a(){var e,n,i=r.substr(2);for(e=0;e<t._fullData.length;e++)if((n=t._fullData[e]).uid===i)return n}return Object.keys(ze).forEach(function(t){n[t]=null}),n.fillcolor=null,n.line={color:null,width:null,dash:null},n.levels={start:null,end:null,size:null},n.filllevels=null,Object.keys(n).forEach(function(t){i[t]=function(e){return arguments.length?(n[t]=ne.isPlainObject(n[t])?ne.extendFlat(n[t],e):e,i):n[t]}}),i.options=function(t){return Object.keys(t).forEach(function(e){\"function\"==typeof i[e]&&i[e](t[e])}),i},i._opts=n,i},is=function(t,e){var n=e[0].trace,i=n.marker,a=\"cb\"+n.uid;if(t._fullLayout._infolayer.selectAll(\".\"+a).remove(),void 0!==i&&i.showscale){var o=i.color,s=i.cmin,l=i.cmax;r(s)||(s=ne.aggNums(Math.min,null,o)),r(l)||(l=ne.aggNums(Math.max,null,o));var u=e[0].t.cb=ns(t,a),c=Je.makeColorScaleFunc(Je.extractScale(i.colorscale,s,l),{noNumericCheck:!0});u.fillcolor(c).filllevels({start:s,end:l,size:(l-s)/254}).options(i.colorbar)()}else _n.autoMargin(t,a)},as={};as.attributes=wa,as.layoutAttributes=wo,as.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,wa,r,n)}var a=ne.coerceFont;if(Ta(t,e,n,i)){i(\"orientation\",e.x&&!e.y?\"h\":\"v\"),i(\"base\"),i(\"offset\"),i(\"width\"),i(\"text\"),i(\"hovertext\");var o=i(\"textposition\"),s=Array.isArray(o)||\"auto\"===o,l=s||\"inside\"===o,u=s||\"outside\"===o;if(l||u){var c=a(i,\"textfont\",n.font);l&&a(i,\"insidetextfont\",c),u&&a(i,\"outsidetextfont\",c),i(\"constraintext\"),i(\"selected.textfont.color\"),i(\"unselected.textfont.color\"),i(\"cliponaxis\")}ka(t,e,i,r,n);var h=P.getComponentMethod(\"errorbars\",\"supplyDefaults\");h(t,e,Oe.defaultLine,{axis:\"y\"}),h(t,e,Oe.defaultLine,{axis:\"x\",inherit:\"y\"}),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},as.supplyLayoutDefaults=Mo,as.calc=function(t,e){var n,i,a,o,s,l=ri.getFromId(t,e.xaxis||\"x\"),u=ri.getFromId(t,e.yaxis||\"y\");\"h\"===(e.orientation||(e.x&&!e.y?\"h\":\"v\"))?(n=l,a=l.makeCalcdata(e,\"x\"),i=u.makeCalcdata(e,\"y\"),s=e.xcalendar):(n=u,a=u.makeCalcdata(e,\"y\"),i=l.makeCalcdata(e,\"x\"),s=e.ycalendar);var c=Math.min(i.length,a.length),h=new Array(c);for(o=0;o<c;o++)h[o]={p:i[o],s:a[o]},e.ids&&(h[o].id=String(e.ids[o]));var f,p=e.base;if(Aa(p)){for(o=0;o<Math.min(p.length,h.length);o++)f=n.d2c(p[o],0,s),r(f)?(h[o].b=+f,h[o].hasB=1):h[o].b=0;for(;o<h.length;o++)h[o].b=0}else{f=n.d2c(p,0,s);var d=r(f);for(f=d?f:0,o=0;o<h.length;o++)h[o].b=f,d&&(h[o].hasB=1)}return Xe(e,\"marker\")&&Ve(e,e.marker.color,\"marker\",\"c\"),Xe(e,\"marker.line\")&&Ve(e,e.marker.line.color,\"marker.line\",\"c\"),ma(h,e),Ma(h,e),h},as.setPositions=Vo,as.colorbar=is,as.arraysToCalcdata=ma,as.plot=Lo,as.style=$o,as.hoverPoints=_o,as.selectPoints=Oo,as.moduleType=\"trace\",as.name=\"bar\",as.basePlotModule=ua,as.categories=[\"cartesian\",\"bar\",\"oriented\",\"markerColorscale\",\"errorBarsOK\",\"showLegend\"],as.meta={};var os=as,ss=m.extendFlat,ls=Zr.marker,us=ls.line,cs={y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},name:{valType:\"string\",editType:\"calc+clearAxisTypes\"},text:ss({},Zr.text,{}),whiskerwidth:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"calcIfAutorange\"},notched:{valType:\"boolean\",editType:\"calcIfAutorange\"},notchwidth:{valType:\"number\",min:0,max:.5,dflt:.25,editType:\"calcIfAutorange\"},boxpoints:{valType:\"enumerated\",values:[\"all\",\"outliers\",\"suspectedoutliers\",!1],dflt:\"outliers\",editType:\"calcIfAutorange\"},boxmean:{valType:\"enumerated\",values:[!0,\"sd\",!1],dflt:!1,editType:\"calcIfAutorange\"},jitter:{valType:\"number\",min:0,max:1,editType:\"calcIfAutorange\"},pointpos:{valType:\"number\",min:-2,max:2,editType:\"calcIfAutorange\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},marker:{outliercolor:{valType:\"color\",dflt:\"rgba(0, 0, 0, 0)\",editType:\"style\"},symbol:ss({},ls.symbol,{arrayOk:!1,editType:\"plot\"}),opacity:ss({},ls.opacity,{arrayOk:!1,dflt:1,editType:\"style\"}),size:ss({},ls.size,{arrayOk:!1,editType:\"calcIfAutorange\"}),color:ss({},ls.color,{arrayOk:!1,editType:\"style\"}),line:{color:ss({},us.color,{arrayOk:!1,dflt:C.defaultLine,editType:\"style\"}),width:ss({},us.width,{arrayOk:!1,dflt:0,editType:\"style\"}),outliercolor:{valType:\"color\",editType:\"style\"},outlierwidth:{valType:\"number\",min:0,dflt:1,editType:\"style\"},editType:\"style\"},editType:\"plot\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:Zr.fillcolor,selected:{marker:Zr.selected.marker,editType:\"style\"},unselected:{marker:Zr.unselected.marker,editType:\"style\"},hoveron:{valType:\"flaglist\",flags:[\"boxes\",\"points\"],dflt:\"boxes+points\",editType:\"style\"}},hs=ne._,fs=function(t,e){var n,i,a,o,s,l=t._fullLayout,u=ri.getFromId(t,e.xaxis||\"x\"),c=ri.getFromId(t,e.yaxis||\"y\"),h=[],f=\"violin\"===e.type?\"_numViolins\":\"_numBoxes\";\"h\"===e.orientation?(i=u,a=\"x\",o=c,s=\"y\"):(i=c,a=\"y\",o=u,s=\"x\");var p=i.makeCalcdata(e,a),d=function(t,e,n,i,a){if(e in t)return n.makeCalcdata(t,e);var o;o=e+\"0\"in t?t[e+\"0\"]:\"name\"in t&&(\"category\"===n.type||r(t.name)&&-1!==[\"linear\",\"log\"].indexOf(n.type)||ne.isDateTime(t.name)&&\"date\"===n.type)?t.name:a;var s=n.d2c(o,0,t[e+\"calendar\"]);return i.map(function(){return s})}(e,s,o,p,l[f]),g=ne.distinctVals(d),v=g.vals,m=g.minDiff/2,y=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i<r;i++)n[i]=t[i]-e;return n[r]=t[r-1]+e,n}(v,m),x=p.length,b=v.length,_=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=[];return e}(b);for(n=0;n<x;n++){var w=p[n];if(r(w)){var M=ne.findBin(d[n],y);if(M>=0&&M<b){var A={v:w,i:n};ps(A,e,n),_[M].push(A)}}}for(n=0;n<b;n++)if(_[n].length>0){var k=_[n].sort(ds),T=k.map(gs),S=T.length,E={pos:v[n],pts:k};E.min=T[0],E.max=T[S-1],E.mean=ne.mean(T,S),E.sd=ne.stdev(T,S,E.mean),E.q1=ne.interp(T,.25),E.med=ne.interp(T,.5),E.q3=ne.interp(T,.75),E.lf=Math.min(E.q1,T[Math.min(ne.findBin(2.5*E.q1-1.5*E.q3,T,!0)+1,S-1)]),E.uf=Math.max(E.q3,T[Math.max(ne.findBin(2.5*E.q3-1.5*E.q1,T),0)]),E.lo=4*E.q1-3*E.q3,E.uo=4*E.q3-3*E.q1;var C=1.57*(E.q3-E.q1)/Math.sqrt(S);E.ln=E.med-C,E.un=E.med+C,h.push(E)}return function(t,e){if(ne.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r<t.length;r++){for(var n=t[r].pts||[],i={},a=0;a<n.length;a++)i[n[a].i]=a;ne.tagSelected(n,e,i)}}(h,e),ri.expand(i,p,{padded:!0}),h.length>0?(h[0].t={num:l[f],dPos:m,posLetter:s,valLetter:a,labels:{med:hs(t,\"median:\"),min:hs(t,\"min:\"),q1:hs(t,\"q1:\"),q3:hs(t,\"q3:\"),max:hs(t,\"max:\"),mean:\"sd\"===e.boxmean?hs(t,\"mean \\xb1 \\u03c3:\"):hs(t,\"mean:\"),lf:hs(t,\"lower fence:\"),uf:hs(t,\"upper fence:\")}},e._fullInput&&\"candlestick\"===e._fullInput.type&&delete h[0].t.labels,l[f]++,h):[{t:{empty:!0}}]};function ps(t,e,r){var n={text:\"tx\"};for(var i in n)Array.isArray(e[i])&&(t[n[i]]=e[i][r])}function ds(t,e){return t.v-e.v}function gs(t){return t.v}function vs(t,e,r,n){var i,a=r(\"y\"),o=r(\"x\");if(a&&a.length)i=\"v\",o||r(\"x0\");else{if(!o||!o.length)return void(e.visible=!1);i=\"h\",r(\"y0\")}P.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],n),r(\"orientation\",i)}function ms(t,e,r,n){var i=n.prefix,a=ne.coerce2(t,e,cs,\"marker.outliercolor\"),o=r(\"marker.line.outliercolor\"),s=r(i+\"points\",a||o?\"suspectedoutliers\":void 0);s?(r(\"jitter\",\"all\"===s?.3:0),r(\"pointpos\",\"all\"===s?-1.5:0),r(\"marker.symbol\"),r(\"marker.opacity\"),r(\"marker.size\"),r(\"marker.color\",e.line.color),r(\"marker.line.color\"),r(\"marker.line.width\"),\"suspectedoutliers\"===s&&(r(\"marker.line.outliercolor\",e.marker.color),r(\"marker.line.outlierwidth\")),r(\"selected.marker.color\"),r(\"unselected.marker.color\"),r(\"selected.marker.size\"),r(\"unselected.marker.size\"),r(\"text\")):delete e.marker,r(\"hoveron\"),ne.coerceSelectionMarkerOpacity(e,r)}var ys={supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,cs,r,n)}vs(t,e,i,n),!1!==e.visible&&(i(\"line.color\",(t.marker||{}).color||r),i(\"line.width\"),i(\"fillcolor\",Oe.addOpacity(e.line.color,.5)),i(\"whiskerwidth\"),i(\"boxmean\"),i(\"notched\",void 0!==t.notchwidth)&&i(\"notchwidth\"),ms(t,e,i,{prefix:\"box\"}))},handleSampleDefaults:vs,handlePointsDefaults:ms};function xs(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d,g,v=t.cd,m=t.xa,y=t.ya,x=v[0].trace,b=v[0].t,_=\"violin\"===x.type,w=[],M=b.bdPos,A=function(t){return t.pos+b.bPos-u};_&&\"both\"!==x.side?(\"positive\"===x.side&&(f=function(t){var e=A(t);return yo.inbox(e,e+M,p)}),\"negative\"===x.side&&(f=function(t){var e=A(t);return yo.inbox(e-M,e,p)})):f=function(t){var e=A(t);return yo.inbox(e-M,e+M,p)},g=_?function(t){return yo.inbox(t.span[0]-l,t.span[1]-l,p)}:function(t){return yo.inbox(t.min-l,t.max-l,p)},\"h\"===x.orientation?(l=e,u=r,c=g,h=f,i=\"y\",o=y,a=\"x\",s=m):(l=r,u=e,c=f,h=g,i=\"x\",o=m,a=\"y\",s=y);var k=Math.min(1,M/Math.abs(o.r2c(o.range[1])-o.r2c(o.range[0])));function T(t){return(c(t)+h(t))/2}p=t.maxHoverDistance-k,d=t.maxSpikeDistance-k;var S=yo.getDistanceFunction(n,c,h,T);if(yo.getClosest(v,S,t),!1===t.index)return[];var E=v[t.index],C=x.line.color,L=(x.marker||{}).color;Oe.opacity(C)&&x.line.width?t.color=C:Oe.opacity(L)&&x.boxpoints?t.color=L:t.color=x.fillcolor,t[i+\"0\"]=o.c2p(E.pos+b.bPos-b.bdPos,!0),t[i+\"1\"]=o.c2p(E.pos+b.bPos+b.bdPos,!0),ri.tickText(o,o.c2l(E.pos),\"hover\").text,t[i+\"LabelVal\"]=E.pos;var z=i+\"Spike\";t.spikeDistance=T(E)*d/p,t[z]=o.c2p(E.pos,!0);var P={},I=[\"med\",\"min\",\"q1\",\"q3\",\"max\"];(x.boxmean||(x.meanline||{}).visible)&&I.push(\"mean\"),(x.boxpoints||x.points)&&I.push(\"lf\",\"uf\");for(var D=0;D<I.length;D++){var O=I[D];if(O in E&&!(E[O]in P)){P[E[O]]=!0;var R=E[O],F=s.c2p(R,!0),B=ne.extendFlat({},t);B[a+\"0\"]=B[a+\"1\"]=F,B[a+\"LabelVal\"]=R,B[a+\"Label\"]=(b.labels?b.labels[O]+\" \":\"\")+ri.hoverLabelText(s,R),\"mean\"===O&&\"sd\"in E&&\"sd\"===x.boxmean&&(B[a+\"err\"]=E.sd),t.name=\"\",t.spikeDistance=void 0,t[z]=void 0,w.push(B)}}return w}function bs(t,e,r){for(var n,i,a,o=t.cd,s=t.xa,l=t.ya,u=o[0].trace,c=s.c2p(e),h=l.c2p(r),f=yo.quadrature(function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(s.c2p(t.x)-c)-e,1-3/e)},function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(l.c2p(t.y)-h)-e,1-3/e)}),p=!1,d=0;d<o.length;d++){i=o[d];for(var g=0;g<(i.pts||[]).length;g++){var v=f(a=i.pts[g]);v<=t.distance&&(t.distance=v,p=[d,g])}}if(!p)return!1;a=(i=o[p[0]]).pts[p[1]];var m=s.c2p(a.x,!0),y=l.c2p(a.y,!0),x=a.mrc||1;n=ne.extendFlat({},t,{index:a.i,color:(u.marker||{}).color,name:u.name,x0:m-x,x1:m+x,xLabelVal:a.x,y0:y-x,y1:y+x,yLabelVal:a.y,spikeDistance:t.distance});var b=\"h\"===u.orientation?\"y\":\"x\",_=\"h\"===u.orientation?l:s;return n[b+\"Spike\"]=_.c2p(i.pos,!0),xo(a,u,n),n}var _s={hoverPoints:function(t,e,r,n){var i,a=t.cd[0].trace.hoveron,o=[];return-1!==a.indexOf(\"boxes\")&&(o=o.concat(xs(t,e,r,n))),-1!==a.indexOf(\"points\")&&(i=bs(t,e,r)),\"closest\"===n?i?[i]:o:i?(o.push(i),o):o},hoverOnBoxes:xs,hoverOnPoints:bs},ws={boxmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},boxgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"},boxgroupgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"}};function Ms(t,e,r,n,i){for(var a,o=0;o<r.length;o++)if(r[o].type===i){a=!0;break}a&&(n(i+\"mode\"),n(i+\"gap\"),n(i+\"groupgap\"))}var As={supplyLayoutDefaults:function(t,e,r){Ms(0,0,r,function(r,n){return ne.coerce(t,e,ws,r,n)},\"box\")},_supply:Ms},ks=5,Ts=.01;function Ss(t,r,n,i){var a,o,s=r.pos,l=r.val,u=i.bPos,c=i.wdPos||0,h=i.bPosPxOffset||0,f=n.whiskerwidth||0,p=n.notched||!1,d=p?1-2*n.notchwidth:1;Array.isArray(i.bdPos)?(a=i.bdPos[0],o=i.bdPos[1]):(a=i.bdPos,o=i.bdPos),t.selectAll(\"path.box\").data(ne.identity).enter().append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").attr(\"class\",\"box\").each(function(t){var r=t.pos,i=s.c2p(r+u,!0)+h,g=s.c2p(r+u-a,!0)+h,v=s.c2p(r+u+o,!0)+h,m=s.c2p(r+u-c,!0)+h,y=s.c2p(r+u+c,!0)+h,x=s.c2p(r+u-a*d,!0)+h,b=s.c2p(r+u+o*d,!0)+h,_=l.c2p(t.q1,!0),w=l.c2p(t.q3,!0),M=ne.constrain(l.c2p(t.med,!0),Math.min(_,w)+1,Math.max(_,w)-1),A=l.c2p(!1===n.boxpoints?t.min:t.lf,!0),k=l.c2p(!1===n.boxpoints?t.max:t.uf,!0),T=l.c2p(t.ln,!0),S=l.c2p(t.un,!0);\"h\"===n.orientation?e.select(this).attr(\"d\",\"M\"+M+\",\"+x+\"V\"+b+\"M\"+_+\",\"+g+\"V\"+v+(p?\"H\"+T+\"L\"+M+\",\"+b+\"L\"+S+\",\"+v:\"\")+\"H\"+w+\"V\"+g+(p?\"H\"+S+\"L\"+M+\",\"+x+\"L\"+T+\",\"+g:\"\")+\"ZM\"+_+\",\"+i+\"H\"+A+\"M\"+w+\",\"+i+\"H\"+k+(0===f?\"\":\"M\"+A+\",\"+m+\"V\"+y+\"M\"+k+\",\"+m+\"V\"+y)):e.select(this).attr(\"d\",\"M\"+x+\",\"+M+\"H\"+b+\"M\"+g+\",\"+_+\"H\"+v+(p?\"V\"+T+\"L\"+b+\",\"+M+\"L\"+v+\",\"+S:\"\")+\"V\"+w+\"H\"+g+(p?\"V\"+S+\"L\"+x+\",\"+M+\"L\"+g+\",\"+T:\"\")+\"ZM\"+i+\",\"+_+\"V\"+A+\"M\"+i+\",\"+w+\"V\"+k+(0===f?\"\":\"M\"+m+\",\"+A+\"H\"+y+\"M\"+m+\",\"+k+\"H\"+y))})}function Es(t,e,r,n){var i=e.x,a=e.y,o=n.bdPos,s=n.bPos,l=r.boxpoints||r.points;ne.seedPseudoRandom(),t.selectAll(\"g.points\").data(function(t){return t.forEach(function(t){t.t=n,t.trace=r}),t}).enter().append(\"g\").attr(\"class\",\"points\").selectAll(\"path\").data(function(t){var e,n,i=\"all\"===l?t.pts:t.pts.filter(function(e){return e.v<t.lf||e.v>t.uf}),a=Math.max((t.max-t.min)/10,t.q3-t.q1),u=1e-9*a,c=a*Ts,h=[],f=0;if(r.jitter){if(0===a)for(f=1,h=new Array(i.length),e=0;e<i.length;e++)h[e]=1;else for(e=0;e<i.length;e++){var p=Math.max(0,e-ks),d=i[p].v,g=Math.min(i.length-1,e+ks),v=i[g].v;\"all\"!==l&&(i[e].v<t.lf?v=Math.min(v,t.lf):d=Math.max(d,t.uf));var m=Math.sqrt(c*(g-p)/(v-d+u))||0;m=ne.constrain(Math.abs(m),0,1),h.push(m),f=Math.max(m,f)}n=2*r.jitter/f}for(e=0;e<i.length;e++){var y=i[e],x=y.v,b=r.jitter?n*h[e]*(ne.pseudoRandom()-.5):0,_=t.pos+s+o*(r.pointpos+b);\"h\"===r.orientation?(y.y=_,y.x=x):(y.x=_,y.y=x),\"suspectedoutliers\"===l&&x<t.uo&&x>t.lo&&(y.so=!0)}return i}).enter().append(\"path\").classed(\"point\",!0).call(Sr.translatePoints,i,a)}function Cs(t,r,n,i){var a,o,s=r.pos,l=r.val,u=i.bPos,c=i.bPosPxOffset||0;Array.isArray(i.bdPos)?(a=i.bdPos[0],o=i.bdPos[1]):(a=i.bdPos,o=i.bdPos),t.selectAll(\"path.mean\").data(ne.identity).enter().append(\"path\").attr(\"class\",\"mean\").style({fill:\"none\",\"vector-effect\":\"non-scaling-stroke\"}).each(function(t){var r=s.c2p(t.pos+u,!0)+c,i=s.c2p(t.pos+u-a,!0)+c,h=s.c2p(t.pos+u+o,!0)+c,f=l.c2p(t.mean,!0),p=l.c2p(t.mean-t.sd,!0),d=l.c2p(t.mean+t.sd,!0);\"h\"===n.orientation?e.select(this).attr(\"d\",\"M\"+f+\",\"+i+\"V\"+h+(\"sd\"===n.boxmean?\"m0,0L\"+p+\",\"+r+\"L\"+f+\",\"+i+\"L\"+d+\",\"+r+\"Z\":\"\")):e.select(this).attr(\"d\",\"M\"+i+\",\"+f+\"H\"+h+(\"sd\"===n.boxmean?\"m0,0L\"+r+\",\"+p+\"L\"+i+\",\"+f+\"L\"+r+\",\"+d+\"Z\":\"\"))})}var Ls={plot:function(t,r,n){var i=t._fullLayout,a=r.xaxis,o=r.yaxis;r.plot.select(\".boxlayer\").selectAll(\"g.trace.boxes\").data(n).enter().append(\"g\").attr(\"class\",\"trace boxes\").each(function(t){var r,n,s=t[0],l=s.t,u=s.trace,c=s.node3=e.select(this),h=i._numBoxes,f=\"group\"===i.boxmode&&h>1,p=l.dPos*(1-i.boxgap)*(1-i.boxgroupgap)/(f?h:1),d=f?2*l.dPos*((l.num+.5)/h-.5)*(1-i.boxgap):0,g=p*u.whiskerwidth;!0!==u.visible||l.empty?e.select(this).remove():(\"h\"===u.orientation?(r=o,n=a):(r=a,n=o),l.bPos=d,l.bdPos=p,l.wdPos=g,Ss(c,{pos:r,val:n},u,l),u.boxpoints&&Es(c,{x:a,y:o},u,l),u.boxmean&&Cs(c,{pos:r,val:n},u,l))})},plotBoxAndWhiskers:Ss,plotPoints:Es,plotBoxMean:Cs},zs=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++)i[r].pts[n].selected=0;else for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++){var l=i[r].pts[n],u=a.c2p(l.x),c=o.c2p(l.y);e.contains([u,c])?(s.push({pointNumber:l.i,x:a.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s},Ps=[\"v\",\"h\"];function Is(t,e,r,n,i){var a,o,s,l=e.calcdata,u=e._fullLayout,c=[],h=\"violin\"===t?\"_numViolins\":\"_numBoxes\";for(a=0;a<r.length;a++)for(s=l[r[a]],o=0;o<s.length;o++)c.push(s[o].pos);if(c.length){var f=ne.distinctVals(c),p=f.minDiff/2;for(c.length===f.vals.length&&(u[h]=1),ri.minDtick(n,f.minDiff,f.vals[0],!0),a=0;a<r.length;a++)(s=l[r[a]])[0].t.dPos=p;var d=(1-u[t+\"gap\"])*(1-u[t+\"groupgap\"])*p/u[h];ri.expand(n,f.vals,{vpadminus:p+i[0]*d,vpadplus:p+i[1]*d})}}var Ds=function(t,e){for(var r=t.calcdata,n=e.xaxis,i=e.yaxis,a=0;a<Ps.length;a++){for(var o=Ps[a],s=\"h\"===o?i:n,l=[],u=0,c=0,h=0;h<r.length;h++){var f=r[h],p=f[0].t,d=f[0].trace;!0!==d.visible||\"box\"!==d.type||p.empty||d.orientation!==o||d.xaxis!==n._id||d.yaxis!==i._id||(l.push(h),!1!==d.boxpoints&&(u=Math.max(u,d.jitter-d.pointpos-1),c=Math.max(c,d.jitter+d.pointpos-1)))}Is(\"box\",t,l,s,[u,c])}},Os=Is,Rs={};Rs.attributes=cs,Rs.layoutAttributes=ws,Rs.supplyDefaults=ys.supplyDefaults,Rs.supplyLayoutDefaults=As.supplyLayoutDefaults,Rs.calc=fs,Rs.setPositions=Ds,Rs.plot=Ls.plot,Rs.style=function(t,r){var n=r?r[0].node3:e.select(t).selectAll(\"g.trace.boxes\");n.style(\"opacity\",function(t){return t[0].trace.opacity}),n.each(function(r){var n=e.select(this),i=r[0].trace,a=i.line.width;n.selectAll(\"path.box\").style(\"stroke-width\",a+\"px\").call(Oe.stroke,i.line.color).call(Oe.fill,i.fillcolor),n.selectAll(\"path.mean\").style({\"stroke-width\":a,\"stroke-dasharray\":2*a+\"px,\"+a+\"px\"}).call(Oe.stroke,i.line.color);var o=n.selectAll(\"path.point\");Sr.pointStyle(o,i,t),Sr.selectedPointStyle(o,i)})},Rs.hoverPoints=_s.hoverPoints,Rs.selectPoints=zs,Rs.moduleType=\"trace\",Rs.name=\"box\",Rs.basePlotModule=ua,Rs.categories=[\"cartesian\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\"],Rs.meta={};var Fs=Rs,Bs=Fs,Ns=Object.getOwnPropertySymbols,js=Object.prototype.hasOwnProperty,Vs=Object.prototype.propertyIsEnumerable;var Us=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,n,i=function(t){if(null===t||void 0===t)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}(t),a=1;a<arguments.length;a++){for(var o in r=Object(arguments[a]))js.call(r,o)&&(i[o]=r[o]);if(Ns){n=Ns(r);for(var s=0;s<n.length;s++)Vs.call(r,n[s])&&(i[n[s]]=r[n[s]])}}return i},qs={};function Hs(){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 Gs(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(Zs.local.invalidDate||Zs.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name)}function Ws(t,e){return\"000000\".substring(0,e-(t=\"\"+t).length)+t}function Ys(){this.shortYearCutoff=\"+10\"}function Xs(t){this.local=this.regionalOptions[t]||this.regionalOptions[\"\"]}Us(Hs.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()).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]}}}),Us(Gs.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(Zs.local.invalidDate||Zs.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(Zs.local.differentCalendars||Zs.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?\"-\":\"\")+Ws(Math.abs(this.year()),4)+\"-\"+Ws(this.month(),2)+\"-\"+Ws(this.day(),2)}}),Us(Ys.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,Zs.local.invalidDate||Zs.regionalOptions[\"\"].invalidDate),r=t.day(),e=t.month(),t=t.year()),new Gs(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,Zs.local.invalidYear||Zs.regionalOptions[\"\"].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,Zs.local.invalidYear||Zs.regionalOptions[\"\"].invalidYear);return(e.year()<0?\"-\":\"\")+Ws(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,Zs.local.invalidYear||Zs.regionalOptions[\"\"].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,Zs.local.invalidMonth||Zs.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,Zs.local.invalidMonth||Zs.regionalOptions[\"\"].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,Zs.local.invalidYear||Zs.regionalOptions[\"\"].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,Zs.local.invalidDate||Zs.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,Zs.local.invalidDate||Zs.regionalOptions[\"\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,Zs.local.invalidDate||Zs.regionalOptions[\"\"].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,Zs.local.invalidDate||Zs.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,Zs.local.invalidDate||Zs.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,Zs.local.invalidDate||Zs.regionalOptions[\"\"].invalidDate);return Zs.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(t){return this.fromJD(Zs.instance().fromJSDate(t).toJD())},_validate:function(t,e,r,n){if(t.year){if(0===this._validateLevel&&this.name!==t.calendar().name)throw(Zs.local.differentCalendars||Zs.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this.local.name).replace(/\\{1\\}/,t.calendar().local.name);return t}try{if(this._validateLevel++,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}}}),Xs.prototype=new Ys,Us(Xs.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,Zs.local.invalidYear||Zs.regionalOptions[\"\"].invalidYear);return(t=e.year()+(e.year()<0?1:0))%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,Zs.local.invalidMonth||Zs.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,Zs.local.invalidDate||Zs.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),n=(r=e+1+r-Math.floor(r/4))+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,Zs.local.invalidDate||Zs.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 Zs=qs=new Hs;Zs.cdate=Gs,Zs.baseCalendar=Ys,Zs.calendars.gregorian=Xs;var Js=qs.instance();function Ks(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}Ks.prototype=new qs.baseCalendar,Us(Ks.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($s);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(tl);return e?e[0]:\"\"}var r=this._validateYear(t),n=t.month(),i=[\"\\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\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i=\"\\u95f0\"+i),i},monthNamesShort:function(t){if(\"string\"==typeof t){var e=t.match(el);return e?e[0]:\"\"}var r=this._validateYear(t),n=t.month(),i=[\"\\u4e00\",\"\\u4e8c\",\"\\u4e09\",\"\\u56db\",\"\\u4e94\",\"\\u516d\",\"\\u4e03\",\"\\u516b\",\"\\u4e5d\",\"\\u5341\",\"\\u5341\\u4e00\",\"\\u5341\\u4e8c\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i=\"\\u95f0\"+i),i},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 qs.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return n?!r&&e<=n?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw qs.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return r?e<r?e+1:e:e+1},intercalaryMonth:function(t){return t=this._validateYear(t),rl[t-rl[0]]>>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).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,qs.local.invalidyear),a=nl[i-nl[0]],o=a>>9&4095,s=a>>5&15,l=31&a;(n=Js.newDate(o,s,l)).add(4-(n.dayOfWeek()||7),\"d\");var u=this.toJD(t,e,r)-n.toJD();return 1+Math.floor(u/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=rl[t-rl[0]];if(e>(r>>13?12:11))throw qs.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,a,r,qs.local.invalidDate);t=this._validateYear(n.year()),e=n.month(),r=n.day();var i=this.isIntercalaryMonth(t,e),a=this.toChineseMonth(t,e),o=function(t,e,r,n,i){var a,o,s;if(\"object\"==typeof t)o=t,a=e||{};else{var l=\"number\"==typeof t&&t>=1888&&t<=2111;if(!l)throw new Error(\"Lunar year outside range 1888-2111\");var u=\"number\"==typeof e&&e>=1&&e<=12;if(!u)throw new Error(\"Lunar month outside range 1 - 12\");var c,h=\"number\"==typeof r&&r>=1&&r<=30;if(!h)throw new Error(\"Lunar day outside range 1 - 30\");\"object\"==typeof n?(c=!1,a=n):(c=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:c}}s=o.day-1;var f,p=rl[o.year-rl[0]],d=p>>13;f=d?o.month>d?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var g=0;g<f;g++){var v=p&1<<12-g?30:29;s+=v}var m=nl[o.year-nl[0]],y=new Date(m>>9&4095,(m>>5&15)-1,(31&m)+s);return a.year=y.getFullYear(),a.month=1+y.getMonth(),a.day=y.getDate(),a}(t,a,r,i);return Js.toJD(o.year,o.month,o.day)},fromJD:function(t){var e=Js.fromJD(t),r=function(t,e,r,n){var i,a;if(\"object\"==typeof t)i=t,a=e||{};else{var o=\"number\"==typeof t&&t>=1888&&t<=2111;if(!o)throw new Error(\"Solar year outside range 1888-2111\");var s=\"number\"==typeof e&&e>=1&&e<=12;if(!s)throw new Error(\"Solar month outside range 1 - 12\");var l=\"number\"==typeof r&&r>=1&&r<=31;if(!l)throw new Error(\"Solar day outside range 1 - 31\");i={year:t,month:e,day:r},a=n||{}}var u=nl[i.year-nl[0]],c=i.year<<9|i.month<<5|i.day;a.year=c>=u?i.year:i.year-1,u=nl[a.year-nl[0]];var h,f=new Date(u>>9&4095,(u>>5&15)-1,31&u),p=new Date(i.year,i.month-1,i.day);h=Math.round((p-f)/864e5);var d,g=rl[a.year-rl[0]];for(d=0;d<13;d++){var v=g&1<<12-d?30:29;if(h<v)break;h-=v}var m=g>>13;!m||d<m?(a.isIntercalary=!1,a.month=1+d):d===m?(a.isIntercalary=!0,a.month=d):(a.isIntercalary=!1,a.month=d);return a.day=1+h,a}(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(Qs),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 n=t.year(),i=t.month(),a=this.isIntercalaryMonth(n,i),o=this.toChineseMonth(n,i),s=Object.getPrototypeOf(Ks.prototype).add.call(this,t,e,r);if(\"y\"===r){var l=s.year(),u=s.month(),c=this.isIntercalaryMonth(l,o),h=a&&c?this.toMonthIndex(l,o,!0):this.toMonthIndex(l,o,!1);h!==u&&s.month(h)}return s}});var Qs=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)[-/](\\d?\\d)([iI]?)[-/](\\d?\\d)/m,$s=/^\\d?\\d[iI]?/m,tl=/^\\u95f0?\\u5341?[\\u4e00\\u4e8c\\u4e09\\u56db\\u4e94\\u516d\\u4e03\\u516b\\u4e5d]?\\u6708/m,el=/^\\u95f0?\\u5341?[\\u4e00\\u4e8c\\u4e09\\u56db\\u4e94\\u516d\\u4e03\\u516b\\u4e5d]?/m;qs.calendars.chinese=Ks;var rl=[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],nl=[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];function il(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}il.prototype=new qs.baseCalendar,Us(il.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,qs.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,qs.local.invalidYear||qs.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,qs.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,qs.local.invalidDate);return(t=n.year())<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)}}),qs.calendars.coptic=il;function al(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}al.prototype=new qs.baseCalendar,Us(al.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,qs.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,qs.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,qs.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,qs.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,qs.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,qs.local.invalidDate);return{century:ol[Math.floor((n.year()-1)/100)+1]||\"\"}},toJD:function(t,e,r){var n=this._validate(t,e,r,qs.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 ol={20:\"Fruitbat\",21:\"Anchovy\"};qs.calendars.discworld=al;function sl(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}sl.prototype=new qs.baseCalendar,Us(sl.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,qs.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,qs.local.invalidYear||qs.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,qs.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,qs.local.invalidDate);return(t=n.year())<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)}}),qs.calendars.ethiopian=sl;function ll(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function ul(t,e){return t-e*Math.floor(t/e)}ll.prototype=new qs.baseCalendar,Us(ll.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,qs.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return ul(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,qs.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,qs.local.invalidYear).year(),this.toJD(-1===t?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,qs.local.invalidMonth),12===e&&this.leapYear(t)?30:8===e&&5===ul(this.daysInYear(t),10)?30:9===e&&3===ul(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,qs.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,qs.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var i=t<=0?t+1:t,a=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(e<7){for(var o=7;o<=this.monthsInYear(t);o++)a+=this.daysInMonth(t,o);for(o=1;o<e;o++)a+=this.daysInMonth(t,o)}else for(o=7;o<e;o++)a+=this.daysInMonth(t,o);return a},_delay1:function(t){var e=Math.floor((235*t-234)/19),r=12084+13753*e,n=29*e+Math.floor(r/25920);return ul(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(-1===e?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)}}),qs.calendars.hebrew=ll;function cl(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}cl.prototype=new qs.baseCalendar,Us(cl.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,qs.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,qs.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,qs.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)}}),qs.calendars.islamic=cl;function hl(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}hl.prototype=new qs.baseCalendar,Us(hl.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\"],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,qs.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%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,qs.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,qs.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)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),qs.calendars.julian=hl;function fl(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function pl(t,e){return t-e*Math.floor(t/e)}function dl(t,e){return pl(t-1,e)+1}fl.prototype=new qs.baseCalendar,Us(fl.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,qs.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,qs.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(\".\")).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,qs.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,qs.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,qs.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,qs.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,qs.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,qs.local.invalidDate),!0},extraInfo:function(t,e,r){var n=this._validate(t,e,r,qs.local.invalidDate).toJD(),i=this._toHaab(n),a=this._toTzolkin(n);return{haabMonthName:this.local.haabMonths[i[0]-1],haabMonth:i[0],haabDay:i[1],tzolkinDayName:this.local.tzolkinMonths[a[0]-1],tzolkinDay:a[0],tzolkinTrecena:a[1]}},_toHaab:function(t){var e=pl((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,pl(e,20)]},_toTzolkin:function(t){return[dl((t-=this.jdEpoch)+20,20),dl(t+4,13)]},toJD:function(t,e,r){var n=this._validate(t,e,r,qs.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)}}),qs.calendars.mayan=fl;function vl(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}vl.prototype=new qs.baseCalendar;var ml=qs.instance(\"gregorian\");Us(vl.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,qs.local.invalidYear||qs.regionalOptions[\"\"].invalidYear);return ml.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,qs.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,qs.local.invalidMonth);(t=n.year())<0&&t++;for(var i=n.day(),a=1;a<n.month();a++)i+=this.daysPerMonth[a-1];return i+ml.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)}}),qs.calendars.nanakshahi=vl;function yl(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}yl.prototype=new qs.baseCalendar,Us(yl.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,qs.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,qs.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,qs.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var i=qs.instance(),a=0,o=e,s=t;this._createMissingCalendarData(t);var l=t-(o>9||9===o&&r>=this.NEPALI_CALENDAR_DATA[s][0]?56:57);for(9!==e&&(a=r,o--);9!==o;)o<=0&&(o=12,s--),a+=this.NEPALI_CALENDAR_DATA[s][o],o--;return 9===e?(a+=r-this.NEPALI_CALENDAR_DATA[s][0])<0&&(a+=i.daysInYear(l)):a+=this.NEPALI_CALENDAR_DATA[s][9]-this.NEPALI_CALENDAR_DATA[s][0],i.newDate(l,1,1).add(a,\"d\").toJD()},fromJD:function(t){var e=qs.instance().fromJD(t),r=e.year(),n=e.dayOfYear(),i=r+56;this._createMissingCalendarData(i);for(var a=9,o=this.NEPALI_CALENDAR_DATA[i][0],s=this.NEPALI_CALENDAR_DATA[i][a]-o+1;n>s;)++a>12&&(a=1,i++),s+=this.NEPALI_CALENDAR_DATA[i][a];var l=this.NEPALI_CALENDAR_DATA[i][a]-(s-n);return this.newDate(i,a,l)},_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],2000:[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]}}),qs.calendars.nepali=yl;function xl(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function bl(t,e){return t-e*Math.floor(t/e)}xl.prototype=new qs.baseCalendar,Us(xl.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,qs.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,qs.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,qs.local.invalidDate);t=n.year(),e=n.month(),r=n.day();var i=t-(t>=0?474:473),a=474+bl(i,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*a-110)/2816)+365*(a-1)+1029983*Math.floor(i/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=bl(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),o=bl(n,366);i=Math.floor((2134*a+2816*o+2815)/1028522)+a+1}var s=i+2820*r+474;s=s<=0?s-1:s;var l=t-this.toJD(s,1,1)+1,u=l<=186?Math.ceil(l/31):Math.ceil((l-6)/30),c=t-this.toJD(s,u,1)+1;return this.newDate(s,u,c)}}),qs.calendars.persian=xl,qs.calendars.jalali=xl;var _l=qs.instance();function wl(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}wl.prototype=new qs.baseCalendar,Us(wl.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,qs.local.invalidYear);t=this._t2gYear(e.year());return _l.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,qs.local.invalidYear);t=this._t2gYear(n.year());return _l.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,qs.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,qs.local.invalidDate);t=this._t2gYear(n.year());return _l.toJD(t,n.month(),n.day())},fromJD:function(t){var e=_l.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)}}),qs.calendars.taiwan=wl;var Ml=qs.instance();function Al(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}Al.prototype=new qs.baseCalendar,Us(Al.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,qs.local.invalidYear);t=this._t2gYear(e.year());return Ml.leapYear(t)},weekOfYear:function(t,e,r){var n=this._validate(t,this.minMonth,this.minDay,qs.local.invalidYear);t=this._t2gYear(n.year());return Ml.weekOfYear(t,n.month(),n.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,qs.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,qs.local.invalidDate);t=this._t2gYear(n.year());return Ml.toJD(t,n.month(),n.day())},fromJD:function(t){var e=Ml.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)}}),qs.calendars.thai=Al;function kl(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}kl.prototype=new qs.baseCalendar,Us(kl.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,qs.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,qs.local.invalidMonth).toJD()-24e5+.5,n=0,i=0;i<Tl.length;i++){if(Tl[i]>r)return Tl[n]-Tl[n-1];n++}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,qs.local.invalidDate),i=12*(n.year()-1)+n.month()-15292;return n.day()+Tl[i-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;n<Tl.length&&!(Tl[n]>e);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),o=a+1,s=i-12*a,l=e-Tl[r-1]+1;return this.newDate(o,s,l)},isValid:function(t,e,r){var n=qs.baseCalendar.prototype.isValid.apply(this,arguments);return n&&(n=(t=null!=t.year?t.year:t)>=1276&&t<=1500),n},_validate:function(t,e,r,n){var i=qs.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw n.replace(/\\{0\\}/,this.local.name);return i}}),qs.calendars.ummalqura=kl;var Tl=[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];Us(qs.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\"}),qs.local=qs.regionalOptions[\"\"],Us(qs.cdate.prototype,{formatDate:function(t,e){return\"string\"!=typeof t&&(e=t,t=\"\"),this._calendar.formatDate(t||\"\",this,e)}}),Us(qs.baseCalendar.prototype,{UNIX_EPOCH:qs.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:qs.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 qs.local.invalidFormat||qs.regionalOptions[\"\"].invalidFormat;t=t||this.local.dateFormat;for(var n,i,a,o,s=(r=r||{}).dayNamesShort||this.local.dayNamesShort,l=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,h=r.monthNames||this.local.monthNames,f=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;_+n<t.length&&t.charAt(_+n)===e;)n++;return _+=n-1,Math.floor(n/(r||1))>1}),p=function(t,e,r,n){var i=\"\"+e;if(f(t,n))for(;i.length<r;)i=\"0\"+i;return i},d=this,g=function(t){return\"function\"==typeof u?u.call(d,t,f(\"m\")):y(p(\"m\",t.month(),2))},v=function(t,e){return e?\"function\"==typeof h?h.call(d,t):h[t.month()-d.minMonth]:\"function\"==typeof c?c.call(d,t):c[t.month()-d.minMonth]},m=this.local.digits,y=function(t){return r.localNumbers&&m?m(t):t},x=\"\",b=!1,_=0;_<t.length;_++)if(b)\"'\"!==t.charAt(_)||f(\"'\")?x+=t.charAt(_):b=!1;else switch(t.charAt(_)){case\"d\":x+=y(p(\"d\",e.day(),2));break;case\"D\":x+=(n=\"D\",i=e.dayOfWeek(),a=s,o=l,f(n)?o[i]:a[i]);break;case\"o\":x+=p(\"o\",e.dayOfYear(),3);break;case\"w\":x+=p(\"w\",e.weekOfYear(),2);break;case\"m\":x+=g(e);break;case\"M\":x+=v(e,f(\"M\"));break;case\"y\":x+=f(\"y\",2)?e.year():(e.year()%100<10?\"0\":\"\")+e.year()%100;break;case\"Y\":f(\"Y\",2),x+=e.formatYear();break;case\"J\":x+=e.toJD();break;case\"@\":x+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case\"!\":x+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case\"'\":f(\"'\")?x+=\"'\":b=!0;break;default:x+=t.charAt(_)}return x},parseDate:function(t,e,r){if(null==e)throw qs.local.invalidArguments||qs.regionalOptions[\"\"].invalidArguments;if(\"\"===(e=\"object\"==typeof e?e.toString():e+\"\"))return null;t=t||this.local.dateFormat;var n=(r=r||{}).shortYearCutoff||this.shortYearCutoff;n=\"string\"!=typeof n?n:this.today().year()%100+parseInt(n,10);for(var i=r.dayNamesShort||this.local.dayNamesShort,a=r.dayNames||this.local.dayNames,o=r.parseMonth||this.local.parseMonth,s=r.monthNumbers||this.local.monthNumbers,l=r.monthNamesShort||this.local.monthNamesShort,u=r.monthNames||this.local.monthNames,c=-1,h=-1,f=-1,p=-1,d=-1,g=!1,v=!1,m=function(e,r){for(var n=1;k+n<t.length&&t.charAt(k+n)===e;)n++;return k+=n-1,Math.floor(n/(r||1))>1},y=function(t,r){var n=m(t,r),i=[2,3,n?4:2,n?4:2,10,11,20][\"oyYJ@!\".indexOf(t)+1],a=new RegExp(\"^-?\\\\d{1,\"+i+\"}\"),o=e.substring(A).match(a);if(!o)throw(qs.local.missingNumberAt||qs.regionalOptions[\"\"].missingNumberAt).replace(/\\{0\\}/,A);return A+=o[0].length,parseInt(o[0],10)},x=this,b=function(){if(\"function\"==typeof s){m(\"m\");var t=s.call(x,e.substring(A));return A+=t.length,t}return y(\"m\")},_=function(t,r,n,i){for(var a=m(t,i)?n:r,o=0;o<a.length;o++)if(e.substr(A,a[o].length).toLowerCase()===a[o].toLowerCase())return A+=a[o].length,o+x.minMonth;throw(qs.local.unknownNameAt||qs.regionalOptions[\"\"].unknownNameAt).replace(/\\{0\\}/,A)},w=function(){if(\"function\"==typeof u){var t=m(\"M\")?u.call(x,e.substring(A)):l.call(x,e.substring(A));return A+=t.length,t}return _(\"M\",l,u)},M=function(){if(e.charAt(A)!==t.charAt(k))throw(qs.local.unexpectedLiteralAt||qs.regionalOptions[\"\"].unexpectedLiteralAt).replace(/\\{0\\}/,A);A++},A=0,k=0;k<t.length;k++)if(v)\"'\"!==t.charAt(k)||m(\"'\")?M():v=!1;else switch(t.charAt(k)){case\"d\":p=y(\"d\");break;case\"D\":_(\"D\",i,a);break;case\"o\":d=y(\"o\");break;case\"w\":y(\"w\");break;case\"m\":f=b();break;case\"M\":f=w();break;case\"y\":var T=k;g=!m(\"y\",2),k=T,h=y(\"y\",2);break;case\"Y\":h=y(\"Y\",2);break;case\"J\":c=y(\"J\")+.5,\".\"===e.charAt(A)&&(A++,y(\"J\"));break;case\"@\":c=y(\"@\")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case\"!\":c=y(\"!\")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case\"*\":A=e.length;break;case\"'\":m(\"'\")?M():v=!0;break;default:M()}if(A<e.length)throw qs.local.unexpectedText||qs.regionalOptions[\"\"].unexpectedText;if(-1===h?h=this.today().year():h<100&&g&&(h+=-1===n?1900:this.today().year()-this.today().year()%100-(h<=n?0:100)),\"string\"==typeof f&&(f=o.call(this,h,f)),d>-1){f=1,p=d;for(var S=this.daysInMonth(h,f);p>S;S=this.daysInMonth(h,f))f++,p-=S}return c>-1?this.fromJD(c):this.newDate(h,f,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){}for(var e=((t=t.toLowerCase()).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)}});var Sl=qs,El=t.EPOCHJD,Cl=t.ONEDAY,Ll={valType:\"enumerated\",values:Object.keys(Sl.calendars),editType:\"calc\",dflt:\"gregorian\"},zl=function(t,e,r,n){var i={};return i[r]=Ll,ne.coerce(t,e,i,r,n)},Pl=\"##\",Il={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:Pl,w:Pl,c:{0:\"D M d %X yyyy\",\"-\":\"D M d %X yyyy\"},x:{0:\"mm/dd/yyyy\",\"-\":\"mm/dd/yyyy\"}};var Dl={};function Ol(t){var e=Dl[t];return e||(e=Dl[t]=Sl.instance(t))}function Rl(t){return ne.extendFlat({},Ll,{description:t})}function Fl(t){return\"Sets the calendar system to use with `\"+t+\"` date data.\"}var Bl={xcalendar:Rl(Fl(\"x\"))},Nl=ne.extendFlat({},Bl,{ycalendar:Rl(Fl(\"y\"))}),jl=ne.extendFlat({},Nl,{zcalendar:Rl(Fl(\"z\"))}),Vl=Rl([\"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(\" \")),Ul={moduleType:\"component\",name:\"calendars\",schema:{traces:{scatter:Nl,bar:Nl,box:Nl,heatmap:Nl,contour:Nl,histogram:Nl,histogram2d:Nl,histogram2dcontour:Nl,scatter3d:jl,surface:jl,mesh3d:jl,scattergl:Nl,ohlc:Bl,candlestick:Bl},layout:{calendar:Rl([\"Sets the default calendar system to use for interpreting and\",\"displaying dates throughout the plot.\"].join(\" \"))},subplots:{xaxis:{calendar:Vl},yaxis:{calendar:Vl},scene:{xaxis:{calendar:Vl},yaxis:{calendar:Vl},zaxis:{calendar:Vl}},polar:{radialaxis:{calendar:Vl}}},transforms:{filter:{valuecalendar:Rl([\"Sets the calendar system to use for `value`, if it is a date.\"].join(\" \")),targetcalendar:Rl([\"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:Ll,handleDefaults:zl,handleTraceDefaults:function(t,e,r,n){for(var i=0;i<r.length;i++)zl(t,e,r[i]+\"calendar\",n.calendar)},CANONICAL_SUNDAY:{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\"},CANONICAL_TICK:{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\"},DFLTRANGE:{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\"]},getCal:Ol,worldCalFmt:function(t,e,r){for(var n,i,a,o,s,l=Math.floor((e+.05)/Cl)+El,u=Ol(r).fromJD(l),c=0;-1!==(c=t.indexOf(\"%\",c));)\"0\"===(n=t.charAt(c+1))||\"-\"===n||\"_\"===n?(a=3,i=t.charAt(c+2),\"_\"===n&&(n=\"-\")):(i=n,n=\"0\",a=2),(o=Il[i])?(s=o===Pl?Pl:u.formatDate(o[n]),t=t.substr(0,c)+s+t.substr(c+a),c+=s.length):c+=a;return t}},ql=ne.extendFlat,Hl=Ae.dash,Gl=Zr.line;function Wl(t){return{name:{valType:\"string\",editType:\"style\"},showlegend:{valType:\"boolean\",dflt:!0,editType:\"style\"},line:{color:ql({},Gl.color,{dflt:t}),width:Gl.width,dash:Hl,editType:\"style\"},editType:\"style\"}}var Yl={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},open:{valType:\"data_array\",dflt:[],editType:\"calc\"},high:{valType:\"data_array\",dflt:[],editType:\"calc\"},low:{valType:\"data_array\",dflt:[],editType:\"calc\"},close:{valType:\"data_array\",dflt:[],editType:\"calc\"},line:{width:ql({},Gl.width,{}),dash:ql({},Hl,{}),editType:\"style\"},increasing:Wl(\"#3D9970\"),decreasing:Wl(\"#FF4136\"),text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},tickwidth:{valType:\"number\",min:0,max:.5,dflt:.3,editType:\"calcIfAutorange\"}},Xl=ne.extendFlat;function Zl(t){return{name:Yl.increasing.name,showlegend:Yl.increasing.showlegend,line:{color:Xl({},cs.line.color,{dflt:t}),width:cs.line.width,editType:\"style\"},fillcolor:cs.fillcolor,editType:\"style\"}}var Jl={x:Yl.x,open:Yl.open,high:Yl.high,low:Yl.low,close:Yl.close,line:{width:Xl({},cs.line.width,{}),editType:\"style\"},increasing:Zl(Yl.increasing.line.color.dflt),decreasing:Zl(Yl.decreasing.line.color.dflt),text:Yl.text,whiskerwidth:Xl({},cs.whiskerwidth,{dflt:0})},Kl=function(t,e,r,n){r(n+\".showlegend\"),!1===t.showlegend&&(e[n].showlegend=!1),r(n+\".name\",e.name+\" - \"+n)},Ql={};Ql.pushDummyTransformOpts=function(t,e){var r={type:e.type,_ephemeral:!0};Array.isArray(t.transforms)?t.transforms.push(r):t.transforms=[r]},Ql.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}},Ql.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)},Ql.makeTransform=function(t,e,r){var n=ne.extendFlat([],t.transforms);return n[e.transformIndex]={type:t.type,direction:r,open:t.open,high:t.high,low:t.low,close:t.close},n},Ql.getFilterFn=function(t){return new function(t){var e=!0,n=null;function i(t,r){return t===r?r>n?e=!0:r<n&&(e=!1):e=t<r,n=r,e}return\"increasing\"===t?function(t,e){return r(t)&&r(e)&&i(+t,+e)}:function(t,e){return r(t)&&r(e)&&!i(+t,+e)}}(t)},Ql.addRangeSlider=function(t,e){for(var r=!1,n=0;n<t.length;n++)if(!0===t[n].visible){r=!0;break}r&&(e.xaxis||(e.xaxis={}),e.xaxis.rangeslider||(e.xaxis.rangeslider={}))};var $l=function(t,e,r,n){var i,a=r(\"x\"),o=r(\"open\"),s=r(\"high\"),l=r(\"low\"),u=r(\"close\");return P.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\"],n),i=Math.min(o.length,s.length,l.length,u.length),a&&(i=Math.min(i,a.length))<a.length&&(e.x=a.slice(0,i)),i<o.length&&(e.open=o.slice(0,i)),i<s.length&&(e.high=s.slice(0,i)),i<l.length&&(e.low=l.slice(0,i)),i<u.length&&(e.close=u.slice(0,i)),i};function tu(t,e,r,n){Kl(t,e,r,n),r(n+\".line.color\"),r(n+\".line.width\",e.line.width),r(n+\".fillcolor\")}var eu={};function ru(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:Ql.makeTransform(t,e,r)},i=t[r];return i&&ne.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),whiskerwidth:t.whiskerwidth,text:t.text,name:i.name,showlegend:i.showlegend,line:i.line,fillcolor:i.fillcolor}),n}eu.moduleType=\"transform\",eu.name=\"candlestick\",eu.attributes={},eu.supplyDefaults=function(t,e,r,n){return Ql.clearEphemeralTransformOpts(n),Ql.copyOHLC(t,e),t},eu.transform=function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n];\"candlestick\"===i.type?r.push(ru(i,e,\"increasing\"),ru(i,e,\"decreasing\")):r.push(i)}return Ql.addRangeSlider(r,e.layout),r},eu.calcTransform=function(t,e,n){for(var i,a,o,s,l=n.direction,u=Ql.getFilterFn(l),c=e.open,h=e.high,f=e.low,p=e.close,d=c.length,g=[],v=[],m=e._fullInput.x?function(t){var r=e.x[t];g.push(r,r,r,r,r,r)}:function(t){g.push(t,t,t,t,t,t)},y=0;y<d;y++)u(c[y],p[y])&&r(h[y])&&r(f[y])&&(m(y),i=c[y],a=h[y],o=f[y],s=p[y],v.push(o,i,s,s,s,a));e.x=g,e.y=v};var nu={moduleType:\"trace\",name:\"candlestick\",basePlotModule:ua,categories:[\"cartesian\",\"showLegend\",\"candlestick\"],meta:{},attributes:Jl,supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Jl,r,n)}Ql.pushDummyTransformOpts(t,e),0!==$l(t,e,i,n)?(i(\"line.width\"),tu(t,e,i,\"increasing\"),tu(t,e,i,\"decreasing\"),i(\"text\"),i(\"whiskerwidth\")):e.visible=!1}};P.register(Fs),P.register(eu);var iu=nu,au=ye.overrideAll,ou={color:{valType:\"color\",editType:\"calc\"},smoothing:{valType:\"number\",dflt:1,min:0,max:1.3,editType:\"calc\"},title:{valType:\"string\",editType:\"calc\"},titlefont:T({editType:\"calc\"}),titleoffset:{valType:\"number\",dflt:10,editType:\"calc\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"date\",\"category\"],dflt:\"-\",editType:\"calc\"},autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0,editType:\"calc\"},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"calc\"},range:{valType:\"info_array\",editType:\"calc\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}]},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cheatertype:{valType:\"enumerated\",values:[\"index\",\"value\"],dflt:\"value\",editType:\"calc\"},tickmode:{valType:\"enumerated\",values:[\"linear\",\"array\"],dflt:\"array\",editType:\"calc\"},nticks:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},tickvals:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},showticklabels:{valType:\"enumerated\",values:[\"start\",\"end\",\"both\",\"none\"],dflt:\"start\",editType:\"calc\"},tickfont:T({editType:\"calc\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"calc\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"calc\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"calc\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"calc\"},tickformatstops:au(Ce.tickformatstops,\"calc\",\"from-root\"),categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},labelpadding:{valType:\"integer\",dflt:10,editType:\"calc\"},labelprefix:{valType:\"string\",editType:\"calc\"},labelsuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showline:{valType:\"boolean\",dflt:!1,editType:\"calc\"},linecolor:{valType:\"color\",dflt:C.defaultLine,editType:\"calc\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},gridcolor:{valType:\"color\",editType:\"calc\"},gridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},showgrid:{valType:\"boolean\",dflt:!0,editType:\"calc\"},minorgridcount:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},minorgridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},minorgridcolor:{valType:\"color\",dflt:C.lightLine,editType:\"calc\"},startline:{valType:\"boolean\",editType:\"calc\"},startlinecolor:{valType:\"color\",editType:\"calc\"},startlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endline:{valType:\"boolean\",editType:\"calc\"},endlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endlinecolor:{valType:\"color\",editType:\"calc\"},tick0:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},dtick:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},arraytick0:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},arraydtick:{valType:\"integer\",min:1,dflt:1,editType:\"calc\"},editType:\"calc\"},su=T({editType:\"calc\"});su.family.dflt='\"Open Sans\", verdana, arial, sans-serif',su.size.dflt=12,su.color.dflt=C.defaultLine;var lu={carpet:{valType:\"string\",editType:\"calc\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},a:{valType:\"data_array\",editType:\"calc\"},a0:{valType:\"number\",dflt:0,editType:\"calc\"},da:{valType:\"number\",dflt:1,editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},b0:{valType:\"number\",dflt:0,editType:\"calc\"},db:{valType:\"number\",dflt:1,editType:\"calc\"},cheaterslope:{valType:\"number\",dflt:1,editType:\"calc\"},aaxis:ou,baxis:ou,font:su,color:{valType:\"color\",dflt:C.defaultLine,editType:\"plot\"}},uu=ne.isArrayOrTypedArray,cu=function(t){return function t(e,r){if(!uu(e)||r>=10)return null;var n=1/0;var i=-1/0;var a=e.length;for(var o=0;o<a;o++){var s=e[o];if(uu(s)){var l=t(s,r+1);l&&(n=Math.min(l[0],n),i=Math.max(l[1],i))}else n=Math.min(s,n),i=Math.max(s,i)}return[n,i]}(t,0)};var hu=m.extendFlat,fu=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d,g,v,m,y=t[r],x=t[r+\"axis\"],b=x._gridlines=[],_=x._minorgridlines=[],w=x._boundarylines=[],M=t[n],A=t[n+\"axis\"];\"array\"===x.tickmode&&(x.tickvals=y.slice());var k=t.xctrl,T=t.yctrl,S=k[0].length,E=k.length,C=t.a.length,L=t.b.length;ri.prepTicks(x),\"array\"===x.tickmode&&delete x.tickvals;var z=x.smoothing?3:1;function P(e){var i,a,o,s,l,u,c,f,p,d,g,v,m=[],y=[],b={};if(\"b\"===r)for(a=t.b2j(e),o=Math.floor(Math.max(0,Math.min(L-2,a))),s=a-o,b.length=L,b.crossLength=C,b.xy=function(e){return t.evalxy([],e,a)},b.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i<C;i++)u=Math.min(C-2,i),c=i-u,f=t.evalxy([],i,a),A.smoothing&&i>0&&(p=t.dxydi([],i-1,o,0,s),m.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),m.push(f[0]-d[0]/3),y.push(f[1]-d[1]/3)),m.push(f[0]),y.push(f[1]),l=f;else for(i=t.a2i(e),u=Math.floor(Math.max(0,Math.min(C-2,i))),c=i-u,b.length=C,b.crossLength=L,b.xy=function(e){return t.evalxy([],i,e)},b.dxy=function(e,r){return t.dxydj([],u,e,c,r)},a=0;a<L;a++)o=Math.min(L-2,a),s=a-o,f=t.evalxy([],i,a),A.smoothing&&a>0&&(g=t.dxydj([],u,a-1,c,0),m.push(l[0]+g[0]/3),y.push(l[1]+g[1]/3),v=t.dxydj([],u,a-1,c,1),m.push(f[0]-v[0]/3),y.push(f[1]-v[1]/3)),m.push(f[0]),y.push(f[1]),l=f;return b.axisLetter=r,b.axis=x,b.crossAxis=A,b.value=e,b.constvar=n,b.index=h,b.x=m,b.y=y,b.smoothing=A.smoothing,b}function I(e){var i,a,o,s,l,u=[],c=[],h={};if(h.length=y.length,h.crossLength=M.length,\"b\"===r)for(o=Math.max(0,Math.min(L-2,e)),l=Math.min(1,Math.max(0,e-o)),h.xy=function(r){return t.evalxy([],r,e)},h.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;i<S;i++)u[i]=k[e*z][i],c[i]=T[e*z][i];else for(a=Math.max(0,Math.min(C-2,e)),s=Math.min(1,Math.max(0,e-a)),h.xy=function(r){return t.evalxy([],e,r)},h.dxy=function(e,r){return t.dxydj([],a,e,s,r)},i=0;i<E;i++)u[i]=k[i][e*z],c[i]=T[i][e*z];return h.axisLetter=r,h.axis=x,h.crossAxis=A,h.value=y[e],h.constvar=n,h.index=e,h.x=u,h.y=c,h.smoothing=A.smoothing,h}if(\"array\"===x.tickmode){for(s=5e-15,u=(l=[Math.floor((y.length-1-x.arraytick0)/x.arraydtick*(1+s)),Math.ceil(-x.arraytick0/x.arraydtick/(1+s))].sort(function(t,e){return t-e}))[0]-1,c=l[1]+1,h=u;h<c;h++)(a=x.arraytick0+x.arraydtick*h)<0||a>y.length-1||b.push(hu(I(a),{color:x.gridcolor,width:x.gridwidth}));for(h=u;h<c;h++)if(o=x.arraytick0+x.arraydtick*h,d=Math.min(o+x.arraydtick,y.length-1),!(o<0||o>y.length-1||d<0||d>y.length-1))for(g=y[o],v=y[d],i=0;i<x.minorgridcount;i++)(m=d-o)<=0||(p=g+(v-g)*(i+1)/(x.minorgridcount+1)*(x.arraydtick/m))<y[0]||p>y[y.length-1]||_.push(hu(P(p),{color:x.minorgridcolor,width:x.minorgridwidth}));x.startline&&w.push(hu(I(0),{color:x.startlinecolor,width:x.startlinewidth})),x.endline&&w.push(hu(I(y.length-1),{color:x.endlinecolor,width:x.endlinewidth}))}else{for(s=5e-15,u=(l=[Math.floor((y[y.length-1]-x.tick0)/x.dtick*(1+s)),Math.ceil((y[0]-x.tick0)/x.dtick/(1+s))].sort(function(t,e){return t-e}))[0],c=l[1],h=u;h<=c;h++)f=x.tick0+x.dtick*h,b.push(hu(P(f),{color:x.gridcolor,width:x.gridwidth}));for(h=u-1;h<c+1;h++)for(f=x.tick0+x.dtick*h,i=0;i<x.minorgridcount;i++)(p=f+x.dtick*(i+1)/(x.minorgridcount+1))<y[0]||p>y[y.length-1]||_.push(hu(P(p),{color:x.minorgridcolor,width:x.minorgridwidth}));x.startline&&w.push(hu(P(y[0]),{color:x.startlinecolor,width:x.startlinewidth})),x.endline&&w.push(hu(P(y[y.length-1]),{color:x.endlinecolor,width:x.endlinewidth}))}},pu=m.extendFlat,du=function(t,e){var r,n,i,a=e._labels=[],o=e._gridlines;for(r=0;r<o.length;r++)i=o[r],-1!==[\"start\",\"both\"].indexOf(e.showticklabels)&&(n=ri.tickText(e,i.value),pu(n,{prefix:void 0,suffix:void 0,endAnchor:!0,xy:i.xy(0),dxy:i.dxy(0,0),axis:i.axis,length:i.crossAxis.length,font:i.axis.tickfont,isFirst:0===r,isLast:r===o.length-1}),a.push(n)),-1!==[\"end\",\"both\"].indexOf(e.showticklabels)&&(n=ri.tickText(e,i.value),pu(n,{endAnchor:!1,xy:i.xy(i.crossLength-1),dxy:i.dxy(i.crossLength-2,1),axis:i.axis,length:i.crossAxis.length,font:i.axis.tickfont,isFirst:0===r,isLast:r===o.length-1}),a.push(n))},gu=ne.isArrayOrTypedArray,vu=ne.isArrayOrTypedArray,mu=function(t,e,r){var n,i;for(Array.isArray(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],n=0;n<e.length;n++)for(vu(t[n])?t[n].length>e.length&&(t[n]=t[n].slice(0,e.length)):t[n]=[],i=0;i<e[0].length;i++)t[n][i]=r(e[n][i]);return t},yu=function(t,e,r){var n,i,a,o=[],s=[],l=t[0].length,u=t.length;function c(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e<l-1&&void 0!==(n=t[r][e+1])&&(a++,i+=n),r>0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r<u-1&&void 0!==(n=t[r+1][e])&&(a++,i+=n),i/Math.max(1,a)}var h,f,p,d,g,v,m,y,x,b,_,w=0;for(n=0;n<l;n++)for(i=0;i<u;i++)void 0===t[i][n]&&(o.push(n),s.push(i),t[i][n]=c(n,i)),w=Math.max(w,Math.abs(t[i][n]));if(!o.length)return t;var M=0,A=0,k=o.length;do{for(M=0,a=0;a<k;a++){n=o[a],i=s[a];var T,S,E,C,L,z,P=0,I=0;0===n?(E=e[L=Math.min(l-1,2)],C=e[1],T=t[i][L],I+=(S=t[i][1])+(S-T)*(e[0]-C)/(C-E),P++):n===l-1&&(E=e[L=Math.max(0,l-3)],C=e[l-2],T=t[i][L],I+=(S=t[i][l-2])+(S-T)*(e[l-1]-C)/(C-E),P++),(0===n||n===l-1)&&i>0&&i<u-1&&(h=r[i+1]-r[i],I+=((f=r[i]-r[i-1])*t[i+1][n]+h*t[i-1][n])/(f+h),P++),0===i?(E=r[z=Math.min(u-1,2)],C=r[1],T=t[z][n],I+=(S=t[1][n])+(S-T)*(r[0]-C)/(C-E),P++):i===u-1&&(E=r[z=Math.max(0,u-3)],C=r[u-2],T=t[z][n],I+=(S=t[u-2][n])+(S-T)*(r[u-1]-C)/(C-E),P++),(0===i||i===u-1)&&n>0&&n<l-1&&(h=e[n+1]-e[n],I+=((f=e[n]-e[n-1])*t[i][n+1]+h*t[i][n-1])/(f+h),P++),P?I/=P:(p=e[n+1]-e[n],d=e[n]-e[n-1],y=(g=r[i+1]-r[i])*(v=r[i]-r[i-1])*(g+v),I=((m=p*d*(p+d))*(v*t[i+1][n]+g*t[i-1][n])+y*(d*t[i][n+1]+p*t[i][n-1]))/(y*(d+p)+m*(v+g))),M+=(b=(x=I-t[i][n])/w)*b,_=P?0:.85,t[i][n]+=x*(1+_)}M=Math.sqrt(M)}while(A++<100&&M>1e-5);return ne.log(\"Smoother converged to\",M,\"after\",A,\"iterations\"),t},xu=function(t,e){var n,i,a,o,s,l;function u(t){if(r(t))return+t}if(e){for(n=0,s=0;s<t.length;s++)n=Math.max(n,t[s].length);if(0===n)return!1;a=function(t){return t.length},o=function(t,e,r){return t[r][e]}}else n=t.length,a=function(t,e){return t[e].length},o=function(t,e,r){return t[e][r]};var c=new Array(n);for(s=0;s<n;s++)for(i=a(t,s),c[s]=new Array(i),l=0;l<i;l++)c[s][l]=u(o(t,s,l));return c},bu=Oe.addOpacity,_u=function(t,e,r){var n=r.letter,i=r.font||{},a=lu[n+\"axis\"];function o(r,n){return ne.coerce(t,e,a,r,n)}function s(r,n){return ne.coerce2(t,e,a,r,n)}r.name&&(e._name=r.name,e._id=r.name);var l=o(\"type\");(\"-\"===l&&(r.data&&function(t,e){if(\"-\"!==t.type)return;var r=t._id.charAt(0),n=t[r+\"calendar\"];t.type=Yn(e,n)}(e,r.data),\"-\"===e.type?e.type=\"linear\":l=t.type=e.type),o(\"smoothing\"),o(\"cheatertype\"),o(\"showticklabels\"),o(\"labelprefix\",n+\" = \"),o(\"labelsuffix\"),o(\"showtickprefix\"),o(\"showticksuffix\"),o(\"separatethousands\"),o(\"tickformat\"),o(\"exponentformat\"),o(\"showexponent\"),o(\"categoryorder\"),o(\"tickmode\"),o(\"tickvals\"),o(\"ticktext\"),o(\"tick0\"),o(\"dtick\"),\"array\"===e.tickmode&&(o(\"arraytick0\"),o(\"arraydtick\")),o(\"labelpadding\"),e._hovertitle=n,\"date\"===l)&&P.getComponentMethod(\"calendars\",\"handleDefaults\")(t,e,\"calendar\",r.calendar);ei(e,r.fullLayout);var u=o(\"color\",r.dfltColor),c=u===t.color?u:i.color;o(\"title\"),ne.coerceFont(o,\"titlefont\",{family:i.family,size:Math.round(1.2*i.size),color:c}),o(\"titleoffset\"),o(\"tickangle\"),o(\"autorange\",!e.isValidRange(t.range))&&o(\"rangemode\"),o(\"range\"),e.cleanRange(),o(\"fixedrange\"),Ge(t,e,o,l),Ue(t,e,o,l,r),Wi(t,e,o);var h=s(\"gridcolor\",bu(u,.3)),f=s(\"gridwidth\"),p=o(\"showgrid\");p||(delete e.gridcolor,delete e.gridwidth);var d=s(\"startlinecolor\",u),g=s(\"startlinewidth\",f);o(\"startline\",e.showgrid||!!d||!!g)||(delete e.startlinecolor,delete e.startlinewidth);var v=s(\"endlinecolor\",u),m=s(\"endlinewidth\",f);return o(\"endline\",e.showgrid||!!v||!!m)||(delete e.endlinecolor,delete e.endlinewidth),p?(o(\"minorgridcount\"),o(\"minorgridwidth\",f),o(\"minorgridcolor\",bu(h,.06)),e.minorgridcount||(delete e.minorgridwidth,delete e.minorgridcolor)):(delete e.gridcolor,delete e.gridWidth),e._initialCategories=\"category\"===l?Ki(n,e.categoryorder,e.categoryarray,r.data):[],\"none\"===e.showticklabels&&(delete e.tickfont,delete e.tickangle,delete e.showexponent,delete e.exponentformat,delete e.tickformat,delete e.showticksuffix,delete e.showtickprefix),e.showticksuffix||delete e.ticksuffix,e.showtickprefix||delete e.tickprefix,o(\"tickmode\"),(!e.title||e.title&&0===e.title.length)&&(delete e.titlefont,delete e.titleoffset),e};var wu=function(t,e,r,n,i){n(\"a\")||(n(\"da\"),n(\"a0\")),n(\"b\")||(n(\"db\"),n(\"b0\")),function(t,e,r,n){[\"aaxis\",\"baxis\"].forEach(function(i){var a=i.charAt(0),o=t[i]||{},s={},l={tickfont:\"x\",id:a+\"axis\",letter:a,font:e.font,name:i,data:t[a],calendar:e.calendar,dfltColor:n,bgColor:r.paper_bgcolor,fullLayout:r};_u(o,s,l),s._categories=s._categories||[],e[i]=s,t[i]||\"-\"===o.type||(t[i]={type:o.type})})}(t,e,r,i)};var Mu=function(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),u=Math.pow(o*o+s*s,.25),c=(u*u*i-l*l*o)*n,h=(u*u*a-l*l*s)*n,f=u*(l+u)*3,p=l*(l+u)*3;return[[e[0]+(f&&c/f),e[1]+(f&&h/f)],[e[0]-(p&&c/p),e[1]-(p&&h/p)]]},Au=ne.ensureArray;function ku(t,e,r){var n=-.5*r[0]+1.5*e[0],i=-.5*r[1]+1.5*e[1];return[(2*n+t[0])/3,(2*i+t[1])/3]}var Tu=1e-6,Su=Wt.findBin,Eu=function(t){var e=t.a,r=t.b,n=t.a.length,i=t.b.length,a=t.aaxis,o=t.baxis,s=e[0],l=e[n-1],u=r[0],c=r[i-1],h=e[e.length-1]-e[0],f=r[r.length-1]-r[0],p=h*Tu,d=f*Tu;s-=p,l+=p,u-=d,c+=d,t.isVisible=function(t,e){return t>s&&t<l&&e>u&&e<c},t.isOccluded=function(t,e){return t<s||t>l||e<u||e>c},a.c2p=function(t){return t},o.c2p=function(t){return t},t.setScale=function(){var e,r,s,l=t._x,u=t._y,c=function(t,e,r,n,i,a){var o,s,l,u,c,h,f,p,d,g,v=r[0].length,m=r.length,y=i?3*v-2:v,x=a?3*m-2:m;for(t=Au(t,x),e=Au(e,x),l=0;l<x;l++)t[l]=Au(t[l],y),e[l]=Au(e[l],y);for(s=0,u=0;s<m;s++,u+=a?3:1)for(c=t[u],h=e[u],f=r[s],p=n[s],o=0,l=0;o<v;o++,l+=i?3:1)c[l]=f[o],h[l]=p[o];if(i)for(s=0,u=0;s<m;s++,u+=a?3:1){for(o=1,l=3;o<v-1;o++,l+=3)d=Mu([r[s][o-1],n[s][o-1]],[r[s][o],n[s][o]],[r[s][o+1],n[s][o+1]],i),t[u][l-1]=d[0][0],e[u][l-1]=d[0][1],t[u][l+1]=d[1][0],e[u][l+1]=d[1][1];g=ku([t[u][0],e[u][0]],[t[u][2],e[u][2]],[t[u][3],e[u][3]]),t[u][1]=g[0],e[u][1]=g[1],g=ku([t[u][y-1],e[u][y-1]],[t[u][y-3],e[u][y-3]],[t[u][y-4],e[u][y-4]]),t[u][y-2]=g[0],e[u][y-2]=g[1]}if(a)for(l=0;l<y;l++){for(u=3;u<x-3;u+=3)d=Mu([t[u-3][l],e[u-3][l]],[t[u][l],e[u][l]],[t[u+3][l],e[u+3][l]],a),t[u-1][l]=d[0][0],e[u-1][l]=d[0][1],t[u+1][l]=d[1][0],e[u+1][l]=d[1][1];g=ku([t[0][l],e[0][l]],[t[2][l],e[2][l]],[t[3][l],e[3][l]]),t[1][l]=g[0],e[1][l]=g[1],g=ku([t[x-1][l],e[x-1][l]],[t[x-3][l],e[x-3][l]],[t[x-4][l],e[x-4][l]]),t[x-2][l]=g[0],e[x-2][l]=g[1]}if(i&&a)for(u=1;u<x;u+=(u+1)%3==0?2:1){for(l=3;l<y-3;l+=3)d=Mu([t[u][l-3],e[u][l-3]],[t[u][l],e[u][l]],[t[u][l+3],e[u][l+3]],i),t[u][l-1]=.5*(t[u][l-1]+d[0][0]),e[u][l-1]=.5*(e[u][l-1]+d[0][1]),t[u][l+1]=.5*(t[u][l+1]+d[1][0]),e[u][l+1]=.5*(e[u][l+1]+d[1][1]);g=ku([t[u][0],e[u][0]],[t[u][2],e[u][2]],[t[u][3],e[u][3]]),t[u][1]=.5*(t[u][1]+g[0]),e[u][1]=.5*(e[u][1]+g[1]),g=ku([t[u][y-1],e[u][y-1]],[t[u][y-3],e[u][y-3]],[t[u][y-4],e[u][y-4]]),t[u][y-2]=.5*(t[u][y-2]+g[0]),e[u][y-2]=.5*(e[u][y-2]+g[1])}return[t,e]}(t.xctrl,t.yctrl,l,u,a.smoothing,o.smoothing);t.xctrl=c[0],t.yctrl=c[1],t.evalxy=function(t,e,r,n,i){var a=e-2,o=r-2;return n&&i?function(e,r,n){var i,s,l,u,c,h;e||(e=[]);var f=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-f)),g=Math.max(0,Math.min(1,n-p));f*=3,p*=3;var v=d*d,m=v*d,y=1-d,x=y*y,b=x*y,_=g*g,w=_*g,M=1-g,A=M*M,k=A*M;for(h=0;h<t.length;h++)i=b*(c=t[h])[p][f]+3*(x*d*c[p][f+1]+y*v*c[p][f+2])+m*c[p][f+3],s=b*c[p+1][f]+3*(x*d*c[p+1][f+1]+y*v*c[p+1][f+2])+m*c[p+1][f+3],l=b*c[p+2][f]+3*(x*d*c[p+2][f+1]+y*v*c[p+2][f+2])+m*c[p+2][f+3],u=b*c[p+3][f]+3*(x*d*c[p+3][f+1]+y*v*c[p+3][f+2])+m*c[p+3][f+3],e[h]=k*i+3*(A*g*s+M*_*l)+w*u;return e}:n?function(e,r,n){e||(e=[]);var i,s,l,u,c,h,f=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-f)),g=Math.max(0,Math.min(1,n-p));f*=3;var v=d*d,m=v*d,y=1-d,x=y*y,b=x*y,_=1-g;for(c=0;c<t.length;c++)i=_*(h=t[c])[p][f]+g*h[p+1][f],s=_*h[p][f+1]+g*h[p+1][f+1],l=_*h[p][f+2]+g*h[p+1][f+1],u=_*h[p][f+3]+g*h[p+1][f+1],e[c]=b*i+3*(x*d*s+y*v*l)+m*u;return e}:i?function(e,r,n){e||(e=[]);var i,s,l,u,c,h,f=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-f)),g=Math.max(0,Math.min(1,n-p));p*=3;var v=g*g,m=v*g,y=1-g,x=y*y,b=x*y,_=1-d;for(c=0;c<t.length;c++)i=_*(h=t[c])[p][f]+d*h[p][f+1],s=_*h[p+1][f]+d*h[p+1][f+1],l=_*h[p+2][f]+d*h[p+2][f+1],u=_*h[p+3][f]+d*h[p+3][f+1],e[c]=b*i+3*(x*g*s+y*v*l)+m*u;return e}:function(e,r,n){e||(e=[]);var i,s,l,u,c=Math.max(0,Math.min(Math.floor(r),a)),h=Math.max(0,Math.min(Math.floor(n),o)),f=Math.max(0,Math.min(1,r-c)),p=Math.max(0,Math.min(1,n-h)),d=1-p,g=1-f;for(l=0;l<t.length;l++)i=g*(u=t[l])[h][c]+f*u[h][c+1],s=g*u[h+1][c]+f*u[h+1][c+1],e[l]=d*i+p*s;return e}}([t.xctrl,t.yctrl],n,i,a.smoothing,o.smoothing),t.dxydi=(e=[t.xctrl,t.yctrl],r=a.smoothing,s=o.smoothing,r&&s?function(t,r,n,i,a){var o,s,l,u,c,h;t||(t=[]),r*=3,n*=3;var f=i*i,p=1-i,d=p*p,g=p*i*2,v=-3*d,m=3*(d-g),y=3*(g-f),x=3*f,b=a*a,_=b*a,w=1-a,M=w*w,A=M*w;for(h=0;h<e.length;h++)o=v*(c=e[h])[n][r]+m*c[n][r+1]+y*c[n][r+2]+x*c[n][r+3],s=v*c[n+1][r]+m*c[n+1][r+1]+y*c[n+1][r+2]+x*c[n+1][r+3],l=v*c[n+2][r]+m*c[n+2][r+1]+y*c[n+2][r+2]+x*c[n+2][r+3],u=v*c[n+3][r]+m*c[n+3][r+1]+y*c[n+3][r+2]+x*c[n+3][r+3],t[h]=A*o+3*(M*a*s+w*b*l)+_*u;return t}:r?function(t,r,n,i,a){var o,s,l,u;t||(t=[]),r*=3;var c=i*i,h=1-i,f=h*h,p=h*i*2,d=-3*f,g=3*(f-p),v=3*(p-c),m=3*c,y=1-a;for(l=0;l<e.length;l++)o=d*(u=e[l])[n][r]+g*u[n][r+1]+v*u[n][r+2]+m*u[n][r+3],s=d*u[n+1][r]+g*u[n+1][r+1]+v*u[n+1][r+2]+m*u[n+1][r+3],t[l]=y*o+a*s;return t}:s?function(t,r,n,i,a){var o,s,l,u,c,h;t||(t=[]),n*=3;var f=a*a,p=f*a,d=1-a,g=d*d,v=g*d;for(c=0;c<e.length;c++)o=(h=e[c])[n][r+1]-h[n][r],s=h[n+1][r+1]-h[n+1][r],l=h[n+2][r+1]-h[n+2][r],u=h[n+3][r+1]-h[n+3][r],t[c]=v*o+3*(g*a*s+d*f*l)+p*u;return t}:function(t,r,n,i,a){var o,s,l,u;t||(t=[]);var c=1-a;for(l=0;l<e.length;l++)o=(u=e[l])[n][r+1]-u[n][r],s=u[n+1][r+1]-u[n+1][r],t[l]=c*o+a*s;return t}),t.dxydj=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,u,c,h;e||(e=[]),r*=3,n*=3;var f=i*i,p=f*i,d=1-i,g=d*d,v=g*d,m=a*a,y=1-a,x=y*y,b=y*a*2,_=-3*x,w=3*(x-b),M=3*(b-m),A=3*m;for(h=0;h<t.length;h++)o=_*(c=t[h])[n][r]+w*c[n+1][r]+M*c[n+2][r]+A*c[n+3][r],s=_*c[n][r+1]+w*c[n+1][r+1]+M*c[n+2][r+1]+A*c[n+3][r+1],l=_*c[n][r+2]+w*c[n+1][r+2]+M*c[n+2][r+2]+A*c[n+3][r+2],u=_*c[n][r+3]+w*c[n+1][r+3]+M*c[n+2][r+3]+A*c[n+3][r+3],e[h]=v*o+3*(g*i*s+d*f*l)+p*u;return e}:e?function(e,r,n,i,a){var o,s,l,u,c,h;e||(e=[]),r*=3;var f=a*a,p=f*a,d=1-a,g=d*d,v=g*d;for(c=0;c<t.length;c++)o=(h=t[c])[n+1][r]-h[n][r],s=h[n+1][r+1]-h[n][r+1],l=h[n+1][r+2]-h[n][r+2],u=h[n+1][r+3]-h[n][r+3],e[c]=v*o+3*(g*a*s+d*f*l)+p*u;return e}:r?function(e,r,n,i,a){var o,s,l,u;e||(e=[]),n*=3;var c=1-i,h=a*a,f=1-a,p=f*f,d=f*a*2,g=-3*p,v=3*(p-d),m=3*(d-h),y=3*h;for(l=0;l<t.length;l++)o=g*(u=t[l])[n][r]+v*u[n+1][r]+m*u[n+2][r]+y*u[n+3][r],s=g*u[n][r+1]+v*u[n+1][r+1]+m*u[n+2][r+1]+y*u[n+3][r+1],e[l]=c*o+i*s;return e}:function(e,r,n,i,a){var o,s,l,u;e||(e=[]);var c=1-i;for(l=0;l<t.length;l++)o=(u=t[l])[n+1][r]-u[n][r],s=u[n+1][r+1]-u[n][r+1],e[l]=c*o+i*s;return e}}([t.xctrl,t.yctrl],a.smoothing,o.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),n-2),i=t[0]-r;return(1-i)*e[r]+i*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),n-2),i=t[1]-e;return(1-i)*r[e]+i*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(Su(t,e),n-2)),i=e[r],a=e[r+1];return Math.max(0,Math.min(n-1,r+(t-i)/(a-i)))},t.b2j=function(t){var e=Math.max(0,Math.min(Su(t,r),i-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(i-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(a,o,s){if(!s&&(a<e[0]||a>e[n-1]|o<r[0]||o>r[i-1]))return[!1,!1];var l=t.a2i(a),u=t.b2j(o),c=t.evalxy([],l,u);if(s){var h,f,p,d,g=0,v=0,m=[];a<e[0]?(h=0,f=0,g=(a-e[0])/(e[1]-e[0])):a>e[n-1]?(h=n-2,f=1,g=(a-e[n-1])/(e[n-1]-e[n-2])):f=l-(h=Math.max(0,Math.min(n-2,Math.floor(l)))),o<r[0]?(p=0,d=0,v=(o-r[0])/(r[1]-r[0])):o>r[i-1]?(p=i-2,d=1,v=(o-r[i-1])/(r[i-1]-r[i-2])):d=u-(p=Math.max(0,Math.min(i-2,Math.floor(u)))),g&&(t.dxydi(m,h,p,f,d),c[0]+=m[0]*g,c[1]+=m[1]*g),v&&(t.dxydj(m,h,p,f,d),c[0]+=m[0]*v,c[1]+=m[1]*v)}return c},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=h*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=f*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}},Cu=ne.isArrayOrTypedArray,Lu=function(t){return Cu(t[0])},zu=t.BADNUM,Pu=function(t,e,r,n,i,a){n=n||\"x\",i=i||\"y\",a=a||[\"z\"];var o,s,l,u=t[n].slice(),c=t[i].slice(),h=t.text,f=Math.min(u.length,c.length),p=void 0!==h&&!Array.isArray(h[0]),d=t[n+\"calendar\"],g=t[i+\"calendar\"];for(o=0;o<a.length;o++)(l=t[a[o]])&&(f=Math.min(f,l.length));for(f<u.length&&(u=u.slice(0,f)),f<c.length&&(c=c.slice(0,f)),o=0;o<f;o++)u[o]=e.d2c(u[o],0,d),c[o]=r.d2c(c[o],0,g);var v,m,y,x=ne.distinctVals(u),b=x.vals,_=ne.distinctVals(c),w=_.vals,M=[];for(o=0;o<a.length;o++)M[o]=ne.init2dArray(w.length,b.length);for(p&&(y=ne.init2dArray(w.length,b.length)),o=0;o<f;o++)if(u[o]!==zu&&c[o]!==zu){for(v=ne.findBin(u[o]+x.minDiff/2,b),m=ne.findBin(c[o]+_.minDiff/2,w),s=0;s<a.length;s++)l=t[a[s]],M[s][m][v]=l[o];p&&(y[m][v]=h[o])}for(t[\"_input_\"+n]=t[n],t[\"_input_\"+i]=t[i],t[n]=b,t[i]=w,s=0;s<a.length;s++)t[\"_input_\"+a[s]]=t[a[s]],t[a[s]]=M[s];p&&(t.text=y)},Iu=function(t,e,r){if(0===t.length)return\"\";var n,i=[],a=r?3:1;for(n=0;n<t.length;n+=a)i.push(t[n]+\",\"+e[n]),r&&n<t.length-a&&(i.push(\"C\"),i.push([t[n+1]+\",\"+e[n+1],t[n+2]+\",\"+e[n+2]+\" \"].join(\" \")));return i.join(r?\"\":\"L\")},Du=ne.isArrayOrTypedArray,Ou=function(t,e,r){var n;for(Du(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],n=0;n<e.length;n++)t[n]=r(e[n]);return t},Ru=function(t,e,r,n,i,a){var o=i[0]*t.dpdx(e),s=i[1]*t.dpdy(r),l=1,u=1;if(a){var c=Math.sqrt(i[0]*i[0]+i[1]*i[1]),h=Math.sqrt(a[0]*a[0]+a[1]*a[1]),f=(i[0]*a[0]+i[1]*a[1])/c/h;u=Math.max(0,f)}var p=180*Math.atan2(s,o)/Math.PI;return p<-90?(p+=180,l=-l):p>90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:u}};function Fu(t,e,r){var n=t.selectAll(e+\".\"+r).data([0]);return n.enter().append(e).classed(r,!0),n}function Bu(t,e,r){var n=r[0],i=r[0].trace,a=e.xaxis,o=e.yaxis,s=i.aaxis,l=i.baxis,u=t._fullLayout,c=e.plot.selectAll(\".carpetlayer\"),h=u._clips,f=Fu(c,\"g\",\"carpet\"+i.uid).classed(\"trace\",!0),p=Fu(f,\"g\",\"minorlayer\"),d=Fu(f,\"g\",\"majorlayer\"),g=Fu(f,\"g\",\"boundarylayer\"),v=Fu(f,\"g\",\"labellayer\");f.style(\"opacity\",i.opacity),Nu(a,o,d,s,\"a\",s._gridlines),Nu(a,o,d,l,\"b\",l._gridlines),Nu(a,o,p,s,\"a\",s._minorgridlines),Nu(a,o,p,l,\"b\",l._minorgridlines),Nu(a,o,g,s,\"a-boundary\",s._boundarylines),Nu(a,o,g,l,\"b-boundary\",l._boundarylines),function(t,e,r,n,i,a,o,s){var l,u,c,h;l=.5*(r.a[0]+r.a[r.a.length-1]),u=r.b[0],c=r.ab2xy(l,u,!0),h=r.dxyda_rough(l,u),void 0===o.angle&&ne.extendFlat(o,Ru(r,i,a,c,r.dxydb_rough(l,u)));qu(t,e,r,n,c,h,r.aaxis,i,a,o,\"a-title\"),l=r.a[0],u=.5*(r.b[0]+r.b[r.b.length-1]),c=r.ab2xy(l,u,!0),h=r.dxydb_rough(l,u),void 0===s.angle&&ne.extendFlat(s,Ru(r,i,a,c,r.dxyda_rough(l,u)));qu(t,e,r,n,c,h,r.baxis,i,a,s,\"b-title\")}(t,v,i,n,a,o,ju(t,a,o,i,n,v,s._labels,\"a-label\"),ju(t,a,o,i,n,v,l._labels,\"b-label\")),function(t,e,r,n,i){var a,o,s,l,u=r.select(\"#\"+t._clipPathId);u.size()||(u=r.append(\"clipPath\").classed(\"carpetclip\",!0));var c=Fu(u,\"path\",\"carpetboundary\"),h=e.clipsegments,f=[];for(l=0;l<h.length;l++)a=h[l],o=Ou([],a.x,n.c2p),s=Ou([],a.y,i.c2p),f.push(Iu(o,s,a.bicubic));var p=\"M\"+f.join(\"L\")+\"Z\";u.attr(\"id\",t._clipPathId),c.attr(\"d\",p)}(i,n,h,a,o)}function Nu(t,r,n,i,a,o){var s=\"const-\"+a+\"-lines\",l=n.selectAll(\".\"+s).data(o);l.enter().append(\"path\").classed(s,!0).style(\"vector-effect\",\"non-scaling-stroke\"),l.each(function(n){var i=n,a=i.x,o=i.y,s=Ou([],a,t.c2p),l=Ou([],o,r.c2p),u=\"M\"+Iu(s,l,i.smoothing);e.select(this).attr(\"d\",u).style(\"stroke-width\",i.width).style(\"stroke\",i.color).style(\"fill\",\"none\")}),l.exit().remove()}function ju(t,r,n,i,a,o,s,l){var u=o.selectAll(\"text.\"+l).data(s);u.enter().append(\"text\").classed(l,!0);var c=0,h={};return u.each(function(a,o){var s;if(\"auto\"===a.axis.tickangle)s=Ru(i,r,n,a.xy,a.dxy);else{var l=(a.axis.tickangle+180)*Math.PI/180;s=Ru(i,r,n,a.xy,[Math.cos(l),Math.sin(l)])}o||(h={angle:s.angle,flip:s.flip});var u=(a.endAnchor?-1:1)*s.flip,f=e.select(this).attr({\"text-anchor\":u>0?\"start\":\"end\",\"data-notex\":1}).call(Sr.font,a.font).text(a.text).call(er.convertToTspans,t),p=Sr.bBox(this);f.attr(\"transform\",\"translate(\"+s.p[0]+\",\"+s.p[1]+\") rotate(\"+s.angle+\")translate(\"+a.axis.labelpadding*u+\",\"+.3*p.height+\")\"),c=Math.max(c,p.width+a.axis.labelpadding)}),u.exit().remove(),h.maxExtent=c,h}var Vu=Qe.LINE_SPACING,Uu=(1-Qe.MID_SHIFT)/Vu+1;function qu(t,r,n,i,a,o,s,l,u,c,h){var f=[];s.title&&f.push(s.title);var p=r.selectAll(\"text.\"+h).data(f),d=c.maxExtent;p.enter().append(\"text\").classed(h,!0),p.each(function(){var r=Ru(n,l,u,a,o);-1===[\"start\",\"both\"].indexOf(s.showticklabels)&&(d=0);var i=s.titlefont.size;d+=i+s.titleoffset;var h=(c.angle+(c.flip<0?180:0)-r.angle+450)%360,f=h>90&&h<270,p=e.select(this);p.text(s.title||\"\").call(er.convertToTspans,t),f&&(d=(-er.lineCount(p)+Uu)*Vu*i-d),p.attr(\"transform\",\"translate(\"+r.p[0]+\",\"+r.p[1]+\") rotate(\"+r.angle+\") translate(0,\"+d+\")\").classed(\"user-select-none\",!0).attr(\"text-anchor\",\"middle\").call(Sr.font,s.titlefont)}),p.exit().remove()}var Hu={};Hu.attributes=lu,Hu.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,lu,r,n)}e._clipPathId=\"clip\"+e.uid+\"carpet\";var a=i(\"color\",C.defaultLine);if(ne.coerceFont(i,\"font\"),i(\"carpet\"),wu(t,e,n,i,a),e.a&&e.b){e.a.length<3&&(e.aaxis.smoothing=0),e.b.length<3&&(e.baxis.smoothing=0);var o=function(t,e,r){var n=[],i=r(\"x\");i&&!Lu(i)&&n.push(\"x\"),e._cheater=!i;var a=r(\"y\");if(a&&!Lu(a)&&n.push(\"y\"),i||a)return n.length&&Pu(e,e.aaxis,e.baxis,\"a\",\"b\",n),!0}(0,e,i);Eu(e),e._cheater&&i(\"cheaterslope\"),o||(e.visible=!1)}else e.visible=!1},Hu.plot=function(t,e,r){for(var n=0;n<r.length;n++)Bu(t,e,r[n])},Hu.calc=function(t,e){var r,n=ri.getFromId(t,e.xaxis||\"x\"),i=ri.getFromId(t,e.yaxis||\"y\"),a=e.aaxis,o=e.baxis,s=e._a=e.a,l=e._b=e.b,u={},c=e.y;r=e._cheater?function(t,e,r){var n,i,a,o,s,l,u=[],c=gu(t)?t.length:t,h=gu(e)?e.length:e,f=gu(t)?t:null,p=gu(e)?e:null;f&&(a=(f.length-1)/(f[f.length-1]-f[0])/(c-1)),p&&(o=(p.length-1)/(p[p.length-1]-p[0])/(h-1));var d=1/0,g=-1/0;for(i=0;i<h;i++)for(u[i]=[],s=p?(p[i]-p[0])*o:i/(h-1),n=0;n<c;n++)l=(f?(f[n]-f[0])*a:n/(c-1))-s*r,d=Math.min(l,d),g=Math.max(l,g),u[i][n]=l;var v=1/(g-d),m=-d*v;for(i=0;i<h;i++)for(n=0;n<c;n++)u[i][n]=v*u[i][n]+m;return u}(\"index\"===a.cheatertype?s.length:s,\"index\"===o.cheatertype?l.length:l,e.cheaterslope):e.x;e._x=r=xu(r),e._y=c=xu(c),yu(r,s,l),yu(c,s,l),e.setScale(),u.xp=e.xp=mu(e.xp,r,n.c2p),u.yp=e.yp=mu(e.yp,c,i.c2p);var h=cu(r),f=cu(c),p=.5*(h[1]-h[0]),d=.5*(h[1]+h[0]),g=.5*(f[1]-f[0]),v=.5*(f[1]+f[0]);return h=[d-1.3*p,d+1.3*p],f=[v-1.3*g,v+1.3*g],ri.expand(n,h,{padded:!0}),ri.expand(i,f,{padded:!0}),fu(e,0,\"a\",\"b\"),fu(e,0,\"b\",\"a\"),du(0,a),du(0,o),u.clipsegments=function(t,e,r,n){var i,a,o,s=[],l=!!r.smoothing,u=!!n.smoothing,c=t[0].length-1,h=t.length-1;for(i=0,a=[],o=[];i<=c;i++)a[i]=t[0][i],o[i]=e[0][i];for(s.push({x:a,y:o,bicubic:l}),i=0,a=[],o=[];i<=h;i++)a[i]=t[i][c],o[i]=e[i][c];for(s.push({x:a,y:o,bicubic:u}),i=c,a=[],o=[];i>=0;i--)a[c-i]=t[h][i],o[c-i]=e[h][i];for(s.push({x:a,y:o,bicubic:l}),i=h,a=[],o=[];i>=0;i--)a[h-i]=t[i][0],o[h-i]=e[i][0];return s.push({x:a,y:o,bicubic:u}),s}(e.xctrl,e.yctrl,a,o),u.x=r,u.y=c,u.a=s,u.b=l,[u]},Hu.animatable=!0,Hu.moduleType=\"trace\",Hu.name=\"carpet\",Hu.basePlotModule=ua,Hu.categories=[\"cartesian\",\"carpet\",\"carpetAxis\",\"notLegendIsolatable\"],Hu.meta={};var Gu=Hu,Wu={exports:{}};!function(t,e){\"object\"==typeof Wu.exports?e(Wu.exports):e(t.topojson=t.topojson||{})}(this,function(t){\"use strict\";var e=function(t){return t},r=function(t){if(null==(r=t.transform))return e;var r,n,i,a=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){return e||(n=i=0),t[0]=(n+=t[0])*a+s,t[1]=(i+=t[1])*o+l,t}},n=function(t){var e=t.bbox;function n(t){l[0]=t[0],l[1]=t[1],s(l),l[0]<u&&(u=l[0]),l[0]>h&&(h=l[0]),l[1]<c&&(c=l[1]),l[1]>f&&(f=l[1])}function i(t){switch(t.type){case\"GeometryCollection\":t.geometries.forEach(i);break;case\"Point\":n(t.coordinates);break;case\"MultiPoint\":t.coordinates.forEach(n)}}if(!e){var a,o,s=r(t),l=new Array(2),u=1/0,c=u,h=-u,f=-u;for(o in t.arcs.forEach(function(t){for(var e=-1,r=t.length;++e<r;)a=t[e],l[0]=a[0],l[1]=a[1],s(l,e),l[0]<u&&(u=l[0]),l[0]>h&&(h=l[0]),l[1]<c&&(c=l[1]),l[1]>f&&(f=l[1])}),t.objects)i(t.objects[o]);e=t.bbox=[u,c,h,f]}return e},i=function(t,e){for(var r,n=t.length,i=n-e;i<--n;)r=t[i],t[i++]=t[n],t[n]=r};function a(t,e){var r=e.id,n=e.bbox,i=null==e.properties?{}:e.properties,a=o(t,e);return null==r&&null==n?{type:\"Feature\",properties:i,geometry:a}:null==n?{type:\"Feature\",id:r,properties:i,geometry:a}:{type:\"Feature\",id:r,bbox:n,properties:i,geometry:a}}function o(t,e){var n=r(t),a=t.arcs;function o(t,e){e.length&&e.pop();for(var r=a[t<0?~t:t],o=0,s=r.length;o<s;++o)e.push(n(r[o].slice(),o));t<0&&i(e,s)}function s(t){return n(t.slice())}function l(t){for(var e=[],r=0,n=t.length;r<n;++r)o(t[r],e);return e.length<2&&e.push(e[0].slice()),e}function u(t){for(var e=l(t);e.length<4;)e.push(e[0].slice());return e}function c(t){return t.map(u)}return function t(e){var r,n=e.type;switch(n){case\"GeometryCollection\":return{type:n,geometries:e.geometries.map(t)};case\"Point\":r=s(e.coordinates);break;case\"MultiPoint\":r=e.coordinates.map(s);break;case\"LineString\":r=l(e.arcs);break;case\"MultiLineString\":r=e.arcs.map(l);break;case\"Polygon\":r=c(e.arcs);break;case\"MultiPolygon\":r=e.arcs.map(c);break;default:return null}return{type:n,coordinates:r}}(e)}var s=function(t,e){var r={},n={},i={},a=[],o=-1;function s(t,e){for(var n in t){var i=t[n];delete e[i.start],delete i.start,delete i.end,i.forEach(function(t){r[t<0?~t:t]=1}),a.push(i)}}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[++o],e[o]=r,e[n]=i)}),e.forEach(function(e){var r,a,o=function(e){var r,n=t.arcs[e<0?~e:e],i=n[0];t.transform?(r=[0,0],n.forEach(function(t){r[0]+=t[0],r[1]+=t[1]})):r=n[n.length-1];return e<0?[r,i]:[i,r]}(e),s=o[0],l=o[1];if(r=i[s])if(delete i[r.end],r.push(e),r.end=l,a=n[l]){delete n[a.start];var u=a===r?r:r.concat(a);n[u.start=r.start]=i[u.end=a.end]=u}else n[r.start]=i[r.end]=r;else if(r=n[l])if(delete n[r.start],r.unshift(e),r.start=s,a=i[s]){delete i[a.end];var c=a===r?r:a.concat(r);n[c.start=a.start]=i[c.end=r.end]=c}else n[r.start]=i[r.end]=r;else n[(r=[e]).start=s]=i[r.end=l]=r}),s(i,n),s(n,i),e.forEach(function(t){r[t<0?~t:t]||a.push([t])}),a};function l(t,e,r){var n,i,a;if(arguments.length>1)n=function(t,e,r){var n,i=[],a=[];function o(t){var e=t<0?~t:t;(a[e]||(a[e]=[])).push({i:t,g:n})}function s(t){t.forEach(o)}function l(t){t.forEach(s)}return function t(e){switch(n=e,e.type){case\"GeometryCollection\":e.geometries.forEach(t);break;case\"LineString\":s(e.arcs);break;case\"MultiLineString\":case\"Polygon\":l(e.arcs);break;case\"MultiPolygon\":e.arcs.forEach(l)}}(e),a.forEach(null==r?function(t){i.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&i.push(t[0].i)}),i}(0,e,r);else for(i=0,n=new Array(a=t.arcs.length);i<a;++i)n[i]=i;return{type:\"MultiLineString\",arcs:s(t,n)}}function u(t,e){var r={},n=[],i=[];function a(t){t.forEach(function(e){e.forEach(function(e){(r[e=e<0?~e:e]||(r[e]=[])).push(t)})}),n.push(t)}function l(e){return function(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)}(o(t,{type:\"Polygon\",arcs:[e]}).coordinates[0])}return e.forEach(function t(e){switch(e.type){case\"GeometryCollection\":e.geometries.forEach(t);break;case\"Polygon\":a(e.arcs);break;case\"MultiPolygon\":e.arcs.forEach(a)}}),n.forEach(function(t){if(!t._){var e=[],n=[t];for(t._=1,i.push(e);t=n.pop();)e.push(t),t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].forEach(function(t){t._||(t._=1,n.push(t))})})})}}),n.forEach(function(t){delete t._}),{type:\"MultiPolygon\",arcs:i.map(function(e){var n,i=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].length<2&&i.push(t)})})}),(n=(i=s(t,i)).length)>1)for(var a,o,u=1,c=l(i[0]);u<n;++u)(a=l(i[u]))>c&&(o=i[0],i[0]=i[u],i[u]=o,c=a);return i})}}var c=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};t.bbox=n,t.feature=function(t,e){return\"GeometryCollection\"===e.type?{type:\"FeatureCollection\",features:e.geometries.map(function(e){return a(t,e)})}:a(t,e)},t.mesh=function(t){return o(t,l.apply(this,arguments))},t.meshArcs=l,t.merge=function(t){return o(t,u.apply(this,arguments))},t.mergeArcs=u,t.neighbors=function(t){var e={},r=t.map(function(){return[]});function n(t,r){t.forEach(function(t){t<0&&(t=~t);var n=e[t];n?n.push(r):e[t]=[r]})}function i(t,e){t.forEach(function(t){n(t,e)})}var a={LineString:n,MultiLineString:i,Polygon:i,MultiPolygon:function(t,e){t.forEach(function(t){i(t,e)})}};for(var o in t.forEach(function t(e,r){\"GeometryCollection\"===e.type?e.geometries.forEach(function(e){t(e,r)}):e.type in a&&a[e.type](e.arcs,r)}),e)for(var s=e[o],l=s.length,u=0;u<l;++u)for(var h=u+1;h<l;++h){var f,p=s[u],d=s[h];(f=r[p])[o=c(f,d)]!==d&&f.splice(o,0,d),(f=r[d])[o=c(f,p)]!==p&&f.splice(o,0,p)}return r},t.quantize=function(t,e){if(!((e=Math.floor(e))>=2))throw new Error(\"n must be \\u22652\");if(t.transform)throw new Error(\"already quantized\");var r,i=n(t),a=i[0],o=(i[2]-a)/(e-1)||1,s=i[1],l=(i[3]-s)/(e-1)||1;function u(t){t[0]=Math.round((t[0]-a)/o),t[1]=Math.round((t[1]-s)/l)}function c(t){switch(t.type){case\"GeometryCollection\":t.geometries.forEach(c);break;case\"Point\":u(t.coordinates);break;case\"MultiPoint\":t.coordinates.forEach(u)}}for(r in t.arcs.forEach(function(t){for(var e,r,n,i=1,u=1,c=t.length,h=t[0],f=h[0]=Math.round((h[0]-a)/o),p=h[1]=Math.round((h[1]-s)/l);i<c;++i)h=t[i],r=Math.round((h[0]-a)/o),n=Math.round((h[1]-s)/l),r===f&&n===p||((e=t[u++])[0]=r-f,f=r,e[1]=n-p,p=n);u<2&&((e=t[u++])[0]=0,e[1]=0),t.length=u}),t.objects)c(t.objects[r]);return t.transform={scale:[o,l],translate:[a,s]},t},t.transform=r,t.untransform=function(t){if(null==(r=t.transform))return e;var r,n,i,a=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){e||(n=i=0);var r=Math.round((t[0]-s)/a),u=Math.round((t[1]-l)/o);return t[0]=r-n,n=r,t[1]=u-i,i=u,t}},Object.defineProperty(t,\"__esModule\",{value:!0})}),Wu=Wu.exports;var Yu={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\"},axesNames:[\"lonaxis\",\"lataxis\"],lonaxisSpan:{orthographic:180,\"azimuthal equal area\":360,\"azimuthal equidistant\":360,\"conic conformal\":180,gnomonic:160,stereographic:180,\"transverse mercator\":180,\"*\":360},lataxisSpan:{\"conic conformal\":150,stereographic:179.5,\"*\":180},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,85],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]}},clipPad:.001,precision:.1,landColor:\"#F0DC82\",waterColor:\"#3399FF\",locationmodeToLayer:{\"ISO-3\":\"countries\",\"USA-states\":\"subunits\",\"country names\":\"countries\"},sphereSVG:{type:\"Sphere\"},fillLayers:{ocean:1,land:1,lakes:1},lineLayers:{subunits:1,countries:1,coastlines:1,rivers:1,frame:1},layers:[\"bg\",\"ocean\",\"land\",\"lakes\",\"subunits\",\"countries\",\"coastlines\",\"rivers\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"frontplot\"],layersForChoropleth:[\"bg\",\"ocean\",\"land\",\"subunits\",\"countries\",\"coastlines\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"rivers\",\"lakes\",\"frontplot\"],layerNameToAdjective:{ocean:\"ocean\",land:\"land\",lakes:\"lake\",subunits:\"subunit\",countries:\"country\",coastlines:\"coastline\",rivers:\"river\",frame:\"frame\"}},Xu={},Zu=Xu={},Ju=Yu.locationmodeToLayer,Ku=Wu.feature;Zu.getTopojsonName=function(t){return[t.scope.replace(/ /g,\"-\"),\"_\",t.resolution.toString(),\"m\"].join(\"\")},Zu.getTopojsonPath=function(t,e){return t+e+\".json\"},Zu.getTopojsonFeatures=function(t,e){var r=Ju[t.locationmode],n=e.objects[r];return Ku(e,n).features};var Qu=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n(\"check\",{seg1:t,seg2:e})},segmentChop:function(t,e){return n(\"div_seg\",{seg:t,pt:e}),n(\"chop\",{seg:t,pt:e})},statusRemove:function(t){return n(\"pop_seg\",{seg:t})},segmentUpdate:function(t){return n(\"seg_update\",{seg:t})},segmentNew:function(t,e){return n(\"new_seg\",{seg:t,primary:e})},segmentRemove:function(t){return n(\"rem_seg\",{seg:t})},tempStatus:function(t,e,r){return n(\"temp_status\",{seg:t,above:e,below:r})},rewind:function(t){return n(\"rewind\",{seg:t})},status:function(t,e,r){return n(\"status\",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n(\"vert\",{x:e}))},log:function(t){return\"string\"!=typeof t&&(t=JSON.stringify(t,!1,\"  \")),n(\"log\",{txt:t})},reset:function(){return n(\"reset\")},selected:function(t){return n(\"selected\",{segs:t})},chainStart:function(t){return n(\"chain_start\",{seg:t})},chainRemoveHead:function(t,e){return n(\"chain_rem_head\",{index:t,pt:e})},chainRemoveTail:function(t,e){return n(\"chain_rem_tail\",{index:t,pt:e})},chainNew:function(t,e){return n(\"chain_new\",{pt1:t,pt2:e})},chainMatch:function(t){return n(\"chain_match\",{index:t})},chainClose:function(t){return n(\"chain_close\",{index:t})},chainAddHead:function(t,e){return n(\"chain_add_head\",{index:t,pt:e})},chainAddTail:function(t,e){return n(\"chain_add_tail\",{index:t,pt:e})},chainConnect:function(t,e){return n(\"chain_con\",{index1:t,index2:e})},chainReverse:function(t){return n(\"chain_rev\",{index:t})},chainJoin:function(t,e){return n(\"chain_join\",{index1:t,index2:e})},done:function(){return n(\"done\")}}};var $u={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i<e.length;i++)n=t.selectDifference(t.combine(n,r(e[i])));return n}if(\"Polygon\"===e.type)return t.polygon(r(e.coordinates));if(\"MultiPolygon\"===e.type){for(var n=t.segments({inverted:!1,regions:[]}),i=0;i<e.coordinates.length;i++)n=t.selectUnion(t.combine(n,r(e.coordinates[i])));return t.polygon(n)}throw new Error(\"PolyBool: Cannot convert GeoJSON object to PolyBool polygon\")},fromPolygon:function(t,e,r){function n(t,r){return e.pointInsideRegion([.5*(t[0][0]+t[1][0]),.5*(t[0][1]+t[1][1])],r)}function i(t){return{region:t,children:[]}}r=t.polygon(t.segments(r));var a=i(null);function o(t,e){for(var r=0;r<t.children.length;r++){if(n(e,(s=t.children[r]).region))return void o(s,e)}var a=i(e);for(r=0;r<t.children.length;r++){var s;n((s=t.children[r]).region,e)&&(a.children.push(s),t.children.splice(r,1),r--)}t.children.push(a)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(a,l)}function u(t,e){for(var r=0,n=t[t.length-1][0],i=t[t.length-1][1],a=[],o=0;o<t.length;o++){var s=t[o][0],l=t[o][1];a.push([s,l]),r+=l*n-s*i,n=s,i=l}return r<0!==e&&a.reverse(),a.push([a[0][0],a[0][1]]),a}var c=[];function h(t){var e=[u(t.region,!1)];c.push(e);for(var r=0;r<t.children.length;r++)e.push(f(t.children[r]))}function f(t){for(var e=0;e<t.children.length;e++)h(t.children[e]);return u(t.region,!0)}for(s=0;s<a.children.length;s++)h(a.children[s]);return c.length<=0?{type:\"Polygon\",coordinates:[]}:1==c.length?{type:\"Polygon\",coordinates:c[0]}:{type:\"MultiPolygon\",coordinates:c}}},tc={create:function(){var t={root:{root:!0,next:null},exists:function(e){return null!==e&&e!==t.root},isEmpty:function(){return null===t.root.next},getHead:function(){return t.root.next},insertBefore:function(e,r){for(var n=t.root,i=t.root.next;null!==i;){if(r(i))return e.prev=i.prev,e.next=i,i.prev.next=e,void(i.prev=e);n=i,i=i.next}n.next=e,e.prev=n,e.next=null},findTransition:function(e){for(var r=t.root,n=t.root.next;null!==n&&!e(n);)r=n,n=n.next;return{before:r===t.root?null:r,after:n,insert:function(t){return t.prev=r,t.next=n,r.next=t,null!==n&&(n.prev=t),t}}}};return t},node:function(t){return t.prev=null,t.next=null,t.remove=function(){t.prev.next=t.next,t.next&&(t.next.prev=t.prev),t.prev=null,t.next=null},t}};var ec=function(t,e,r){function n(t,e,n){return{id:r?r.segmentId():-1,start:t,end:e,myFill:{above:n.myFill.above,below:n.myFill.below},otherFill:null}}var i=tc.create();function a(t,r){i.insertBefore(t,function(n){return function(t,r,n,i,a,o){var s=e.pointsCompare(r,a);return 0!==s?s:e.pointsSame(n,o)?0:t!==i?t?1:-1:e.pointAboveOrOnLine(n,i?a:o,i?o:a)?1:-1}(t.isStart,t.pt,r,n.isStart,n.pt,n.other.pt)<0})}function o(t,e){var r=function(t,e){var r=tc.node({isStart:!0,pt:t.start,seg:t,primary:e,other:null,status:null});return a(r,t.end),r}(t,e);return function(t,e,r){var n=tc.node({isStart:!1,pt:e.end,seg:e,primary:r,other:t,status:null});t.other=n,a(n,t.pt)}(r,t,e),r}function s(t,e){var i=n(e,t.seg.end,t.seg);return function(t,e){r&&r.segmentChop(t.seg,e),t.other.remove(),t.seg.end=e,t.other.pt=e,a(t.other,t.pt)}(t,e),o(i,t.primary)}function l(n,a){var o=tc.create();function l(t){return o.findTransition(function(r){var n,i,a,o,s,l;return n=t,i=r.ev,a=n.seg.start,o=n.seg.end,s=i.seg.start,l=i.seg.end,(e.pointsCollinear(a,s,l)?e.pointsCollinear(o,s,l)?1:e.pointAboveOrOnLine(o,s,l)?1:-1:e.pointAboveOrOnLine(a,s,l)?1:-1)>0})}function u(t,n){var i=t.seg,a=n.seg,o=i.start,l=i.end,u=a.start,c=a.end;r&&r.checkIntersection(i,a);var h=e.linesIntersect(o,l,u,c);if(!1===h){if(!e.pointsCollinear(o,l,u))return!1;if(e.pointsSame(o,c)||e.pointsSame(l,u))return!1;var f=e.pointsSame(o,u),p=e.pointsSame(l,c);if(f&&p)return n;var d=!f&&e.pointBetween(o,u,c),g=!p&&e.pointBetween(l,u,c);if(f)return g?s(n,l):s(t,c),n;d&&(p||(g?s(n,l):s(t,c)),s(n,o))}else 0===h.alongA&&(-1===h.alongB?s(t,u):0===h.alongB?s(t,h.pt):1===h.alongB&&s(t,c)),0===h.alongB&&(-1===h.alongA?s(n,o):0===h.alongA?s(n,h.pt):1===h.alongA&&s(n,l));return!1}for(var c=[];!i.isEmpty();){var h=i.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var f=l(h),p=f.before?f.before.ev:null,d=f.after?f.after.ev:null;function g(){if(p){var t=u(h,p);if(t)return t}return!!d&&u(h,d)}r&&r.tempStatus(h.seg,!!p&&p.seg,!!d&&d.seg);var v,m,y=g();if(y)t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(y.seg.myFill.above=!y.seg.myFill.above):y.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(y.seg),h.other.remove(),h.remove();if(i.getHead()!==h){r&&r.rewind(h.seg);continue}t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=d?d.seg.myFill.above:n,h.seg.myFill.above=m?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(v=d?h.primary===d.primary?d.seg.otherFill.above:d.seg.myFill.above:h.primary?a:n,h.seg.otherFill={above:v,below:v}),r&&r.status(h.seg,!!p&&p.seg,!!d&&d.seg),h.other.status=f.insert(tc.node({ev:h}))}else{var x=h.status;if(null===x)throw new Error(\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\");if(o.exists(x.prev)&&o.exists(x.next)&&u(x.prev.ev,x.next.ev),r&&r.statusRemove(x.ev.seg),x.remove(),!h.primary){var b=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=b}c.push(h.seg)}i.getHead().remove()}return r&&r.done(),c}return t?{addRegion:function(t){for(var n,i,a,s=t[t.length-1],l=0;l<t.length;l++){n=s,s=t[l];var u=e.pointsCompare(n,s);0!==u&&o((i=u<0?n:s,a=u<0?s:n,{id:r?r.segmentId():-1,start:i,end:a,myFill:{above:null,below:null},otherFill:null}),!0)}},calculate:function(t){return l(t,!1)}}:{calculate:function(t,e,r,i){return t.forEach(function(t){o(n(t.start,t.end,t),!0)}),r.forEach(function(t){o(n(t.start,t.end,t),!1)}),l(e,i)}}};var rc=function(t,e,r){var n=[],i=[];return t.forEach(function(t){var a=t.start,o=t.end;if(e.pointsSame(a,o))console.warn(\"PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large\");else{r&&r.chainStart(t);for(var s={index:0,matches_head:!1,matches_pt1:!1},l={index:0,matches_head:!1,matches_pt1:!1},u=s,c=0;c<n.length;c++){var h=(v=n[c])[0],f=(v[1],v[v.length-1]);if(v[v.length-2],e.pointsSame(h,a)){if(A(c,!0,!0))break}else if(e.pointsSame(h,o)){if(A(c,!0,!1))break}else if(e.pointsSame(f,a)){if(A(c,!1,!0))break}else if(e.pointsSame(f,o)&&A(c,!1,!1))break}if(u===s)return n.push([a,o]),void(r&&r.chainNew(a,o));if(u===l){r&&r.chainMatch(s.index);var p=s.index,d=s.matches_pt1?o:a,g=s.matches_head,v=n[p],m=g?v[0]:v[v.length-1],y=g?v[1]:v[v.length-2],x=g?v[v.length-1]:v[0],b=g?v[v.length-2]:v[1];return e.pointsCollinear(y,m,d)&&(g?(r&&r.chainRemoveHead(s.index,d),v.shift()):(r&&r.chainRemoveTail(s.index,d),v.pop()),m=y),e.pointsSame(x,d)?(n.splice(p,1),e.pointsCollinear(b,x,m)&&(g?(r&&r.chainRemoveTail(s.index,m),v.pop()):(r&&r.chainRemoveHead(s.index,m),v.shift())),r&&r.chainClose(s.index),void i.push(v)):void(g?(r&&r.chainAddHead(s.index,d),v.unshift(d)):(r&&r.chainAddTail(s.index,d),v.push(d)))}var _=s.index,w=l.index;r&&r.chainConnect(_,w);var M=n[_].length<n[w].length;s.matches_head?l.matches_head?M?(k(_),T(_,w)):(k(w),T(w,_)):T(w,_):l.matches_head?T(_,w):M?(k(_),T(w,_)):(k(w),T(_,w))}function A(t,e,r){return u.index=t,u.matches_head=e,u.matches_pt1=r,u===s?(u=l,!1):(u=null,!0)}function k(t){r&&r.chainReverse(t),n[t].reverse()}function T(t,i){var a=n[t],o=n[i],s=a[a.length-1],l=a[a.length-2],u=o[0],c=o[1];e.pointsCollinear(l,s,u)&&(r&&r.chainRemoveTail(t,s),a.pop(),s=l),e.pointsCollinear(s,u,c)&&(r&&r.chainRemoveHead(i,u),o.shift()),r&&r.chainJoin(t,i),n[t]=a.concat(o),n.splice(i,1)}}),i};function nc(t,e,r){var n=[];return t.forEach(function(t){var i=(t.myFill.above?8:0)+(t.myFill.below?4:0)+(t.otherFill&&t.otherFill.above?2:0)+(t.otherFill&&t.otherFill.below?1:0);0!==e[i]&&n.push({id:r?r.segmentId():-1,start:t.start,end:t.end,myFill:{above:1===e[i],below:2===e[i]},otherFill:null})}),r&&r.selected(n),n}var ic,ac={union:function(t,e){return nc(t,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],e)},intersect:function(t,e){return nc(t,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],e)},difference:function(t,e){return nc(t,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],e)},differenceRev:function(t,e){return nc(t,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],e)},xor:function(t,e){return nc(t,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],e)}},oc=!1,sc=function(t){\"number\"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return\"number\"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l<t||l-(a*a+s*s)>-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])<t},pointsSameY:function(e,r){return Math.abs(e[1]-r[1])<t},pointsSame:function(t,r){return e.pointsSameX(t,r)&&e.pointsSameY(t,r)},pointsCompare:function(t,r){return e.pointsSameX(t,r)?e.pointsSameY(t,r)?0:t[1]<r[1]?-1:1:t[0]<r[0]?-1:1},pointsCollinear:function(e,r,n){var i=e[0]-r[0],a=e[1]-r[1],o=r[0]-n[0],s=r[1]-n[1];return Math.abs(i*s-o*a)<t},linesIntersect:function(e,r,n,i){var a=r[0]-e[0],o=r[1]-e[1],s=i[0]-n[0],l=i[1]-n[1],u=a*l-o*s;if(Math.abs(u)<t)return!1;var c=e[0]-n[0],h=e[1]-n[1],f=(s*h-l*c)/u,p=(a*h-o*c)/u,d={alongA:0,alongB:0,pt:[e[0]+f*a,e[1]+f*o]};return d.alongA=f<=-t?-2:f<t?-1:f-1<=-t?0:f-1<t?1:2,d.alongB=p<=-t?-2:p<t?-1:p-1<=-t?0:p-1<t?1:2,d},pointInsideRegion:function(e,r){for(var n=e[0],i=e[1],a=r[r.length-1][0],o=r[r.length-1][1],s=!1,l=0;l<r.length;l++){var u=r[l][0],c=r[l][1];c-i>t!=o-i>t&&(a-u)*(i-c)/(o-c)+u-n>t&&(s=!s),a=u,o=c}return s}};return e}();function lc(t,e,r){var n=ic.segments(t),i=ic.segments(e),a=r(ic.combine(n,i));return ic.polygon(a)}ic={buildLog:function(t){return!0===t?oc=Qu():!1===t&&(oc=!1),!1!==oc&&oc.list},epsilon:function(t){return sc.epsilon(t)},segments:function(t){var e=ec(!0,sc,oc);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:ec(!1,sc,oc).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:ac.union(t.combined,oc),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:ac.intersect(t.combined,oc),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:ac.difference(t.combined,oc),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:ac.differenceRev(t.combined,oc),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:ac.xor(t.combined,oc),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:rc(t.segments,sc,oc),inverted:t.inverted}},polygonFromGeoJSON:function(t){return $u.toPolygon(ic,t)},polygonToGeoJSON:function(t){return $u.fromPolygon(ic,sc,t)},union:function(t,e){return lc(t,e,ic.selectUnion)},intersect:function(t,e){return lc(t,e,ic.selectIntersect)},difference:function(t,e){return lc(t,e,ic.selectDifference)},differenceRev:function(t,e){return lc(t,e,ic.selectDifferenceRev)},xor:function(t,e){return lc(t,e,ic.selectXor)}},\"object\"==typeof window&&(window.PolyBool=ic);var uc=ic,cc={},hc=Vt.dot,fc=t.BADNUM,pc=cc={};pc.tester=function(t){if(Array.isArray(t[0][0]))return pc.multitester(t);var e,r=t.slice(),n=r[0][0],i=n,a=r[0][1],o=a;for(r.push(r[0]),e=1;e<r.length;e++)n=Math.min(n,r[e][0]),i=Math.max(i,r[e][0]),a=Math.min(a,r[e][1]),o=Math.max(o,r[e][1]);var s,l=!1;5===r.length&&(r[0][0]===r[1][0]?r[2][0]===r[3][0]&&r[0][1]===r[3][1]&&r[1][1]===r[2][1]&&(l=!0,s=function(t){return t[0]===r[0][0]}):r[0][1]===r[1][1]&&r[2][1]===r[3][1]&&r[0][0]===r[3][0]&&r[1][0]===r[2][0]&&(l=!0,s=function(t){return t[1]===r[0][1]}));var u=!0,c=r[0];for(e=1;e<r.length;e++)if(c[0]!==r[e][0]||c[1]!==r[e][1]){u=!1;break}return{xmin:n,xmax:i,ymin:a,ymax:o,pts:r,contains:l?function(t,e){var r=t[0],l=t[1];return!(r===fc||r<n||r>i||l===fc||l<a||l>o||e&&s(t))}:function(t,e){var s=t[0],l=t[1];if(s===fc||s<n||s>i||l===fc||l<a||l>o)return!1;var u,c,h,f,p,d=r.length,g=r[0][0],v=r[0][1],m=0;for(u=1;u<d;u++)if(c=g,h=v,g=r[u][0],v=r[u][1],!(s<(f=Math.min(c,g))||s>Math.max(c,g)||l>Math.max(h,v)))if(l<Math.min(h,v))s!==f&&m++;else{if(l===(p=g===c?l:h+(s-c)*(v-h)/(g-c)))return 1!==u||!e;l<=p&&s!==f&&m++}return m%2==1},isRect:l,degenerate:u}},pc.multitester=function(t){for(var e=[],r=t[0][0][0],n=r,i=t[0][0][1],a=i,o=0;o<t.length;o++){var s=pc.tester(t[o]);s.subtract=t[o].subtract,e.push(s),r=Math.min(r,s.xmin),n=Math.max(n,s.xmax),i=Math.min(i,s.ymin),a=Math.max(a,s.ymax)}return{xmin:r,xmax:n,ymin:i,ymax:a,pts:[],contains:function(t,r){for(var n=!1,i=0;i<e.length;i++)e[i].contains(t,r)&&(n=!1===e[i].subtract);return n},isRect:!1,degenerate:!1}};var dc=pc.isSegmentBent=function(t,e,r,n){var i,a,o,s=t[e],l=[t[r][0]-s[0],t[r][1]-s[1]],u=hc(l,l),c=Math.sqrt(u),h=[-l[1]/c,l[0]/c];for(i=e+1;i<r;i++)if(a=[t[i][0]-s[0],t[i][1]-s[1]],(o=hc(a,l))<0||o>u||Math.abs(hc(a,h))>n)return!0;return!1};pc.filter=function(t,e){var r=[t[0]],n=0,i=0;function a(a){t.push(a);var o=r.length,s=n;r.splice(i+1);for(var l=s+1;l<t.length;l++)(l===t.length-1||dc(t,s,l+1,e))&&(r.push(t[l]),r.length<o-2&&(n=l,i=r.length-1),s=l)}t.length>1&&a(t.pop());return{addPt:a,raw:t,filtered:r}};var gc=Ya.makeEventData,vc=cc.filter,mc=cc.tester,yc=cc.multitester,xc=Te.MINSELECT;function bc(t){return t._id}var _c=function(t,e,r,n,i){var a,o,s,l,u=n.gd,c=u._fullLayout,h=c._zoomlayer,f=n.element.getBoundingClientRect(),p=n.plotinfo,d=p.xaxis._offset,g=p.yaxis._offset,v=e-f.left,m=r-f.top,y=v,x=m,b=\"M\"+v+\",\"+m,_=n.xaxes[0]._length,w=n.yaxes[0]._length,M=n.xaxes.map(bc),A=n.yaxes.map(bc),k=n.xaxes.concat(n.yaxes),T=t.altKey;(t.shiftKey||t.altKey)&&p.selection&&p.selection.polygons&&!n.polygons?(n.polygons=p.selection.polygons,n.mergedPolygons=p.selection.mergedPolygons):(!t.shiftKey&&!t.altKey||(t.shiftKey||t.altKey)&&!p.selection)&&(p.selection={},p.selection.polygons=n.polygons=[],p.selection.mergedPolygons=n.mergedPolygons=[]),\"lasso\"===i&&(a=vc([[v,m]],Te.BENDPX));var S=h.selectAll(\"path.select-outline-\"+p.id).data([1,2]);S.enter().append(\"path\").attr(\"class\",function(t){return\"select-outline select-outline-\"+t+\" select-outline-\"+p.id}).attr(\"transform\",\"translate(\"+d+\", \"+g+\")\").attr(\"d\",b+\"Z\");var E,C,L,z,P,I,D=h.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:Oe.background,stroke:Oe.defaultLine,\"stroke-width\":1}).attr(\"transform\",\"translate(\"+d+\", \"+g+\")\").attr(\"d\",\"M0,0Z\"),O=[],R=c._uid+Te.SELECTID,F=[];for(E=0;E<u.calcdata.length;E++)if(!0===(L=(C=u.calcdata[E])[0].trace).visible&&L._module&&L._module.selectPoints)if(n.subplot)L.subplot!==n.subplot&&L.geo!==n.subplot||O.push({selectPoints:L._module.selectPoints,style:L._module.style,cd:C,xaxis:n.xaxes[0],yaxis:n.yaxes[0]});else{if(-1===M.indexOf(L.xaxis))continue;if(-1===A.indexOf(L.yaxis))continue;O.push({selectPoints:L._module.selectPoints,style:L._module.style,cd:C,xaxis:ri.getFromId(u,L.xaxis),yaxis:ri.getFromId(u,L.yaxis)})}function B(t){var e=\"y\"===t._id.charAt(0)?1:0;return function(r){return t.p2d(r[e])}}function N(t,e){return t-e}I=p.fillRangeItems?p.fillRangeItems:\"select\"===i?function(t,e){var r=t.range={};for(E=0;E<k.length;E++){var n=k[E],i=n._id.charAt(0);r[n._id]=[n.p2d(e[i+\"min\"]),n.p2d(e[i+\"max\"])].sort(N)}}:function(t,e,r){var n=t.lassoPoints={};for(E=0;E<k.length;E++){var i=k[E];n[i._id]=r.filtered.map(B(i))}},n.moveFn=function(t,e){y=Math.max(0,Math.min(_,t+v)),x=Math.max(0,Math.min(w,e+m));var r=Math.abs(y-v),c=Math.abs(x-m);\"select\"===i?c<Math.min(.6*r,xc)?((l=[[v,0],[v,w],[y,w],[y,0]]).xmin=Math.min(v,y),l.xmax=Math.max(v,y),l.ymin=Math.min(0,w),l.ymax=Math.max(0,w),D.attr(\"d\",\"M\"+l.xmin+\",\"+(m-xc)+\"h-4v\"+2*xc+\"h4ZM\"+(l.xmax-1)+\",\"+(m-xc)+\"h4v\"+2*xc+\"h-4Z\")):r<Math.min(.6*c,xc)?((l=[[0,m],[0,x],[_,x],[_,m]]).xmin=Math.min(0,_),l.xmax=Math.max(0,_),l.ymin=Math.min(m,x),l.ymax=Math.max(m,x),D.attr(\"d\",\"M\"+(v-xc)+\",\"+l.ymin+\"v-4h\"+2*xc+\"v4ZM\"+(v-xc)+\",\"+(l.ymax-1)+\"v4h\"+2*xc+\"v-4Z\")):((l=[[v,m],[v,x],[y,x],[y,m]]).xmin=Math.min(v,y),l.xmax=Math.max(v,y),l.ymin=Math.min(m,x),l.ymax=Math.max(m,x),D.attr(\"d\",\"M0,0Z\")):\"lasso\"===i&&(a.addPt([y,x]),l=a.filtered),n.polygons&&n.polygons.length?(s=function(t,e,r){if(r)return uc.difference({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions;return uc.union({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions}(n.mergedPolygons,l,T),l.subtract=T,o=yc(n.polygons.concat([l]))):(s=[l],o=mc(l));var h=[];for(E=0;E<s.length;E++){var f=s[E];h.push(f.join(\"L\")+\"L\"+f[0])}S.attr(\"d\",\"M\"+h.join(\"M\")+\"Z\"),$t.throttle(R,Te.SELECTDELAY,function(){F=[];var t,e,r=[];for(E=0;E<O.length;E++)if(e=(z=O[E]).selectPoints(z,o),r.push(e),t=Mc(e,z),F.length)for(var i=0;i<t.length;i++)F.push(t[i]);else F=t;wc(u,O,P={points:F}),I(P,l,a),n.gd.emit(\"plotly_selecting\",P)})},n.clickFn=function(t,e){D.remove(),$t.done(R).then(function(){if($t.clear(R),2===t){for(S.remove(),E=0;E<O.length;E++)(z=O[E]).selectPoints(z,!1);wc(u,O),u.emit(\"plotly_deselect\",null)}else u.emit(\"plotly_selected\",void 0);yo.click(u,e)})},n.doneFn=function(){D.remove(),$t.done(R).then(function(){$t.clear(R),n.gd.emit(\"plotly_selected\",P),l&&n.polygons&&(l.subtract=T,n.polygons.push(l),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,s))})}};function wc(t,e,r){var n,i,a;if(r){var o=r.points||[];for(n=0;n<e.length;n++)(a=e[n].cd[0].trace).selectedpoints=[],a._input.selectedpoints=[];for(n=0;n<o.length;n++){var s=o[n],l=s.data,u=s.fullData;s.pointIndices?([].push.apply(l.selectedpoints,s.pointIndices),[].push.apply(u.selectedpoints,s.pointIndices)):(l.selectedpoints.push(s.pointIndex),u.selectedpoints.push(s.pointIndex))}}else for(n=0;n<e.length;n++)delete(a=e[n].cd[0].trace).selectedpoints,delete a._input.selectedpoints,e[n].cd[0].t&&e[n].cd[0].t.scene&&e[n].cd[0].t.scene.clearSelect();for(n=0;n<e.length;n++)(i=e[n]).style&&i.style(t,i.cd)}function Mc(t,e){if(Array.isArray(t))for(var r=e.cd,n=e.cd[0].trace,i=0;i<t.length;i++)t[i]=gc(t[i],n,r);return t}var Ac=function(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(!u.hasOwnProperty(e.type))return null;var i=u[e.type];return t.geo.stream(e,n(i)),i.result()}t.geo.project=function(t,e){var i=e.stream;if(!i)throw new Error(\"not yet supported\");return(t&&n.hasOwnProperty(t.type)?n[t.type]:r)(t,i)};var n={Feature:e,FeatureCollection:function(t,r){return{type:\"FeatureCollection\",features:t.features.map(function(t){return e(t,r)})}}},i=[],a=[],o={point:function(t,e){i.push([t,e])},result:function(){var t=i.length?i.length<2?{type:\"Point\",coordinates:i[0]}:{type:\"MultiPoint\",coordinates:i}:null;return i=[],t}},s={lineStart:c,point:function(t,e){i.push([t,e])},lineEnd:function(){i.length&&(a.push(i),i=[])},result:function(){var t=a.length?a.length<2?{type:\"LineString\",coordinates:a[0]}:{type:\"MultiLineString\",coordinates:a}:null;return a=[],t}},l={polygonStart:c,lineStart:c,point:function(t,e){i.push([t,e])},lineEnd:function(){var t=i.length;if(t){do{i.push(i[0].slice())}while(++t<4);a.push(i),i=[]}},polygonEnd:c,result:function(){if(!a.length)return null;var t=[],e=[];return a.forEach(function(r){!function(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}(r)?e.push(r):t.push([r])}),e.forEach(function(e){var r=e[0];t.some(function(t){if(function(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],p=h[1];c>n^p>n&&r<(f-u)*(n-c)/(p-c)+u&&(i=!i)}return i}(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}},u={Point:o,MultiPoint:o,LineString:s,MultiLineString:s,Polygon:l,MultiPolygon:l,Sphere:l};function c(){}var h=1e-6,f=h*h,p=Math.PI,d=p/2,g=(Math.sqrt(p),p/180),v=180/p;function m(t){return t>1?d:t<-1?-d:Math.asin(t)}function y(t){return t>1?0:t<-1?p:Math.acos(t)}var x=t.geo.projection,b=t.geo.projectionMutator;function _(t,e){var r=(2+d)*Math.sin(e);e/=2;for(var n=0,i=1/0;n<10&&Math.abs(i)>h;n++){var a=Math.cos(e);e-=i=(e+Math.sin(e)*(a+2)-r)/(2*a*(1+a))}return[2/Math.sqrt(p*(4+p))*t*(1+Math.cos(e)),2*Math.sqrt(p/(4+p))*Math.sin(e)]}t.geo.interrupt=function(e){var r,n=[[[[-p,0],[0,d],[p,0]]],[[[-p,0],[0,-d],[p,0]]]];function i(t,r){for(var i=r<0?-1:1,a=n[+(r<0)],o=0,s=a.length-1;o<s&&t>a[o][2][0];++o);var l=e(t-a[o][1][0],r);return l[0]+=e(a[o][1][0],i*r>i*a[o][0][1]?a[o][0][1]:r)[0],l}e.invert&&(i.invert=function(t,a){for(var o=r[+(a<0)],s=n[+(a<0)],u=0,c=o.length;u<c;++u){var h=o[u];if(h[0][0]<=t&&t<h[1][0]&&h[0][1]<=a&&a<h[1][1]){var f=e.invert(t-e(s[u][1][0],0)[0],a);return f[0]+=s[u][1][0],l(i(f[0],f[1]),[t,a])?f:null}}});var a=t.geo.projection(i),o=a.stream;function s(t,e){for(var r,n,i,a=-1,o=t.length,s=t[0],l=[];++a<o;){n=((r=t[a])[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 l(t,e){return Math.abs(t[0]-e[0])<h&&Math.abs(t[1]-e[1])<h}return a.stream=function(e){var r=a.rotate(),i=o(e),l=(a.rotate([0,0]),o(e));return a.rotate(r),i.sphere=function(){t.geo.stream(function(){for(var e=1e-6,r=[],i=0,a=n[0].length;i<a;++i){var o=n[0][i],l=180*o[0][0]/p,u=180*o[0][1]/p,c=180*o[1][1]/p,h=180*o[2][0]/p,f=180*o[2][1]/p;r.push(s([[l+e,u+e],[l+e,c-e],[h-e,c-e],[h-e,f+e]],30))}for(var i=n[1].length-1;i>=0;--i){var o=n[1][i],l=180*o[0][0]/p,u=180*o[0][1]/p,c=180*o[1][1]/p,h=180*o[2][0]/p,f=180*o[2][1]/p;r.push(s([[h-e,f-e],[h-e,c+e],[l+e,c+e],[l+e,u-e]],30))}return{type:\"Polygon\",coordinates:[t.merge(r)]}}(),l)},i},a.lobes=function(t){return arguments.length?(n=t.map(function(t){return t.map(function(t){return[[t[0][0]*p/180,t[0][1]*p/180],[t[1][0]*p/180,t[1][1]*p/180],[t[2][0]*p/180,t[2][1]*p/180]]})}),r=n.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]]})}),a):n.map(function(t){return t.map(function(t){return[[180*t[0][0]/p,180*t[0][1]/p],[180*t[1][0]/p,180*t[1][1]/p],[180*t[2][0]/p,180*t[2][1]/p]]})})},a},_.invert=function(t,e){var r=.5*e*Math.sqrt((4+p)/p),n=m(r),i=Math.cos(n);return[t/(2/Math.sqrt(p*(4+p))*(1+i)),m((n+r*(i+2))/(2+d))]},(t.geo.eckert4=function(){return x(_)}).raw=_;var w=t.geo.azimuthalEqualArea.raw;function M(t,e){if(arguments.length<2&&(e=t),1===e)return w;if(e===1/0)return A;function r(r,n){var i=w(r/e,n);return i[0]*=t,i}return r.invert=function(r,n){var i=w.invert(r/t,n);return i[0]*=e,i},r}function A(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function k(t,e){return[3*t/(2*p)*Math.sqrt(p*p/3-e*e),e]}function T(t,e){return[t,1.25*Math.log(Math.tan(p/4+.4*e))]}function S(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)>h&&--i>0);return e/2}}A.invert=function(t,e){var r=2*m(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=function(){var t=2,e=b(M),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=M,k.invert=function(t,e){return[2/3*p*t/Math.sqrt(p*p/3-e*e),e]},(t.geo.kavrayskiy7=function(){return x(k)}).raw=k,T.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*p]},(t.geo.miller=function(){return x(T)}).raw=T,S(p);var E=function(t,e,r){var n=S(r);function i(r,i){return[t*r*Math.cos(i=n(i)),e*Math.sin(i)]}return i.invert=function(n,i){var a=m(i/e);return[n/(t*Math.cos(a)),m((2*a+Math.sin(2*a))/r)]},i}(Math.SQRT2/d,Math.SQRT2,p);function C(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)))]}(t.geo.mollweide=function(){return x(E)}).raw=E,C.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)>h&&--i>0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return x(C)}).raw=C;var L=[[.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]];function z(t,e){var r,n=Math.min(18,36*Math.abs(e)/p),i=Math.floor(n),a=n-i,o=(r=L[i])[0],s=r[1],l=(r=L[++i])[0],u=r[1],c=(r=L[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 P(t,e){return[t*Math.cos(e),e]}function I(t,e){var r,n=Math.cos(e),i=(r=y(n*Math.cos(t/=2)))?r/Math.sin(r):1;return[2*n*Math.sin(t)*i,Math.sin(e)*i]}function D(t,e){var r=I(t,e);return[(r[0]+t/d)/2,(r[1]+e)/2]}L.forEach(function(t){t[1]*=1.0144}),z.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=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],u=l-o,c=l-2*s+o,h=2*(Math.abs(r)-s)/u,p=c/u,m=h*(1-p*h*(1-2*p*h));if(m>=0||1===a){n=(e>=0?5:-5)*(m+i);var y,x=50;do{m=(i=Math.min(18,Math.abs(n)/5))-(a=Math.floor(i)),o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],n-=(y=(e>=0?d:-d)*(s+m*(l-o)/2+m*m*(l-2*s+o)/2)-e)*v}while(Math.abs(y)>f&&--x>0);break}}while(--a>=0);var b=L[a][0],_=L[a+1][0],w=L[Math.min(19,a+2)][0];return[t/(_+m*(w-b)/2+m*m*(w-2*_+b)/2),n*g]},(t.geo.robinson=function(){return x(z)}).raw=z,P.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return x(P)}).raw=P,I.invert=function(t,e){if(!(t*t+4*e*e>p*p+h)){var r=t,n=e,i=25;do{var a,o=Math.sin(r),s=Math.sin(r/2),l=Math.cos(r/2),u=Math.sin(n),c=Math.cos(n),f=Math.sin(2*n),d=u*u,g=c*c,v=s*s,m=1-g*l*l,x=m?y(c*l)*Math.sqrt(a=1/m):a=0,b=2*x*c*s-t,_=x*u-e,w=a*(g*v+x*c*l*d),M=a*(.5*o*f-2*x*u*s),A=.25*a*(f*s-x*u*g*o),k=a*(d*l+x*v*c),T=M*A-k*w;if(!T)break;var S=(_*M-b*k)/T,E=(b*A-_*w)/T;r-=S,n-=E}while((Math.abs(S)>h||Math.abs(E)>h)&&--i>0);return[r,n]}},(t.geo.aitoff=function(){return x(I)}).raw=I,D.invert=function(t,e){var r=t,n=e,i=25;do{var a,o=Math.cos(n),s=Math.sin(n),l=Math.sin(2*n),u=s*s,c=o*o,f=Math.sin(r),p=Math.cos(r/2),g=Math.sin(r/2),v=g*g,m=1-c*p*p,x=m?y(o*p)*Math.sqrt(a=1/m):a=0,b=.5*(2*x*o*g+r/d)-t,_=.5*(x*s+n)-e,w=.5*a*(c*v+x*o*p*u)+.5/d,M=a*(f*l/4-x*s*g),A=.125*a*(l*g-x*s*c*f),k=.5*a*(u*p+x*v*o)+.5,T=M*A-k*w,S=(_*M-b*k)/T,E=(b*A-_*w)/T;r-=S,n-=E}while((Math.abs(S)>h||Math.abs(E)>h)&&--i>0);return[r,n]},(t.geo.winkel3=function(){return x(D)}).raw=D},kc=Math.PI/180,Tc=180/Math.PI,Sc={cursor:\"pointer\"},Ec={cursor:\"auto\"};var Cc=function(t,e){var r=t.projection;return(e._isScoped?Pc:e._isClipped?Dc:Ic)(t,r)};function Lc(t,r){return e.behavior.zoom().translate(r.translate()).scale(r.scale())}function zc(t,e,r){var n=t.id,i=t.graphDiv,a=i.layout[n],o=i._fullLayout[n],s={};function l(t,e){var r=ne.nestedProperty(o,t);r.get()!==e&&(r.set(e),ne.nestedProperty(a,t).set(e),s[n+\".\"+t]=e)}r(l),l(\"projection.scale\",e.scale()/t.fitScale),i.emit(\"plotly_relayout\",s)}function Pc(t,r){var n=Lc(0,r);function i(e){var n=r.invert(t.midPt);e(\"center.lon\",n[0]),e(\"center.lat\",n[1])}return n.on(\"zoomstart\",function(){e.select(this).style(Sc)}).on(\"zoom\",function(){r.scale(e.event.scale).translate(e.event.translate),t.render()}).on(\"zoomend\",function(){e.select(this).style(Ec),zc(t,r,i)}),n}function Ic(t,r){var n,i,a,o,s,l,u,c,h=Lc(0,r),f=2;function p(t){return r.invert(t)}function d(e){var n=r.rotate(),i=r.invert(t.midPt);e(\"projection.rotation.lon\",-n[0]),e(\"center.lon\",i[0]),e(\"center.lat\",i[1])}return h.on(\"zoomstart\",function(){e.select(this).style(Sc),n=e.mouse(this),i=r.rotate(),a=r.translate(),o=i,s=p(n)}).on(\"zoom\",function(){if(l=e.mouse(this),g=r(p(d=n)),Math.abs(g[0]-d[0])>f||Math.abs(g[1]-d[1])>f)return h.scale(r.scale()),void h.translate(r.translate());var d,g;r.scale(e.event.scale),r.translate([a[0],e.event.translate[1]]),s?p(l)&&(c=p(l),u=[o[0]+(c[0]-s[0]),i[1],i[2]],r.rotate(u),o=u):s=p(n=l),t.render()}).on(\"zoomend\",function(){e.select(this).style(Ec),zc(t,r,d)}),h}function Dc(t,r){var n,i={r:r.rotate(),k:r.scale()},a=Lc(0,r),o=function(t){var r=0,n=arguments.length,i=[];for(;++r<n;)i.push(arguments[r]);var a=e.dispatch.apply(null,i);return a.of=function(r,n){return function(i){var o;try{o=i.sourceEvent=e.event,i.target=t,e.event=i,a[i.type].apply(r,n)}finally{e.event=o}}},a}(a,\"zoomstart\",\"zoom\",\"zoomend\"),s=0,l=a.on;function u(t){var e=r.rotate();t(\"projection.rotation.lon\",-e[0]),t(\"projection.rotation.lat\",-e[1])}return a.on(\"zoomstart\",function(){e.select(this).style(Sc);var t,u,c,h,f,p,d,g,v,m,y,x=e.mouse(this),b=r.rotate(),_=b,w=r.translate(),M=(u=.5*(t=b)[0]*kc,c=.5*t[1]*kc,h=.5*t[2]*kc,f=Math.sin(u),p=Math.cos(u),d=Math.sin(c),g=Math.cos(c),v=Math.sin(h),m=Math.cos(h),[p*g*m+f*d*v,f*g*m-p*d*v,p*d*m+f*g*v,p*g*v-f*d*m]);n=Oc(r,x),l.call(a,\"zoom\",function(){var t,a,s,l,u,c,h,f,p,d,g=e.mouse(this);if(r.scale(i.k=e.event.scale),n){if(Oc(r,g)){r.rotate(b).translate(w);var v=Oc(r,g),m=function(t,e){if(!t||!e)return;var r=function(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]]}(t,e),n=Math.sqrt(Nc(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,Nc(t,e)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}(n,v),y=function(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*Tc,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*Tc,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*Tc]}((a=m,s=(t=M)[0],l=t[1],u=t[2],c=t[3],h=a[0],f=a[1],p=a[2],d=a[3],[s*h-l*f-u*p-c*d,s*f+l*h+u*d-c*p,s*p-l*d+u*h+c*f,s*d+l*p-u*f+c*h])),A=i.r=function(t,e,r){var n=Bc(e,2,t[0]);n=Bc(n=Bc(n,1,t[1]),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)*Tc,p=Math.sqrt(o*o+s*s);Math.abs(c)>p?(a=(c>0?90:-90)-f,i=0):(a=Math.asin(c/p)*Tc-f,i=Math.sqrt(p*p-c*c));var d=180-a-2*f,g=(Math.atan2(h,u)-Math.atan2(l,i))*Tc,v=(Math.atan2(h,u)-Math.atan2(l,-i))*Tc,m=Rc(r[0],r[1],a,g),y=Rc(r[0],r[1],d,v);return m<=y?[a,g,r[2]]:[d,v,r[2]]}(y,n,_);isFinite(A[0])&&isFinite(A[1])&&isFinite(A[2])||(A=_),r.rotate(A),_=A}}else n=Oc(r,x=g);o.of(this,arguments)({type:\"zoom\"})}),y=o.of(this,arguments),s++||y({type:\"zoomstart\"})}).on(\"zoomend\",function(){var n;e.select(this).style(Ec),l.call(a,\"zoom\",null),n=o.of(this,arguments),--s||n({type:\"zoomend\"}),zc(t,r,u)}).on(\"zoom.redraw\",function(){t.render()}),e.rebind(a,o,\"on\")}function Oc(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*kc,r=t[1]*kc,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function Rc(t,e,r,n){var i=Fc(r-t),a=Fc(n-e);return Math.sqrt(i*i+a*a)}function Fc(t){return(t%360+540)%360-180}function Bc(t,e,r){var n=r*kc,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 Nc(t,e){for(var r=0,n=0,i=t.length;n<i;++n)r+=t[n]*e[n];return r}var jc=Wu.feature;function Vc(t){this.id=t.id,this.graphDiv=t.graphDiv,this.container=t.container,this.topojsonURL=t.topojsonURL,this.isStatic=t.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}Ac(e);var Uc=Vc.prototype;Uc.plot=function(t,e,r){var n=this,i=e[this.id],a=Xu.getTopojsonName(i);null===n.topojson||a!==n.topojsonName?(n.topojsonName=a,void 0===PlotlyGeoAssets.topojson[n.topojsonName]?r.push(n.fetchTopojson().then(function(r){PlotlyGeoAssets.topojson[n.topojsonName]=r,n.topojson=r,n.update(t,e)})):(n.topojson=PlotlyGeoAssets.topojson[n.topojsonName],n.update(t,e))):n.update(t,e)},Uc.fetchTopojson=function(){var t=Xu.getTopojsonPath(this.topojsonURL,this.topojsonName);return new Promise(function(r,n){e.json(t,function(e,i){if(e)return 404===e.status?n(new Error([\"plotly.js could not find topojson file at\",t,\".\",\"Make sure the *topojsonURL* plot config option\",\"is set properly.\"].join(\" \"))):n(new Error([\"unexpected error while fetching topojson file at\",t].join(\" \")));r(i)})})},Uc.update=function(t,e){var r=e[this.id];if(!this.updateProjection(e,r)){this.hasChoropleth=!1;for(var n=0;n<t.length;n++)if(\"choropleth\"===t[n][0].trace.type){this.hasChoropleth=!0;break}this.viewInitial||this.saveViewInitial(r),this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),_n.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var i=this.layers.frontplot.select(\".scatterlayer\");this.dataPoints.point=i.selectAll(\".point\"),this.dataPoints.text=i.selectAll(\"text\"),this.dataPaths.line=i.selectAll(\".js-line\");var a=this.layers.backplot.select(\".choroplethlayer\");this.dataPaths.choropleth=a.selectAll(\"path\"),this.render()}},Uc.updateProjection=function(t,r){var n=t._size,i=r.domain,a=r.projection,o=a.rotation||{},s=r.center||{},l=this.projection=function(t){for(var r=t.projection.type,n=e.geo[Yu.projNames[r]](),i=t._isClipped?Yu.lonaxisSpan[r]/2:null,a=[\"center\",\"rotate\",\"parallels\",\"clipExtent\"],o=function(t){return t?n:[]},s=0;s<a.length;s++){var l=a[s];\"function\"!=typeof n[l]&&(n[l]=o)}n.isLonLatOverEdges=function(t){if(null===n(t))return!0;if(i){var r=n.rotate();return e.geo.distance(t,[-r[0],-r[1]])>i*Math.PI/180}return!1},n.getPath=function(){return e.geo.path().projection(n)},n.getBounds=function(t){return n.getPath().bounds(t)},n.fitExtent=function(t,e){var r=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=n.clipExtent&&n.clipExtent();n.scale(150).translate([0,0]),a&&n.clipExtent(null);var o=n.getBounds(e),s=Math.min(r/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),l=+t[0][0]+(r-s*(o[1][0]+o[0][0]))/2,u=+t[0][1]+(i-s*(o[1][1]+o[0][1]))/2;return a&&n.clipExtent(a),n.scale(150*s).translate([l,u])},n.precision(Yu.precision),i&&n.clipAngle(i-Yu.clipPad);return n}(r);l.center([s.lon-o.lon,s.lat-o.lat]).rotate([-o.lon,-o.lat,o.roll]).parallels(a.parallels);var u=[[n.l+n.w*i.x[0],n.t+n.h*(1-i.y[1])],[n.l+n.w*i.x[1],n.t+n.h*(1-i.y[0])]],c=r.lonaxis,h=r.lataxis,f=function(t,e){var r=Yu.clipPad,n=t[0]+r,i=t[1]-r,a=e[0]+r,o=e[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:\"Polygon\",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}(c.range,h.range);l.fitExtent(u,f);var p=this.bounds=l.getBounds(f),d=this.fitScale=l.scale(),g=l.translate();if(!isFinite(p[0][0])||!isFinite(p[0][1])||!isFinite(p[1][0])||!isFinite(p[1][1])||isNaN(g[0])||isNaN(g[0])){for(var v=this.graphDiv,m=[\"projection.rotation\",\"center\",\"lonaxis.range\",\"lataxis.range\"],y=\"Invalid geo settings, relayout'ing to default view.\",x={},b=0;b<m.length;b++)x[this.id+\".\"+m[b]]=null;return this.viewInitial=null,ne.warn(y),v._promises.push(P.call(\"relayout\",v,x)),y}var _=this.midPt=[(p[0][0]+p[1][0])/2,(p[0][1]+p[1][1])/2];if(l.scale(a.scale*d).translate([g[0]+(_[0]-g[0]),g[1]+(_[1]-g[1])]).clipExtent(p),r._isAlbersUsa){var w=l([s.lon,s.lat]),M=l.translate();l.translate([M[0]-(w[0]-M[0]),M[1]-(w[1]-M[1])])}},Uc.updateBaseLayers=function(t,r){var n=this,i=n.topojson,a=n.layers,o=n.basePaths;function s(t){return\"lonaxis\"===t||\"lataxis\"===t}function l(t){return Boolean(Yu.lineLayers[t])}function u(t){return Boolean(Yu.fillLayers[t])}var c=(this.hasChoropleth?Yu.layersForChoropleth:Yu.layers).filter(function(t){return l(t)||u(t)?r[\"show\"+t]:!s(t)||r[t].showgrid}),h=n.framework.selectAll(\".layer\").data(c,String);h.exit().each(function(t){delete a[t],delete o[t],e.select(this).remove()}),h.enter().append(\"g\").attr(\"class\",function(t){return\"layer \"+t}).each(function(t){var r=a[t]=e.select(this);\"bg\"===t?n.bgRect=r.append(\"rect\").style(\"pointer-events\",\"all\"):s(t)?o[t]=r.append(\"path\").style(\"fill\",\"none\"):\"backplot\"===t?r.append(\"g\").classed(\"choroplethlayer\",!0):\"frontplot\"===t?r.append(\"g\").classed(\"scatterlayer\",!0):l(t)?o[t]=r.append(\"path\").style(\"fill\",\"none\").style(\"stroke-miterlimit\",2):u(t)&&(o[t]=r.append(\"path\").style(\"stroke\",\"none\"))}),h.order(),h.each(function(t){var n=o[t],a=Yu.layerNameToAdjective[t];\"frame\"===t?n.datum(Yu.sphereSVG):l(t)||u(t)?n.datum(jc(i,i.objects[t])):s(t)&&n.datum(function(t,r){var n=r[t].dtick,i=Yu.scopeDefaults[r.scope],a=i.lonaxisRange,o=i.lataxisRange,s=\"lonaxis\"===t?[n]:[0,n];return e.geo.graticule().extent([[a[0],o[0]],[a[1],o[1]]]).step(s)}(t,r)).call(Oe.stroke,r[t].gridcolor).call(Sr.dashLine,\"\",r[t].gridwidth),l(t)?n.call(Oe.stroke,r[a+\"color\"]).call(Sr.dashLine,\"\",r[a+\"width\"]):u(t)&&n.call(Oe.fill,r[a+\"color\"])})},Uc.updateDims=function(t,e){var r=this.bounds,n=(e.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,o=r[1][0]-i+n,s=r[1][1]-a+n;Sr.setRect(this.clipRect,i,a,o,s),this.bgRect.call(Sr.setRect,i,a,o,s).call(Oe.fill,e.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=s},Uc.updateFx=function(t,r){var n=this,i=n.graphDiv,a=n.bgRect,o=t.dragmode;if(!n.isStatic){if(\"pan\"===o)a.node().onmousedown=null,a.call(Cc(n,r)),a.on(\"dblclick.zoom\",function(){var t=n.viewInitial,e={};for(var r in t)e[n.id+\".\"+r]=t[r];P.call(\"relayout\",i,e),i.emit(\"plotly_doubleclick\",null)});else if(\"select\"===o||\"lasso\"===o){var s;a.on(\".zoom\",null),\"select\"===o?s=function(t,e){(t.range={})[n.id]=[u([e.xmin,e.ymin]),u([e.xmax,e.ymax])]}:\"lasso\"===o&&(s=function(t,e,r){(t.lassoPoints={})[n.id]=r.filtered.map(u)});var l={element:n.bgRect.node(),gd:i,plotinfo:{xaxis:n.xaxis,yaxis:n.yaxis,fillRangeItems:s},xaxes:[n.xaxis],yaxes:[n.yaxis],subplot:n.id,clickFn:function(e){2===e&&t._zoomlayer.selectAll(\".select-outline\").remove()},prepFn:function(t,e,r){_c(t,e,r,l,o)}};Ua.init(l)}a.on(\"mousemove\",function(){var t=n.projection.invert(e.mouse(this));if(!t||isNaN(t[0])||isNaN(t[1]))return Ua.unhover(i,e.event);n.xaxis.p2c=function(){return t[0]},n.yaxis.p2c=function(){return t[1]},yo.hover(i,e.event,n.id)}),a.on(\"mouseout\",function(){Ua.unhover(i,e.event)}),a.on(\"click\",function(){yo.click(i,e.event)})}function u(t){return n.projection.invert([t[0]+n.xaxis._offset,t[1]+n.yaxis._offset])}},Uc.makeFramework=function(){var t=this,r=t.graphDiv._fullLayout,n=\"clip\"+r._uid+t.id;t.clipDef=r._clips.append(\"clipPath\").attr(\"id\",n),t.clipRect=t.clipDef.append(\"rect\"),t.framework=e.select(t.container).append(\"g\").attr(\"class\",\"geo \"+t.id).call(Sr.setClipUrl,n),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:\"x\",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:\"y\",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},ri.setConvert(t.mockAxis,r)},Uc.saveViewInitial=function(t){var e=t.center||{},r=t.projection,n=r.rotation||{};t._isScoped?this.viewInitial={\"center.lon\":e.lon,\"center.lat\":e.lat,\"projection.scale\":r.scale}:t._isClipped?this.viewInitial={\"projection.scale\":r.scale,\"projection.rotation.lon\":n.lon,\"projection.rotation.lat\":n.lat}:this.viewInitial={\"center.lon\":e.lon,\"center.lat\":e.lat,\"projection.scale\":r.scale,\"projection.rotation.lon\":n.lon}},Uc.render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?\"translate(\"+r[0]+\",\"+r[1]+\")\":null}function i(t){return e.isLonLatOverEdges(t.lonlat)?\"none\":null}for(t in this.basePaths)this.basePaths[t].attr(\"d\",r);for(t in this.dataPaths)this.dataPaths[t].attr(\"d\",function(t){return r(t.geojson)});for(t in this.dataPoints)this.dataPoints[t].attr(\"display\",i).attr(\"transform\",n)};var qc={},Hc=m.extendFlat;qc.attributes=function(t,e){t=t||{},e=e||{};var r={valType:\"info_array\",editType:t.editType,items:[{valType:\"number\",min:0,max:1,editType:t.editType},{valType:\"number\",min:0,max:1,editType:t.editType}],dflt:[0,1]},n=(t.name&&t.name,t.trace,e.description&&e.description,{x:Hc({},r,{}),y:Hc({},r,{}),editType:t.editType});return t.noGridCell||(n.row={valType:\"integer\",min:0,dflt:0,editType:t.editType},n.column={valType:\"integer\",min:0,dflt:0,editType:t.editType}),n},qc.defaults=function(t,e,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=e.grid;if(o){var s=r(\"domain.column\");void 0!==s&&(s<o.columns?i=o._domains.x[s]:delete t.domain.column);var l=r(\"domain.row\");void 0!==l&&(l<o.rows?a=o._domains.y[l]:delete t.domain.row)}r(\"domain.x\",i),r(\"domain.y\",a)};var Gc=qc.attributes,Wc=ye.overrideAll,Yc={range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},showgrid:{valType:\"boolean\",dflt:!1},tick0:{valType:\"number\"},dtick:{valType:\"number\"},gridcolor:{valType:\"color\",dflt:C.lightLine},gridwidth:{valType:\"number\",min:0,dflt:1}},Xc=Wc({domain:Gc({name:\"geo\"},{}),resolution:{valType:\"enumerated\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\"enumerated\",values:Object.keys(Yu.scopeDefaults),dflt:\"world\"},projection:{type:{valType:\"enumerated\",values:Object.keys(Yu.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,dflt:1}},center:{lon:{valType:\"number\"},lat:{valType:\"number\"}},showcoastlines:{valType:\"boolean\"},coastlinecolor:{valType:\"color\",dflt:C.defaultLine},coastlinewidth:{valType:\"number\",min:0,dflt:1},showland:{valType:\"boolean\",dflt:!1},landcolor:{valType:\"color\",dflt:Yu.landColor},showocean:{valType:\"boolean\",dflt:!1},oceancolor:{valType:\"color\",dflt:Yu.waterColor},showlakes:{valType:\"boolean\",dflt:!1},lakecolor:{valType:\"color\",dflt:Yu.waterColor},showrivers:{valType:\"boolean\",dflt:!1},rivercolor:{valType:\"color\",dflt:Yu.waterColor},riverwidth:{valType:\"number\",min:0,dflt:1},showcountries:{valType:\"boolean\"},countrycolor:{valType:\"color\",dflt:C.defaultLine},countrywidth:{valType:\"number\",min:0,dflt:1},showsubunits:{valType:\"boolean\"},subunitcolor:{valType:\"color\",dflt:C.defaultLine},subunitwidth:{valType:\"number\",min:0,dflt:1},showframe:{valType:\"boolean\"},framecolor:{valType:\"color\",dflt:C.defaultLine},framewidth:{valType:\"number\",min:0,dflt:1},bgcolor:{valType:\"color\",dflt:C.background},lonaxis:Yc,lataxis:Yc},\"plot\",\"from-root\"),Zc=qc.defaults,Jc=function(t,e,r,n){var i,a,o=n.type,s=n.attributes,l=n.handleDefaults,u=n.partition||\"x\",c=e._subplots[o],h=c.length;function f(t,e){return ne.coerce(i,a,s,t,e)}for(var p=0;p<h;p++){var d=c[p];i=t[d]?t[d]:t[d]={},e[d]=a={};var g={};g[u]=[p/h,(p+1)/h],Zc(a,e,f,g),n.id=d,l(i,a,f,n)}},Kc=Yu.axesNames;function Qc(t,e,r){var n=r(\"resolution\"),i=r(\"scope\"),a=Yu.scopeDefaults[i],o=r(\"projection.type\",a.projType),s=e._isAlbersUsa=\"albers usa\"===o;s&&(i=e.scope=\"usa\");var l=e._isScoped=\"world\"!==i,u=e._isConic=-1!==o.indexOf(\"conic\");e._isClipped=!!Yu.lonaxisSpan[o];for(var c=0;c<Kc.length;c++){var h,f=Kc[c],p=[30,10][c];if(l)h=a[f+\"Range\"];else{var d=Yu[f+\"Span\"],g=(d[o]||d[\"*\"])/2,v=r(\"projection.rotation.\"+f.substr(0,3),a.projRotate[c]);h=[v-g,v+g]}r(f+\".tick0\",r(f+\".range\",h)[0]),r(f+\".dtick\",p),r(f+\".showgrid\")&&(r(f+\".gridcolor\"),r(f+\".gridwidth\"))}var m=e.lonaxis.range,y=e.lataxis.range,x=m[0],b=m[1];x>0&&b<0&&(b+=360);var _,w,M,A=(x+b)/2;if(!s){var k=l?a.projRotate:[A,0,0];_=r(\"projection.rotation.lon\",k[0]),r(\"projection.rotation.lat\",k[1]),r(\"projection.rotation.roll\",k[2]),r(\"showcoastlines\",!l)&&(r(\"coastlinecolor\"),r(\"coastlinewidth\")),r(\"showocean\")&&r(\"oceancolor\")}(s?(w=-96.6,M=38.7):(w=l?A:_,M=(y[0]+y[1])/2),r(\"center.lon\",w),r(\"center.lat\",M),u)&&r(\"projection.parallels\",a.projParallels||[0,60]);r(\"projection.scale\"),r(\"showland\")&&r(\"landcolor\"),r(\"showlakes\")&&r(\"lakecolor\"),r(\"showrivers\")&&(r(\"rivercolor\"),r(\"riverwidth\")),r(\"showcountries\",l&&\"usa\"!==i)&&(r(\"countrycolor\"),r(\"countrywidth\")),(\"usa\"===i||\"north america\"===i&&50===n)&&(r(\"showsubunits\",!0),r(\"subunitcolor\"),r(\"subunitwidth\")),l||r(\"showframe\",!0)&&(r(\"framecolor\"),r(\"framewidth\")),r(\"bgcolor\")}var $c={},th=sa.getSubplotCalcData,eh=ne.counterRegex,rh=\"geo\";$c.name=rh,$c.attr=rh,$c.idRoot=rh,$c.idRegex=$c.attrRegex=eh(rh),$c.attributes={geo:{valType:\"subplotid\",dflt:\"geo\",editType:\"calc\"}},$c.layoutAttributes=Xc,$c.supplyLayoutDefaults=function(t,e,r){Jc(t,e,0,{type:\"geo\",attributes:Xc,handleDefaults:Qc,partition:\"y\"})},$c.plot=function(t){var e=t._fullLayout,r=t.calcdata,n=e._subplots.geo;void 0===window.PlotlyGeoAssets&&(window.PlotlyGeoAssets={topojson:{}});for(var i=0;i<n.length;i++){var a=n[i],o=th(r,rh,a),s=e[a]._subplot;s||(s=new Vc({id:a,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL,staticPlot:t._context.staticPlot}),e[a]._subplot=s),s.plot(o,e,t._promises)}},$c.clean=function(t,e,r,n){for(var i=n._subplots.geo||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.framework.remove(),s.clipDef.remove())}},$c.updateFx=function(t){for(var e=t._subplots.geo,r=0;r<e.length;r++){var n=t[e[r]];n._subplot.updateFx(t,n)}};var nh=Ae.dash,ih=m.extendFlat,ah=ye.overrideAll,oh=Zr.marker,sh=Zr.line,lh=oh.line,uh=ah({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:ih({},Zr.mode,{dflt:\"markers\"}),text:ih({},Zr.text,{}),hovertext:ih({},Zr.hovertext,{}),textfont:Zr.textfont,textposition:Zr.textposition,line:{color:sh.color,width:sh.width,dash:nh},connectgaps:Zr.connectgaps,marker:ih({symbol:oh.symbol,opacity:oh.opacity,size:oh.size,sizeref:oh.sizeref,sizemin:oh.sizemin,sizemode:oh.sizemode,showscale:oh.showscale,colorbar:oh.colorbar,line:ih({width:lh.width},De()),gradient:oh.gradient},De()),fill:{valType:\"enumerated\",values:[\"none\",\"toself\"],dflt:\"none\"},fillcolor:Zr.fillcolor,selected:Zr.selected,unselected:Zr.unselected,hoverinfo:ih({},E.hoverinfo,{flags:[\"lon\",\"lat\",\"location\",\"text\",\"name\"]})},\"calc\",\"nested\"),ch=m.extendFlat,hh=m.extendDeepAll,fh=uh.marker.line,ph=ch({locations:{valType:\"data_array\",editType:\"calc\"},locationmode:uh.locationmode,z:{valType:\"data_array\",editType:\"calc\"},text:ch({},uh.text,{}),marker:{line:{color:fh.color,width:ch({},fh.width,{dflt:1}),editType:\"calc\"},opacity:{valType:\"number\",arrayOk:!0,min:0,max:1,dflt:1,editType:\"style\"},editType:\"calc\"},selected:{marker:{opacity:uh.selected.marker.opacity,editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:uh.unselected.marker.opacity,editType:\"plot\"},editType:\"plot\"},hoverinfo:ch({},E.hoverinfo,{editType:\"calc\",flags:[\"location\",\"z\",\"text\",\"name\"]})},hh({},Pe,{zmax:{editType:\"calc\"},zmin:{editType:\"calc\"}}),{colorbar:ze}),dh=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;ne.mergeArray(e.text,t,\"tx\"),ne.mergeArray(e.hovertext,t,\"htx\"),ne.mergeArray(e.customdata,t,\"data\"),ne.mergeArray(e.textposition,t,\"tp\"),e.textfont&&(ne.mergeArray(e.textfont.size,t,\"ts\"),ne.mergeArray(e.textfont.color,t,\"tc\"),ne.mergeArray(e.textfont.family,t,\"tf\"));var n=e.marker;if(n){ne.mergeArray(n.size,t,\"ms\"),ne.mergeArray(n.opacity,t,\"mo\"),ne.mergeArray(n.symbol,t,\"mx\"),ne.mergeArray(n.color,t,\"mc\");var i=n.line;n.line&&(ne.mergeArray(i.color,t,\"mlc\"),ne.mergeArray(i.width,t,\"mlw\"));var a=n.gradient;a&&\"none\"!==a.type&&(ne.mergeArray(a.type,t,\"mgt\"),ne.mergeArray(a.color,t,\"mgc\"))}},gh=t.BADNUM;var vh={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\"},mh={},yh=Object.keys(vh),xh={\"ISO-3\":ne.identity,\"USA-states\":ne.identity,\"country names\":function(t){for(var e=0;e<yh.length;e++){var r=yh[e],n=new RegExp(vh[r]);if(n.test(t.trim().toLowerCase()))return r}return ne.log(\"Unrecognized country name: \"+t+\".\"),!1}};mh.locationToFeature=function(t,e,r){if(!e||\"string\"!=typeof e)return!1;var n=function(t,e){return(0,xh[t])(e)}(t,e);if(n){for(var i=0;i<r.length;i++){var a=r[i];if(a.id===n)return a}ne.log([\"Location with id\",n,\"does not have a matching topojson feature at this resolution.\"].join(\" \"))}return!1};var bh=function(t,r){r&&function(t,r){var n=r[0].trace,i=r[0].node3.selectAll(\".choroplethlocation\"),a=n.marker||{},o=a.line||{},s=Je.makeColorScaleFunc(Je.extractScale(n.colorscale,n.zmin,n.zmax));i.each(function(t){e.select(this).attr(\"fill\",s(t.z)).call(Oe.stroke,t.mlc||o.color).call(Sr.dashLine,\"\",t.mlw||o.width||0).style(\"opacity\",a.opacity)}),Sr.selectedPointStyle(i,n)}(0,r)};var _h=Xu.getTopojsonFeatures,wh=mh.locationToFeature;function Mh(t,e){for(var r=t[0].trace,n=t.length,i=_h(r,e),a=0;a<n;a++){var o=t[a],s=wh(r.locationmode,o.loc,i);s?(o.geojson=s,o.ct=s.properties.ct,o.index=a,o._polygons=Ah(s)):o.geojson=null}}function Ah(t){var e,r,n,i,a=t.geometry,o=a.coordinates,s=t.id,l=[];function u(t){for(var e=0;e<t.length-1;e++)if(t[e][0]>0&&t[e+1][0]<0)return e;return null}switch(e=\"RUS\"===s||\"FJI\"===s?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),i=0;i<t.length;i++)e[i]=[t[i][0]<0?t[i][0]+360:t[i][0],t[i][1]];l.push(cc.tester(e))}:\"ATA\"===s?function(t){var e=u(t);if(null===e)return l.push(cc.tester(t));var r=new Array(t.length+1),n=0;for(i=0;i<t.length;i++)i>e?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var a=cc.tester(r);a.pts.pop(),l.push(a)}:function(t){l.push(cc.tester(t))},a.type){case\"MultiPolygon\":for(r=0;r<o.length;r++)for(n=0;n<o[r].length;n++)e(o[r][n]);break;case\"Polygon\":for(r=0;r<o.length;r++)e(o[r])}return l}var kh=function(t,e){var n=e[0].trace,i=\"cb\"+n.uid,a=n.zmin,o=n.zmax;if(r(a)||(a=ne.aggNums(Math.min,null,n.z)),r(o)||(o=ne.aggNums(Math.max,null,n.z)),t._fullLayout._infolayer.selectAll(\".\"+i).remove(),n.showscale){var s=e[0].t.cb=ns(t,i),l=Je.makeColorScaleFunc(Je.extractScale(n.colorscale,a,o),{noNumericCheck:!0});s.fillcolor(l).filllevels({start:a,end:o,size:(o-a)/254}).options(n.colorbar)()}else _n.autoMargin(t,i)},Th={};Th.attributes=ph,Th.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,ph,r,n)}var a,o=i(\"locations\");if(o&&(a=o.length),o&&a){var s=i(\"z\");ne.isArrayOrTypedArray(s)?(s.length>a&&(e.z=s.slice(0,a)),i(\"locationmode\"),i(\"text\"),i(\"marker.line.color\"),i(\"marker.line.width\"),i(\"marker.opacity\"),Ye(t,e,n,i,{prefix:\"\",cLetter:\"z\"}),ne.coerceSelectionMarkerOpacity(e,i)):e.visible=!1}else e.visible=!1},Th.colorbar=kh,Th.calc=function(t,e){for(var n=e.locations.length,i=new Array(n),a=0;a<n;a++){var o=i[a]={},s=e.locations[a],l=e.z[a];o.loc=\"string\"==typeof s?s:null,o.z=r(l)?l:gh}return dh(i,e),Ve(e,e.z,\"\",\"z\"),Ma(i,e),i},Th.plot=function(t,r,n){for(var i=0;i<n.length;i++)Mh(n[i],r.topojson);var a=r.layers.backplot.select(\".choroplethlayer\").selectAll(\"g.trace.choropleth\").data(n,function(t){return t[0].trace.uid});a.enter().append(\"g\").attr(\"class\",\"trace choropleth\"),a.exit().remove(),a.each(function(t){var r=(t[0].node3=e.select(this)).selectAll(\"path.choroplethlocation\").data(ne.identity);r.enter().append(\"path\").classed(\"choroplethlocation\",!0),r.exit().remove(),bh(0,t)})},Th.style=bh,Th.hoverPoints=function(t,e,r){var n,i,a,o,s=t.cd,l=s[0].trace,u=t.subplot;for(i=0;i<s.length;i++)if(o=!1,(n=s[i])._polygons){for(a=0;a<n._polygons.length;a++)n._polygons[a].contains([e,r])&&(o=!o),n._polygons[a].contains([e+360,r])&&(o=!o);if(o)break}if(o&&n)return t.x0=t.x1=t.xa.c2p(n.ct),t.y0=t.y1=t.ya.c2p(n.ct),t.index=n.index,t.location=n.loc,t.z=n.z,function(t,e,r,n){var i,a=r.hi||e.hoverinfo,o=\"all\"===a?ph.hoverinfo.flags:a.split(\"+\"),s=-1!==o.indexOf(\"name\"),l=-1!==o.indexOf(\"location\"),u=-1!==o.indexOf(\"z\"),c=-1!==o.indexOf(\"text\"),h=[];!s&&l?t.nameOverride=r.loc:(s&&(t.nameOverride=e.name),l&&h.push(r.loc)),u&&h.push((i=r.z,ri.tickText(n,n.c2l(i),\"hover\").text)),c&&xo(r,e,h),t.extraText=h.join(\"<br>\")}(t,l,n,u.mockAxis),[t]},Th.eventData=function(t,e){return t.location=e.location,t.z=e.z,t},Th.selectPoints=function(t,e){var r,n,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)(i=(n=s[r]).ct)&&(a=l.c2p(i),o=u.c2p(i),e.contains([a,o])?(c.push({pointNumber:r,lon:i[0],lat:i[1]}),n.selected=1):n.selected=0);return c},Th.moduleType=\"trace\",Th.name=\"choropleth\",Th.basePlotModule=$c,Th.categories=[\"geo\",\"noOpacity\"],Th.meta={};var Sh=Th,Eh={COMPARISON_OPS:[\"=\",\"!=\",\"<\",\">=\",\">\",\"<=\"],COMPARISON_OPS2:[\"=\",\"<\",\">=\",\">\",\"<=\"],INTERVAL_OPS:[\"[]\",\"()\",\"[)\",\"(]\",\"][\",\")(\",\"](\",\")[\"],SET_OPS:[\"{}\",\"}{\"],CONSTRAINT_REDUCTION:{\"=\":\"=\",\"<\":\"<\",\"<=\":\"<\",\">\":\">\",\">=\":\">\",\"[]\":\"[]\",\"()\":\"[]\",\"[)\":\"[]\",\"(]\":\"[]\",\"][\":\"][\",\")(\":\"][\",\"](\":\"][\",\")[\":\"][\"}},Ch=m.extendFlat,Lh=Ch({},{z:{valType:\"data_array\",editType:\"calc\"},x:Ch({},Zr.x,{impliedEdits:{xtype:\"array\"}}),x0:Ch({},Zr.x0,{impliedEdits:{xtype:\"scaled\"}}),dx:Ch({},Zr.dx,{impliedEdits:{xtype:\"scaled\"}}),y:Ch({},Zr.y,{impliedEdits:{ytype:\"array\"}}),y0:Ch({},Zr.y0,{impliedEdits:{ytype:\"scaled\"}}),dy:Ch({},Zr.dy,{impliedEdits:{ytype:\"scaled\"}}),text:{valType:\"data_array\",editType:\"calc\"},transpose:{valType:\"boolean\",dflt:!1,editType:\"calc\"},xtype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},ytype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},zsmooth:{valType:\"enumerated\",values:[\"fast\",\"best\",!1],dflt:!1,editType:\"calc\"},connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},xgap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},ygap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},zhoverformat:{valType:\"string\",dflt:\"\",editType:\"none\"}},Pe,{autocolorscale:Ch({},Pe.autocolorscale,{dflt:!1})},{colorbar:ze}),zh=Ae.dash,Ph=m.extendFlat,Ih=Eh.COMPARISON_OPS2,Dh=Eh.INTERVAL_OPS,Oh=Zr.line,Rh=Ph({z:Lh.z,x:Lh.x,x0:Lh.x0,dx:Lh.dx,y:Lh.y,y0:Lh.y0,dy:Lh.dy,text:Lh.text,transpose:Lh.transpose,xtype:Lh.xtype,ytype:Lh.ytype,zhoverformat:Lh.zhoverformat,connectgaps:Lh.connectgaps,fillcolor:{valType:\"color\",editType:\"calc\"},autocontour:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"contours.start\":void 0,\"contours.end\":void 0,\"contours.size\":void 0}},ncontours:{valType:\"integer\",dflt:15,min:1,editType:\"calc\"},contours:{type:{valType:\"enumerated\",values:[\"levels\",\"constraint\"],dflt:\"levels\",editType:\"calc\"},start:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},end:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},coloring:{valType:\"enumerated\",values:[\"fill\",\"heatmap\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:{valType:\"boolean\",dflt:!0,editType:\"plot\"},showlabels:{valType:\"boolean\",dflt:!1,editType:\"plot\"},labelfont:T({editType:\"plot\",colorEditType:\"style\"}),labelformat:{valType:\"string\",dflt:\"\",editType:\"plot\"},operation:{valType:\"enumerated\",values:[].concat(Ih).concat(Dh),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:Ph({},Oh.color,{editType:\"style+colorbars\"}),width:Ph({},Oh.width,{editType:\"style+colorbars\"}),dash:zh,smoothing:Ph({},Oh.smoothing,{}),editType:\"plot\"}},Pe,{autocolorscale:Ph({},Pe.autocolorscale,{dflt:!1}),zmin:Ph({},Pe.zmin,{editType:\"calc\"}),zmax:Ph({},Pe.zmax,{editType:\"calc\"})},{colorbar:ze}),Fh=ne.extendFlat,Bh=function(t){var e=t.contours;if(t.autocontour){var r=Nh(t.zmin,t.zmax,t.ncontours);e.size=r.dtick,e.start=ri.tickFirst(r),r.range.reverse(),e.end=ri.tickFirst(r),e.start===t.zmin&&(e.start+=e.size),e.end===t.zmax&&(e.end-=e.size),e.start>e.end&&(e.start=e.end=(e.start+e.end)/2),t._input.contours||(t._input.contours={}),Fh(t._input.contours,{start:e.start,end:e.end,size:e.size}),t._input.autocontour=!0}else if(\"constraint\"!==e.type){var n,i=e.start,a=e.end,o=t._input.contours;if(i>a&&(e.start=o.start=a,a=e.end=o.end=i,i=e.start),!(e.size>0))n=i===a?1:Nh(i,a,t.ncontours).dtick,o.size=e.size=n}};function Nh(t,e,r){var n={type:\"linear\",range:[t,e]};return ri.autoTicks(n,(e-t)/(r||15)),n}var jh=function(t){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,t[r].length);return e},Vh=function(t){var e,r,n,i,a,o,s,l,u=[],c={},h=[],f=t[0],p=[],d=[0,0,0],g=jh(t);for(r=0;r<t.length;r++)for(e=p,p=f,f=t[r+1]||[],n=0;n<g;n++)void 0===p[n]&&((o=(void 0!==p[n-1]?1:0)+(void 0!==p[n+1]?1:0)+(void 0!==e[n]?1:0)+(void 0!==f[n]?1:0))?(0===r&&o++,0===n&&o++,r===t.length-1&&o++,n===p.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--)(o=((c[[(r=(i=h[a])[0])-1,n=i[1]]]||d)[2]+(c[[r+1,n]]||d)[2]+(c[[r,n-1]]||d)[2]+(c[[r,n+1]]||d)[2])/20)&&(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]})},Uh=ne.isArrayOrTypedArray,qh=function(t){return!Uh(t.z[0])},Hh=[[-1,0],[1,0],[0,-1],[0,1]];function Gh(t){return.5-.25*Math.min(1,.5*t)}var Wh=function(t,e,r){var n,i,a=1;if(Array.isArray(r))for(n=0;n<e.length;n++)t[(i=e[n])[0]][i[1]]=r[i[0]][i[1]];else Yh(t,e);for(n=0;n<e.length&&!(e[n][2]<4);n++);for(e=e.slice(n),n=0;n<100&&a>.01;n++)a=Yh(t,e,Gh(a));return a>.01&&ne.log(\"interp2d didn't converge quickly\",a),t};function Yh(t,e,r){var n,i,a,o,s,l,u,c,h,f,p,d,g,v=0;for(o=0;o<e.length;o++){for(i=(n=e[o])[0],a=n[1],p=t[i][a],f=0,h=0,s=0;s<4;s++)(u=t[i+(l=Hh[s])[0]])&&void 0!==(c=u[a+l[1]])&&(0===f?d=g=c:(d=Math.min(d,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===p?h<4&&(v=1):(t[i][a]=(1+r)*t[i][a]-r*p,g>d&&(v=Math.max(v,Math.abs(t[i][a]-p)/(g-d))))}return v}var Xh=ne.isArrayOrTypedArray,Zh=function(t,e,r,n,i,a){var o,s,l,u=[],c=P.traceIs(t,\"contour\"),h=P.traceIs(t,\"histogram\"),f=P.traceIs(t,\"gl2d\");if(Xh(e)&&e.length>1&&!h&&\"category\"!==a.type){var p=e.length;if(!(p<=i))return c?e.slice(0,i):e.slice(0,i+1);if(c||f)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<p;l++)u.push(.5*(e[l-1]+e[l]));u.push(1.5*e[p-1]-.5*e[p-2])}if(p<i){var d=u[u.length-1],g=d-u[u.length-2];for(l=p;l<i;l++)d+=g,u.push(d)}}else{s=n||1;var v=t[a._id.charAt(0)+\"calendar\"];for(o=h||\"category\"===a.type?a.r2c(r,0,v)||0:Xh(e)&&1===e.length?e[0]:void 0===r?0:a.d2c(r,0,v),l=c||f?0:-.5;l<i;l++)u.push(o+s*l)}return u},Jh=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},Kh={count:function(t,e,r){return r[t]++,1},sum:function(t,e,n,i){var a=i[e];return r(a)?(a=Number(a),n[t]+=a,a):0},avg:function(t,e,n,i,a){var o=i[e];return r(o)&&(o=Number(o),n[t]+=o,a[t]++),0},min:function(t,e,n,i){var a=i[e];if(r(a)){if(a=Number(a),!r(n[t]))return n[t]=a,a;if(n[t]>a){var o=a-n[t];return n[t]=a,o}}return 0},max:function(t,e,n,i){var a=i[e];if(r(a)){if(a=Number(a),!r(n[t]))return n[t]=a,a;if(n[t]<a){var o=a-n[t];return n[t]=a,o}}return 0}},Qh=t.ONEAVGYEAR,$h=t.ONEAVGMONTH,tf=t.ONEDAY,ef=t.ONEHOUR,rf=t.ONEMIN,nf=t.ONESEC,af=ri.tickIncrement,of=function(t,e,r,n,i){var a,o,s=-1.1*e,l=-.1*e,u=t-l,c=r[0],h=r[1],f=Math.min(sf(c+l,c+u,n,i),sf(h+l,h+u,n,i)),p=Math.min(sf(c+s,c+l,n,i),sf(h+s,h+l,n,i));if(f>p&&p<Math.abs(h-c)/4e3?(a=f,o=!1):(a=Math.min(f,p),o=!0),\"date\"===n.type&&a>tf){var d=a===Qh?1:6,g=a===Qh?\"M12\":\"M1\";return function(e,r){var a=n.c2d(e,Qh,i),s=a.indexOf(\"-\",d);s>0&&(a=a.substr(0,s));var l=n.d2c(a,0,i);if(l<e){var u=af(l,g,!1,i);(l+u)/2<e+t&&(l=u)}return r&&o?af(l,g,!0,i):l}}return function(e,r){var n=a*Math.round(e/a);return n+a/10<e&&n+.9*a<e+t&&(n+=a),r&&o&&(n-=a),n}};function sf(t,e,r,n){if(t*e<=0)return 1/0;for(var i=Math.abs(e-t),a=\"date\"===r.type,o=lf(i,a),s=0;s<10;s++){var l=lf(80*o,a);if(o===l)break;if(!uf(l,t,e,a,r,n))break;o=l}return o}function lf(t,e){return e&&t>nf?t>tf?t>1.1*Qh?Qh:t>1.1*$h?$h:tf:t>ef?ef:t>rf?rf:nf:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function uf(t,e,r,n,i,a){if(n&&t>tf){var o=cf(e,i,a),s=cf(r,i,a),l=t===Qh?0:1;return o[l]!==s[l]}return Math.floor(r/t)-Math.floor(e/t)>.1}function cf(t,e,r){var n=e.c2d(t,Qh,r).split(\"-\");return\"\"===n[0]&&(n.unshift(),n[0]=\"-\"+n[0]),n}var hf=ne.cleanDate,ff=t.ONEDAY,pf=t.BADNUM,df=function(t,e,n){var i=e.type,a=n+\"bins\",o=t[a];o||(o=t[a]={});var s=\"date\"===i?function(t){return t||0===t?hf(t,pf,o.calendar):null}:function(t){return r(t)?Number(t):null};o.start=s(o.start),o.end=s(o.end);var l=\"date\"===i?ff:1,u=o.size;if(r(u))o.size=u>0?Number(u):l;else if(\"string\"!=typeof u)o.size=l;else{var c=u.charAt(0),h=u.substr(1);((h=r(h)?Number(h):0)<=0||\"date\"!==i||\"M\"!==c||h!==Math.round(h))&&(o.size=l)}var f=\"autobin\"+n;\"boolean\"!=typeof t[f]&&(t[f]=t._fullInput[f]=t._input[f]=!((o.start||0===o.start)&&(o.end||0===o.end))),t[f]||(delete t[\"nbins\"+n],delete t._fullInput[\"nbins\"+n])},gf={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}};function vf(t,e,r,n,i,a,o){var s=e+\"bins\",l=\"autobin\"+e,u=t[s];df(t,n,e),!t[l]&&u&&null!==u.start&&null!==u.end||(u=ri.autoBin(r,n,t[\"nbins\"+e],\"2d\",o),\"histogram2dcontour\"===t.type&&(u.start=a(ri.tickIncrement(i(u.start),u.size,!0,o)),u.end=a(ri.tickIncrement(i(u.end),u.size,!1,o))),t._input[s]=t[s]=u,t._input[l]=t[l])}function mf(t,e,r,n){var i,a=new Array(t);if(n)for(i=0;i<t;i++)a[i]=1/(e[i+1]-e[i]);else{var o=1/r;for(i=0;i<t;i++)a[i]=o}return a}function yf(t,e){return{start:t(e.start),end:t(e.end),size:e.size}}function xf(t,e,r,n,i,a){var o,s=t.length-1,l=new Array(s);if(e)for(o=0;o<s;o++)l[o]=[e[o],e[o]];else{var u=of(r,n,t,i,a);for(o=0;o<s;o++)l[o]=[u(t[o]),u(t[o+1],!0)]}return l}var bf=function(t,e){var r,n,i,a,o,s,l,u,c,h=ri.getFromId(t,e.xaxis||\"x\"),f=ri.getFromId(t,e.yaxis||\"y\"),p=P.traceIs(e,\"contour\"),d=P.traceIs(e,\"histogram\"),g=P.traceIs(e,\"gl2d\"),v=p?\"best\":e.zsmooth;function m(t){v=e._input.zsmooth=e.zsmooth=!1,ne.warn('cannot use zsmooth: \"fast\": '+t)}if(h._minDtick=0,f._minDtick=0,d?(r=(c=function(t,e){var r,n,i,a,o=ri.getFromId(t,e.xaxis||\"x\"),s=e.x?o.makeCalcdata(e,\"x\"):[],l=ri.getFromId(t,e.yaxis||\"y\"),u=e.y?l.makeCalcdata(e,\"y\"):[],c=e.xcalendar,h=e.ycalendar,f=function(t){return o.r2c(t,0,c)},p=function(t){return l.r2c(t,0,h)},d=function(t){return o.c2r(t,0,c)},g=function(t){return l.c2r(t,0,h)},v=Math.min(s.length,u.length);s.length>v&&s.splice(v,s.length-v),u.length>v&&u.splice(v,u.length-v),vf(e,\"x\",s,o,f,d,c),vf(e,\"y\",u,l,p,g,h);var m=[],y=[],x=[],b=\"string\"==typeof e.xbins.size,_=\"string\"==typeof e.ybins.size,w=[],M=[],A=b?w:e.xbins,k=_?M:e.ybins,T=0,S=[],E=[],C=e.histnorm,L=e.histfunc,z=-1!==C.indexOf(\"density\"),P=\"max\"===L||\"min\"===L?null:0,I=Kh.count,D=gf[C],O=!1,R=[],F=[],B=\"z\"in e?e.z:\"marker\"in e&&Array.isArray(e.marker.color)?e.marker.color:\"\";B&&\"count\"!==L&&(O=\"avg\"===L,I=Kh[L]);var N=e.xbins,j=f(N.start),V=f(N.end)+(j-ri.tickIncrement(j,N.size,!1,c))/1e6;for(r=j;r<V;r=ri.tickIncrement(r,N.size,!1,c))y.push(P),w.push(r),O&&x.push(0);w.push(r);var U=y.length,q=f(e.xbins.start),H=(r-q)/U,G=d(q+H/2);for(j=p((N=e.ybins).start),V=p(N.end)+(j-ri.tickIncrement(j,N.size,!1,h))/1e6,r=j;r<V;r=ri.tickIncrement(r,N.size,!1,h)){m.push(y.slice()),M.push(r);var W=new Array(U);for(n=0;n<U;n++)W[n]=[];E.push(W),O&&S.push(x.slice())}M.push(r);var Y=m.length,X=p(e.ybins.start),Z=(r-X)/Y,J=g(X+Z/2);z&&(R=mf(y.length,A,H,b),F=mf(m.length,k,Z,_)),b||\"date\"!==o.type||(A=yf(f,A)),_||\"date\"!==l.type||(k=yf(p,k));var K=!0,Q=!0,$=new Array(U),tt=new Array(Y),et=1/0,rt=1/0,nt=1/0,it=1/0;for(r=0;r<v;r++){var at=s[r],ot=u[r];i=ne.findBin(at,A),a=ne.findBin(ot,k),i>=0&&i<U&&a>=0&&a<Y&&(T+=I(i,r,m[a],B,S[a]),E[a][i].push(r),K&&(void 0===$[i]?$[i]=at:$[i]!==at&&(K=!1)),Q&&(void 0===tt[i]?tt[i]=ot:tt[i]!==ot&&(Q=!1)),et=Math.min(et,at-w[i]),rt=Math.min(rt,w[i+1]-at),nt=Math.min(nt,ot-M[a]),it=Math.min(it,M[a+1]-ot))}if(O)for(a=0;a<Y;a++)T+=Jh(m[a],S[a]);if(D)for(a=0;a<Y;a++)D(m[a],T,R,F[a]);return{x:s,xRanges:xf(w,K&&$,et,rt,o,c),x0:G,dx:H,y:u,yRanges:xf(M,Q&&tt,nt,it,l,h),y0:J,dy:Z,z:m,pts:E}}(t,e)).x,n=c.x0,i=c.dx,a=c.y,o=c.y0,s=c.dy,l=c.z):(qh(e)?(Pu(e,h,f,\"x\",\"y\",[\"z\"]),r=e.x,a=e.y):(r=e.x?h.makeCalcdata(e,\"x\"):[],a=e.y?f.makeCalcdata(e,\"y\"):[]),n=e.x0||0,i=e.dx||1,o=e.y0||0,s=e.dy||1,l=xu(e.z,e.transpose),(p||e.connectgaps)&&(e._emptypoints=Vh(l),e._interpz=Wh(l,e._emptypoints,e._interpz))),\"fast\"===v)if(\"log\"===h.type||\"log\"===f.type)m(\"log axis found\");else if(!d){if(r.length){var y=(r[r.length-1]-r[0])/(r.length-1),x=Math.abs(y/100);for(u=0;u<r.length-1;u++)if(Math.abs(r[u+1]-r[u]-y)>x){m(\"x scale is not linear\");break}}if(a.length&&\"fast\"===v){var b=(a[a.length-1]-a[0])/(a.length-1),_=Math.abs(b/100);for(u=0;u<a.length-1;u++)if(Math.abs(a[u+1]-a[u]-b)>_){m(\"y scale is not linear\");break}}}var w=jh(l),M=\"scaled\"===e.xtype?\"\":r,A=Zh(e,M,n,i,w,h),k=\"scaled\"===e.ytype?\"\":a,T=Zh(e,k,o,s,l.length,f);g||(ri.expand(h,A),ri.expand(f,T));var S={x:A,y:T,z:l,text:e.text};if(M&&M.length===A.length-1&&(S.xCenter=M),k&&k.length===T.length-1&&(S.yCenter=k),d&&(S.xRanges=c.xRanges,S.yRanges=c.yRanges,S.pts=c.pts),p&&\"constraint\"===e.contours.type||Ve(e,l,\"\",\"z\"),p&&e.contours&&\"heatmap\"===e.contours.coloring){var E={type:\"contour\"===e.type?\"heatmap\":\"histogram2d\",xcalendar:e.xcalendar,ycalendar:e.ycalendar};S.xfill=Zh(E,M,n,i,w,h),S.yfill=Zh(E,k,o,s,l.length,f)}return[S]},_f=function(t,e){var r=bf(t,e);return Bh(e),r},wf=function(t){return t.end+t.size/1e6},Mf=function(t){var r=t.contours,n=r.start,i=wf(r),a=r.size||1,o=Math.floor((i-n)/a)+1,s=\"lines\"===r.coloring?0:1;isFinite(a)||(a=1,o=1);var l,u,c=t.colorscale,h=c.length,f=new Array(h),p=new Array(h);if(\"heatmap\"===r.coloring){for(t.zauto&&!1===t.autocontour&&(t.zmin=n-a/2,t.zmax=t.zmin+o*a),u=0;u<h;u++)l=c[u],f[u]=l[0]*(t.zmax-t.zmin)+t.zmin,p[u]=l[1];var d=e.extent([t.zmin,t.zmax,r.start,r.start+a*(o-1)]),g=d[t.zmin<t.zmax?0:1],v=d[t.zmin<t.zmax?1:0];g!==t.zmin&&(f.splice(0,0,g),p.splice(0,0,Range[0])),v!==t.zmax&&(f.push(v),p.push(p[p.length-1]))}else for(u=0;u<h;u++)l=c[u],f[u]=(l[0]*(o+s-1)-s/2)*a+n,p[u]=l[1];return Je.makeColorScaleFunc({domain:f,range:p},{noNumericCheck:!0})},Af=function(t,e){var r=e[0].trace,n=\"cb\"+r.uid;if(t._fullLayout._infolayer.selectAll(\".\"+n).remove(),r.showscale){var i=ns(t,n);e[0].t.cb=i;var a=r.contours,o=r.line,s=a.size||1,l=a.coloring,u=Mf(r);\"heatmap\"===l&&i.filllevels({start:r.zmin,end:r.zmax,size:(r.zmax-r.zmin)/254}),i.fillcolor(\"fill\"===l||\"heatmap\"===l?u:\"\").line({color:\"lines\"===l?u:o.color,width:!1!==a.showlines?o.width:0,dash:o.dash}).levels({start:a.start,end:wf(a),size:s}).options(r.colorbar)()}else _n.autoMargin(t,n)},kf=function(t,e,r,n){if(n||(n={}),t(\"contours.showlabels\")){var i=e.font;ne.coerceFont(t,\"contours.labelfont\",{family:i.family,size:i.size,color:r}),t(\"contours.labelformat\")}!1!==n.hasHover&&t(\"zhoverformat\")},Tf=Oe.addOpacity,Sf=Oe.opacity,Ef=Eh.CONSTRAINT_REDUCTION,Cf=Eh.COMPARISON_OPS2,Lf=function(t,e,n,i,a,o){var s,l,u,c=e.contours,h=n(\"contours.operation\");(c._operation=Ef[h],function(t,e){var n;-1===Cf.indexOf(e.operation)?(t(\"contours.value\",[0,1]),Array.isArray(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(n=parseFloat(e.value[0]),e.value=[n,n+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:r(e.value)&&(n=parseFloat(e.value),e.value=[n,n+1])):(t(\"contours.value\",0),r(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(n,c),\"=\"===h?s=c.showlines=!0:(s=n(\"contours.showlines\"),u=n(\"fillcolor\",Tf((t.line||{}).color||a,.5))),s)&&(l=n(\"line.color\",u&&Sf(u)?Tf(e.fillcolor,1):a),n(\"line.width\",2),n(\"line.dash\"));n(\"line.smoothing\"),kf(n,i,l,o)};var zf=function(t,e,r,n){var i=n(\"contours.start\"),a=n(\"contours.end\"),o=!1===i||!1===a,s=r(\"contours.size\");!(o?e.autocontour=!0:r(\"autocontour\",!1))&&s||r(\"ncontours\")},Pf=function(t,e,r,n,i){var a,o=r(\"contours.coloring\"),s=\"\";\"fill\"===o&&(a=r(\"contours.showlines\")),!1!==a&&(\"lines\"!==o&&(s=r(\"line.color\",\"#000\")),r(\"line.width\",.5),r(\"line.dash\")),\"none\"!==o&&Ye(t,e,n,r,{prefix:\"\",cLetter:\"z\"}),r(\"line.smoothing\"),kf(r,n,s,i)},If=ne.isArrayOrTypedArray,Df=function(t,e,n,i,a,o){var s,l,u=n(\"z\");if(a=a||\"x\",o=o||\"y\",void 0===u||!u.length)return 0;if(qh(t)){if(s=n(a),l=n(o),!s||!l)return 0}else{if(s=Of(a,n),l=Of(o,n),!function(t){for(var e,n=!0,i=!1,a=!1,o=0;o<t.length;o++){if(e=t[o],!If(e)){n=!1;break}e.length>0&&(i=!0);for(var s=0;s<e.length;s++)if(r(e[s])){a=!0;break}}return n&&i&&a}(u))return 0;n(\"transpose\")}return P.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[a,o],i),e.z.length};function Of(t,e){var r=e(t);return\"scaled\"===(r?e(t+\"type\",\"array\"):\"scaled\")&&(e(t+\"0\"),e(\"d\"+t)),r}var Rf=function(t,e,r,n,i,a){var o,s,l,u,c=t.cd[0],h=c.trace,f=t.xa,p=t.ya,d=c.x,g=c.y,v=c.z,m=c.xCenter,y=c.yCenter,x=c.zmask,b=[h.zmin,h.zmax],_=h.zhoverformat,w=d,M=g;if(!1!==t.index){try{l=Math.round(t.index[1]),u=Math.round(t.index[0])}catch(e){return void ne.error(\"Error hovering on heatmap, pointNumber must be [row,col], found:\",t.index)}if(l<0||l>=v[0].length||u<0||u>v.length)return}else{if(yo.inbox(e-d[0],e-d[d.length-1],0)>0||yo.inbox(r-g[0],r-g[g.length-1],0)>0)return;if(a){var A;for(w=[2*d[0]-d[1]],A=1;A<d.length;A++)w.push((d[A]+d[A-1])/2);for(w.push([2*d[d.length-1]-d[d.length-2]]),M=[2*g[0]-g[1]],A=1;A<g.length;A++)M.push((g[A]+g[A-1])/2);M.push([2*g[g.length-1]-g[g.length-2]])}l=Math.max(0,Math.min(w.length-2,ne.findBin(e,w))),u=Math.max(0,Math.min(M.length-2,ne.findBin(r,M)))}var k=f.c2p(d[l]),T=f.c2p(d[l+1]),S=p.c2p(g[u]),E=p.c2p(g[u+1]);a?(T=k,o=d[l],E=S,s=g[u]):(o=m?m[l]:(d[l]+d[l+1])/2,s=y?y[u]:(g[u]+g[u+1])/2,h.zsmooth&&(k=T=f.c2p(o),S=E=p.c2p(s)));var C,L,z=v[u][l];x&&!x[u][l]&&(z=void 0),Array.isArray(c.text)&&Array.isArray(c.text[u])&&(C=c.text[u][l]);var P={type:\"linear\",range:b,hoverformat:_,_separators:f._separators,_numFormat:f._numFormat};return L=ri.tickText(P,z,\"hover\").text,[ne.extendFlat(t,{index:[u,l],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:k,x1:T,y0:S,y1:E,xLabelVal:o,yLabelVal:s,zLabelVal:z,zLabel:L,text:C})]},Ff=function(t,e,r,n,i){var a=Rf(t,e,r,0,0,!0);return a&&a.forEach(function(t){var e=t.trace;\"constraint\"===e.contours.type&&(e.fillcolor&&Oe.opacity(e.fillcolor)?t.color=Oe.addOpacity(e.fillcolor,1):e.contours.showlines&&Oe.opacity(e.line.color)&&(t.color=Oe.addOpacity(e.line.color,1)))}),a},Bf=function(t,e,r,n){var i,a,o,s=t[0],l=s.x.length,u=s.y.length,c=s.z,h=n.contours,f=-1/0,p=1/0;for(i=0;i<u;i++)p=Math.min(p,c[i][0]),p=Math.min(p,c[i][l-1]),f=Math.max(f,c[i][0]),f=Math.max(f,c[i][l-1]);for(i=1;i<l-1;i++)p=Math.min(p,c[0][i]),p=Math.min(p,c[u-1][i]),f=Math.max(f,c[0][i]),f=Math.max(f,c[u-1][i]);switch(s.prefixBoundary=!1,e){case\">\":h.value>f&&(s.prefixBoundary=!0);break;case\"<\":h.value<p&&(s.prefixBoundary=!0);break;case\"[]\":a=Math.min.apply(null,h.value),((o=Math.max.apply(null,h.value))<p||a>f)&&(s.prefixBoundary=!0);break;case\"][\":a=Math.min.apply(null,h.value),o=Math.max.apply(null,h.value),a<p&&o>f&&(s.prefixBoundary=!0)}},Nf={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],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]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}},jf=function(t,e){var r,n,i,a=function(t){return t.reverse()},o=function(t){return t};switch(e){case\"=\":case\"<\":return t;case\">\":for(1!==t.length&&ne.warn(\"Contour data invalid for the specified inequality operation.\"),n=t[0],r=0;r<n.edgepaths.length;r++)n.edgepaths[r]=a(n.edgepaths[r]);for(r=0;r<n.paths.length;r++)n.paths[r]=a(n.paths[r]);return t;case\"][\":var s=a;a=o,o=s;case\"[]\":for(2!==t.length&&ne.warn(\"Contour data invalid for the specified inequality range operation.\"),n=Vf(t[0]),i=Vf(t[1]),r=0;r<n.edgepaths.length;r++)n.edgepaths[r]=a(n.edgepaths[r]);for(r=0;r<n.paths.length;r++)n.paths[r]=a(n.paths[r]);for(;i.edgepaths.length;)n.edgepaths.push(o(i.edgepaths.shift()));for(;i.paths.length;)n.paths.push(o(i.paths.shift()));return[n]}};function Vf(t){return ne.extendFlat({},t,{edgepaths:ne.extendDeep([],t.edgepaths),paths:ne.extendDeep([],t.paths)})}var Uf={\"[]\":Hf(\"[]\"),\"][\":Hf(\"][\"),\">\":Gf(\">\"),\"<\":Gf(\"<\"),\"=\":Gf(\"=\")};function qf(t,e){var n,i=Array.isArray(e);function a(t){return r(t)?+t:null}return-1!==Eh.COMPARISON_OPS2.indexOf(t)?n=a(i?e[0]:e):-1!==Eh.INTERVAL_OPS.indexOf(t)?n=i?[a(e[0]),a(e[1])]:[a(e),a(e)]:-1!==Eh.SET_OPS.indexOf(t)&&(n=i?e.map(a):[a(e)]),n}function Hf(t){return function(e){e=qf(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function Gf(t){return function(e){return{start:e=qf(t,e),end:1/0,size:1/0}}}var Wf=function(t,e,r){for(var n=\"constraint\"===t.type?Uf[t._operation](t.value):t,i=n.size,a=[],o=wf(n),s=r.trace.carpetTrace,l=s?{xaxis:s.aaxis,yaxis:s.baxis,x:r.a,y:r.b}:{xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y},u=n.start;u<o;u+=i)if(a.push(ne.extendFlat({level:u,crossings:{},starts:[],edgepaths:[],paths:[],z:r.z,smoothing:r.trace.line.smoothing},l)),a.length>1e3){ne.warn(\"Too many contours, clipping at 1000\",t);break}return a},Yf=function(t,e,r){var n,i,a,o;for(e=e||.01,r=r||.01,i=0;i<t.length;i++){for(a=t[i],o=0;o<a.starts.length;o++)Zf(a,a.starts[o],\"edge\",e,r);for(n=0;Object.keys(a.crossings).length&&n<1e4;)n++,Zf(a,Object.keys(a.crossings)[0].split(\",\").map(Number),void 0,e,r);1e4===n&&ne.log(\"Infinite loop in contour?\")}};function Xf(t,e,r,n){return Math.abs(t[0]-e[0])<r&&Math.abs(t[1]-e[1])<n}function Zf(t,e,r,n,i){var a,o=e.join(\",\"),s=o,l=t.crossings[s],u=function(t,e,r){var n=0,i=0;t>20&&e?208===t||1114===t?n=0===r[0]?1:-1:i=0===r[1]?1:-1:-1!==Nf.BOTTOMSTART.indexOf(t)?i=1:-1!==Nf.LEFTSTART.indexOf(t)?n=1:-1!==Nf.TOPSTART.indexOf(t)?i=-1:n=-1;return[n,i]}(l,r,e),c=[Jf(t,e,[-u[0],-u[1]])],h=u.join(\",\"),f=t.z.length,p=t.z[0].length;for(a=0;a<1e4;a++){if(l>20?(l=Nf.CHOOSESADDLE[l][(u[0]||u[1])<0?0:1],t.crossings[s]=Nf.SADDLEREMAINDER[l]):delete t.crossings[s],!(u=Nf.NEWDELTA[l])){ne.log(\"Found bad marching index:\",l,e,t.level);break}c.push(Jf(t,e,u)),e[0]+=u[0],e[1]+=u[1],Xf(c[c.length-1],c[c.length-2],n,i)&&c.pop(),s=e.join(\",\");var d=u[0]&&(e[0]<0||e[0]>p-2)||u[1]&&(e[1]<0||e[1]>f-2);if(s===o&&u.join(\",\")===h||r&&d)break;l=t.crossings[s]}1e4===a&&ne.log(\"Infinite loop in contour?\");var g,v,m,y,x,b,_,w,M,A,k,T,S,E,C,L=Xf(c[0],c[c.length-1],n,i),z=0,P=.2*t.smoothing,I=[],D=0;for(a=1;a<c.length;a++)T=c[a],S=c[a-1],void 0,void 0,E=T[2]-S[2],C=T[3]-S[3],z+=_=Math.sqrt(E*E+C*C),I.push(_);var O=z/I.length*P;function R(t){return c[t%c.length]}for(a=c.length-2;a>=D;a--)if((g=I[a])<O){for(m=0,v=a-1;v>=D&&g+I[v]<O;v--)g+=I[v];if(L&&a===c.length-2)for(m=0;m<v&&g+I[m]<O;m++)g+=I[m];x=a-v+m+1,b=Math.floor((a+v+m+2)/2),y=L||a!==c.length-2?L||-1!==v?x%2?R(b):[(R(b)[0]+R(b+1)[0])/2,(R(b)[1]+R(b+1)[1])/2]:c[0]:c[c.length-1],c.splice(v+1,a-v+1,y),a=v+1,m&&(D=m),L&&(a===c.length-2?c[m]=c[c.length-1]:0===a&&(c[c.length-1]=c[0]))}for(c.splice(0,D),a=0;a<c.length;a++)c[a].length=2;if(!(c.length<2))if(L)c.pop(),t.paths.push(c);else{r||ne.log(\"Unclosed interior contour?\",t.level,o,c.join(\"L\"));var F=!1;for(w=0;w<t.edgepaths.length;w++)if(A=t.edgepaths[w],!F&&Xf(A[0],c[c.length-1],n,i)){c.pop(),F=!0;var B=!1;for(M=0;M<t.edgepaths.length;M++)if(Xf((k=t.edgepaths[M])[k.length-1],c[0],n,i)){B=!0,c.shift(),t.edgepaths.splice(w,1),M===w?t.paths.push(c.concat(k)):(M>w&&M--,t.edgepaths[M]=k.concat(c,A));break}B||(t.edgepaths[w]=c.concat(A))}for(w=0;w<t.edgepaths.length&&!F;w++)Xf((A=t.edgepaths[w])[A.length-1],c[0],n,i)&&(c.shift(),t.edgepaths[w]=A.concat(c),F=!0);F||t.edgepaths.push(c)}}function Jf(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),n+l,i]}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),n,i+u]}var Kf=function(t){var e,r,n,i,a,o,s,l,u,c=t[0].z,h=c.length,f=c[0].length,p=2===h||2===f;for(r=0;r<h-1;r++)for(i=[],0===r&&(i=i.concat(Nf.BOTTOMSTART)),r===h-2&&(i=i.concat(Nf.TOPSTART)),e=0;e<f-1;e++)for(n=i.slice(),0===e&&(n=n.concat(Nf.LEFTSTART)),e===f-2&&(n=n.concat(Nf.RIGHTSTART)),a=e+\",\"+r,o=[[c[r][e],c[r][e+1]],[c[r+1][e],c[r+1][e+1]]],u=0;u<t.length;u++)(s=Qf((l=t[u]).level,o))&&(l.crossings[a]=s,-1!==n.indexOf(s)&&(l.starts.push([e,r]),p&&-1!==n.indexOf(s,n.indexOf(s)+1)&&l.starts.push([e,r])))};function Qf(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);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}var $f=function(t,e,r){for(var n=0;n<r.length;n++)tp(t,e,r[n])};function tp(t,e,r){var n=r[0],i=n.trace,a=i.uid,o=e.xaxis,l=e.yaxis,u=t._fullLayout,c=\"hm\"+a;if(u._paper.selectAll(\".contour\"+a).remove(),u._infolayer.selectAll(\"g.rangeslider-container\").selectAll(\".contour\"+a).remove(),!0!==i.visible)return u._paper.selectAll(\".\"+c).remove(),void u._infolayer.selectAll(\".cb\"+a).remove();var h,f,p,d,g,v,m=n.z,y=n.x,x=n.y,b=n.xCenter,_=n.yCenter,w=P.traceIs(i,\"contour\"),M=w?\"best\":i.zsmooth,A=m.length,k=jh(m),T=!1,S=!1;for(v=0;void 0===h&&v<y.length-1;)h=o.c2p(y[v]),v++;for(v=y.length-1;void 0===f&&v>0;)f=o.c2p(y[v]),v--;for(f<h&&(p=f,f=h,h=p,T=!0),v=0;void 0===d&&v<x.length-1;)d=l.c2p(x[v]),v++;for(v=x.length-1;void 0===g&&v>0;)g=l.c2p(x[v]),v--;if(g<d&&(p=d,d=g,g=p,S=!0),w&&(b=y,_=x,y=n.xfill,x=n.yfill),\"fast\"!==M){var E=\"best\"===M?0:.5;h=Math.max(-E*o._length,h),f=Math.min((1+E)*o._length,f),d=Math.max(-E*l._length,d),g=Math.min((1+E)*l._length,g)}var C=Math.round(f-h),L=Math.round(g-d),z=C<=0||L<=0,I=e.plot.select(\".imagelayer\").selectAll(\"g.hm.\"+c).data(z?[]:[0]);if(I.enter().append(\"g\").classed(\"hm\",!0).classed(c,!0),I.exit().remove(),!z){var D,O;\"fast\"===M?(D=k,O=A):(D=C,O=L);var R=document.createElement(\"canvas\");R.width=D,R.height=O;var F,B,N=R.getContext(\"2d\"),j=Je.makeColorScaleFunc(Je.extractScale(i.colorscale,i.zmin,i.zmax),{noNumericCheck:!0,returnArray:!0});\"fast\"===M?(F=T?function(t){return k-1-t}:ne.identity,B=S?function(t){return A-1-t}:ne.identity):(F=function(t){return ne.constrain(Math.round(o.c2p(y[t])-h),0,C)},B=function(t){return ne.constrain(Math.round(l.c2p(x[t])-d),0,L)});var V,U,q,H,G,W=B(0),Y=[W,W],X=T?0:1,Z=S?0:1,J=0,K=0,Q=0,$=0;if(M){var tt,et=0;try{tt=new Uint8Array(C*L*4)}catch(t){tt=new Array(C*L*4)}if(\"best\"===M){var rt,nt,it,at=b||y,ot=_||x,st=new Array(at.length),lt=new Array(ot.length),ut=new Array(C),ct=b?rp:ep,ht=_?rp:ep;for(v=0;v<at.length;v++)st[v]=Math.round(o.c2p(at[v])-h);for(v=0;v<ot.length;v++)lt[v]=Math.round(l.c2p(ot[v])-d);for(v=0;v<C;v++)ut[v]=ct(v,st);for(U=0;U<L;U++)for(nt=m[(rt=ht(U,lt)).bin0],it=m[rt.bin1],v=0;v<C;v++,et+=4)np(tt,et,G=wt(nt,it,ut[v],rt))}else for(U=0;U<A;U++)for(H=m[U],Y=B(U),v=0;v<C;v++)G=_t(H[v],1),np(tt,et=4*(Y*C+F(v)),G);var ft=N.createImageData(C,L);try{ft.data.set(tt)}catch(t){var pt=ft.data,dt=pt.length;for(U=0;U<dt;U++)pt[U]=tt[U]}N.putImageData(ft,0,0)}else{var gt=i.xgap,vt=i.ygap,mt=Math.floor(gt/2),yt=Math.floor(vt/2);for(U=0;U<A;U++)if(H=m[U],Y.reverse(),Y[Z]=B(U+1),Y[0]!==Y[1]&&void 0!==Y[0]&&void 0!==Y[1])for(V=[q=F(0),q],v=0;v<k;v++)V.reverse(),V[X]=F(v+1),V[0]!==V[1]&&void 0!==V[0]&&void 0!==V[1]&&(G=_t(H[v],(V[1]-V[0])*(Y[1]-Y[0])),N.fillStyle=\"rgba(\"+G.join(\",\")+\")\",N.fillRect(V[0]+mt,Y[0]+yt,V[1]-V[0]-gt,Y[1]-Y[0]-vt))}K=Math.round(K/J),Q=Math.round(Q/J),$=Math.round($/J);var xt=s(\"rgb(\"+K+\",\"+Q+\",\"+$+\")\");t._hmpixcount=(t._hmpixcount||0)+J,t._hmlumcount=(t._hmlumcount||0)+J*xt.getLuminance();var bt=I.selectAll(\"image\").data(r);bt.enter().append(\"svg:image\").attr({xmlns:$e.svg,preserveAspectRatio:\"none\"}),bt.attr({height:L,width:C,x:h,y:d,\"xlink:href\":R.toDataURL(\"image/png\")}),bt.exit().remove()}function _t(t,e){if(void 0!==t){var r=j(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),J+=e,K+=r[0]*e,Q+=r[1]*e,$+=r[2]*e,r}return[0,0,0,0]}function wt(t,e,r,n){var i=t[r.bin0];if(void 0===i)return _t(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,_t(i+r.frac*u+n.frac*(c+r.frac*a))}}function ep(t,e){var r=e.length-2,n=ne.constrain(ne.findBin(t,e),0,r),i=e[n],a=e[n+1],o=ne.constrain(n+(t-i)/(a-i)-.5,0,r),s=Math.round(o),l=Math.abs(o-s);return o&&o!==r&&l?{bin0:s,frac:l,bin1:Math.round(s+l/(o-s))}:{bin0:s,bin1:s,frac:0}}function rp(t,e){var r=e.length-1,n=ne.constrain(ne.findBin(t,e),0,r),i=e[n],a=(t-i)/(e[n+1]-i)||0;return a<=0?{bin0:n,bin1:n,frac:0}:a<.5?{bin0:n,bin1:n+1,frac:a}:{bin0:n+1,bin1:n,frac:1-a}}function np(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 ip={},ap=Nf.LABELOPTIMIZER;function op(t,r,n){var i=n[0].trace,a=n[0].x,o=n[0].y,s=i.contours,l=i.uid,u=r.xaxis,c=r.yaxis,h=t._fullLayout,f=\"contour\"+l,p=Wf(s,r,n[0]);if(!0!==i.visible)return h._paper.selectAll(\".\"+f+\",.hm\"+l).remove(),void h._infolayer.selectAll(\".cb\"+l).remove();\"heatmap\"===s.coloring?(i.zauto&&!1===i.autocontour&&(i._input.zmin=i.zmin=s.start-s.size/2,i._input.zmax=i.zmax=i.zmin+p.length*s.size),$f(t,r,[n])):(h._paper.selectAll(\".hm\"+l).remove(),h._infolayer.selectAll(\"g.rangeslider-container\").selectAll(\".hm\"+l).remove()),Kf(p),Yf(p);var d=u.c2p(a[0],!0),g=u.c2p(a[a.length-1],!0),v=c.c2p(o[0],!0),m=c.c2p(o[o.length-1],!0),y=[[d,m],[g,m],[g,v],[d,v]],x=p;\"constraint\"===s.type&&(x=jf(p,s._operation),Bf(x,s._operation,y,i));var b=ip.makeContourGroup(r,n,f);!function(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\")}(b,y,s),function(t,r,n,i){var a=t.selectAll(\"g.contourfill\").data([0]);a.enter().append(\"g\").classed(\"contourfill\",!0);var o=a.selectAll(\"path\").data(\"fill\"===i.coloring||\"constraint\"===i.type&&\"=\"!==i._operation?r:[]);o.enter().append(\"path\"),o.exit().remove(),o.each(function(t){var r=sp(t,n);r?e.select(this).attr(\"d\",r).style(\"stroke\",\"none\"):e.select(this).remove()})}(b,x,y,s),function(t,r,n,i,a,o){var s=t.selectAll(\"g.contourlines\").data([0]);s.enter().append(\"g\").classed(\"contourlines\",!0);var l=!1!==a.showlines,u=a.showlabels,c=l&&u,h=ip.createLines(s,l||u,r),f=ip.createLineClip(s,c,n._fullLayout._clips,i.trace.uid),p=t.selectAll(\"g.contourlabels\").data(u?[0]:[]);if(p.exit().remove(),p.enter().append(\"g\").classed(\"contourlabels\",!0),u){var d=[o],g=[];ne.clearLocationCache();var v=ip.labelFormatter(a,i.t.cb,n._fullLayout),m=Sr.tester.append(\"text\").attr(\"data-notex\",1).call(Sr.font,a.labelfont),y=r[0].xaxis._length,x=r[0].yaxis._length,b={left:Math.max(o[0][0],0),right:Math.min(o[2][0],y),top:Math.max(o[0][1],0),bottom:Math.min(o[2][1],x)};b.middle=(b.top+b.bottom)/2,b.center=(b.left+b.right)/2;var _=Math.sqrt(y*y+x*x),w=Nf.LABELDISTANCE*_/Math.max(1,r.length/Nf.LABELINCREASE);h.each(function(t){var r=ip.calcTextOpts(t.level,v,m,n);e.select(this).selectAll(\"path\").each(function(){var t=ne.getVisibleSegment(this,b,r.height/2);if(t&&!(t.len<(r.width+r.height)*Nf.LABELMIN))for(var e=Math.min(Math.ceil(t.len/w),Nf.LABELMAX),n=0;n<e;n++){var i=ip.findBestTextLocation(this,t,r,g,b);if(!i)break;ip.addLabelData(i,r,g,d)}})}),m.remove(),ip.drawLabels(p,g,n,f,c?d:null)}u&&!l&&h.remove()}(b,p,t,n[0],s,y),function(t,e,r,n,i){var a=\"clip\"+n.trace.uid,o=r.selectAll(\"#\"+a).data(n.trace.connectgaps?[]:[0]);if(o.enter().append(\"clipPath\").classed(\"contourclip\",!0).attr(\"id\",a),o.exit().remove(),!1===n.trace.connectgaps){var s={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:function(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}(n),smoothing:0};Kf([s]),Yf([s]);var l=sp(s,i),u=o.selectAll(\"path\").data([0]);u.enter().append(\"path\"),u.attr(\"d\",l)}else a=null;t.call(Sr.setClipUrl,a),e.plot.selectAll(\".hm\"+n.trace.uid).call(Sr.setClipUrl,a)}(b,r,h._clips,n[0],y)}function sp(t,e){var r,n,i,a,o,s,l,u=function(t,e){var r=t.prefixBoundary;if(void 0===r){var n=Math.min(t.z[0][0],t.z[0][1]);r=!t.edgepaths.length&&n>t.level}return r?\"M\"+e.join(\"L\")+\"Z\":\"\"}(t,e),c=0,h=t.edgepaths.map(function(t,e){return e}),f=!0;function p(t){return Math.abs(t[1]-e[2][1])<.01}function d(t){return Math.abs(t[0]-e[0][0])<.01}function g(t){return Math.abs(t[0]-e[2][0])<.01}for(;h.length;){for(s=Sr.smoothopen(t.edgepaths[c],t.smoothing),u+=f?s:s.replace(/^M/,\"L\"),h.splice(h.indexOf(c),1),r=t.edgepaths[c][t.edgepaths[c].length-1],a=-1,i=0;i<4;i++){if(!r){ne.log(\"Missing end?\",c,t);break}for(l=r,Math.abs(l[1]-e[0][1])<.01&&!g(r)?n=e[1]:d(r)?n=e[0]:p(r)?n=e[3]:g(r)&&(n=e[2]),o=0;o<t.edgepaths.length;o++){var v=t.edgepaths[o][0];Math.abs(r[0]-n[0])<.01?Math.abs(r[0]-v[0])<.01&&(v[1]-r[1])*(n[1]-v[1])>=0&&(n=v,a=o):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-v[1])<.01&&(v[0]-r[0])*(n[0]-v[0])>=0&&(n=v,a=o):ne.log(\"endpt to newendpt is not vert. or horz.\",r,n,v)}if(r=n,a>=0)break;u+=\"L\"+n}if(a===t.edgepaths.length){ne.log(\"unclosed perimeter path\");break}c=a,(f=-1===h.indexOf(c))&&(c=h[0],u+=\"Z\")}for(c=0;c<t.paths.length;c++)u+=Sr.smoothclosed(t.paths[c],t.smoothing);return u}function lp(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,u=Math.cos(l)*i,c=Math.sin(l)*i,h=(o>n.center?n.right-o:o-n.left)/(u+Math.abs(Math.sin(l)*a)),f=(s>n.middle?n.bottom-s:s-n.top)/(Math.abs(c)+Math.cos(l)*a);if(h<1||f<1)return 1/0;var p=ap.EDGECOST*(1/(h-1)+1/(f-1));p+=ap.ANGLECOST*l*l;for(var d=o-u,g=s-c,v=o+u,m=s+c,y=0;y<r.length;y++){var x=r[y],b=Math.cos(x.theta)*x.width/2,_=Math.sin(x.theta)*x.width/2,w=2*ne.segmentDistance(d,g,v,m,x.x-b,x.y-_,x.x+b,x.y+_)/(e.height+x.height),M=x.level===e.level,A=M?ap.SAMELEVELDISTANCE:1;if(w<=A)return 1/0;p+=ap.NEIGHBORCOST*(M?ap.SAMELEVELFACTOR:1)/(w-A)}return p}ip.plot=function(t,e,r){for(var n=0;n<r.length;n++)op(t,e,r[n])},ip.makeContourGroup=function(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},ip.createLines=function(t,e,r){var n=r[0].smoothing,i=t.selectAll(\"g.contourlevel\").data(e?r:[]);if(i.exit().remove(),i.enter().append(\"g\").classed(\"contourlevel\",!0),e){var a=i.selectAll(\"path.openline\").data(function(t){return t.pedgepaths||t.edgepaths});a.exit().remove(),a.enter().append(\"path\").classed(\"openline\",!0),a.attr(\"d\",function(t){return Sr.smoothopen(t,n)}).style(\"stroke-miterlimit\",1).style(\"vector-effect\",\"non-scaling-stroke\");var o=i.selectAll(\"path.closedline\").data(function(t){return t.ppaths||t.paths});o.exit().remove(),o.enter().append(\"path\").classed(\"closedline\",!0),o.attr(\"d\",function(t){return Sr.smoothclosed(t,n)}).style(\"stroke-miterlimit\",1).style(\"vector-effect\",\"non-scaling-stroke\")}return i},ip.createLineClip=function(t,e,r,n){var i=e?\"clipline\"+n:null,a=r.selectAll(\"#\"+i).data(e?[0]:[]);return a.exit().remove(),a.enter().append(\"clipPath\").classed(\"contourlineclip\",!0).attr(\"id\",i),Sr.setClipUrl(t,i),a},ip.labelFormatter=function(t,e,r){if(t.labelformat)return r._d3locale.numberFormat(t.labelformat);var n;if(e)n=e.axis;else{if(n={type:\"linear\",_id:\"ycontour\",showexponent:\"all\"},\"constraint\"===t.type){var i=t.value;Array.isArray(i)?n.range=[i[0],i[i.length-1]]:n.range=[i,i]}else n.range=[t.start,t.end],n.nticks=(t.end-t.start)/t.size;n.range[0]===n.range[1]&&(n.range[1]+=n.range[0]||1),n.nticks||(n.nticks=1e3),ei(n,r),ri.prepTicks(n),n._tmin=null,n._tmax=null}return function(t){return ri.tickText(n,t).text}},ip.calcTextOpts=function(t,e,r,n){var i=e(t);r.text(i).call(er.convertToTspans,n);var a=Sr.bBox(r.node(),!0);return{text:i,width:a.width,height:a.height,level:t,dy:(a.top+a.bottom)/2}},ip.findBestTextLocation=function(t,e,r,n,i){var a,o,s,l,u,c=r.width;e.isClosed?(o=e.len/ap.INITIALSEARCHPOINTS,a=e.min+o/2,s=e.max):(o=(e.len-c)/(ap.INITIALSEARCHPOINTS+1),a=e.min+o+c/2,s=e.max-(o+c)/2);for(var h=1/0,f=0;f<ap.ITERATIONS;f++){for(var p=a;p<s;p+=o){var d=ne.getTextLocation(t,e.total,p,c),g=lp(d,r,n,i);g<h&&(h=g,u=d,l=p)}if(h>2*ap.MAXCOST)break;f&&(o/=2),s=(a=l-o/2)+1.5*o}if(h<=ap.MAXCOST)return u},ip.addLabelData=function(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,u=Math.sin(l),c=Math.cos(l),h=i*c,f=a*u,p=i*u,d=-a*c,g=[[o-h-f,s-p-d],[o+h-f,s+p-d],[o+h+f,s+p+d],[o-h+f,s-p+d]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(g)},ip.drawLabels=function(t,r,n,i,a){var o=t.selectAll(\"text\").data(r,function(t){return t.text+\",\"+t.x+\",\"+t.y+\",\"+t.theta});if(o.exit().remove(),o.enter().append(\"text\").attr({\"data-notex\":1,\"text-anchor\":\"middle\"}).each(function(t){var r=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;e.select(this).text(t.text).attr({x:r,y:i,transform:\"rotate(\"+180*t.theta/Math.PI+\" \"+r+\" \"+i+\")\"}).call(er.convertToTspans,n)}),a){for(var s=\"\",l=0;l<a.length;l++)s+=\"M\"+a[l].join(\"L\")+\"Z\";var u=i.selectAll(\"path\").data([0]);u.enter().append(\"path\"),u.attr(\"d\",s)}};var up=function(t){e.select(t).selectAll(\".hm image\").style(\"opacity\",function(t){return t.trace.opacity})},cp=function(t){var r=e.select(t).selectAll(\"g.contour\");r.style(\"opacity\",function(t){return t.trace.opacity}),r.each(function(t){var r=e.select(this),n=t.trace,i=n.contours,a=n.line,o=i.size||1,s=i.start,l=\"constraint\"===i.type,u=!l&&\"lines\"===i.coloring,c=!l&&\"fill\"===i.coloring,h=u||c?Mf(n):null;r.selectAll(\"g.contourlevel\").each(function(t){e.select(this).selectAll(\"path\").call(Sr.lineGroupStyle,a.width,u?h(t.level):a.color,a.dash)});var f=i.labelfont;if(r.selectAll(\"g.contourlabels text\").each(function(t){Sr.font(e.select(this),{family:f.family,size:f.size,color:f.color||(u?h(t.level):a.color)})}),l)r.selectAll(\"g.contourfill path\").style(\"fill\",n.fillcolor);else if(c){var p;r.selectAll(\"g.contourfill path\").style(\"fill\",function(t){return void 0===p&&(p=t.level),h(t.level+.5*o)}),void 0===p&&(p=s),r.selectAll(\"g.contourbg path\").style(\"fill\",h(p-.5*o))}}),up(t)},hp={};hp.attributes=Rh,hp.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Rh,r,n)}if(Df(t,e,i,n)){i(\"text\");var a=\"constraint\"===i(\"contours.type\");i(\"connectgaps\",qh(e)),a||delete e.showlegend,a?Lf(t,e,i,n,r):(zf(0,e,i,function(r){return ne.coerce2(t,e,Rh,r)}),Pf(t,e,i,n))}else e.visible=!1},hp.calc=_f,hp.plot=ip.plot,hp.style=cp,hp.colorbar=Af,hp.hoverPoints=Ff,hp.moduleType=\"trace\",hp.name=\"contour\",hp.basePlotModule=ua,hp.categories=[\"cartesian\",\"2dMap\",\"contour\",\"showLegend\"],hp.meta={};var fp=hp,pp=Rh.contours,dp=m.extendFlat,gp=Zr.line,vp=dp({},{carpet:{valType:\"string\",editType:\"calc\"},z:Lh.z,a:Lh.x,a0:Lh.x0,da:Lh.dx,b:Lh.y,b0:Lh.y0,db:Lh.dy,text:Lh.text,transpose:Lh.transpose,atype:Lh.xtype,btype:Lh.ytype,fillcolor:Rh.fillcolor,autocontour:Rh.autocontour,ncontours:Rh.ncontours,contours:{type:pp.type,start:pp.start,end:pp.end,size:pp.size,coloring:{valType:\"enumerated\",values:[\"fill\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:pp.showlines,showlabels:pp.showlabels,labelfont:pp.labelfont,labelformat:pp.labelformat,operation:pp.operation,value:pp.value,editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:dp({},gp.color,{}),width:gp.width,dash:gp.dash,smoothing:dp({},gp.smoothing,{}),editType:\"plot\"}},Pe,{autocolorscale:dp({},Pe.autocolorscale,{dflt:!1})},{colorbar:ze}),mp=function(t,e){for(var r,n=t._fullData.length,i=0;i<n;i++){var a=t._fullData[i];if(a.index!==e.index&&(\"carpet\"===a.type&&(r||(r=a),a.carpet===e.carpet)))return a}return r},yp=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,vp,r,n)}if(i(\"carpet\"),t.a&&t.b){if(!Df(t,e,i,n,\"a\",\"b\"))return void(e.visible=!1);i(\"text\");var a=\"constraint\"===i(\"contours.type\");a||delete e.showlegend,a?Lf(t,e,i,n,r,{hasHover:!1}):(zf(0,e,i,function(r){return ne.coerce2(t,e,vp,r)}),Pf(t,e,i,n,{hasHover:!1}))}else e._defaultColor=r};var xp=ne.isArrayOrTypedArray,bp=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d,g,v,m=xp(r)?\"a\":\"b\",y=(\"a\"===m?t.aaxis:t.baxis).smoothing,x=\"a\"===m?t.a2i:t.b2j,b=\"a\"===m?r:n,_=\"a\"===m?n:r,w=\"a\"===m?e.a.length:e.b.length,M=\"a\"===m?e.b.length:e.a.length,A=Math.floor(\"a\"===m?t.b2j(_):t.a2i(_)),k=\"a\"===m?function(e){return t.evalxy([],e,A)}:function(e){return t.evalxy([],A,e)};y&&(o=Math.max(0,Math.min(M-2,A)),s=A-o,a=\"a\"===m?function(e,r){return t.dxydi([],e,o,r,s)}:function(e,r){return t.dxydj([],o,e,s,r)});var T=x(b[0]),S=x(b[1]),E=T<S?1:-1,C=1e-8*(S-T),L=E>0?Math.floor:Math.ceil,z=E>0?Math.ceil:Math.floor,P=E>0?Math.min:Math.max,I=E>0?Math.max:Math.min,D=L(T+C),O=z(S-C),R=[[c=k(T)]];for(i=D;i*E<O*E;i+=E)l=[],d=I(T,i),v=(g=P(S,i+E))-d,u=Math.max(0,Math.min(w-2,Math.floor(.5*(d+g)))),h=k(g),y&&(f=a(u,d-u),p=a(u,g-u),l.push([c[0]+f[0]/3*v,c[1]+f[1]/3*v]),l.push([h[0]-p[0]/3*v,h[1]-p[1]/3*v])),l.push(h),R.push(l),c=h;return R},_p=function(t,e,r,n,i,a,o,s){var l,u,c,h,f,p,d,g=\"\",v=e.edgepaths.map(function(t,e){return e}),m=!0,y=1e-4*Math.abs(r[0][0]-r[2][0]),x=1e-4*Math.abs(r[0][1]-r[2][1]);function b(t){return Math.abs(t[1]-r[0][1])<x}function _(t){return Math.abs(t[1]-r[2][1])<x}function w(t){return Math.abs(t[0]-r[0][0])<y}function M(t){return Math.abs(t[0]-r[2][0])<y}function A(t,e){var r,n,l,u,c=\"\";for(b(t)&&!M(t)||_(t)&&!w(t)?(u=i.aaxis,l=bp(i,a,[t[0],e[0]],.5*(t[1]+e[1]))):(u=i.baxis,l=bp(i,a,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r<l.length;r++)for(c+=u.smoothing?\"C\":\"L\",n=0;n<l[r].length;n++){var h=l[r][n];c+=[o.c2p(h[0]),s.c2p(h[1])]+\" \"}return c}for(l=0,u=null;v.length;){var k=e.edgepaths[l][0];for(u&&(g+=A(u,k)),d=Sr.smoothopen(e.edgepaths[l].map(n),e.smoothing),g+=m?d:d.replace(/^M/,\"L\"),v.splice(v.indexOf(l),1),u=e.edgepaths[l][e.edgepaths[l].length-1],f=-1,h=0;h<4;h++){if(!u){ne.log(\"Missing end?\",l,e);break}for(b(u)&&!M(u)?c=r[1]:w(u)?c=r[0]:_(u)?c=r[3]:M(u)&&(c=r[2]),p=0;p<e.edgepaths.length;p++){var T=e.edgepaths[p][0];Math.abs(u[0]-c[0])<y?Math.abs(u[0]-T[0])<y&&(T[1]-u[1])*(c[1]-T[1])>=0&&(c=T,f=p):Math.abs(u[1]-c[1])<x?Math.abs(u[1]-T[1])<x&&(T[0]-u[0])*(c[0]-T[0])>=0&&(c=T,f=p):ne.log(\"endpt to newendpt is not vert. or horz.\",u,c,T)}if(f>=0)break;g+=A(u,c),u=c}if(f===e.edgepaths.length){ne.log(\"unclosed perimeter path\");break}l=f,(m=-1===v.indexOf(l))&&(l=v[0],g+=A(u,c)+\"Z\",u=null)}for(l=0;l<e.paths.length;l++)g+=Sr.smoothclosed(e.paths[l].map(n),e.smoothing);return g},wp=function(t,e){var r,n,i,a,o,s,l,u,c;for(r=0;r<t.length;r++){for(o=(a=t[r]).pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(c=a.edgepaths[n],l=[],i=0;i<c.length;i++)l[i]=e(c[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(c=a.paths[n],u=[],i=0;i<c.length;i++)u[i]=e(c[i]);s.push(u)}}};function Mp(t,r,n){var i=n[0].trace,a=i.carpetTrace=mp(t,i),o=t.calcdata[a.index][0];if(a.visible&&\"legendonly\"!==a.visible){var s=n[0].a,l=n[0].b,u=i.contours,c=i.uid,h=r.xaxis,f=r.yaxis,p=t._fullLayout,d=\"contour\"+c,g=Wf(u,r,n[0]),v=\"constraint\"===u.type,m=u._operation,y=v?\"=\"===m?\"lines\":\"fill\":u.coloring;if(!0===i.visible){var x=[[s[0],l[l.length-1]],[s[s.length-1],l[l.length-1]],[s[s.length-1],l[0]],[s[0],l[0]]];Kf(g);var b=1e-8*(s[s.length-1]-s[0]),_=1e-8*(l[l.length-1]-l[0]);Yf(g,b,_);var w=g;\"constraint\"===u.type&&(w=jf(g,m),Bf(w,m,x,i)),wp(g,L);var M,A,k,T,S=ip.makeContourGroup(r,n,d),E=[];for(T=o.clipsegments.length-1;T>=0;T--)M=o.clipsegments[T],A=Ou([],M.x,h.c2p),k=Ou([],M.y,f.c2p),A.reverse(),k.reverse(),E.push(Iu(A,k,M.bicubic));var C=\"M\"+E.join(\"L\")+\"Z\";!function(t,e,r,n,i,a){var o,s,l,u,c=t.selectAll(\"g.contourbg\").data([0]);c.enter().append(\"g\").classed(\"contourbg\",!0);var h=c.selectAll(\"path\").data(\"fill\"!==a||i?[]:[0]);h.enter().append(\"path\"),h.exit().remove();var f=[];for(u=0;u<e.length;u++)o=e[u],s=Ou([],o.x,r.c2p),l=Ou([],o.y,n.c2p),f.push(Iu(s,l,o.bicubic));h.attr(\"d\",\"M\"+f.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}(S,o.clipsegments,h,f,v,y),function(t,r,n,i,a,o,s,l,u,c,h){var f=r.selectAll(\"g.contourfill\").data([0]);f.enter().append(\"g\").classed(\"contourfill\",!0);var p=f.selectAll(\"path\").data(\"fill\"===c?a:[]);p.enter().append(\"path\"),p.exit().remove(),p.each(function(r){var a=_p(t,r,o,s,l,u,n,i);r.prefixBoundary&&(a=h+a),a?e.select(this).attr(\"d\",a).style(\"stroke\",\"none\"):e.select(this).remove()})}(i,S,h,f,w,x,L,a,o,y,C),function(t,r,n,i,a,o,s){var l=t.selectAll(\"g.contourlines\").data([0]);l.enter().append(\"g\").classed(\"contourlines\",!0);var u=!1!==a.showlines,c=a.showlabels,h=u&&c,f=ip.createLines(l,u||c,r),p=ip.createLineClip(l,h,n._fullLayout._defs,i.trace.uid),d=t.selectAll(\"g.contourlabels\").data(c?[0]:[]);if(d.exit().remove(),d.enter().append(\"g\").classed(\"contourlabels\",!0),c){var g=o.xaxis,v=o.yaxis,m=g._length,y=v._length,x=[[[0,0],[m,0],[m,y],[0,y]]],b=[];ne.clearLocationCache();var _=ip.labelFormatter(a,i.t.cb,n._fullLayout),w=Sr.tester.append(\"text\").attr(\"data-notex\",1).call(Sr.font,a.labelfont),M={left:0,right:m,center:m/2,top:0,bottom:y,middle:y/2},A=Math.sqrt(m*m+y*y),k=Nf.LABELDISTANCE*A/Math.max(1,r.length/Nf.LABELINCREASE);f.each(function(t){var r=ip.calcTextOpts(t.level,_,w,n);e.select(this).selectAll(\"path\").each(function(e){var n=ne.getVisibleSegment(this,M,r.height/2);if(n&&(function(t,e,r,n,i,a){for(var o,s=0;s<r.pedgepaths.length;s++)e===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=i.a[0],u=i.a[i.a.length-1],c=i.b[0],h=i.b[i.b.length-1];function f(t,e){var r,n=0;return(Math.abs(t[0]-l)<.1||Math.abs(t[0]-u)<.1)&&(r=kp(i.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,a*Tp(e,r)/2)),(Math.abs(t[1]-c)<.1||Math.abs(t[1]-h)<.1)&&(r=kp(i.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,a*Tp(e,r)/2)),n}var p=Ap(t,0,1),d=Ap(t,n.total,n.total-1),g=f(o[0],p),v=n.total-f(o[o.length-1],d);n.min<g&&(n.min=g);n.max>v&&(n.max=v);n.len=n.max-n.min}(this,e,t,n,s,r.height),!(n.len<(r.width+r.height)*Nf.LABELMIN)))for(var i=Math.min(Math.ceil(n.len/k),Nf.LABELMAX),a=0;a<i;a++){var o=ip.findBestTextLocation(this,n,r,b,M);if(!o)break;ip.addLabelData(o,r,b,x)}})}),w.remove(),ip.drawLabels(d,b,n,p,h?x:null)}c&&!u&&f.remove()}(S,g,t,n[0],u,r,a),Sr.setClipUrl(S,a._clipPathId)}else p._infolayer.selectAll(\".cb\"+c).remove()}function L(t){var e=a.ab2xy(t[0],t[1],!0);return[h.c2p(e[0]),f.c2p(e[1])]}}function Ap(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function kp(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function Tp(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}var Sp={};Sp.attributes=vp,Sp.supplyDefaults=yp,Sp.colorbar=Af,Sp.calc=function(t,e){var r=e.carpetTrace=mp(t,e);if(r&&r.visible&&\"legendonly\"!==r.visible){if(!e.a||!e.b){var n=t.data[r.index],i=t.data[e.index];i.a||(i.a=n.a),i.b||(i.b=n.b),yp(i,e,e._defaultColor,t._fullLayout)}var a=function(t,e){var r,n,i,a,o,s,l,u=e.carpetTrace,c=u.aaxis,h=u.baxis;c._minDtick=0,h._minDtick=0,qh(e)&&Pu(e,c,h,\"a\",\"b\",[\"z\"]),r=e.a?c.makeCalcdata(e,\"a\"):[],a=e.b?h.makeCalcdata(e,\"b\"):[],n=e.a0||0,i=e.da||1,o=e.b0||0,s=e.db||1,l=xu(e.z,e.transpose),e._emptypoints=Vh(l),e._interpz=Wh(l,e._emptypoints,e._interpz);var f=jh(l),p=\"scaled\"===e.xtype?\"\":r,d=Zh(e,p,n,i,f,c),g=\"scaled\"===e.ytype?\"\":a,v=Zh(e,g,o,s,l.length,h),m={a:d,b:v,z:l};return\"levels\"===e.contours.type&&Ve(e,l,\"\",\"z\"),[m]}(0,e);return Bh(e),a}},Sp.plot=function(t,e,r){for(var n=0;n<r.length;n++)Mp(t,e,r[n])},Sp.style=cp,Sp.moduleType=\"trace\",Sp.name=\"contourcarpet\",Sp.basePlotModule=ua,Sp.categories=[\"cartesian\",\"carpet\",\"contour\",\"symbols\",\"showLegend\",\"hasLines\",\"carpetDependent\"],Sp.meta={};var Ep=Sp,Cp={\"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-default\":\"cursor:default;\",\"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;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;\",\"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 Lp in Cp){var zp=Lp.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\");ne.addStyleRule(zp,Cp[Lp])}var Pp,Ip,Dp,Op={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},spikeline:{width:1e3,path:\"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z\",ascent:850,descent:-150}},Rp=Pp={};function Fp(){throw new Error(\"setTimeout has not been defined\")}function Bp(){throw new Error(\"clearTimeout has not been defined\")}function Np(t){if(Ip===setTimeout)return setTimeout(t,0);if((Ip===Fp||!Ip)&&setTimeout)return Ip=setTimeout,setTimeout(t,0);try{return Ip(t,0)}catch(e){try{return Ip.call(null,t,0)}catch(e){return Ip.call(this,t,0)}}}!function(){try{Ip=\"function\"==typeof setTimeout?setTimeout:Fp}catch(t){Ip=Fp}try{Dp=\"function\"==typeof clearTimeout?clearTimeout:Bp}catch(t){Dp=Bp}}();var jp,Vp=[],Up=!1,qp=-1;function Hp(){Up&&jp&&(Up=!1,jp.length?Vp=jp.concat(Vp):qp=-1,Vp.length&&Gp())}function Gp(){if(!Up){var t=Np(Hp);Up=!0;for(var e=Vp.length;e;){for(jp=Vp,Vp=[];++qp<e;)jp&&jp[qp].run();qp=-1,e=Vp.length}jp=null,Up=!1,function(t){if(Dp===clearTimeout)return clearTimeout(t);if((Dp===Bp||!Dp)&&clearTimeout)return Dp=clearTimeout,clearTimeout(t);try{Dp(t)}catch(e){try{return Dp.call(null,t)}catch(e){return Dp.call(this,t)}}}(t)}}function Wp(t,e){this.fun=t,this.array=e}function Yp(){}Rp.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];Vp.push(new Wp(t,e)),1!==Vp.length||Up||Np(Gp)},Wp.prototype.run=function(){this.fun.apply(null,this.array)},Rp.title=\"browser\",Rp.browser=!0,Rp.env={},Rp.argv=[],Rp.version=\"\",Rp.versions={},Rp.on=Yp,Rp.addListener=Yp,Rp.once=Yp,Rp.off=Yp,Rp.removeListener=Yp,Rp.removeAllListeners=Yp,Rp.emit=Yp,Rp.prependListener=Yp,Rp.prependOnceListener=Yp,Rp.listeners=function(t){return[]},Rp.binding=function(t){throw new Error(\"process.binding is not supported\")},Rp.cwd=function(){return\"/\"},Rp.chdir=function(t){throw new Error(\"process.chdir is not supported\")},Rp.umask=function(){return 0};var Xp={exports:{}};(function(t,e){!function(t,e){\"object\"==typeof Xp.exports?Xp.exports=e():t.ES6Promise=e()}(this,function(){\"use strict\";function r(t){return\"function\"==typeof t}var n=Array.isArray?Array.isArray:function(t){return\"[object Array]\"===Object.prototype.toString.call(t)},i=0,a=void 0,o=void 0,s=function(t,e){d[i]=t,d[i+1]=e,2===(i+=2)&&(o?o(g):b())};var l=\"undefined\"!=typeof window?window:void 0,u=l||{},c=u.MutationObserver||u.WebKitMutationObserver,h=\"undefined\"==typeof self&&void 0!==t&&\"[object process]\"==={}.toString.call(t),f=\"undefined\"!=typeof Uint8ClampedArray&&\"undefined\"!=typeof importScripts&&\"undefined\"!=typeof MessageChannel;function p(){var t=setTimeout;return function(){return t(g,1)}}var d=new Array(1e3);function g(){for(var t=0;t<i;t+=2){(0,d[t])(d[t+1]),d[t]=void 0,d[t+1]=void 0}i=0}var v,m,y,x,b=void 0;function _(t,e){var r=arguments,n=this,i=new this.constructor(A);void 0===i[M]&&V(i);var a,o=n._state;return o?(a=r[o-1],s(function(){return N(o,i,a,n._result)})):O(n,i,t,e),i}function w(t){if(t&&\"object\"==typeof t&&t.constructor===this)return t;var e=new this(A);return z(e,t),e}h?b=function(){return t.nextTick(g)}:c?(m=0,y=new c(g),x=document.createTextNode(\"\"),y.observe(x,{characterData:!0}),b=function(){x.data=m=++m%2}):f?((v=new MessageChannel).port1.onmessage=g,b=function(){return v.port2.postMessage(0)}):b=void 0===l&&\"function\"==typeof require?function(){try{var t=require(\"vertx\");return a=t.runOnLoop||t.runOnContext,function(){a(g)}}catch(t){return p()}}():p();var M=Math.random().toString(36).substring(16);function A(){}var k=void 0,T=1,S=2,E=new F;function C(t){try{return t.then}catch(t){return E.error=t,E}}function L(t,e,n){e.constructor===t.constructor&&n===_&&e.constructor.resolve===w?function(t,e){e._state===T?I(t,e._result):e._state===S?D(t,e._result):O(e,void 0,function(e){return z(t,e)},function(e){return D(t,e)})}(t,e):n===E?D(t,E.error):void 0===n?I(t,e):r(n)?function(t,e,r){s(function(t){var n=!1,i=function(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}(r,e,function(r){n||(n=!0,e!==r?z(t,r):I(t,r))},function(e){n||(n=!0,D(t,e))},t._label);!n&&i&&(n=!0,D(t,i))},t)}(t,e,n):I(t,e)}function z(t,e){var r;t===e?D(t,new TypeError(\"You cannot resolve a promise with itself\")):\"function\"==typeof(r=e)||\"object\"==typeof r&&null!==r?L(t,e,C(e)):I(t,e)}function P(t){t._onerror&&t._onerror(t._result),R(t)}function I(t,e){t._state===k&&(t._result=e,t._state=T,0!==t._subscribers.length&&s(R,t))}function D(t,e){t._state===k&&(t._state=S,t._result=e,s(P,t))}function O(t,e,r,n){var i=t._subscribers,a=i.length;t._onerror=null,i[a]=e,i[a+T]=r,i[a+S]=n,0===a&&t._state&&s(R,t)}function R(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?N(r,n,i,a):i(a);t._subscribers.length=0}}function F(){this.error=null}var B=new F;function N(t,e,n,i){var a=r(n),o=void 0,s=void 0,l=void 0,u=void 0;if(a){if((o=function(t,e){try{return t(e)}catch(t){return B.error=t,B}}(n,i))===B?(u=!0,s=o.error,o=null):l=!0,e===o)return void D(e,new TypeError(\"A promises callback cannot return that same promise.\"))}else o=i,l=!0;e._state!==k||(a&&l?z(e,o):u?D(e,s):t===T?I(e,o):t===S&&D(e,o))}var j=0;function V(t){t[M]=j++,t._state=void 0,t._result=void 0,t._subscribers=[]}function U(t,e){this._instanceConstructor=t,this.promise=new t(A),this.promise[M]||V(this.promise),n(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?I(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&I(this.promise,this._result))):D(this.promise,new Error(\"Array Methods must be provided an Array\"))}function q(t){this[M]=j++,this._result=this._state=void 0,this._subscribers=[],A!==t&&(\"function\"!=typeof t&&function(){throw new TypeError(\"You must pass a resolver function as the first argument to the promise constructor\")}(),this instanceof q?function(t,e){try{e(function(e){z(t,e)},function(e){D(t,e)})}catch(e){D(t,e)}}(this,t):function(){throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\")}())}function H(){var t=void 0;if(void 0!==e)t=e;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 r=t.Promise;if(r){var n=null;try{n=Object.prototype.toString.call(r.resolve())}catch(t){}if(\"[object Promise]\"===n&&!r.cast)return}t.Promise=q}return U.prototype._enumerate=function(){for(var t=this.length,e=this._input,r=0;this._state===k&&r<t;r++)this._eachEntry(e[r],r)},U.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===w){var i=C(t);if(i===_&&t._state!==k)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(A);L(a,t,i),this._willSettleAt(a,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},U.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===k&&(this._remaining--,t===S?D(n,r):this._result[e]=r),0===this._remaining&&I(n,this._result)},U.prototype._willSettleAt=function(t,e){var r=this;O(t,void 0,function(t){return r._settledAt(T,e,t)},function(t){return r._settledAt(S,e,t)})},q.all=function(t){return new U(this,t).promise},q.race=function(t){var e=this;return n(t)?new e(function(r,n){for(var i=t.length,a=0;a<i;a++)e.resolve(t[a]).then(r,n)}):new e(function(t,e){return e(new TypeError(\"You must pass an array to race.\"))})},q.resolve=w,q.reject=function(t){var e=new this(A);return D(e,t),e},q._setScheduler=function(t){o=t},q._setAsap=function(t){s=t},q._asap=s,q.prototype={constructor:q,then:_,catch:function(t){return this.then(null,t)}},H(),q.polyfill=H,q.Promise=q,q})}).call(this,Pp,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{}),Xp=Xp.exports;var Zp=[{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,noRotate:!0},{path:\"M2,2V-2H-2V2Z\",backoff:0,noRotate:!0}],Jp={_isLinkedToArray:\"annotation\",visible:{valType:\"boolean\",dflt:!0,editType:\"calcIfAutorange+arraydraw\"},text:{valType:\"string\",editType:\"calcIfAutorange+arraydraw\"},textangle:{valType:\"angle\",dflt:0,editType:\"calcIfAutorange+arraydraw\"},font:T({editType:\"calcIfAutorange+arraydraw\",colorEditType:\"arraydraw\"}),width:{valType:\"number\",min:1,dflt:null,editType:\"calcIfAutorange+arraydraw\"},height:{valType:\"number\",min:1,dflt:null,editType:\"calcIfAutorange+arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"center\",editType:\"arraydraw\"},valign:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\",editType:\"arraydraw\"},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},borderpad:{valType:\"number\",min:0,dflt:1,editType:\"calcIfAutorange+arraydraw\"},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"calcIfAutorange+arraydraw\"},showarrow:{valType:\"boolean\",dflt:!0,editType:\"calcIfAutorange+arraydraw\"},arrowcolor:{valType:\"color\",editType:\"arraydraw\"},arrowhead:{valType:\"integer\",min:0,max:Zp.length,dflt:1,editType:\"arraydraw\"},startarrowhead:{valType:\"integer\",min:0,max:Zp.length,dflt:1,editType:\"arraydraw\"},arrowside:{valType:\"flaglist\",flags:[\"end\",\"start\"],extras:[\"none\"],dflt:\"end\",editType:\"arraydraw\"},arrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calcIfAutorange+arraydraw\"},startarrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calcIfAutorange+arraydraw\"},arrowwidth:{valType:\"number\",min:.1,editType:\"calcIfAutorange+arraydraw\"},standoff:{valType:\"number\",min:0,dflt:0,editType:\"calcIfAutorange+arraydraw\"},startstandoff:{valType:\"number\",min:0,dflt:0,editType:\"calcIfAutorange+arraydraw\"},ax:{valType:\"any\",editType:\"calcIfAutorange+arraydraw\"},ay:{valType:\"any\",editType:\"calcIfAutorange+arraydraw\"},axref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",Te.idRegex.x.toString()],editType:\"calc\"},ayref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",Te.idRegex.y.toString()],editType:\"calc\"},xref:{valType:\"enumerated\",values:[\"paper\",Te.idRegex.x.toString()],editType:\"calc\"},x:{valType:\"any\",editType:\"calcIfAutorange+arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\",editType:\"calcIfAutorange+arraydraw\"},xshift:{valType:\"number\",dflt:0,editType:\"calcIfAutorange+arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",Te.idRegex.y.toString()],editType:\"calc\"},y:{valType:\"any\",editType:\"calcIfAutorange+arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"auto\",editType:\"calcIfAutorange+arraydraw\"},yshift:{valType:\"number\",dflt:0,editType:\"calcIfAutorange+arraydraw\"},clicktoshow:{valType:\"enumerated\",values:[!1,\"onoff\",\"onout\"],dflt:!1,editType:\"arraydraw\"},xclick:{valType:\"any\",editType:\"arraydraw\"},yclick:{valType:\"any\",editType:\"arraydraw\"},hovertext:{valType:\"string\",editType:\"arraydraw\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",editType:\"arraydraw\"},font:T({editType:\"arraydraw\"}),editType:\"arraydraw\"},captureevents:{valType:\"boolean\",editType:\"arraydraw\"},editType:\"calc\",_deprecated:{ref:{valType:\"string\",editType:\"calc\"}}},Kp=function(t,r,n){var i,a,o,s,l=t.node(),u=Zp[n.arrowhead||0],c=Zp[n.startarrowhead||0],h=(n.arrowwidth||1)*(n.arrowsize||1),f=(n.arrowwidth||1)*(n.startarrowsize||1),p=r.indexOf(\"start\")>=0,d=r.indexOf(\"end\")>=0,g=u.backoff*h+n.standoff,v=c.backoff*f+n.startstandoff;if(\"line\"===l.nodeName){i={x:+t.attr(\"x1\"),y:+t.attr(\"y1\")},a={x:+t.attr(\"x2\"),y:+t.attr(\"y2\")};var m=i.x-a.x,y=i.y-a.y;if(s=(o=Math.atan2(y,m))+Math.PI,g&&v&&g+v>Math.sqrt(m*m+y*y))return void C();if(g){if(g*g>m*m+y*y)return void C();var x=g*Math.cos(o),b=g*Math.sin(o);a.x+=x,a.y+=b,t.attr({x2:a.x,y2:a.y})}if(v){if(v*v>m*m+y*y)return void C();var _=v*Math.cos(o),w=v*Math.sin(o);i.x-=_,i.y-=w,t.attr({x1:i.x,y1:i.y})}}else if(\"path\"===l.nodeName){var M=l.getTotalLength(),A=\"\";if(M<g+v)return void C();var k=l.getPointAtLength(0),T=l.getPointAtLength(.1);o=Math.atan2(k.y-T.y,k.x-T.x),i=l.getPointAtLength(Math.min(v,M)),A=\"0px,\"+v+\"px,\";var S=l.getPointAtLength(M),E=l.getPointAtLength(M-.1);s=Math.atan2(S.y-E.y,S.x-E.x),a=l.getPointAtLength(Math.max(0,M-g)),A+=M-(A?v+g:g)+\"px,\"+M+\"px\",t.style(\"stroke-dasharray\",A)}function C(){t.style(\"stroke-dasharray\",\"0px,100px\")}function L(r,i,a,o){r.path&&(r.noRotate&&(a=0),e.select(l.parentNode).append(\"path\").attr({class:t.attr(\"class\"),d:r.path,transform:\"translate(\"+i.x+\",\"+i.y+\")\"+(a?\"rotate(\"+180*a/Math.PI+\")\":\"\")+\"scale(\"+o+\")\"}).style({fill:Oe.rgb(n.arrowcolor),\"stroke-width\":0}))}p&&L(c,i,o,f),d&&L(u,a,s,h)},Qp={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(\".annotation\").remove();for(var r=0;r<e.annotations.length;r++)e.annotations[r].visible&&$p(t,r);return _n.previousPromises(t)},drawOne:$p,drawRaw:td};function $p(t,e){var r=t._fullLayout.annotations[e]||{};td(t,r,e,!1,ri.getFromId(t,r.xref),ri.getFromId(t,r.yref))}function td(t,r,n,i,a,o){var s,l,u=t._fullLayout,c=t._fullLayout._size,h=t._context.edits;i?(s=\"annotation-\"+i,l=i+\".annotations[\"+n+\"]\"):(s=\"annotation\",l=\"annotations[\"+n+\"]\"),u._infolayer.selectAll(\".\"+s+'[data-index=\"'+n+'\"]').remove();var f=\"clip\"+u._uid+\"_ann\"+n;if(r._input&&!1!==r.visible){var p={x:{},y:{}},d=+r.textangle||0,g=u._infolayer.append(\"g\").classed(s,!0).attr(\"data-index\",String(n)).style(\"opacity\",r.opacity),v=g.append(\"g\").classed(\"annotation-text-g\",!0),m=h[r.showarrow?\"annotationTail\":\"annotationPosition\"],y=r.captureevents||h.annotationText||m,x=v.append(\"g\").style(\"pointer-events\",y?\"all\":null).call(Ka,\"default\").on(\"click\",function(){t._dragging=!1;var a={index:n,annotation:r._input,fullAnnotation:r,event:e.event};i&&(a.subplotId=i),t.emit(\"plotly_clickannotation\",a)});r.hovertext&&x.on(\"mouseover\",function(){var e=r.hoverlabel,n=e.font,i=this.getBoundingClientRect(),a=t.getBoundingClientRect();yo.loneHover({x0:i.left-a.left,x1:i.right-a.left,y:(i.top+i.bottom)/2-a.top,text:r.hovertext,color:e.bgcolor,borderColor:e.bordercolor,fontFamily:n.family,fontSize:n.size,fontColor:n.color},{container:u._hoverlayer.node(),outerContainer:u._paper.node(),gd:t})}).on(\"mouseout\",function(){yo.loneUnhover(u._hoverlayer.node())});var b=r.borderwidth,_=r.borderpad,w=b+_,M=x.append(\"rect\").attr(\"class\",\"bg\").style(\"stroke-width\",b+\"px\").call(Oe.stroke,r.bordercolor).call(Oe.fill,r.bgcolor),A=r.width||r.height,k=u._topclips.selectAll(\"#\"+f).data(A?[0]:[]);k.enter().append(\"clipPath\").classed(\"annclip\",!0).attr(\"id\",f).append(\"rect\"),k.exit().remove();var T=r.font,S=x.append(\"text\").classed(\"annotation-text\",!0).text(r.text);h.annotationText?S.call(er.makeEditable,{delegate:x,gd:t}).call(E).on(\"edit\",function(e){r.text=e,this.call(E);var n={};n[l+\".text\"]=r.text,a&&a.autorange&&(n[a._name+\".autorange\"]=!0),o&&o.autorange&&(n[o._name+\".autorange\"]=!0),P.call(\"relayout\",t,n)}):S.call(E)}else e.selectAll(\"#\"+f).remove();function E(e){return e.call(Sr.font,T).attr({\"text-anchor\":{left:\"start\",right:\"end\"}[r.align]||\"middle\"}),er.convertToTspans(e,t,C),e}function C(){var e=S.selectAll(\"a\");1===e.size()&&e.text()===S.text()&&x.insert(\"a\",\":first-child\").attr({\"xlink:xlink:href\":e.attr(\"xlink:href\"),\"xlink:xlink:show\":e.attr(\"xlink:show\")}).style({cursor:\"pointer\"}).node().appendChild(M.node());var n=x.select(\".annotation-text-math-group\"),s=!n.empty(),y=Sr.bBox((s?n:S).node()),_=y.width,T=y.height,E=r.width||_,C=r.height||T,L=Math.round(E+2*w),z=Math.round(C+2*w);function I(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]}r._w=E,r._h=C;for(var D=!1,O=[\"x\",\"y\"],R=0;R<O.length;R++){var F,B,N,j,V,U=O[R],q=r[U+\"ref\"]||U,H=r[\"a\"+U+\"ref\"],G={x:a,y:o}[U],W=(d+(\"x\"===U?0:-90))*Math.PI/180,Y=L*Math.cos(W),X=z*Math.sin(W),Z=Math.abs(Y)+Math.abs(X),J=r[U+\"anchor\"],K=r[U+\"shift\"]*(\"x\"===U?1:-1),Q=p[U];if(G){var $=G.r2fraction(r[U]);if((t._dragging||!G.autorange)&&($<0||$>1)&&(H===q?(($=G.r2fraction(r[\"a\"+U]))<0||$>1)&&(D=!0):D=!0,D))continue;F=G._offset+G.r2p(r[U]),j=.5}else\"x\"===U?(N=r[U],F=c.l+c.w*N):(N=1-r[U],F=c.t+c.h*N),j=r.showarrow?.5:N;if(r.showarrow){Q.head=F;var tt=r[\"a\"+U];V=Y*I(.5,r.xanchor)-X*I(.5,r.yanchor),H===q?(Q.tail=G._offset+G.r2p(tt),B=V):(Q.tail=F+tt,B=V+tt),Q.text=Q.tail+V;var et=u[\"x\"===U?\"width\":\"height\"];if(\"paper\"===q&&(Q.head=ne.constrain(Q.head,1,et-1)),\"pixel\"===H){var rt=-Math.max(Q.tail-3,Q.text),nt=Math.min(Q.tail+3,Q.text)-et;rt>0?(Q.tail+=rt,Q.text+=rt):nt>0&&(Q.tail-=nt,Q.text-=nt)}Q.tail+=K,Q.head+=K}else B=V=Z*I(j,J),Q.text=F+V;Q.text+=K,V+=K,B+=K,r[\"_\"+U+\"padplus\"]=Z/2+B,r[\"_\"+U+\"padminus\"]=Z/2-B,r[\"_\"+U+\"size\"]=Z,r[\"_\"+U+\"shift\"]=V}if(D)x.remove();else{var it=0,at=0;if(\"left\"!==r.align&&(it=(E-_)*(\"center\"===r.align?.5:1)),\"top\"!==r.valign&&(at=(C-T)*(\"middle\"===r.valign?.5:1)),s)n.select(\"svg\").attr({x:w+it-1,y:w+at}).call(Sr.setClipUrl,A?f:null);else{var ot=w+at-y.top,st=w+it-y.left;S.call(er.positionText,st,ot).call(Sr.setClipUrl,A?f:null)}k.select(\"rect\").call(Sr.setRect,w,w,E,C),M.call(Sr.setRect,b/2,b/2,L-b,z-b),x.call(Sr.setTranslate,Math.round(p.x.text-L/2),Math.round(p.y.text-z/2)),v.attr({transform:\"rotate(\"+d+\",\"+p.x.text+\",\"+p.y.text+\")\"});var lt,ut,ct=function(e,n){g.selectAll(\".annotation-arrow-g\").remove();var s=p.x.head,u=p.y.head,f=p.x.tail+e,m=p.y.tail+n,y=p.x.text+e,b=p.y.text+n,_=ne.rotationXYMatrix(d,y,b),w=ne.apply2DTransform(_),A=ne.apply2DTransform2(_),k=+M.attr(\"width\"),T=+M.attr(\"height\"),S=y-.5*k,E=S+k,C=b-.5*T,L=C+T,z=[[S,C,S,L],[S,L,E,L],[E,L,E,C],[E,C,S,C]].map(A);if(!z.reduce(function(t,e){return t^!!ne.segmentsIntersect(s,u,s+1e6,u+1e6,e[0],e[1],e[2],e[3])},!1)){z.forEach(function(t){var e=ne.segmentsIntersect(f,m,s,u,t[0],t[1],t[2],t[3]);e&&(f=e.x,m=e.y)});var I=r.arrowwidth,D=r.arrowcolor,O=r.arrowside,R=g.append(\"g\").style({opacity:Oe.opacity(D)}).classed(\"annotation-arrow-g\",!0),F=R.append(\"path\").attr(\"d\",\"M\"+f+\",\"+m+\"L\"+s+\",\"+u).style(\"stroke-width\",I+\"px\").call(Oe.stroke,Oe.rgb(D));if(Kp(F,O,r),h.annotationPosition&&F.node().parentNode&&!i){var B=s,N=u;if(r.standoff){var j=Math.sqrt(Math.pow(s-f,2)+Math.pow(u-m,2));B+=r.standoff*(f-s)/j,N+=r.standoff*(m-u)/j}var V,U,q,H=R.append(\"path\").classed(\"annotation-arrow\",!0).classed(\"anndrag\",!0).attr({d:\"M3,3H-3V-3H3ZM0,0L\"+(f-B)+\",\"+(m-N),transform:\"translate(\"+B+\",\"+N+\")\"}).style(\"stroke-width\",I+6+\"px\").call(Oe.stroke,\"rgba(0,0,0,0)\").call(Oe.fill,\"rgba(0,0,0,0)\");Ua.init({element:H.node(),gd:t,prepFn:function(){var t=Sr.getTranslate(x);U=t.x,q=t.y,V={},a&&a.autorange&&(V[a._name+\".autorange\"]=!0),o&&o.autorange&&(V[o._name+\".autorange\"]=!0)},moveFn:function(t,e){var n=w(U,q),i=n[0]+t,s=n[1]+e;x.call(Sr.setTranslate,i,s),V[l+\".x\"]=a?a.p2r(a.r2p(r.x)+t):r.x+t/c.w,V[l+\".y\"]=o?o.p2r(o.r2p(r.y)+e):r.y-e/c.h,r.axref===r.xref&&(V[l+\".ax\"]=a.p2r(a.r2p(r.ax)+t)),r.ayref===r.yref&&(V[l+\".ay\"]=o.p2r(o.r2p(r.ay)+e)),R.attr(\"transform\",\"translate(\"+t+\",\"+e+\")\"),v.attr({transform:\"rotate(\"+d+\",\"+i+\",\"+s+\")\"})},doneFn:function(){P.call(\"relayout\",t,V);var e=document.querySelector(\".js-notes-box-panel\");e&&e.redraw(e.selectedObj)}})}}};if(r.showarrow&&ct(0,0),m)Ua.init({element:x.node(),gd:t,prepFn:function(){ut=v.attr(\"transform\"),lt={}},moveFn:function(t,e){var n=\"pointer\";if(r.showarrow)r.axref===r.xref?lt[l+\".ax\"]=a.p2r(a.r2p(r.ax)+t):lt[l+\".ax\"]=r.ax+t,r.ayref===r.yref?lt[l+\".ay\"]=o.p2r(o.r2p(r.ay)+e):lt[l+\".ay\"]=r.ay+e,ct(t,e);else{if(i)return;if(a)lt[l+\".x\"]=a.p2r(a.r2p(r.x)+t);else{var s=r._xsize/c.w,u=r.x+(r._xshift-r.xshift)/c.w-s/2;lt[l+\".x\"]=Ua.align(u+t/c.w,s,0,1,r.xanchor)}if(o)lt[l+\".y\"]=o.p2r(o.r2p(r.y)+e);else{var h=r._ysize/c.h,f=r.y-(r._yshift+r.yshift)/c.h-h/2;lt[l+\".y\"]=Ua.align(f-e/c.h,h,0,1,r.yanchor)}a&&o||(n=Ua.getCursor(a?.5:lt[l+\".x\"],o?.5:lt[l+\".y\"],r.xanchor,r.yanchor))}v.attr({transform:\"translate(\"+t+\",\"+e+\")\"+ut}),Ka(x,n)},doneFn:function(){Ka(x),P.call(\"relayout\",t,lt);var e=document.querySelector(\".js-notes-box-panel\");e&&e.redraw(e.selectedObj)}})}}}var ed=Qp.draw;function rd(t){var e=t._fullLayout;ne.filterVisible(e.annotations).forEach(function(e){var r,n,i,a,o=ri.getFromId(t,e.xref),s=ri.getFromId(t,e.yref),l=3*e.arrowsize*e.arrowwidth||0,u=3*e.startarrowsize*e.arrowwidth||0;o&&o.autorange&&(r=l+e.xshift,n=l-e.xshift,i=u+e.xshift,a=u-e.xshift,e.axref===e.xref?(ri.expand(o,[o.r2c(e.x)],{ppadplus:r,ppadminus:n}),ri.expand(o,[o.r2c(e.ax)],{ppadplus:Math.max(e._xpadplus,i),ppadminus:Math.max(e._xpadminus,a)})):(i=e.ax?i+e.ax:i,a=e.ax?a-e.ax:a,ri.expand(o,[o.r2c(e.x)],{ppadplus:Math.max(e._xpadplus,r,i),ppadminus:Math.max(e._xpadminus,n,a)}))),s&&s.autorange&&(r=l-e.yshift,n=l+e.yshift,i=u-e.yshift,a=u+e.yshift,e.ayref===e.yref?(ri.expand(s,[s.r2c(e.y)],{ppadplus:r,ppadminus:n}),ri.expand(s,[s.r2c(e.ay)],{ppadplus:Math.max(e._ypadplus,i),ppadminus:Math.max(e._ypadminus,a)})):(i=e.ay?i+e.ay:i,a=e.ay?a-e.ay:a,ri.expand(s,[s.r2c(e.y)],{ppadplus:Math.max(e._ypadplus,r,i),ppadminus:Math.max(e._ypadminus,n,a)})))})}var nd={hasClickToShow:function(t,e){var r=id(t,e);return r.on.length>0||r.explicitOff.length>0},onClick:function(t,e){var r,n=id(t,e),i=n.on,a=n.off.concat(n.explicitOff),o={};if(!i.length&&!a.length)return;for(r=0;r<i.length;r++)o[\"annotations[\"+i[r]+\"].visible\"]=!0;for(r=0;r<a.length;r++)o[\"annotations[\"+a[r]+\"].visible\"]=!1;return P.call(\"update\",t,{},o)}};function id(t,e){var r,n,i,a,o,s,l,u=t._fullLayout.annotations,c=[],h=[],f=[],p=(e||[]).length;for(r=0;r<u.length;r++)if(a=(i=u[r]).clicktoshow){for(n=0;n<p;n++)if(s=(o=e[n]).xaxis,l=o.yaxis,s._id===i.xref&&l._id===i.yref&&s.d2r(o.x)===ad(i._xclick,s)&&l.d2r(o.y)===ad(i._yclick,l)){(i.visible?\"onout\"===a?h:f:c).push(r);break}n===p&&i.visible&&\"onout\"===a&&h.push(r)}return{on:c,off:h,explicitOff:f}}function ad(t,e){return\"log\"===e.type?e.l2r(t):e.d2r(t)}var od=function(t,e,r,n){n(\"opacity\");var i=n(\"bgcolor\"),a=n(\"bordercolor\"),o=Oe.opacity(a);n(\"borderpad\");var s=n(\"borderwidth\"),l=n(\"showarrow\");if(n(\"text\",l?\" \":r._dfltTitle.annotation),n(\"textangle\"),ne.coerceFont(n,\"font\",r.font),n(\"width\"),n(\"align\"),n(\"height\")&&n(\"valign\"),l){var u,c,h=n(\"arrowside\");-1!==h.indexOf(\"end\")&&(u=n(\"arrowhead\"),c=n(\"arrowsize\")),-1!==h.indexOf(\"start\")&&(n(\"startarrowhead\",u),n(\"startarrowsize\",c)),n(\"arrowcolor\",o?e.bordercolor:Oe.defaultLine),n(\"arrowwidth\",2*(o&&s||1)),n(\"standoff\"),n(\"startstandoff\")}var f=n(\"hovertext\"),p=r.hoverlabel||{};if(f){var d=n(\"hoverlabel.bgcolor\",p.bgcolor||(Oe.opacity(i)?Oe.rgb(i):Oe.defaultLine)),g=n(\"hoverlabel.bordercolor\",p.bordercolor||Oe.contrast(d));ne.coerceFont(n,\"hoverlabel.font\",{family:p.font.family,size:p.font.size,color:p.font.color||g})}n(\"captureevents\",!!f)},sd=function(t,e,r,n,i){function a(r,n){return ne.coerce(t,e,Jp,r,n)}n=n||{};var o=a(\"visible\",!(i=i||{}).itemIsNotPlainObject),s=a(\"clicktoshow\");if(!o&&!s)return e;od(t,e,r,a);for(var l=e.showarrow,u=[\"x\",\"y\"],c=[-10,-30],h={_fullLayout:r},f=0;f<2;f++){var p=u[f],d=ri.coerceRef(t,e,h,p,\"\",\"paper\");if(ri.coercePosition(e,h,a,d,p,.5),l){var g=\"a\"+p,v=ri.coerceRef(t,e,h,g,\"pixel\");\"pixel\"!==v&&v!==d&&(v=e[g]=\"pixel\");var m=\"pixel\"===v?c[f]:.4;ri.coercePosition(e,h,a,v,g,m)}a(p+\"anchor\"),a(p+\"shift\")}if(ne.noneOrAll(t,e,[\"x\",\"y\"]),l&&ne.noneOrAll(t,e,[\"ax\",\"ay\"]),s){var y=a(\"xclick\"),x=a(\"yclick\");e._xclick=void 0===y?e.x:ri.cleanPosition(y,h,e.xref),e._yclick=void 0===x?e.y:ri.cleanPosition(x,h,e.yref)}return e},ld=function(t,e,r){var n,i=r.name,a=e[i],o=ne.isArrayOrTypedArray(t[i])?t[i]:[],s=e[i]=[];for(n=0;n<o.length;n++){var l=o[n],u={},c={};ne.isPlainObject(l)||(c.itemIsNotPlainObject=!0,l={}),r.handleItemDefaults(l,u,e,r,c),u._input=l,u._index=n,s.push(u)}if(ne.isArrayOrTypedArray(a)){var h=Math.min(a.length,s.length);for(n=0;n<h;n++)ne.relinkPrivateKeys(s[n],a[n])}},ud=function(t){return function(e,r){var n=e[t];if(Array.isArray(n))for(var i=P.subplotsRegistry.cartesian,a=i.idRegex,o=r._subplots,s=o.xaxis,l=o.yaxis,u=o.cartesian,c=r._has(\"cartesian\")||r._has(\"gl2d\"),h=0;h<n.length;h++){var f=n[h];if(ne.isPlainObject(f)){var p=f.xref,d=f.yref,g=a.x.test(p),v=a.y.test(d);if(g||v){c||ne.pushUnique(r._basePlotModules,i);var m=!1;g&&-1===s.indexOf(p)&&(s.push(p),m=!0),v&&-1===l.indexOf(d)&&(l.push(d),m=!0),m&&g&&v&&u.push(p+d)}}}}},cd={moduleType:\"component\",name:\"annotations\",layoutAttributes:Jp,supplyLayoutDefaults:function(t,e){ld(t,e,{name:\"annotations\",handleItemDefaults:sd})},includeBasePlot:ud(\"annotations\"),calcAutorange:function(t){var e=t._fullLayout,r=ne.filterVisible(e.annotations);if(r.length&&t._fullData.length){var n={};for(var i in r.forEach(function(t){n[t.xref]=1,n[t.yref]=1}),n){var a=ri.getFromId(t,i);if(a&&a.autorange)return ne.syncOrAsync([ed,rd],t)}}},draw:Qp.draw,drawOne:Qp.drawOne,drawRaw:Qp.drawRaw,hasClickToShow:nd.hasClickToShow,onClick:nd.onClick,convertCoords:function(t,e,n,i){e=e||{};var a=\"log\"===n&&\"linear\"===e.type,o=\"linear\"===n&&\"log\"===e.type;if(a||o)for(var s,l,u=t._fullLayout.annotations,c=e._id.charAt(0),h=0;h<u.length;h++)s=u[h],l=\"annotations[\"+h+\"].\",s[c+\"ref\"]===e._id&&f(c),s[\"a\"+c+\"ref\"]===e._id&&f(\"a\"+c);function f(t){var n=s[t],o=null;o=a?re(n,e.range):Math.pow(10,n),r(o)||(o=null),i(l+t,o)}}},hd=(0,ye.overrideAll)({_isLinkedToArray:\"annotation\",visible:Jp.visible,x:{valType:\"any\"},y:{valType:\"any\"},z:{valType:\"any\"},ax:{valType:\"number\"},ay:{valType:\"number\"},xanchor:Jp.xanchor,xshift:Jp.xshift,yanchor:Jp.yanchor,yshift:Jp.yshift,text:Jp.text,textangle:Jp.textangle,font:Jp.font,width:Jp.width,height:Jp.height,opacity:Jp.opacity,align:Jp.align,valign:Jp.valign,bgcolor:Jp.bgcolor,bordercolor:Jp.bordercolor,borderpad:Jp.borderpad,borderwidth:Jp.borderwidth,showarrow:Jp.showarrow,arrowcolor:Jp.arrowcolor,arrowhead:Jp.arrowhead,startarrowhead:Jp.startarrowhead,arrowside:Jp.arrowside,arrowsize:Jp.arrowsize,startarrowsize:Jp.startarrowsize,arrowwidth:Jp.arrowwidth,standoff:Jp.standoff,startstandoff:Jp.startstandoff,hovertext:Jp.hovertext,hoverlabel:Jp.hoverlabel,captureevents:Jp.captureevents},\"calc\",\"from-root\");function fd(t,e){var r=e.fullSceneLayout.domain,n=e.fullLayout._size,i={pdata:null,type:\"linear\",autorange:!1,range:[-1/0,1/0]};t._xa={},ne.extendFlat(t._xa,i),ri.setConvert(t._xa),t._xa._offset=n.l+r.x[0]*n.w,t._xa.l2p=function(){return.5*(1+t._pdata[0]/t._pdata[3])*n.w*(r.x[1]-r.x[0])},t._ya={},ne.extendFlat(t._ya,i),ri.setConvert(t._ya),t._ya._offset=n.t+(1-r.y[1])*n.h,t._ya.l2p=function(){return.5*(1-t._pdata[1]/t._pdata[3])*n.h*(r.y[1]-r.y[0])}}function pd(t,e,r,n,i){function a(r,n){return ne.coerce(t,e,hd,r,n)}function o(t){var n=t+\"axis\",i={_fullLayout:{}};return i._fullLayout[n]=r[n],ri.coercePosition(e,i,a,t,t,.5)}return a(\"visible\",!i.itemIsNotPlainObject)?(od(t,e,n.fullLayout,a),o(\"x\"),o(\"y\"),o(\"z\"),ne.noneOrAll(t,e,[\"x\",\"y\",\"z\"]),e.xref=\"x\",e.yref=\"y\",e.zref=\"z\",a(\"xanchor\"),a(\"yanchor\"),a(\"xshift\"),a(\"yshift\"),e.showarrow&&(e.axref=\"pixel\",e.ayref=\"pixel\",a(\"ax\",-10),a(\"ay\",-30),ne.noneOrAll(t,e,[\"ax\",\"ay\"])),e):e}function dd(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}var gd=function(t,e){return dd(t.projection,dd(t.view,dd(t.model,[e[0],e[1],e[2],1])))},vd=Qp.drawRaw,md=[\"x\",\"y\",\"z\"],yd={moduleType:\"component\",name:\"annotations3d\",schema:{subplots:{scene:{annotations:hd}}},layoutAttributes:hd,handleDefaults:function(t,e,r){ld(t,e,{name:\"annotations\",handleItemDefaults:pd,fullLayout:r.fullLayout})},includeBasePlot:function(t,e){var r=P.subplotsRegistry.gl3d;if(!r)return;for(var n=r.attrRegex,i=Object.keys(t),a=0;a<i.length;a++){var o=i[a];n.test(o)&&(t[o].annotations||[]).length&&(ne.pushUnique(e._basePlotModules,r),ne.pushUnique(e._subplots.gl3d,o))}},convert:function(t){for(var e=t.fullSceneLayout.annotations,r=0;r<e.length;r++)fd(e[r],t);t.fullLayout._infolayer.selectAll(\".annotation-\"+t.id).remove()},draw:function(t){for(var e=t.fullSceneLayout,r=t.dataScale,n=e.annotations,i=0;i<n.length;i++){for(var a=n[i],o=!1,s=0;s<3;s++){var l=md[s],u=a[l],c=e[l+\"axis\"].r2fraction(u);if(c<0||c>1){o=!0;break}}o?t.fullLayout._infolayer.select(\".annotation-\"+t.id+'[data-index=\"'+i+'\"]').remove():(a._pdata=gd(t.glplot.cameraParams,[e.xaxis.r2l(a.x)*r[0],e.yaxis.r2l(a.y)*r[1],e.zaxis.r2l(a.z)*r[2]]),vd(t.graphDiv,a,i,t.id,a._xa,a._ya))}}};var xd={visible:{valType:\"boolean\",editType:\"calc\"},type:{valType:\"enumerated\",values:[\"percent\",\"constant\",\"sqrt\",\"data\"],editType:\"calc\"},symmetric:{valType:\"boolean\",editType:\"calc\"},array:{valType:\"data_array\",editType:\"calc\"},arrayminus:{valType:\"data_array\",editType:\"calc\"},value:{valType:\"number\",min:0,dflt:10,editType:\"calc\"},valueminus:{valType:\"number\",min:0,dflt:10,editType:\"calc\"},traceref:{valType:\"integer\",min:0,dflt:0,editType:\"style\"},tracerefminus:{valType:\"integer\",min:0,dflt:0,editType:\"style\"},copy_ystyle:{valType:\"boolean\",editType:\"plot\"},copy_zstyle:{valType:\"boolean\",editType:\"style\"},color:{valType:\"color\",editType:\"style\"},thickness:{valType:\"number\",min:0,dflt:2,editType:\"style\"},width:{valType:\"number\",min:0,editType:\"plot\"},editType:\"calc\",_deprecated:{opacity:{valType:\"number\",editType:\"style\"}}},bd=function(t){var e=t.type,r=t.symmetric;if(\"data\"===e){var n=t.array||[];if(r)return function(t,e){var r=+n[e];return[r,r]};var i=t.arrayminus||[];return function(t,e){var r=+n[e],a=+i[e];return isNaN(r)&&isNaN(a)?[NaN,NaN]:[a||0,r||0]}}var a=_d(e,t.value),o=_d(e,t.valueminus);return r||void 0===t.valueminus?function(t){var e=a(t);return[e,e]}:function(t){return[o(t),a(t)]}};function _d(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}var wd=function(t){for(var e=t.calcdata,r=0;r<e.length;r++){var n=e[r],i=n[0].trace;if(P.traceIs(i,\"errorBarsOK\")){var a=ri.getFromId(t,i.xaxis),o=ri.getFromId(t,i.yaxis);Md(n,i,a,\"x\"),Md(n,i,o,\"y\")}}};function Md(t,e,n,i){var a=e[\"error_\"+i]||{},o=[];if(a.visible&&-1!==[\"linear\",\"log\"].indexOf(n.type)){for(var s=bd(a),l=0;l<t.length;l++){var u=t[l],c=u[i];if(r(n.c2l(c))){var h=s(c,l);if(r(h[0])&&r(h[1])){var f=u[i+\"s\"]=c-h[0],p=u[i+\"h\"]=c+h[1];o.push(f,p)}}}ri.expand(n,o,{padded:!0})}}var Ad=ye.overrideAll,kd={error_x:ne.extendFlat({},xd),error_y:ne.extendFlat({},xd)};delete kd.error_x.copy_zstyle,delete kd.error_y.copy_zstyle,delete kd.error_y.copy_ystyle;var Td={error_x:ne.extendFlat({},xd),error_y:ne.extendFlat({},xd),error_z:ne.extendFlat({},xd)};delete Td.error_x.copy_ystyle,delete Td.error_y.copy_ystyle,delete Td.error_z.copy_ystyle,delete Td.error_z.copy_zstyle;var Sd={moduleType:\"component\",name:\"errorbars\",schema:{traces:{scatter:kd,bar:kd,histogram:kd,scatter3d:Ad(Td,\"calc\",\"nested\"),scattergl:Ad(kd,\"calc\",\"nested\")}},supplyDefaults:function(t,e,n,i){var a=\"error_\"+i.axis,o=e[a]={},s=t[a]||{};function l(t,e){return ne.coerce(s,o,xd,t,e)}if(!1!==l(\"visible\",void 0!==s.array||void 0!==s.value||\"sqrt\"===s.type)){var u=l(\"type\",\"array\"in s?\"data\":\"percent\"),c=!0;\"sqrt\"!==u&&(c=l(\"symmetric\",!((\"data\"===u?\"arrayminus\":\"valueminus\")in s))),\"data\"===u?(l(\"array\"),l(\"traceref\"),c||(l(\"arrayminus\"),l(\"tracerefminus\"))):\"percent\"!==u&&\"constant\"!==u||(l(\"value\"),c||l(\"valueminus\"));var h=\"copy_\"+i.inherit+\"style\";i.inherit&&(e[\"error_\"+i.inherit]||{}).visible&&l(h,!(s.color||r(s.thickness)||r(s.width))),i.inherit&&o[h]||(l(\"color\",n),l(\"thickness\"),l(\"width\",P.traceIs(e,\"gl3d\")?0:4))}},calc:wd,calcFromTrace:function(t,e){for(var r=t.x||[],n=t.y||[],i=r.length||n.length,a=new Array(i),o=0;o<i;o++)a[o]={x:r[o],y:n[o]};return a[0].trace=t,wd({calcdata:[a],_fullLayout:e}),a},plot:function(t,n,i){var a=n.xaxis,o=n.yaxis,s=i&&i.duration>0;t.each(function(t){var l,u=t[0].trace,c=u.error_x||{},h=u.error_y||{};u.ids&&(l=function(t){return t.id});var f=Tr.hasMarkers(u)&&u.marker.maxdisplayed>0;h.visible||c.visible||(t=[]);var p=e.select(this).selectAll(\"g.errorbar\").data(t,l);if(p.exit().remove(),t.length){c.visible||p.selectAll(\"path.xerror\").remove(),h.visible||p.selectAll(\"path.yerror\").remove(),p.style(\"opacity\",1);var d=p.enter().append(\"g\").classed(\"errorbar\",!0);s&&d.style(\"opacity\",0).transition().duration(i.duration).style(\"opacity\",1),Sr.setClipUrl(p,n.layerClipId),p.each(function(t){var n=e.select(this),l=function(t,e,n){var i={x:e.c2p(t.x),y:n.c2p(t.y)};return void 0!==t.yh&&(i.yh=n.c2p(t.yh),i.ys=n.c2p(t.ys),r(i.ys)||(i.noYS=!0,i.ys=n.c2p(t.ys,!0))),void 0!==t.xh&&(i.xh=e.c2p(t.xh),i.xs=e.c2p(t.xs),r(i.xs)||(i.noXS=!0,i.xs=e.c2p(t.xs,!0))),i}(t,a,o);if(!f||t.vis){var u,p=n.select(\"path.yerror\");if(h.visible&&r(l.x)&&r(l.yh)&&r(l.ys)){var d=h.width;u=\"M\"+(l.x-d)+\",\"+l.yh+\"h\"+2*d+\"m-\"+d+\",0V\"+l.ys,l.noYS||(u+=\"m-\"+d+\",0h\"+2*d),p.size()?s&&(p=p.transition().duration(i.duration).ease(i.easing)):p=n.append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").classed(\"yerror\",!0),p.attr(\"d\",u)}else p.remove();var g=n.select(\"path.xerror\");if(c.visible&&r(l.y)&&r(l.xh)&&r(l.xs)){var v=(c.copy_ystyle?h:c).width;u=\"M\"+l.xh+\",\"+(l.y-v)+\"v\"+2*v+\"m0,-\"+v+\"H\"+l.xs,l.noXS||(u+=\"m0,-\"+v+\"v\"+2*v),g.size()?s&&(g=g.transition().duration(i.duration).ease(i.easing)):g=n.append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").classed(\"xerror\",!0),g.attr(\"d\",u)}else g.remove()}})}})},style:function(t){t.each(function(t){var r=t[0].trace,n=r.error_y||{},i=r.error_x||{},a=e.select(this);a.selectAll(\"path.yerror\").style(\"stroke-width\",n.thickness+\"px\").call(Oe.stroke,n.color),i.copy_ystyle&&(i=n),a.selectAll(\"path.xerror\").style(\"stroke-width\",i.thickness+\"px\").call(Oe.stroke,i.color)})},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))}};var Ed=tt.counter,Cd=qc.attributes,Ld=Te.idRegex,zd={rows:{valType:\"integer\",min:1,editType:\"plot\"},roworder:{valType:\"enumerated\",values:[\"top to bottom\",\"bottom to top\"],dflt:\"top to bottom\",editType:\"plot\"},columns:{valType:\"integer\",min:1,editType:\"plot\"},subplots:{valType:\"info_array\",freeLength:!0,dimensions:2,items:{valType:\"enumerated\",values:[Ed(\"xy\").toString(),\"\"],editType:\"plot\"},editType:\"plot\"},xaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[Ld.x.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},yaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[Ld.y.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},pattern:{valType:\"enumerated\",values:[\"independent\",\"coupled\"],dflt:\"coupled\",editType:\"plot\"},xgap:{valType:\"number\",min:0,max:1,editType:\"plot\"},ygap:{valType:\"number\",min:0,max:1,editType:\"plot\"},domain:Cd({name:\"grid\",editType:\"plot\",noGridCell:!0},{}),xside:{valType:\"enumerated\",values:[\"bottom\",\"bottom plot\",\"top plot\",\"top\"],dflt:\"bottom plot\",editType:\"ticks\"},yside:{valType:\"enumerated\",values:[\"left\",\"left plot\",\"right plot\",\"right\"],dflt:\"left plot\",editType:\"ticks\"},editType:\"plot\"};function Pd(t,e,r,n,i){var a=e(t+\"gap\",r),o=e(\"domain.\"+t);e(t+\"side\");for(var s=new Array(n),l=o[0],u=(o[1]-l)/(n-a),c=u*(1-a),h=0;h<n;h++){var f=l+u*h;s[i?n-1-h:h]=[f,f+c]}return s}function Id(t,e,r,n,i){var a,o=new Array(r);function s(t,r){-1!==e.indexOf(r)&&void 0===n[r]?(o[t]=r,n[r]=t):o[t]=\"\"}if(Array.isArray(t))for(a=0;a<r;a++)s(a,t[a]);else for(s(0,i),a=1;a<r;a++)s(a,i+(a+1));return o}var Dd={moduleType:\"component\",name:\"grid\",schema:{layout:{grid:zd}},layoutAttributes:zd,sizeDefaults:function(t,e){var r=t.grid;if(r){var n,i,a=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),o=Array.isArray(r.xaxes),s=Array.isArray(r.yaxes);a?(n=r.subplots.length,i=r.subplots[0].length):(s&&(n=r.yaxes.length),o&&(i=r.xaxes.length));var l=e.grid={},u=f(\"rows\",n),c=f(\"columns\",i);if(u*c>1){a||o||s||\"independent\"===f(\"pattern\")&&(a=!0),l._hasSubplotGrid=a;var h=\"top to bottom\"===f(\"roworder\");l._domains={x:Pd(\"x\",f,a?.2:.1,c),y:Pd(\"y\",f,a?.3:.1,u,h)}}}function f(t,e){return ne.coerce(r,l,zd,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,u,c=t.grid,h=e._subplots,f=r._hasSubplotGrid,p=r.rows,d=r.columns,g=\"independent\"===r.pattern,v=r._axisMap={};if(f){var m=c.subplots||[];l=r.subplots=new Array(p);var y=1;for(n=0;n<p;n++){var x=l[n]=new Array(d),b=m[n]||[];for(i=0;i<d;i++)if(g?(s=1===y?\"xy\":\"x\"+y+\"y\"+y,y++):s=b[i],x[i]=\"\",-1!==h.cartesian.indexOf(s)){if(u=s.indexOf(\"y\"),a=s.slice(0,u),o=s.slice(u),void 0!==v[a]&&v[a]!==i||void 0!==v[o]&&v[o]!==n)continue;x[i]=s,v[a]=i,v[o]=n}}}else r.xaxes=Id(c.xaxes,h.xaxis,d,v,\"x\"),r.yaxes=Id(c.yaxes,h.yaxis,p,v,\"y\");var _=r._anchors={},w=\"top to bottom\"===r.roworder;for(var M in v){var A,k,T,S=M.charAt(0),E=r[S+\"side\"];if(E.length<8)_[M]=\"free\";else if(\"x\"===S){if(\"t\"===E.charAt(0)===w?(A=0,k=1,T=p):(A=p-1,k=-1,T=-1),f){var C=v[M];for(n=A;n!==T;n+=k)if((s=l[n][C])&&(u=s.indexOf(\"y\"),s.slice(0,u)===M)){_[M]=s.slice(u);break}}else for(n=A;n!==T;n+=k)if(o=r.yaxes[n],-1!==h.cartesian.indexOf(M+o)){_[M]=o;break}}else if(\"l\"===E.charAt(0)?(A=0,k=1,T=d):(A=d-1,k=-1,T=-1),f){var L=v[M];for(n=A;n!==T;n+=k)if((s=l[L][n])&&(u=s.indexOf(\"y\"),s.slice(u)===M)){_[M]=s.slice(0,u);break}}else for(n=A;n!==T;n+=k)if(a=r.xaxes[n],-1!==h.cartesian.indexOf(a+M)){_[M]=a;break}}}}},Od={_isLinkedToArray:\"image\",visible:{valType:\"boolean\",dflt:!0,editType:\"arraydraw\"},source:{valType:\"string\",editType:\"arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"arraydraw\"},sizex:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizey:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizing:{valType:\"enumerated\",values:[\"fill\",\"contain\",\"stretch\"],dflt:\"contain\",editType:\"arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},x:{valType:\"any\",dflt:0,editType:\"arraydraw\"},y:{valType:\"any\",dflt:0,editType:\"arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"top\",editType:\"arraydraw\"},xref:{valType:\"enumerated\",values:[\"paper\",Te.idRegex.x.toString()],dflt:\"paper\",editType:\"arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",Te.idRegex.y.toString()],dflt:\"paper\",editType:\"arraydraw\"},editType:\"arraydraw\"},Rd=\"images\";function Fd(t,e,r){function n(r,n){return ne.coerce(t,e,Od,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 i={_fullLayout:r},a=[\"x\",\"y\"],o=0;o<2;o++){var s=a[o],l=ri.coerceRef(t,e,i,s,\"paper\");ri.coercePosition(e,i,n,l,s,0)}return e}var Bd={moduleType:\"component\",name:\"images\",layoutAttributes:Od,supplyLayoutDefaults:function(t,e){ld(t,e,{name:Rd,handleItemDefaults:Fd})},includeBasePlot:ud(\"images\"),draw:function(t){var r,n,i=t._fullLayout,a=[],o={},s=[];for(n=0;n<i.images.length;n++){var l=i.images[n];if(l.visible)if(\"below\"===l.layer&&\"paper\"!==l.xref&&\"paper\"!==l.yref){r=l.xref+l.yref;var u=i._plots[r];if(!u){s.push(l);continue}u.mainplot&&(r=u.mainplot.id),o[r]||(o[r]=[]),o[r].push(l)}else\"above\"===l.layer?a.push(l):s.push(l)}var c={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}}};function h(r){var n=e.select(this);if(!this.img||this.img.src!==r.source){n.attr(\"xmlns\",$e.svg);var i=new Promise(function(t){var e=new Image;function i(){n.remove(),t()}this.img=e,e.setAttribute(\"crossOrigin\",\"anonymous\"),e.onerror=i,e.onload=function(){var e=document.createElement(\"canvas\");e.width=this.width,e.height=this.height,e.getContext(\"2d\").drawImage(this,0,0);var r=e.toDataURL(\"image/png\");n.attr(\"xlink:href\",r),t()},n.on(\"error\",i),e.src=r.source}.bind(this));t._promises.push(i)}}function f(r){var n=e.select(this),a=ri.getFromId(t,r.xref),o=ri.getFromId(t,r.yref),s=i._size,l=a?Math.abs(a.l2p(r.sizex)-a.l2p(0)):r.sizex*s.w,u=o?Math.abs(o.l2p(r.sizey)-o.l2p(0)):r.sizey*s.h,h=l*c.x[r.xanchor].offset,f=u*c.y[r.yanchor].offset,p=c.x[r.xanchor].sizing+c.y[r.yanchor].sizing,d=(a?a.r2p(r.x)+a._offset:r.x*s.w+s.l)+h,g=(o?o.r2p(r.y)+o._offset:s.h-r.y*s.h+s.t)+f;switch(r.sizing){case\"fill\":p+=\" slice\";break;case\"stretch\":p=\"none\"}n.attr({x:d,y:g,width:l,height:u,preserveAspectRatio:p,opacity:r.opacity});var v=(a?a._id:\"\")+(o?o._id:\"\");n.call(Sr.setClipUrl,v?\"clip\"+i._uid+v:null)}var p=i._imageLowerLayer.selectAll(\"image\").data(s),d=i._imageUpperLayer.selectAll(\"image\").data(a);p.enter().append(\"image\"),d.enter().append(\"image\"),p.exit().remove(),d.exit().remove(),p.each(function(t){h.bind(this)(t),f.bind(this)(t)}),d.each(function(t){h.bind(this)(t),f.bind(this)(t)});var g=Object.keys(i._plots);for(n=0;n<g.length;n++){r=g[n];var v=i._plots[r];if(v.imagelayer){var m=v.imagelayer.selectAll(\"image\").data(o[r]||[]);m.enter().append(\"image\"),m.exit().remove(),m.each(function(t){h.bind(this)(t),f.bind(this)(t)})}}},convertCoords:function(t,e,n,i){e=e||{};var a=\"log\"===n&&\"linear\"===e.type,o=\"linear\"===n&&\"log\"===e.type;if(a||o)for(var s,l,u=t._fullLayout.images,c=e._id.charAt(0),h=0;h<u.length;h++)if(l=\"images[\"+h+\"].\",(s=u[h])[c+\"ref\"]===e._id){var f=s[c],p=s[\"size\"+c],d=null,g=null;if(a){d=re(f,e.range);var v=p/Math.pow(10,d)/2;g=2*Math.log(v+Math.sqrt(1+v*v))/Math.LN10}else g=(d=Math.pow(10,f))*(Math.pow(10,p/2)-Math.pow(10,-p/2));r(d)?r(g)||(g=null):(d=null,g=null),i(l+c,d),i(l+\"size\"+c,g)}}},Nd={bgcolor:{valType:\"color\",editType:\"legend\"},bordercolor:{valType:\"color\",dflt:C.defaultLine,editType:\"legend\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"legend\"},font:T({editType:\"legend\"}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"v\",editType:\"legend\"},traceorder:{valType:\"flaglist\",flags:[\"reversed\",\"grouped\"],extras:[\"normal\"],editType:\"legend\"},tracegroupgap:{valType:\"number\",min:0,dflt:10,editType:\"legend\"},x:{valType:\"number\",min:-2,max:3,dflt:1.02,editType:\"legend\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"legend\"},y:{valType:\"number\",min:-2,max:3,dflt:1,editType:\"legend\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"auto\",editType:\"legend\"},editType:\"legend\"},jd={legendGetsTrace:function(t){return t.visible&&void 0!==t.showlegend},isGrouped:function(t){return-1!==(t.traceorder||\"\").indexOf(\"grouped\")},isVertical:function(t){return\"h\"!==t.orientation},isReversed:function(t){return-1!==(t.traceorder||\"\").indexOf(\"reversed\")}},Vd={isRightAnchor:function(t){return\"right\"===t.xanchor||\"auto\"===t.xanchor&&t.x>=2/3},isCenterAnchor:function(t){return\"center\"===t.xanchor||\"auto\"===t.xanchor&&t.x>1/3&&t.x<2/3},isBottomAnchor:function(t){return\"bottom\"===t.yanchor||\"auto\"===t.yanchor&&t.y<=1/3},isMiddleAnchor:function(t){return\"middle\"===t.yanchor||\"auto\"===t.yanchor&&t.y>1/3&&t.y<2/3}},Ud={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:\"#808BA4\",scrollBarMargin:4},qd=!0,Hd=function(t,e,r){if(!e._dragged&&!e._editing){var n,i,a,o,s,l=e._fullLayout.hiddenlabels?e._fullLayout.hiddenlabels.slice():[],u=t.data()[0][0],c=e._fullData,h=u.trace,f=h.legendgroup,p={},d=[],g=[],v=[];if(1===r&&qd&&e.data&&e._context.showTips?(ne.notifier(ne._(e,\"Double-click on legend to isolate one trace\"),\"long\"),qd=!1):qd=!1,P.traceIs(h,\"pie\")){var m=u.label,y=l.indexOf(m);1===r?-1===y?l.push(m):l.splice(y,1):2===r&&(l=[],e.calcdata[0].forEach(function(t){m!==t.label&&l.push(t.label)}),e._fullLayout.hiddenlabels&&e._fullLayout.hiddenlabels.length===l.length&&-1===y&&(l=[])),P.call(\"relayout\",e,\"hiddenlabels\",l)}else{var x,b=f&&f.length,_=[];if(b)for(n=0;n<c.length;n++)(x=c[n]).visible&&x.legendgroup===f&&_.push(n);if(1===r){var w;switch(h.visible){case!0:w=\"legendonly\";break;case!1:w=!1;break;case\"legendonly\":w=!0}if(b)for(n=0;n<c.length;n++)!1!==c[n].visible&&c[n].legendgroup===f&&C(c[n],w);else C(h,w)}else if(2===r){var M,A,k=!0;for(n=0;n<c.length;n++)if(!(c[n]===h)&&!(M=b&&c[n].legendgroup===f)&&!0===c[n].visible&&!P.traceIs(c[n],\"notLegendIsolatable\")){k=!1;break}for(n=0;n<c.length;n++)if(!1!==c[n].visible&&!P.traceIs(c[n],\"notLegendIsolatable\"))switch(h.visible){case\"legendonly\":C(c[n],!0);break;case!0:A=!!k||\"legendonly\",M=c[n]===h||b&&c[n].legendgroup===f,C(c[n],!!M||A)}}for(n=0;n<g.length;n++)if(a=g[n]){var T=a.constructUpdate(),S=Object.keys(T);for(i=0;i<S.length;i++)o=S[i],(p[o]=p[o]||[])[v[n]]=T[o]}for(s=Object.keys(p),n=0;n<s.length;n++)for(o=s[n],i=0;i<d.length;i++)p[o].hasOwnProperty(i)||(p[o][i]=void 0);P.call(\"restyle\",e,p,d)}}function E(t,e,r){var n=d.indexOf(t),i=p[e];return i||(i=p[e]=[]),-1===d.indexOf(t)&&(d.push(t),n=d.length-1),i[n]=r,n}function C(t,e){var r=t._fullInput;if(P.hasTransform(r,\"groupby\")){var n=g[r.index];if(!n){var i=P.getTransformIndices(r,\"groupby\"),a=i[i.length-1];n=ne.keyedContainer(r,\"transforms[\"+a+\"].styles\",\"target\",\"value.visible\"),g[r.index]=n}var o=n.get(t._group);void 0===o&&(o=!0),!1!==o&&n.set(t._group,e),v[r.index]=E(r.index,\"visible\",!1!==r.visible)}else{var s=!1!==r.visible&&e;E(r.index,\"visible\",s)}}},Gd={formatPiePercent:function(t,e){var r=(100*t).toPrecision(3);return-1!==r.lastIndexOf(\".\")&&(r=r.replace(/[.]?0+$/,\"\")),ne.numSeparate(r,e)+\"%\"},formatPieValue:function(t,e){var r=t.toPrecision(10);return-1!==r.lastIndexOf(\".\")&&(r=r.replace(/[.]?0+$/,\"\")),ne.numSeparate(r,e)},getFirstFilled:function(t,e){if(Array.isArray(t))for(var r=0;r<e.length;r++){var n=t[e[r]];if(n||0===n)return n}},castOption:function(t,e){return Array.isArray(t)?Gd.getFirstFilled(t,e):t||void 0}},Wd=Gd.castOption,Yd=function(t,e,r){var n=r.marker.line,i=Wd(n.color,e.pts)||Oe.defaultLine,a=Wd(n.width,e.pts)||0;t.style({\"stroke-width\":a}).call(Oe.fill,e.color).call(Oe.stroke,i)},Xd=function(t,r){t.each(function(t){var r=e.select(this).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(function(t){var r=t[0].trace,n=r.marker||{},i=n.line||{},a=e.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbar\").data(P.traceIs(r,\"bar\")?[t]:[]);a.enter().append(\"path\").classed(\"legendbar\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",\"translate(20,0)\"),a.exit().remove(),a.each(function(t){var r=e.select(this),a=t[0],o=(a.mlw+1||i.width+1)-1;r.style(\"stroke-width\",o+\"px\").call(Oe.fill,a.mc||n.color),o&&r.call(Oe.stroke,a.mlc||i.color)})}).each(function(t){var r=t[0].trace,n=e.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(P.traceIs(r,\"box-violin\")&&r.visible?[t]:[]);n.enter().append(\"path\").classed(\"legendbox\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",\"translate(20,0)\"),n.exit().remove(),n.each(function(){var t=r.line.width,n=e.select(this);n.style(\"stroke-width\",t+\"px\").call(Oe.fill,r.fillcolor),t&&n.call(Oe.stroke,r.line.color)})}).each(function(t){var r=t[0].trace,n=e.select(this).select(\"g.legendpoints\").selectAll(\"path.legendpie\").data(P.traceIs(r,\"pie\")&&r.visible?[t]:[]);n.enter().append(\"path\").classed(\"legendpie\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",\"translate(20,0)\"),n.exit().remove(),n.size()&&n.call(Yd,t[0],r)}).each(function(t){var r=t[0].trace,n=r.visible&&r.fill&&\"none\"!==r.fill,i=Tr.hasLines(r),a=r.contours;a&&\"constraint\"===a.type&&(i=a.showlines,n=\"=\"!==a._operation);var o=e.select(this).select(\".legendfill\").selectAll(\"path\").data(n?[t]:[]);o.enter().append(\"path\").classed(\"js-fill\",!0),o.exit().remove(),o.attr(\"d\",\"M5,0h30v6h-30z\").call(Sr.fillGroupStyle);var s=e.select(this).select(\".legendlines\").selectAll(\"path\").data(i?[t]:[]);s.enter().append(\"path\").classed(\"js-line\",!0).attr(\"d\",\"M5,0h30\"),s.exit().remove(),s.call(Sr.lineGroupStyle)}).each(function(t){var n,i,a=t[0],o=a.trace,s=Tr.hasMarkers(o),l=Tr.hasText(o),u=Tr.hasLines(o);function c(t,e,r){var n=ne.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 h(t){return t[0]}if(s||l||u){var f={},p={};s&&(f.mc=c(\"marker.color\",h),f.mo=c(\"marker.opacity\",ne.mean,[.2,1]),f.ms=c(\"marker.size\",ne.mean,[2,16]),f.mlc=c(\"marker.line.color\",h),f.mlw=c(\"marker.line.width\",ne.mean,[0,5]),p.marker={sizeref:1,sizemin:1,sizemode:\"diameter\"}),u&&(p.line={width:c(\"line.width\",h,[0,10])}),l&&(f.tx=\"Aa\",f.tp=c(\"textposition\",h),f.ts=10,f.tc=c(\"textfont.color\",h),f.tf=c(\"textfont.family\",h)),n=[ne.minExtend(a,f)],i=ne.minExtend(o,p)}var d=e.select(this).select(\"g.legendpoints\"),g=d.selectAll(\"path.scatterpts\").data(s?n:[]);g.enter().append(\"path\").classed(\"scatterpts\",!0).attr(\"transform\",\"translate(20,0)\"),g.exit().remove(),g.call(Sr.pointStyle,i,r),s&&(n[0].mrc=3);var v=d.selectAll(\"g.pointtext\").data(l?n:[]);v.enter().append(\"g\").classed(\"pointtext\",!0).append(\"text\").attr(\"transform\",\"translate(20,0)\"),v.exit().remove(),v.selectAll(\"text\").call(Sr.textPointStyle,i,r)})},Zd=Qe.LINE_SPACING,Jd=Qe.FROM_TL,Kd=Qe.FROM_BR,Qd=f.DBLCLICKDELAY;function $d(t,e){var r=t.data()[0][0],n=e._fullLayout,i=r.trace,a=P.traceIs(i,\"pie\"),o=i.index,s=a?r.label:i.name,l=t.selectAll(\"text.legendtext\").data([0]);function u(r){er.convertToTspans(r,e,function(){!function(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,i,a=t.select(\"g[class*=math-group]\"),o=a.node(),s=e._fullLayout.legend.font.size*Zd;if(o){var l=Sr.bBox(o);n=l.height,i=l.width,Sr.setTranslate(a,0,n/4)}else{var u=t.select(\".legendtext\"),c=er.lineCount(u),h=u.node();n=s*c,i=h?Sr.bBox(h).width:0;var f=s*(.3+(1-c)/2);er.positionText(u,40,f)}n=Math.max(n,16)+3,r.height=n,r.width=i}(t,e)})}l.enter().append(\"text\").classed(\"legendtext\",!0),l.attr(\"text-anchor\",\"start\").classed(\"user-select-none\",!0).call(Sr.font,n.legend.font).text(s),e._context.edits.legendText&&!a?l.call(er.makeEditable,{gd:e}).call(u).on(\"edit\",function(t){this.text(t).call(u);var n,i=t;this.text()||(t=\"    \");var a=r.trace._fullInput||{},s={};if(-1!==[\"ohlc\",\"candlestick\"].indexOf(a.type))s[(n=r.trace.transforms)[n.length-1].direction+\".name\"]=t;else if(P.hasTransform(a,\"groupby\")){var l=P.getTransformIndices(a,\"groupby\"),c=l[l.length-1],h=ne.keyedContainer(a,\"transforms[\"+c+\"].styles\",\"target\",\"value.name\");\"\"===i?h.remove(r.trace._group):h.set(r.trace._group,t),s=h.constructUpdate()}else s.name=t;return P.call(\"restyle\",e,s,o)}):u(l)}function tg(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(Oe.fill,\"rgba(0,0,0,0)\"),i.on(\"mousedown\",function(){(r=(new Date).getTime())-e._legendMouseDownTime<Qd?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>Qd&&(n=Math.max(n-1,1)),1===n?r._clickTimeout=setTimeout(function(){Hd(t,e,n)},Qd):2===n&&(r._clickTimeout&&clearTimeout(r._clickTimeout),e._legendMouseDownTime=0,Hd(t,e,n))}})}function eg(t,r,n){var i=t._fullLayout,a=i.legend,o=a.borderwidth,s=jd.isGrouped(a),l=0;if(a._width=0,a._height=0,jd.isVertical(a))s&&r.each(function(t,e){Sr.setTranslate(this,0,e*a.tracegroupgap)}),n.each(function(t){var e=t[0],r=e.height,n=e.width;Sr.setTranslate(this,o,5+o+a._height+r/2),a._height+=r,a._width=Math.max(a._width,n)}),a._width+=45+2*o,a._height+=10+2*o,s&&(a._height+=(a._lgroupsLength-1)*a.tracegroupgap),l=40;else if(s){for(var u=[a._width],c=r.data(),h=0,f=c.length;h<f;h++){var p=c[h].map(function(t){return t[0].width}),d=40+Math.max.apply(null,p);a._width+=a.tracegroupgap+d,u.push(a._width)}r.each(function(t,e){Sr.setTranslate(this,u[e],0)}),r.each(function(){var t=0;e.select(this).selectAll(\"g.traces\").each(function(e){var r=e[0].height;Sr.setTranslate(this,0,5+o+t+r/2),t+=r}),a._height=Math.max(a._height,t)}),a._height+=10+2*o,a._width+=2*o}else{var g,v=0,m=0,y=0,x=0,b=0,_=a.tracegroupgap||5;n.each(function(t){y=Math.max(40+t[0].width,y),b+=40+t[0].width+_}),g=i.width-(i.margin.r+i.margin.l)>o+b-_,n.each(function(t){var e=t[0],r=g?40+t[0].width:y;o+x+_+r>i.width-(i.margin.r+i.margin.l)&&(x=0,v+=m,a._height=a._height+m,m=0),Sr.setTranslate(this,o+x,5+o+e.height/2+v),a._width+=_+r,a._height=Math.max(a._height,e.height),x+=_+r,m=Math.max(e.height,m)}),a._width+=2*o,a._height+=10+2*o}a._width=Math.ceil(a._width),a._height=Math.ceil(a._height),n.each(function(r){var n=r[0],i=e.select(this).select(\".legendtoggle\");Sr.setRect(i,0,-n.height/2,(t._context.edits.legendText?0:a._width)+l,n.height)})}function rg(t){var e=t._fullLayout.legend,r=\"left\";Vd.isRightAnchor(e)?r=\"right\":Vd.isCenterAnchor(e)&&(r=\"center\");var n=\"top\";Vd.isBottomAnchor(e)?n=\"bottom\":Vd.isMiddleAnchor(e)&&(n=\"middle\"),_n.autoMargin(t,\"legend\",{x:e.x,y:e.y,l:e._width*Jd[r],r:e._width*Kd[r],b:e._height*Kd[n],t:e._height*Jd[n]})}var ng={moduleType:\"component\",name:\"legend\",layoutAttributes:Nd,supplyLayoutDefaults:function(t,e,r){for(var n,i,a,o,s=t.legend||{},l={},u=0,c=\"normal\",h=0;h<r.length;h++){var f=r[h];jd.legendGetsTrace(f)&&(u++,P.traceIs(f,\"pie\")&&u++),(P.traceIs(f,\"bar\")&&\"stack\"===e.barmode||-1!==[\"tonextx\",\"tonexty\"].indexOf(f.fill))&&(c=jd.isGrouped({traceorder:c})?\"grouped+reversed\":\"reversed\"),void 0!==f.legendgroup&&\"\"!==f.legendgroup&&(c=jd.isReversed({traceorder:c})?\"reversed+grouped\":\"grouped\")}function p(t,e){return ne.coerce(s,l,Nd,t,e)}if(!1!==ne.coerce(t,e,z,\"showlegend\",u>1)){if(e.legend=l,p(\"bgcolor\",e.paper_bgcolor),p(\"bordercolor\"),p(\"borderwidth\"),ne.coerceFont(p,\"font\",e.font),p(\"orientation\"),\"h\"===l.orientation){var d=t.xaxis;d&&d.rangeslider&&d.rangeslider.visible?(n=0,a=\"left\",i=1.1,o=\"bottom\"):(n=0,a=\"left\",i=-.1,o=\"top\")}p(\"traceorder\",c),jd.isGrouped(e.legend)&&p(\"tracegroupgap\"),p(\"x\",n),p(\"xanchor\",a),p(\"y\",i),p(\"yanchor\",o),ne.noneOrAll(s,l,[\"x\",\"y\"])}},draw:function(t){var r=t._fullLayout,n=\"legend\"+r._uid;if(r._infolayer&&t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var i=r.legend,a=r.showlegend&&function(t,e){var r,n,i={},a=[],o=!1,s={},l=0;function u(t,r){if(\"\"!==t&&jd.isGrouped(e))-1===a.indexOf(t)?(a.push(t),o=!0,i[t]=[[r]]):i[t].push([r]);else{var n=\"~~i\"+l;a.push(n),i[n]=[[r]],l++}}for(r=0;r<t.length;r++){var c=t[r],h=c[0],f=h.trace,p=f.legendgroup;if(jd.legendGetsTrace(f)&&f.showlegend)if(P.traceIs(f,\"pie\"))for(s[p]||(s[p]={}),n=0;n<c.length;n++){var d=c[n].label;s[p][d]||(u(p,{label:d,color:c[n].color,i:c[n].i,trace:f}),s[p][d]=!0)}else u(p,h)}if(!a.length)return[];var g,v,m=a.length;if(o&&jd.isGrouped(e))for(v=new Array(m),r=0;r<m;r++)g=i[a[r]],v[r]=jd.isReversed(e)?g.reverse():g;else{for(v=[new Array(m)],r=0;r<m;r++)g=i[a[r]][0],v[0][jd.isReversed(e)?m-r-1:r]=g;m=1}return e._lgroupsLength=m,v}(t.calcdata,i),o=r.hiddenlabels||[];if(!r.showlegend||!a.length)return r._infolayer.selectAll(\".legend\").remove(),r._topdefs.select(\"#\"+n).remove(),void _n.autoMargin(t,\"legend\");var s=r._infolayer.selectAll(\"g.legend\").data([0]);s.enter().append(\"g\").attr({class:\"legend\",\"pointer-events\":\"all\"});var l=r._topdefs.selectAll(\"#\"+n).data([0]);l.enter().append(\"clipPath\").attr(\"id\",n).append(\"rect\");var u=s.selectAll(\"rect.bg\").data([0]);u.enter().append(\"rect\").attr({class:\"bg\",\"shape-rendering\":\"crispEdges\"}),u.call(Oe.stroke,i.bordercolor).call(Oe.fill,i.bgcolor).style(\"stroke-width\",i.borderwidth+\"px\");var c=s.selectAll(\"g.scrollbox\").data([0]);c.enter().append(\"g\").attr(\"class\",\"scrollbox\");var h=s.selectAll(\"rect.scrollbar\").data([0]);h.enter().append(\"rect\").attr({class:\"scrollbar\",rx:20,ry:3,width:0,height:0}).call(Oe.fill,\"#808BA4\");var f=c.selectAll(\"g.groups\").data(a);f.enter().append(\"g\").attr(\"class\",\"groups\"),f.exit().remove();var p=f.selectAll(\"g.traces\").data(ne.identity);p.enter().append(\"g\").attr(\"class\",\"traces\"),p.exit().remove(),p.call(Xd,t).style(\"opacity\",function(t){var e=t[0].trace;return P.traceIs(e,\"pie\")?-1!==o.indexOf(t[0].label)?.5:1:\"legendonly\"===e.visible?.5:1}).each(function(){e.select(this).call($d,t).call(tg,t)}),0!==s.enter().size()&&(eg(t,f,p),rg(t));var d=r.width,g=r.height;eg(t,f,p),i._height>g?function(t){var e=t._fullLayout.legend,r=\"left\";Vd.isRightAnchor(e)?r=\"right\":Vd.isCenterAnchor(e)&&(r=\"center\"),_n.autoMargin(t,\"legend\",{x:e.x,y:.5,l:e._width*Jd[r],r:e._width*Kd[r],b:0,t:0})}(t):rg(t);var v=r._size,m=v.l+v.w*i.x,y=v.t+v.h*(1-i.y);Vd.isRightAnchor(i)?m-=i._width:Vd.isCenterAnchor(i)&&(m-=i._width/2),Vd.isBottomAnchor(i)?y-=i._height:Vd.isMiddleAnchor(i)&&(y-=i._height/2);var x=i._width,b=v.w;x>b?(m=v.l,x=b):(m+x>d&&(m=d-x),m<0&&(m=0),x=Math.min(d-m,i._width));var _,w,M,A,k=i._height,T=v.h;if(k>T?(y=v.t,k=T):(y+k>g&&(y=g-k),y<0&&(y=0),k=Math.min(g-y,i._height)),Sr.setTranslate(s,m,y),h.on(\".drag\",null),s.on(\"wheel\",null),i._height<=k||t._context.staticPlot)u.attr({width:x-i.borderwidth,height:k-i.borderwidth,x:i.borderwidth/2,y:i.borderwidth/2}),Sr.setTranslate(c,0,0),l.select(\"rect\").attr({width:x-2*i.borderwidth,height:k-2*i.borderwidth,x:i.borderwidth,y:i.borderwidth}),Sr.setClipUrl(c,n),Sr.setRect(h,0,0,0,0),delete i._scrollY;else{var S,E,C=Math.max(Ud.scrollBarMinHeight,k*k/i._height),L=k-C-2*Ud.scrollBarMargin,z=i._height-k,I=L/z,D=Math.min(i._scrollY||0,z);u.attr({width:x-2*i.borderwidth+Ud.scrollBarWidth+Ud.scrollBarMargin,height:k-i.borderwidth,x:i.borderwidth/2,y:i.borderwidth/2}),l.select(\"rect\").attr({width:x-2*i.borderwidth+Ud.scrollBarWidth+Ud.scrollBarMargin,height:k-2*i.borderwidth,x:i.borderwidth,y:i.borderwidth+D}),Sr.setClipUrl(c,n),R(D,C,I),s.on(\"wheel\",function(){R(D=ne.constrain(i._scrollY+e.event.deltaY/L*z,0,z),C,I),0!==D&&D!==z&&e.event.preventDefault()});var O=e.behavior.drag().on(\"dragstart\",function(){S=e.event.sourceEvent.clientY,E=D}).on(\"drag\",function(){var t=e.event.sourceEvent;2===t.buttons||t.ctrlKey||R(D=ne.constrain((t.clientY-S)/I+E,0,z),C,I)});h.call(O)}t._context.edits.legendPosition&&(s.classed(\"cursor-move\",!0),Ua.init({element:s.node(),gd:t,prepFn:function(){var t=Sr.getTranslate(s);M=t.x,A=t.y},moveFn:function(t,e){var r=M+t,n=A+e;Sr.setTranslate(s,r,n),_=Ua.align(r,0,v.l,v.l+v.w,i.xanchor),w=Ua.align(n,0,v.t+v.h,v.t,i.yanchor)},doneFn:function(){void 0!==_&&void 0!==w&&P.call(\"relayout\",t,{\"legend.x\":_,\"legend.y\":w})},clickFn:function(e,n){var i=r._infolayer.selectAll(\"g.traces\").filter(function(){var t=this.getBoundingClientRect();return n.clientX>=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom});i.size()>0&&(1===e?s._clickTimeout=setTimeout(function(){Hd(i,t,e)},Qd):2===e&&(s._clickTimeout&&clearTimeout(s._clickTimeout),Hd(i,t,e)))}}))}function R(e,r,n){i._scrollY=t._fullLayout.legend._scrollY=e,Sr.setTranslate(c,0,-e),Sr.setRect(h,x,Ud.scrollBarMargin+e*n,Ud.scrollBarWidth,r),l.select(\"rect\").attr({y:i.borderwidth+e})}},style:Xd},ig={step:{valType:\"enumerated\",values:[\"month\",\"year\",\"day\",\"hour\",\"minute\",\"second\",\"all\"],dflt:\"month\",editType:\"plot\"},stepmode:{valType:\"enumerated\",values:[\"backward\",\"todate\"],dflt:\"backward\",editType:\"plot\"},count:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},label:{valType:\"string\",editType:\"plot\"},editType:\"plot\"},ag=m.extendFlat,og={visible:{valType:\"boolean\",editType:\"plot\"},buttons:ig=ag(ig,{_isLinkedToArray:\"button\"}),x:{valType:\"number\",min:-2,max:3,editType:\"plot\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"plot\"},y:{valType:\"number\",min:-2,max:3,editType:\"plot\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"bottom\",editType:\"plot\"},font:T({editType:\"plot\"}),bgcolor:{valType:\"color\",dflt:C.lightLine,editType:\"plot\"},activecolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:C.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"},sg={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10};var lg=function(t,r){var n=t._name,i={};if(\"all\"===r.step)i[n+\".autorange\"]=!0;else{var a=function(t,r){var n,i=t.range,a=new Date(t.r2l(i[1])),o=r.step,s=r.count;switch(r.stepmode){case\"backward\":n=t.l2r(+e.time[o].utc.offset(a,-s));break;case\"todate\":var l=e.time[o].utc.offset(a,-s);n=t.l2r(+e.time[o].utc.ceil(l))}var u=i[1];return[n,u]}(t,r);i[n+\".range[0]\"]=a[0],i[n+\".range[1]\"]=a[1]}return i};var ug=Qe.LINE_SPACING,cg=Qe.FROM_TL,hg=Qe.FROM_BR;function fg(t){return t._id}function pg(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:sg.rx,ry:sg.ry}),n.call(Oe.stroke,e.bordercolor).call(Oe.fill,function(t,e){return e._isActive||e._isHovered?t.activecolor:t.bgcolor}(e,r)).style(\"stroke-width\",e.borderwidth+\"px\")}function dg(t,e,r,n){var i,a=t.selectAll(\"text\").data([0]);a.enter().append(\"text\").classed(\"selector-text\",!0).classed(\"user-select-none\",!0),a.attr(\"text-anchor\",\"middle\"),a.call(Sr.font,e.font).text((i=r,i.label?i.label:\"all\"===i.step?\"all\":i.count+i.step.charAt(0))).call(function(t){er.convertToTspans(t,n)})}var gg={moduleType:\"component\",name:\"rangeselector\",schema:{subplots:{xaxis:{rangeselector:og}}},layoutAttributes:og,handleDefaults:function(t,e,r,n,i){var a=t.rangeselector||{},o=e.rangeselector={};function s(t,e){return ne.coerce(a,o,og,t,e)}if(s(\"visible\",function(t,e,r){var n,i,a=t.buttons||[],o=e.buttons=[];function s(t,e){return ne.coerce(n,i,ig,t,e)}for(var l=0;l<a.length;l++)if(n=a[l],i={},ne.isPlainObject(n)){var u=s(\"step\");\"all\"!==u&&(!r||\"gregorian\"===r||\"month\"!==u&&\"year\"!==u?s(\"stepmode\"):i.stepmode=\"backward\",s(\"count\")),s(\"label\"),i._index=l,o.push(i)}return o}(a,o,i).length>0)){var l=function(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+sg.yPad]}(e,r,n);s(\"x\",l[0]),s(\"y\",l[1]),ne.noneOrAll(t,e,[\"x\",\"y\"]),s(\"xanchor\"),s(\"yanchor\"),ne.coerceFont(s,\"font\",r.font);var u=s(\"bgcolor\");s(\"activecolor\",Oe.contrast(u,sg.lightAmount,sg.darkAmount)),s(\"bordercolor\"),s(\"borderwidth\")}},draw:function(t){var r=t._fullLayout._infolayer.selectAll(\".rangeselector\").data(function(t){for(var e=gn.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}(t),fg);r.enter().append(\"g\").classed(\"rangeselector\",!0),r.exit().remove(),r.style({cursor:\"pointer\",\"pointer-events\":\"all\"}),r.each(function(r){var n=e.select(this),i=r,a=i.rangeselector,o=n.selectAll(\"g.button\").data(a.buttons);o.enter().append(\"g\").classed(\"button\",!0),o.exit().remove(),o.each(function(r){var n=e.select(this),o=lg(i,r);r._isActive=function(t,e,r){if(\"all\"===e.step)return!0===t.autorange;var n=Object.keys(r);return t.range[0]===r[n[0]]&&t.range[1]===r[n[1]]}(i,r,o),n.call(pg,a,r),n.call(dg,a,r,t),n.on(\"click\",function(){t._dragged||P.call(\"relayout\",t,o)}),n.on(\"mouseover\",function(){r._isHovered=!0,n.call(pg,a,r)}),n.on(\"mouseout\",function(){r._isHovered=!1,n.call(pg,a,r)})}),function(t,r,n,i,a){var o=0,s=0,l=n.borderwidth;r.each(function(){var t=e.select(this),r=t.select(\".selector-text\"),i=n.font.size*ug,a=Math.max(i*er.lineCount(r),16)+3;s=Math.max(s,a)}),r.each(function(){var t=e.select(this),r=t.select(\".selector-rect\"),i=t.select(\".selector-text\"),a=i.node()&&Sr.bBox(i.node()).width,u=n.font.size*ug,c=er.lineCount(i),h=Math.max(a+10,sg.minButtonWidth);t.attr(\"transform\",\"translate(\"+(l+o)+\",\"+l+\")\"),r.attr({x:0,y:0,width:h,height:s}),er.positionText(i,h/2,s/2-(c-1)*u/2+3),o+=h+5});var u=t._fullLayout._size,c=u.l+u.w*n.x,h=u.t+u.h*(1-n.y),f=\"left\";Vd.isRightAnchor(n)&&(c-=o,f=\"right\"),Vd.isCenterAnchor(n)&&(c-=o/2,f=\"center\");var p=\"top\";Vd.isBottomAnchor(n)&&(h-=s,p=\"bottom\"),Vd.isMiddleAnchor(n)&&(h-=s/2,p=\"middle\"),o=Math.ceil(o),s=Math.ceil(s),c=Math.round(c),h=Math.round(h),_n.autoMargin(t,i+\"-range-selector\",{x:n.x,y:n.y,l:o*cg[f],r:o*hg[f],b:s*hg[p],t:s*cg[p]}),a.attr(\"transform\",\"translate(\"+c+\",\"+h+\")\")}(t,o,a,i._name,n)})}},vg={bgcolor:{valType:\"color\",dflt:C.background,editType:\"plot\"},bordercolor:{valType:\"color\",dflt:C.defaultLine,editType:\"plot\"},borderwidth:{valType:\"integer\",dflt:0,min:0,editType:\"plot\"},autorange:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}}],editType:\"calc\",impliedEdits:{autorange:!1}},thickness:{valType:\"number\",dflt:.15,min:0,max:1,editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"},mg={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\",maskMinOppAxisClassName:\"rangeslider-mask-min-opp-axis\",maskMaxOppAxisClassName:\"rangeslider-mask-max-opp-axis\",maskColor:\"rgba(0,0,0,0.4)\",maskOppAxisColor:\"rgba(0,0,0,0.2)\",slideBoxFill:\"transparent\",slideBoxCursor:\"ew-resize\",grabAreaFill:\"transparent\",grabAreaCursor:\"col-resize\",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15},yg=gn.list,xg=Fn,bg={_isSubplotObj:!0,rangemode:{valType:\"enumerated\",values:[\"auto\",\"fixed\",\"match\"],dflt:\"match\",editType:\"calc\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},editType:\"calc\"};function _g(t,e,r,n){var i=t.selectAll(\"rect.\"+mg.bgClassName).data([0]);i.enter().append(\"rect\").classed(mg.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=Sr.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 wg(t,e,r,n){var i=e._fullLayout._topdefs.selectAll(\"#\"+n._clipId).data([0]);i.enter().append(\"clipPath\").attr(\"id\",n._clipId).append(\"rect\").attr({x:0,y:0}),i.select(\"rect\").attr({width:n._width,height:n._height})}function Mg(t,r,n,i){var a,o=ri.getSubplots(r,n),s=r.calcdata,l=t.selectAll(\"g.\"+mg.rangePlotClassName).data(o,ne.identity);l.enter().append(\"g\").attr(\"class\",function(t){return mg.rangePlotClassName+\" \"+t}).call(Sr.setClipUrl,i._clipId),l.order(),l.exit().remove(),l.each(function(t,o){var l=e.select(this),u=0===o,c=ri.getFromId(r,t,\"y\"),h=c._name,f=i[h],p={data:[],layout:{xaxis:{type:n.type,domain:[0,1],range:i.range.slice(),calendar:n.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:r._context};p.layout[h]={type:c.type,domain:[0,1],range:\"match\"!==f.rangemode?f.range.slice():c.range.slice(),calendar:c.calendar},_n.supplyDefaults(p);var d={id:t,plotgroup:l,xaxis:p._fullLayout.xaxis,yaxis:p._fullLayout[h]};u?a=d:(d.mainplot=\"xy\",d.mainplotinfo=a),ua.rangePlot(r,d,function(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}(s,t))})}function Ag(t,e,r,n,i){var a=t.selectAll(\"rect.\"+mg.maskMinClassName).data([0]);a.enter().append(\"rect\").classed(mg.maskMinClassName,!0).attr({x:0,y:0}).attr(\"shape-rendering\",\"crispEdges\"),a.attr(\"height\",n._height).call(Oe.fill,mg.maskColor);var o=t.selectAll(\"rect.\"+mg.maskMaxClassName).data([0]);if(o.enter().append(\"rect\").classed(mg.maskMaxClassName,!0).attr(\"y\",0).attr(\"shape-rendering\",\"crispEdges\"),o.attr(\"height\",n._height).call(Oe.fill,mg.maskColor),\"match\"!==i.rangemode){var s=t.selectAll(\"rect.\"+mg.maskMinOppAxisClassName).data([0]);s.enter().append(\"rect\").classed(mg.maskMinOppAxisClassName,!0).attr(\"y\",0).attr(\"shape-rendering\",\"crispEdges\"),s.attr(\"width\",n._width).call(Oe.fill,mg.maskOppAxisColor);var l=t.selectAll(\"rect.\"+mg.maskMaxOppAxisClassName).data([0]);l.enter().append(\"rect\").classed(mg.maskMaxOppAxisClassName,!0).attr(\"y\",0).attr(\"shape-rendering\",\"crispEdges\"),l.attr(\"width\",n._width).style(\"border-top\",mg.maskOppBorder).call(Oe.fill,mg.maskOppAxisColor)}}function kg(t,e,r,n){if(!e._context.staticPlot){var i=t.selectAll(\"rect.\"+mg.slideBoxClassName).data([0]);i.enter().append(\"rect\").classed(mg.slideBoxClassName,!0).attr(\"y\",0).attr(\"cursor\",mg.slideBoxCursor).attr(\"shape-rendering\",\"crispEdges\"),i.attr({height:n._height,fill:mg.slideBoxFill})}}function Tg(t,e,r,n){var i=t.selectAll(\"g.\"+mg.grabberMinClassName).data([0]);i.enter().append(\"g\").classed(mg.grabberMinClassName,!0);var a=t.selectAll(\"g.\"+mg.grabberMaxClassName).data([0]);a.enter().append(\"g\").classed(mg.grabberMaxClassName,!0);var o={x:0,width:mg.handleWidth,rx:mg.handleRadius,fill:Oe.background,stroke:Oe.defaultLine,\"stroke-width\":mg.handleStrokeWidth,\"shape-rendering\":\"crispEdges\"},s={y:Math.round(n._height/4),height:Math.round(n._height/2)},l=i.selectAll(\"rect.\"+mg.handleMinClassName).data([0]);l.enter().append(\"rect\").classed(mg.handleMinClassName,!0).attr(o),l.attr(s);var u=a.selectAll(\"rect.\"+mg.handleMaxClassName).data([0]);if(u.enter().append(\"rect\").classed(mg.handleMaxClassName,!0).attr(o),u.attr(s),!e._context.staticPlot){var c={width:mg.grabAreaWidth,x:0,y:0,fill:mg.grabAreaFill,cursor:mg.grabAreaCursor},h=i.selectAll(\"rect.\"+mg.grabAreaMinClassName).data([0]);h.enter().append(\"rect\").classed(mg.grabAreaMinClassName,!0).attr(c),h.attr(\"height\",n._height);var f=a.selectAll(\"rect.\"+mg.grabAreaMaxClassName).data([0]);f.enter().append(\"rect\").classed(mg.grabAreaMaxClassName,!0).attr(c),f.attr(\"height\",n._height)}}var Sg={moduleType:\"component\",name:\"rangeslider\",schema:{subplots:{xaxis:{rangeslider:ne.extendFlat({},vg,{yaxis:bg})}}},layoutAttributes:vg,handleDefaults:function(t,e,r){if(t[r].rangeslider){ne.isPlainObject(t[r].rangeslider)||(t[r].rangeslider={});var n=t[r].rangeslider,i=e[r],a=i.rangeslider={};if(v(\"visible\")){v(\"bgcolor\",e.plot_bgcolor),v(\"bordercolor\"),v(\"borderwidth\"),v(\"thickness\"),i._rangesliderAutorange=v(\"autorange\",!i.isValidRange(n.range)),v(\"range\");var o=e._subplots;if(o)for(var s=o.cartesian.filter(function(t){return t.substr(0,t.indexOf(\"y\"))===gn.name2id(r)}).map(function(t){return t.substr(t.indexOf(\"y\"),t.length)}),l=ne.simpleMap(s,gn.id2name),u=0;u<l.length;u++){var c,h=l[u],f=n[h]||{},p=a[h]={},d=e[h];f.range&&d.isValidRange(f.range)&&(c=\"fixed\");var g=m(f,p,\"rangemode\",c);\"match\"!==g&&m(f,p,\"range\",d.range.slice()),d._rangesliderAutorange=\"auto\"===g}a._input=n}}function v(t,e){return ne.coerce(n,a,vg,t,e)}function m(t,e,r,n){return ne.coerce(t,e,bg,r,n)}},calcAutorange:function(t){for(var e=yg(t,\"x\",!0),r=0;r<e.length;r++){var n=e[r],i=n[mg.name];i&&i.visible&&i.autorange&&n._min.length&&n._max.length&&(i._input.autorange=!0,i._input.range=i.range=xg(n))}},draw:function(t){var r=t._fullLayout,n=function(t){var e=ri.list({_fullLayout:t},\"x\",!0),r=mg.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}(r);var i=r._infolayer.selectAll(\"g.\"+mg.containerClassName).data(n,function(t){return t._name});i.enter().append(\"g\").classed(mg.containerClassName,!0).attr(\"pointer-events\",\"all\"),i.exit().each(function(t){var n=e.select(this),i=t[mg.name];n.remove(),r._topdefs.select(\"#\"+i._clipId).remove()}),i.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];-1!==i.indexOf(mg.name)&&_n.autoMargin(t,i)}}(t),0!==n.length&&i.each(function(n){var i=e.select(this),a=n[mg.name],o=r[ri.id2name(n.anchor)],s=a[ri.id2name(n.anchor)];if(a.range){var l=a.range,u=n.range;l[0]=n.l2r(Math.min(n.r2l(l[0]),n.r2l(u[0]))),l[1]=n.l2r(Math.max(n.r2l(l[1]),n.r2l(u[1]))),a._input.range=l.slice()}n.cleanRange(\"rangeslider.range\");for(var c=r.margin,h=r._size,f=n.domain,p=(n._boundingBox||{}).height||0,d=1/0,g=ri.getSubplots(t,n),v=0;v<g.length;v++){var m=ri.getFromId(t,g[v].substr(g[v].indexOf(\"y\")));d=Math.min(d,m.domain[0])}a._id=mg.name+n._id,a._clipId=a._id+\"-\"+r._uid,a._width=h.w*(f[1]-f[0]),a._height=(r.height-c.b-c.t)*a.thickness,a._offsetShift=Math.floor(a.borderwidth/2);var y=Math.round(c.l+h.w*f[0]),x=Math.round(h.t+h.h*(1-d)+p+a._offsetShift+mg.extraPad);i.attr(\"transform\",\"translate(\"+y+\",\"+x+\")\");var b=n.r2l(a.range[0]),_=n.r2l(a.range[1]),w=_-b;if(a.p2d=function(t){return t/a._width*w+b},a.d2p=function(t){return(t-b)/w*a._width},a._rl=[b,_],\"match\"!==s.rangemode){var M=o.r2l(s.range[0]),A=o.r2l(s.range[1])-M;a.d2pOppAxis=function(t){return(t-M)/A*a._height}}i.call(_g,t,n,a).call(wg,t,n,a).call(Mg,t,n,a).call(Ag,t,n,a,s).call(kg,t,n,a).call(Tg,t,n,a),function(t,r,n,i){var a=t.select(\"rect.\"+mg.slideBoxClassName).node(),o=t.select(\"rect.\"+mg.grabAreaMinClassName).node(),s=t.select(\"rect.\"+mg.grabAreaMaxClassName).node();t.on(\"mousedown\",function(){var l=e.event,u=l.target,c=l.clientX,h=c-t.node().getBoundingClientRect().left,f=i.d2p(n._rl[0]),p=i.d2p(n._rl[1]),d=Ua.coverSlip();function g(t){var l,g,v,m=+t.clientX-c;switch(u){case a:v=\"ew-resize\",l=f+m,g=p+m;break;case o:v=\"col-resize\",l=f+m,g=p;break;case s:v=\"col-resize\",l=f,g=p+m;break;default:v=\"ew-resize\",l=h,g=h+m}if(g<l){var y=g;g=l,l=y}i._pixelMin=l,i._pixelMax=g,Ka(e.select(d),v),function(t,e,r,n){function i(t){return r.l2r(ne.constrain(t,n._rl[0],n._rl[1]))}var a=i(n.p2d(n._pixelMin)),o=i(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){P.call(\"relayout\",e,r._name+\".range\",[a,o])})}(0,r,n,i)}d.addEventListener(\"mousemove\",g),d.addEventListener(\"mouseup\",function t(){d.removeEventListener(\"mousemove\",g),d.removeEventListener(\"mouseup\",t),ne.removeElement(d)})})}(i,t,n,a),function(t,e,r,n,i,a){var o=mg.handleWidth/2;function s(t){return ne.constrain(t,0,n._width)}function l(t){return ne.constrain(t,0,n._height)}function u(t){return ne.constrain(t,-o,n._width+o)}var c=s(n.d2p(r._rl[0])),h=s(n.d2p(r._rl[1]));if(t.select(\"rect.\"+mg.slideBoxClassName).attr(\"x\",c).attr(\"width\",h-c),t.select(\"rect.\"+mg.maskMinClassName).attr(\"width\",c),t.select(\"rect.\"+mg.maskMaxClassName).attr(\"x\",h).attr(\"width\",n._width-h),\"match\"!==a.rangemode){var f=n._height-l(n.d2pOppAxis(i._rl[1])),p=n._height-l(n.d2pOppAxis(i._rl[0]));t.select(\"rect.\"+mg.maskMinOppAxisClassName).attr(\"x\",c).attr(\"height\",f).attr(\"width\",h-c),t.select(\"rect.\"+mg.maskMaxOppAxisClassName).attr(\"x\",c).attr(\"y\",p).attr(\"height\",n._height-p).attr(\"width\",h-c),t.select(\"rect.\"+mg.slideBoxClassName).attr(\"y\",f).attr(\"height\",p-f)}var d=Math.round(u(c-o))-.5,g=Math.round(u(h-o))+.5;t.select(\"g.\"+mg.grabberMinClassName).attr(\"transform\",\"translate(\"+d+\",0.5)\"),t.select(\"g.\"+mg.grabberMaxClassName).attr(\"transform\",\"translate(\"+g+\",0.5)\")}(i,0,n,a,o,s),\"bottom\"===n.side&&Dn.draw(t,n._id+\"title\",{propContainer:n,propName:n._name+\".title\",placeholder:r._dfltTitle.x,attributes:{x:n._offset+n._length/2,y:x+a._height+a._offsetShift+10+1.5*n.titlefont.size,\"text-anchor\":\"middle\"}}),_n.autoMargin(t,a._id,{x:f[0],y:d,l:0,r:0,t:0,b:a._height+c.b+p,pad:mg.extraPad+2*a._offsetShift})})}},Eg=Zr.line,Cg=Ae.dash,Lg=m.extendFlat,zg={_isLinkedToArray:\"shape\",visible:{valType:\"boolean\",dflt:!0,editType:\"calcIfAutorange+arraydraw\"},type:{valType:\"enumerated\",values:[\"circle\",\"rect\",\"path\",\"line\"],editType:\"calcIfAutorange+arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"arraydraw\"},xref:Lg({},Jp.xref,{}),x0:{valType:\"any\",editType:\"calcIfAutorange+arraydraw\"},x1:{valType:\"any\",editType:\"calcIfAutorange+arraydraw\"},yref:Lg({},Jp.yref,{}),y0:{valType:\"any\",editType:\"calcIfAutorange+arraydraw\"},y1:{valType:\"any\",editType:\"calcIfAutorange+arraydraw\"},path:{valType:\"string\",editType:\"calcIfAutorange+arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},line:{color:Lg({},Eg.color,{editType:\"arraydraw\"}),width:Lg({},Eg.width,{editType:\"calcIfAutorange+arraydraw\"}),dash:Lg({},Cg,{editType:\"arraydraw\"}),editType:\"calcIfAutorange+arraydraw\"},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},editType:\"arraydraw\"},Pg={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}},Ig={rangeToShapePosition:function(t){return\"log\"===t.type?t.r2d:function(t){return t}},shapePositionToRange:function(t){return\"log\"===t.type?t.d2r:function(t){return t}},decodeDate:function(t){return function(e){return e.replace&&(e=e.replace(\"_\",\" \")),t(e)}},encodeDate:function(t){return function(e){return t(e).replace(\" \",\"_\")}},getDataToPixel:function(t,e,r){var n,i=t._fullLayout._size;if(e){var a=Ig.shapePositionToRange(e);n=function(t){return e._offset+e.r2p(a(t,!0))},\"date\"===e.type&&(n=Ig.decodeDate(n))}else n=r?function(t){return i.t+i.h*(1-t)}:function(t){return i.l+i.w*t};return n},getPixelToData:function(t,e,r){var n,i=t._fullLayout._size;if(e){var a=Ig.rangeToShapePosition(e);n=function(t){return a(e.p2r(t-e._offset))}}else n=r?function(t){return 1-(t-i.t)/i.h}:function(t){return(t-i.l)/i.w};return n}};function Dg(t,e,r,n,i){var a=\"category\"===t.type?t.r2c:t.d2c;if(void 0!==e)return[a(e),a(r)];if(n){var o,s,l,u,c=1/0,h=-1/0,f=n.match(Pg.segmentRE);for(\"date\"===t.type&&(a=Ig.decodeDate(a)),o=0;o<f.length;o++)void 0!==(s=i[f[o].charAt(0)].drawn)&&(!(l=f[o].substr(1).match(Pg.paramRE))||l.length<s||((u=a(l[s]))<c&&(c=u),u>h&&(h=u)));return h>=c?[c,h]:void 0}}var Og=function(t,e,r,n,i){function a(r,n){return ne.coerce(t,e,zg,r,n)}if(n=n||{},!a(\"visible\",!(i=i||{}).itemIsNotPlainObject))return e;a(\"layer\"),a(\"opacity\"),a(\"fillcolor\"),a(\"line.color\"),a(\"line.width\"),a(\"line.dash\");for(var o=a(\"type\",t.path?\"path\":\"rect\"),s=[\"x\",\"y\"],l=0;l<2;l++){var u=s[l],c={_fullLayout:r},h=ri.coerceRef(t,e,c,u,\"\",\"paper\");if(\"path\"!==o){var f,p,d;\"paper\"!==h?(f=ri.getFromId(c,h),d=Ig.rangeToShapePosition(f),p=Ig.shapePositionToRange(f)):p=d=ne.identity;var g=u+\"0\",v=u+\"1\",m=t[g],y=t[v];t[g]=p(t[g],!0),t[v]=p(t[v],!0),ri.coercePosition(e,c,a,h,g,.25),ri.coercePosition(e,c,a,h,v,.75),e[g]=d(e[g]),e[v]=d(e[v]),t[g]=m,t[v]=y}}return\"path\"===o?a(\"path\"):ne.noneOrAll(t,e,[\"x0\",\"x1\",\"y0\",\"y1\"]),e},Rg={draw:function(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&&Fg(t,r)},drawOne:Fg};function Fg(t,e){t._fullLayout._paperdiv.selectAll('.shapelayer [data-index=\"'+e+'\"]').remove();var r=(t.layout.shapes||[])[e],n=t._fullLayout.shapes[e];if(r&&!1!==n.visible)if(\"below\"!==n.layer)a(t._fullLayout._shapeUpperLayer);else if(\"paper\"===n.xref||\"paper\"===n.yref)a(t._fullLayout._shapeLowerLayer);else{var i=t._fullLayout._plots[n.xref+n.yref];if(i)a((i.mainplotinfo||i).shapelayer);else a(t._fullLayout._shapeLowerLayer)}function a(r){var i={\"data-index\":e,\"fill-rule\":\"evenodd\",d:Bg(t,n)},a=n.line.width?n.line.color:\"rgba(0,0,0,0)\",o=r.append(\"path\").attr(i).style(\"opacity\",n.opacity).call(Oe.stroke,a).call(Oe.fill,n.fillcolor).call(Sr.dashLine,n.line.dash,n.line.width),s=(n.xref+n.yref).replace(/paper/g,\"\");o.call(Sr.setClipUrl,s?\"clip\"+t._fullLayout._uid+s:null),t._context.edits.shapePosition&&function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d,g,v,m,y,x,b,_,w,M,A,k,T,S,E,C,L,z,I,D,O=10,R=10,F={element:e.node(),gd:t,prepFn:function(e){S=ri.getFromId(t,r.xref),E=ri.getFromId(t,r.yref),C=Ig.getDataToPixel(t,S),L=Ig.getDataToPixel(t,E,!0),z=Ig.getPixelToData(t,S),I=Ig.getPixelToData(t,E,!0);var P=\"shapes[\"+n+\"]\";\"path\"===r.type?(k=r.path,T=P+\".path\"):(a=C(r.x0),o=L(r.y0),s=C(r.x1),l=L(r.y1),u=P+\".x0\",c=P+\".y0\",h=P+\".x1\",f=P+\".y1\");a<s?(g=a,x=P+\".x0\",M=\"x0\",v=s,b=P+\".x1\",A=\"x1\"):(g=s,x=P+\".x1\",M=\"x1\",v=a,b=P+\".x0\",A=\"x0\");o<l?(p=o,m=P+\".y0\",_=\"y0\",d=l,y=P+\".y1\",w=\"y1\"):(p=l,m=P+\".y1\",_=\"y1\",d=o,y=P+\".y0\",w=\"y0\");i={},N(e),F.moveFn=\"move\"===D?j:V},doneFn:function(){Ka(e),P.call(\"relayout\",t,i)}},B=F.element.getBoundingClientRect();function N(t){var r=B.right-B.left,n=B.bottom-B.top,i=t.clientX-B.left,a=t.clientY-B.top,o=r>O&&n>R&&!t.shiftKey?Ua.getCursor(i/r,1-a/n):\"move\";Ka(e,o),D=o.split(\"-\")[0]}function j(n,p){if(\"path\"===r.type){var d=function(t){return z(C(t)+n)};S&&\"date\"===S.type&&(d=Ig.encodeDate(d));var g=function(t){return I(L(t)+p)};E&&\"date\"===E.type&&(g=Ig.encodeDate(g)),r.path=Ng(k,d,g),i[T]=r.path}else i[u]=r.x0=z(a+n),i[c]=r.y0=I(o+p),i[h]=r.x1=z(s+n),i[f]=r.y1=I(l+p);e.attr(\"d\",Bg(t,r))}function V(n,a){if(\"path\"===r.type){var o=function(t){return z(C(t)+n)};S&&\"date\"===S.type&&(o=Ig.encodeDate(o));var s=function(t){return I(L(t)+a)};E&&\"date\"===E.type&&(s=Ig.encodeDate(s)),r.path=Ng(k,o,s),i[T]=r.path}else{var l=~D.indexOf(\"n\")?p+a:p,u=~D.indexOf(\"s\")?d+a:d,c=~D.indexOf(\"w\")?g+n:g,h=~D.indexOf(\"e\")?v+n:v;u-l>R&&(i[m]=r[_]=I(l),i[y]=r[w]=I(u)),h-c>O&&(i[x]=r[M]=z(c),i[b]=r[A]=z(h))}e.attr(\"d\",Bg(t,r))}Ua.init(F),e.node().onmousemove=N}(t,o,n,e)}}function Bg(t,e){var r,n,i,a,o=e.type,s=ri.getFromId(t,e.xref),l=ri.getFromId(t,e.yref),u=t._fullLayout._size;if(s?(r=Ig.shapePositionToRange(s),n=function(t){return s._offset+s.r2p(r(t,!0))}):n=function(t){return u.l+u.w*t},l?(i=Ig.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=Ig.decodeDate(n)),l&&\"date\"===l.type&&(a=Ig.decodeDate(a)),function(t,e,r){return t.replace(Pg.segmentRE,function(t){var n=0,i=t.charAt(0),a=Pg.paramIsX[i],o=Pg.paramIsY[i],s=Pg.numParams[i],l=t.substr(1).replace(Pg.paramRE,function(t){return a[n]?t=e(t):o[n]&&(t=r(t)),++n>s&&(t=\"X\"),t});return n>s&&(l=l.replace(/[\\s,]*X.*/,\"\"),ne.log(\"Ignoring extra params in segment \"+t)),i+l})}(e.path,n,a);var c=n(e.x0),h=n(e.x1),f=a(e.y0),p=a(e.y1);if(\"line\"===o)return\"M\"+c+\",\"+f+\"L\"+h+\",\"+p;if(\"rect\"===o)return\"M\"+c+\",\"+f+\"H\"+h+\"V\"+p+\"H\"+c+\"Z\";var d=(c+h)/2,g=(f+p)/2,v=Math.abs(d-c),m=Math.abs(g-f),y=\"A\"+v+\",\"+m,x=d+v+\",\"+g;return\"M\"+x+y+\" 0 1,1 \"+(d+\",\"+(g-m))+y+\" 0 0,1 \"+x+\"Z\"}function Ng(t,e,r){return t.replace(Pg.segmentRE,function(t){var n=0,i=t.charAt(0),a=Pg.paramIsX[i],o=Pg.paramIsY[i],s=Pg.numParams[i];return i+t.substr(1).replace(Pg.paramRE,function(t){return n>=s?t:(a[n]?t=e(t):o[n]&&(t=r(t)),n++,t)})})}var jg={moduleType:\"component\",name:\"shapes\",layoutAttributes:zg,supplyLayoutDefaults:function(t,e){ld(t,e,{name:\"shapes\",handleItemDefaults:Og})},includeBasePlot:ud(\"shapes\"),calcAutorange:function(t){var e=t._fullLayout,r=ne.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var n=0;n<r.length;n++){var i,a,o=r[n],s=o.line.width/2;\"paper\"!==o.xref&&(a=Dg(i=ri.getFromId(t,o.xref),o.x0,o.x1,o.path,Pg.paramIsX))&&ri.expand(i,a,{ppad:s}),\"paper\"!==o.yref&&(a=Dg(i=ri.getFromId(t,o.yref),o.y0,o.y1,o.path,Pg.paramIsY))&&ri.expand(i,a,{ppad:s})}},draw:Rg.draw,drawOne:Rg.drawOne},Vg={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,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},Ug={t:{valType:\"number\",dflt:0,editType:\"arraydraw\"},r:{valType:\"number\",dflt:0,editType:\"arraydraw\"},b:{valType:\"number\",dflt:0,editType:\"arraydraw\"},l:{valType:\"number\",dflt:0,editType:\"arraydraw\"},editType:\"arraydraw\"},qg=m.extendDeepAll,Hg=(0,ye.overrideAll)({_isLinkedToArray:\"slider\",visible:{valType:\"boolean\",dflt:!0},active:{valType:\"number\",min:0,dflt:0},steps:{_isLinkedToArray:\"step\",method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\",\"skip\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\"},value:{valType:\"string\"},execute:{valType:\"boolean\",dflt:!0}},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:qg({},Ug,{},{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:we.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:T({})},font:T({}),activebgcolor:{valType:\"color\",dflt:Vg.gripBgActiveColor},bgcolor:{valType:\"color\",dflt:Vg.railBgColor},bordercolor:{valType:\"color\",dflt:Vg.railBorderColor},borderwidth:{valType:\"number\",min:0,dflt:Vg.railBorderWidth},ticklen:{valType:\"number\",min:0,dflt:Vg.tickLength},tickcolor:{valType:\"color\",dflt:Vg.tickColor},tickwidth:{valType:\"number\",min:0,dflt:1},minorticklen:{valType:\"number\",min:0,dflt:Vg.minorTickLength}},\"arraydraw\",\"from-root\"),Gg=Vg.name,Wg=Hg.steps;function Yg(t,e,r){function n(r,n){return ne.coerce(t,e,Hg,r,n)}n(\"visible\",function(t,e){var r,n,i=t.steps||[],a=e.steps=[];function o(t,e){return ne.coerce(r,n,Wg,t,e)}for(var s=0;s<i.length;s++)r=i[s],n={},o(\"method\"),ne.isPlainObject(r)&&(\"skip\"===n.method||Array.isArray(r.args))&&(o(\"args\"),o(\"label\",\"step-\"+s),o(\"value\",n.label),o(\"execute\"),a.push(n));return a}(t,e).length>0)&&(n(\"active\"),n(\"x\"),n(\"y\"),ne.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\"),ne.coerceFont(n,\"font\",r.font),n(\"currentvalue.visible\")&&(n(\"currentvalue.xanchor\"),n(\"currentvalue.prefix\"),n(\"currentvalue.suffix\"),n(\"currentvalue.offset\"),ne.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\"))}var Xg=Qe.LINE_SPACING,Zg=Qe.FROM_TL,Jg=Qe.FROM_BR;function Kg(t){return t._index}function Qg(t,r){var n=Sr.tester.selectAll(\"g.\"+Vg.labelGroupClass).data(r.steps);n.enter().append(\"g\").classed(Vg.labelGroupClass,!0);var i=0,a=0;n.each(function(t){var n=ev(e.select(this),{step:t},r).node();if(n){var o=Sr.bBox(n);a=Math.max(a,o.height),i=Math.max(i,o.width)}}),n.remove();var o=r._dims={};o.inputAreaWidth=Math.max(Vg.railWidth,Vg.gripHeight);var s=t._fullLayout._size;o.lx=s.l+s.w*r.x,o.ly=s.t+s.h*(1-r.y),\"fraction\"===r.lenmode?o.outerLength=Math.round(s.w*r.len):o.outerLength=r.len,o.inputAreaStart=0,o.inputAreaLength=Math.round(o.outerLength-r.pad.l-r.pad.r);var l=(o.inputAreaLength-2*Vg.stepInset)/(r.steps.length-1),u=i+Vg.labelPadding;if(o.labelStride=Math.max(1,Math.ceil(u/l)),o.labelHeight=a,o.currentValueMaxWidth=0,o.currentValueHeight=0,o.currentValueTotalHeight=0,o.currentValueMaxLines=1,r.currentvalue.visible){var c=Sr.tester.append(\"g\");n.each(function(t){var e=$g(c,r,t.label),n=e.node()&&Sr.bBox(e.node())||{width:0,height:0},i=er.lineCount(e);o.currentValueMaxWidth=Math.max(o.currentValueMaxWidth,Math.ceil(n.width)),o.currentValueHeight=Math.max(o.currentValueHeight,Math.ceil(n.height)),o.currentValueMaxLines=Math.max(o.currentValueMaxLines,i)}),o.currentValueTotalHeight=o.currentValueHeight+r.currentvalue.offset,c.remove()}o.height=o.currentValueTotalHeight+Vg.tickOffset+r.ticklen+Vg.labelOffset+o.labelHeight+r.pad.t+r.pad.b;var h=\"left\";Vd.isRightAnchor(r)&&(o.lx-=o.outerLength,h=\"right\"),Vd.isCenterAnchor(r)&&(o.lx-=o.outerLength/2,h=\"center\");var f=\"top\";Vd.isBottomAnchor(r)&&(o.ly-=o.height,f=\"bottom\"),Vd.isMiddleAnchor(r)&&(o.ly-=o.height/2,f=\"middle\"),o.outerLength=Math.ceil(o.outerLength),o.height=Math.ceil(o.height),o.lx=Math.round(o.lx),o.ly=Math.round(o.ly),_n.autoMargin(t,Vg.autoMarginIdRoot+r._index,{x:r.x,y:r.y,l:o.outerLength*Zg[h],r:o.outerLength*Jg[h],b:o.height*Jg[f],t:o.height*Zg[f]})}function $g(t,e,r){if(e.currentvalue.visible){var n,i,a=t.selectAll(\"text\").data([0]),o=e._dims;switch(e.currentvalue.xanchor){case\"right\":n=o.inputAreaLength-Vg.currentValueInset-o.currentValueMaxWidth,i=\"left\";break;case\"center\":n=.5*o.inputAreaLength,i=\"middle\";break;default:n=Vg.currentValueInset,i=\"left\"}a.enter().append(\"text\").classed(Vg.labelClass,!0).classed(\"user-select-none\",!0).attr({\"text-anchor\":i,\"data-notex\":1});var s=e.currentvalue.prefix?e.currentvalue.prefix:\"\";if(\"string\"==typeof r)s+=r;else s+=e.steps[e.active].label;e.currentvalue.suffix&&(s+=e.currentvalue.suffix),a.call(Sr.font,e.currentvalue.font).text(s).call(er.convertToTspans,e._gd);var l=er.lineCount(a),u=(o.currentValueMaxLines+1-l)*e.currentvalue.font.size*Xg;return er.positionText(a,n,u),a}}function tv(t,e,r){var n=t.selectAll(\"rect.\"+Vg.gripRectClass).data([0]);n.enter().append(\"rect\").classed(Vg.gripRectClass,!0).call(av,e,t,r).style(\"pointer-events\",\"all\"),n.attr({width:Vg.gripWidth,height:Vg.gripHeight,rx:Vg.gripRadius,ry:Vg.gripRadius}).call(Oe.stroke,r.bordercolor).call(Oe.fill,r.bgcolor).style(\"stroke-width\",r.borderwidth+\"px\")}function ev(t,e,r){var n=t.selectAll(\"text\").data([0]);return n.enter().append(\"text\").classed(Vg.labelClass,!0).classed(\"user-select-none\",!0).attr({\"text-anchor\":\"middle\",\"data-notex\":1}),n.call(Sr.font,r.font).text(e.step.label).call(er.convertToTspans,r._gd),n}function rv(t,r){var n=t.selectAll(\"g.\"+Vg.labelsClass).data([0]),i=r._dims;n.enter().append(\"g\").classed(Vg.labelsClass,!0);var a=n.selectAll(\"g.\"+Vg.labelGroupClass).data(i.labelSteps);a.enter().append(\"g\").classed(Vg.labelGroupClass,!0),a.exit().remove(),a.each(function(t){var n=e.select(this);n.call(ev,t,r),Sr.setTranslate(n,lv(r,t.fraction),Vg.tickOffset+r.ticklen+r.font.size*Xg+Vg.labelOffset+i.currentValueTotalHeight)})}function nv(t,e,r,n,i){var a=Math.round(n*(r.steps.length-1));a!==r.active&&iv(t,e,r,a,!0,i)}function iv(t,e,r,n,i,a){var o=r.active;r._input.active=r.active=n;var s=r.steps[r.active];e.call(sv,r,r.active/(r.steps.length-1),a),e.call($g,r),t.emit(\"plotly_sliderchange\",{slider:r,step:r.steps[r.active],interaction:i,previousActive:o}),s&&s.method&&i&&(e._nextMethod?(e._nextMethod.step=s,e._nextMethod.doCallback=i,e._nextMethod.doTransition=a):(e._nextMethod={step:s,doCallback:i,doTransition:a},e._nextMethodRaf=window.requestAnimationFrame(function(){var r=e._nextMethod.step;r.method&&(r.execute&&_n.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function av(t,r,n){var i=n.node(),a=e.select(r);function o(){return n.data()[0]}t.on(\"mousedown\",function(){var t=o();r.emit(\"plotly_sliderstart\",{slider:t});var s=n.select(\".\"+Vg.gripRectClass);e.event.stopPropagation(),e.event.preventDefault(),s.call(Oe.fill,t.activebgcolor);var l=uv(t,e.mouse(i)[0]);nv(r,n,t,l,!0),t._dragging=!0,a.on(\"mousemove\",function(){var t=o(),a=uv(t,e.mouse(i)[0]);nv(r,n,t,a,!1)}),a.on(\"mouseup\",function(){var t=o();t._dragging=!1,s.call(Oe.fill,t.bgcolor),a.on(\"mouseup\",null),a.on(\"mousemove\",null),r.emit(\"plotly_sliderend\",{slider:t,step:t.steps[t.active]})})})}function ov(t,r){var n=t.selectAll(\"rect.\"+Vg.tickRectClass).data(r.steps),i=r._dims;n.enter().append(\"rect\").classed(Vg.tickRectClass,!0),n.exit().remove(),n.attr({width:r.tickwidth+\"px\",\"shape-rendering\":\"crispEdges\"}),n.each(function(t,n){var a=n%i.labelStride==0,o=e.select(this);o.attr({height:a?r.ticklen:r.minorticklen}).call(Oe.fill,r.tickcolor),Sr.setTranslate(o,lv(r,n/(r.steps.length-1))-.5*r.tickwidth,(a?Vg.tickOffset:Vg.minorTickOffset)+i.currentValueTotalHeight)})}function sv(t,e,r,n){var i=t.select(\"rect.\"+Vg.gripRectClass),a=lv(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*Vg.gripWidth)+\",\"+e._dims.currentValueTotalHeight+\")\")}}function lv(t,e){var r=t._dims;return r.inputAreaStart+Vg.stepInset+(r.inputAreaLength-2*Vg.stepInset)*Math.min(1,Math.max(0,e))}function uv(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-Vg.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*Vg.stepInset-2*r.inputAreaStart)))}function cv(t,e,r){var n=t.selectAll(\"rect.\"+Vg.railTouchRectClass).data([0]),i=r._dims;n.enter().append(\"rect\").classed(Vg.railTouchRectClass,!0).call(av,e,t,r).style(\"pointer-events\",\"all\"),n.attr({width:i.inputAreaLength,height:Math.max(i.inputAreaWidth,Vg.tickOffset+r.ticklen+i.labelHeight)}).call(Oe.fill,r.bgcolor).attr(\"opacity\",0),Sr.setTranslate(n,0,i.currentValueTotalHeight)}function hv(t,e){var r=t.selectAll(\"rect.\"+Vg.railRectClass).data([0]),n=e._dims;r.enter().append(\"rect\").classed(Vg.railRectClass,!0);var i=n.inputAreaLength-2*Vg.railInset;r.attr({width:i,height:Vg.railWidth,rx:Vg.railRadius,ry:Vg.railRadius,\"shape-rendering\":\"crispEdges\"}).call(Oe.stroke,e.bordercolor).call(Oe.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\"),Sr.setTranslate(r,Vg.railInset,.5*(n.inputAreaWidth-Vg.railWidth)+n.currentValueTotalHeight)}var fv={moduleType:\"component\",name:Vg.name,layoutAttributes:Hg,supplyLayoutDefaults:function(t,e){ld(t,e,{name:Gg,handleItemDefaults:Yg})},draw:function(t){var r=t._fullLayout,n=function(t,e){for(var r=t[Vg.name],n=[],i=0;i<r.length;i++){var a=r[i];a.visible&&a.steps.length&&(a._gd=e,n.push(a))}return n}(r,t),i=r._infolayer.selectAll(\"g.\"+Vg.containerClassName).data(n.length>0?[0]:[]);if(i.enter().append(\"g\").classed(Vg.containerClassName,!0).style(\"cursor\",\"ew-resize\"),i.exit().remove(),i.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];-1!==i.indexOf(Vg.autoMarginIdRoot)&&_n.autoMargin(t,i)}}(t),0!==n.length){var a=i.selectAll(\"g.\"+Vg.groupClassName).data(n,Kg);a.enter().append(\"g\").classed(Vg.groupClassName,!0),a.exit().each(function(r){e.select(this).remove(),r._commandObserver.remove(),delete r._commandObserver,_n.autoMargin(t,Vg.autoMarginIdRoot+r._index)});for(var o=0;o<n.length;o++){var s=n[o];Qg(t,s)}a.each(function(r){if(!(r.steps.length<2)){var n=e.select(this);!function(t){var e=t._dims;e.labelSteps=[];for(var r=t.steps.length,n=0;n<r;n+=e.labelStride)e.labelSteps.push({fraction:n/(r-1),step:t.steps[n]})}(r),_n.manageCommandObserver(t,r,r.steps,function(e){var r=n.data()[0];r.active!==e.index&&(r._dragging||iv(t,n,r,e.index,!1,!0))}),function(t,e,r){r.active>=r.steps.length&&(r.active=0),e.call($g,r).call(hv,r).call(rv,r).call(ov,r).call(cv,t,r).call(tv,t,r);var n=r._dims;Sr.setTranslate(e,n.lx+r.pad.l,n.ly+r.pad.t),e.call(sv,r,r.active/(r.steps.length-1),!1),e.call($g,r)}(t,e.select(this),r)}})}}},pv=m.extendFlat,dv=(0,ye.overrideAll)({_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:{_isLinkedToArray:\"button\",method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\",\"skip\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\",dflt:\"\"},execute:{valType:\"boolean\",dflt:!0}},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:pv({},Ug,{}),font:T({}),bgcolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:C.borderLine},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"arraydraw\"}},\"arraydraw\",\"from-root\"),gv={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,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:\"#F4FAFF\",hoverColor:\"#F4FAFF\",arrowSymbol:{left:\"\\u25c4\",right:\"\\u25ba\",up:\"\\u25b2\",down:\"\\u25bc\"}},vv=gv.name,mv=dv.buttons;function yv(t,e,r){function n(r,n){return ne.coerce(t,e,dv,r,n)}n(\"visible\",function(t,e){var r,n,i=t.buttons||[],a=e.buttons=[];function o(t,e){return ne.coerce(r,n,mv,t,e)}for(var s=0;s<i.length;s++)r=i[s],n={},o(\"method\"),ne.isPlainObject(r)&&(\"skip\"===n.method||Array.isArray(r.args))&&(o(\"args\"),o(\"label\"),o(\"execute\"),n._index=s,a.push(n));return a}(t,e).length>0)&&(n(\"active\"),n(\"direction\"),n(\"type\"),n(\"showactive\"),n(\"x\"),n(\"y\"),ne.noneOrAll(t,e,[\"x\",\"y\"]),n(\"xanchor\"),n(\"yanchor\"),n(\"pad.t\"),n(\"pad.r\"),n(\"pad.b\"),n(\"pad.l\"),ne.coerceFont(n,\"font\",r.font),n(\"bgcolor\",r.paper_bgcolor),n(\"bordercolor\"),n(\"borderwidth\"))}var xv=bv;function bv(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})}bv.barWidth=2,bv.barLength=20,bv.barRadius=2,bv.barPad=1,bv.barColor=\"#808BA4\",bv.prototype.enable=function(t,r,n){var i=this.gd._fullLayout,a=i.width,o=i.height;this.position=t;var s,l,u,c,h=this.position.l,f=this.position.w,p=this.position.t,d=this.position.h,g=this.position.direction,v=\"down\"===g,m=\"left\"===g,y=\"up\"===g,x=f,b=d;v||m||\"right\"===g||y||(this.position.direction=\"down\",v=!0),v||y?(l=(s=h)+x,v?(u=p,b=(c=Math.min(u+b,o))-u):b=(c=p+b)-(u=Math.max(c-b,0))):(c=(u=p)+b,m?x=(l=h+x)-(s=Math.max(l-x,0)):(s=h,x=(l=Math.min(s+x,a))-s)),this._box={l:s,t:u,w:x,h:b};var _=f>x,w=bv.barLength+2*bv.barPad,M=bv.barWidth+2*bv.barPad,A=h,k=p+d;k+M>o&&(k=o-M);var T=this.container.selectAll(\"rect.scrollbar-horizontal\").data(_?[0]:[]);T.exit().on(\".drag\",null).remove(),T.enter().append(\"rect\").classed(\"scrollbar-horizontal\",!0).call(Oe.fill,bv.barColor),_?(this.hbar=T.attr({rx:bv.barRadius,ry:bv.barRadius,x:A,y:k,width:w,height:M}),this._hbarXMin=A+w/2,this._hbarTranslateMax=x-w):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var S=d>b,E=bv.barWidth+2*bv.barPad,C=bv.barLength+2*bv.barPad,L=h+f,z=p;L+E>a&&(L=a-E);var P=this.container.selectAll(\"rect.scrollbar-vertical\").data(S?[0]:[]);P.exit().on(\".drag\",null).remove(),P.enter().append(\"rect\").classed(\"scrollbar-vertical\",!0).call(Oe.fill,bv.barColor),S?(this.vbar=P.attr({rx:bv.barRadius,ry:bv.barRadius,x:L,y:z,width:E,height:C}),this._vbarYMin=z+C/2,this._vbarTranslateMax=b-C):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var I=this.id,D=s-.5,O=S?l+E+.5:l+.5,R=u-.5,F=_?c+M+.5:c+.5,B=i._topdefs.selectAll(\"#\"+I).data(_||S?[0]:[]);if(B.exit().remove(),B.enter().append(\"clipPath\").attr(\"id\",I).append(\"rect\"),_||S?(this._clipRect=B.select(\"rect\").attr({x:Math.floor(D),y:Math.floor(R),width:Math.ceil(O)-Math.floor(D),height:Math.ceil(F)-Math.floor(R)}),this.container.call(Sr.setClipUrl,I),this.bg.attr({x:h,y:p,width:f,height:d})):(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(Sr.setClipUrl,null),delete this._clipRect),_||S){var N=e.behavior.drag().on(\"dragstart\",function(){e.event.sourceEvent.preventDefault()}).on(\"drag\",this._onBoxDrag.bind(this));this.container.on(\"wheel\",null).on(\"wheel\",this._onBoxWheel.bind(this)).on(\".drag\",null).call(N);var j=e.behavior.drag().on(\"dragstart\",function(){e.event.sourceEvent.preventDefault(),e.event.sourceEvent.stopPropagation()}).on(\"drag\",this._onBarDrag.bind(this));_&&this.hbar.on(\".drag\",null).call(j),S&&this.vbar.on(\".drag\",null).call(j)}this.setTranslate(r,n)},bv.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(Sr.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)},bv.prototype._onBoxDrag=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t-=e.event.dx),this.vbar&&(r-=e.event.dy),this.setTranslate(t,r)},bv.prototype._onBoxWheel=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t+=e.event.deltaY),this.vbar&&(r+=e.event.deltaY),this.setTranslate(t,r)},bv.prototype._onBarDrag=function(){var t=this.translateX,r=this.translateY;if(this.hbar){var n=t+this._hbarXMin,i=n+this._hbarTranslateMax;t=(ne.constrain(e.event.x,n,i)-n)/(i-n)*(this.position.w-this._box.w)}if(this.vbar){var a=r+this._vbarYMin,o=a+this._vbarTranslateMax;r=(ne.constrain(e.event.y,a,o)-a)/(o-a)*(this.position.h-this._box.h)}this.setTranslate(t,r)},bv.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=ne.constrain(t||0,0,r),e=ne.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(Sr.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(Sr.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var a=e/n;this.vbar.call(Sr.setTranslate,t,e+a*this._vbarTranslateMax)}};var _v=Qe.LINE_SPACING;function wv(t){return t._index}function Mv(t,e){return+t.attr(gv.menuIndexAttrName)===e._index}function Av(t,e,r,n,i,a,o,s){e._input.active=e.active=o,\"buttons\"===e.type?Tv(t,n,null,null,e):\"dropdown\"===e.type&&(i.attr(gv.menuIndexAttrName,\"-1\"),kv(t,n,i,a,e),s||Tv(t,n,i,a,e))}function kv(t,e,r,n,i){var a=e.selectAll(\"g.\"+gv.headerClassName).data([0]),o=i._dims;a.enter().append(\"g\").classed(gv.headerClassName,!0).style(\"pointer-events\",\"all\");var s=i.active,l=i.buttons[s]||gv.blankHeaderOpts,u={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},c={width:o.headerWidth,height:o.headerHeight};a.call(Sv,i,l,t).call(Dv,i,u,c);var h=e.selectAll(\"text.\"+gv.headerArrowClassName).data([0]);h.enter().append(\"text\").classed(gv.headerArrowClassName,!0).classed(\"user-select-none\",!0).attr(\"text-anchor\",\"end\").call(Sr.font,i.font).text(gv.arrowSymbol[i.direction]),h.attr({x:o.headerWidth-gv.arrowOffsetX+i.pad.l,y:o.headerHeight/2+gv.textOffsetY+i.pad.t}),a.on(\"click\",function(){r.call(Ov),r.attr(gv.menuIndexAttrName,Mv(r,i)?-1:String(i._index)),Tv(t,e,r,n,i)}),a.on(\"mouseover\",function(){a.call(zv)}),a.on(\"mouseout\",function(){a.call(Pv,i)}),Sr.setTranslate(e,o.lx,o.ly)}function Tv(t,r,n,i,a){n||(n=r).attr(\"pointer-events\",\"all\");var o=function(t){return-1==+t.attr(gv.menuIndexAttrName)}(n)&&\"buttons\"!==a.type?[]:a.buttons,s=\"dropdown\"===a.type?gv.dropdownButtonClassName:gv.buttonClassName,l=n.selectAll(\"g.\"+s).data(o),u=l.enter().append(\"g\").classed(s,!0),c=l.exit();\"dropdown\"===a.type?(u.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),c.transition().attr(\"opacity\",\"0\").remove()):c.remove();var h=0,f=0,p=a._dims,d=-1!==[\"up\",\"down\"].indexOf(a.direction);\"dropdown\"===a.type&&(d?f=p.headerHeight+gv.gapButtonHeader:h=p.headerWidth+gv.gapButtonHeader),\"dropdown\"===a.type&&\"up\"===a.direction&&(f=-gv.gapButtonHeader+gv.gapButton-p.openHeight),\"dropdown\"===a.type&&\"left\"===a.direction&&(h=-gv.gapButtonHeader+gv.gapButton-p.openWidth);var g={x:p.lx+h+a.pad.l,y:p.ly+f+a.pad.t,yPad:gv.gapButton,xPad:gv.gapButton,index:0},v={l:g.x+a.borderwidth,t:g.y+a.borderwidth};l.each(function(o,s){var u=e.select(this);u.call(Sv,a,o,t).call(Dv,a,g),u.on(\"click\",function(){e.event.defaultPrevented||(Av(t,a,0,r,n,i,s),o.execute&&_n.executeAPICommand(t,o.method,o.args),t.emit(\"plotly_buttonclicked\",{menu:a,button:o,active:a.active}))}),u.on(\"mouseover\",function(){u.call(zv)}),u.on(\"mouseout\",function(){u.call(Pv,a),l.call(Lv,a)})}),l.call(Lv,a),d?(v.w=Math.max(p.openWidth,p.headerWidth),v.h=g.y-v.t):(v.w=g.x-v.l,v.h=Math.max(p.openHeight,p.headerHeight)),v.direction=a.direction,i&&(l.size()?function(t,e,r,n,i,a){var o,s,l,u=i.direction,c=\"up\"===u||\"down\"===u,h=i._dims,f=i.active;if(c)for(s=0,l=0;l<f;l++)s+=h.heights[l]+gv.gapButton;else for(o=0,l=0;l<f;l++)o+=h.widths[l]+gv.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\")}(0,0,0,i,a,v):function(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()})}(i))}function Sv(t,e,r,n){t.call(Ev,e).call(Cv,e,r,n)}function Ev(t,e){var r=t.selectAll(\"rect\").data([0]);r.enter().append(\"rect\").classed(gv.itemRectClassName,!0).attr({rx:gv.rx,ry:gv.ry,\"shape-rendering\":\"crispEdges\"}),r.call(Oe.stroke,e.bordercolor).call(Oe.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\")}function Cv(t,e,r,n){var i=t.selectAll(\"text\").data([0]);i.enter().append(\"text\").classed(gv.itemTextClassName,!0).classed(\"user-select-none\",!0).attr({\"text-anchor\":\"start\",\"data-notex\":1}),i.call(Sr.font,e.font).text(r.label).call(er.convertToTspans,n)}function Lv(t,r){var n=r.active;t.each(function(t,i){var a=e.select(this);i===n&&r.showactive&&a.select(\"rect.\"+gv.itemRectClassName).call(Oe.fill,gv.activeColor)})}function zv(t){t.select(\"rect.\"+gv.itemRectClassName).call(Oe.fill,gv.hoverColor)}function Pv(t,e){t.select(\"rect.\"+gv.itemRectClassName).call(Oe.fill,e.bgcolor)}function Iv(t,r){var n=r._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},i=Sr.tester.selectAll(\"g.\"+gv.dropdownButtonClassName).data(r.buttons);i.enter().append(\"g\").classed(gv.dropdownButtonClassName,!0);var a=-1!==[\"up\",\"down\"].indexOf(r.direction);i.each(function(i,o){var s=e.select(this);s.call(Sv,r,i,t);var l=s.select(\".\"+gv.itemTextClassName),u=l.node()&&Sr.bBox(l.node()).width,c=Math.max(u+gv.textPadX,gv.minWidth),h=r.font.size*_v,f=er.lineCount(l),p=Math.max(h*f,gv.minHeight)+gv.textOffsetY;p=Math.ceil(p),c=Math.ceil(c),n.widths[o]=c,n.heights[o]=p,n.height1=Math.max(n.height1,p),n.width1=Math.max(n.width1,c),a?(n.totalWidth=Math.max(n.totalWidth,c),n.openWidth=n.totalWidth,n.totalHeight+=p+gv.gapButton,n.openHeight+=p+gv.gapButton):(n.totalWidth+=c+gv.gapButton,n.openWidth+=c+gv.gapButton,n.totalHeight=Math.max(n.totalHeight,p),n.openHeight=n.totalHeight)}),a?n.totalHeight-=gv.gapButton:n.totalWidth-=gv.gapButton,n.headerWidth=n.width1+gv.arrowPadX,n.headerHeight=n.height1,\"dropdown\"===r.type&&(a?(n.width1+=gv.arrowPadX,n.totalHeight=n.height1):n.totalWidth=n.width1,n.totalWidth+=gv.arrowPadX),i.remove();var o=n.totalWidth+r.pad.l+r.pad.r,s=n.totalHeight+r.pad.t+r.pad.b,l=t._fullLayout._size;n.lx=l.l+l.w*r.x,n.ly=l.t+l.h*(1-r.y);var u=\"left\";Vd.isRightAnchor(r)&&(n.lx-=o,u=\"right\"),Vd.isCenterAnchor(r)&&(n.lx-=o/2,u=\"center\");var c=\"top\";Vd.isBottomAnchor(r)&&(n.ly-=s,c=\"bottom\"),Vd.isMiddleAnchor(r)&&(n.ly-=s/2,c=\"middle\"),n.totalWidth=Math.ceil(n.totalWidth),n.totalHeight=Math.ceil(n.totalHeight),n.lx=Math.round(n.lx),n.ly=Math.round(n.ly),_n.autoMargin(t,gv.autoMarginIdRoot+r._index,{x:r.x,y:r.y,l:o*({right:1,center:.5}[u]||0),r:o*({left:1,center:.5}[u]||0),b:s*({top:1,middle:.5}[c]||0),t:s*({bottom:1,middle:.5}[c]||0)})}function Dv(t,e,r,n){n=n||{};var i=t.select(\".\"+gv.itemRectClassName),a=t.select(\".\"+gv.itemTextClassName),o=e.borderwidth,s=r.index,l=e._dims;Sr.setTranslate(t,o+r.x,o+r.y);var u=-1!==[\"up\",\"down\"].indexOf(e.direction),c=n.height||(u?l.heights[s]:l.height1);i.attr({x:0,y:0,width:n.width||(u?l.width1:l.widths[s]),height:c});var h=e.font.size*_v,f=(er.lineCount(a)-1)*h/2;er.positionText(a,gv.textOffsetX,c/2-f+gv.textOffsetY),u?r.y+=l.heights[s]+r.yPad:r.x+=l.widths[s]+r.xPad,r.index++}function Ov(t){t.selectAll(\"g.\"+gv.dropdownButtonClassName).remove()}var Rv={moduleType:\"component\",name:gv.name,layoutAttributes:dv,supplyLayoutDefaults:function(t,e){ld(t,e,{name:vv,handleItemDefaults:yv})},draw:function(t){var r=t._fullLayout,n=function(t){for(var e=t[gv.name],r=[],n=0;n<e.length;n++){var i=e[n];i.visible&&r.push(i)}return r}(r),i=r._menulayer.selectAll(\"g.\"+gv.containerClassName).data(n.length>0?[0]:[]);if(i.enter().append(\"g\").classed(gv.containerClassName,!0).style(\"cursor\",\"pointer\"),i.exit().remove(),i.exit().size()&&function(t){for(var e=t._fullLayout._pushmargin||{},r=Object.keys(e),n=0;n<r.length;n++){var i=r[n];-1!==i.indexOf(gv.autoMarginIdRoot)&&_n.autoMargin(t,i)}}(t),0!==n.length){var a=i.selectAll(\"g.\"+gv.headerGroupClassName).data(n,wv);a.enter().append(\"g\").classed(gv.headerGroupClassName,!0);var o=i.selectAll(\"g.\"+gv.dropdownButtonGroupClassName).data([0]);o.enter().append(\"g\").classed(gv.dropdownButtonGroupClassName,!0).style(\"pointer-events\",\"all\");for(var s=0;s<n.length;s++){var l=n[s];Iv(t,l)}var u=\"updatemenus\"+r._uid,c=new xv(t,o,u);a.enter().size()&&(o.node().parentNode.appendChild(o.node()),o.call(Ov).attr(gv.menuIndexAttrName,\"-1\")),a.exit().each(function(r){e.select(this).remove(),o.call(Ov).attr(gv.menuIndexAttrName,\"-1\"),_n.autoMargin(t,gv.autoMarginIdRoot+r._index)}),a.each(function(r){var n=e.select(this),i=\"dropdown\"===r.type?o:null;_n.manageCommandObserver(t,r,r.buttons,function(e){Av(t,r,r.buttons[e.index],n,i,c,e.index,!0)}),\"dropdown\"===r.type?(kv(t,n,o,c,r),Mv(o,r)&&Tv(t,n,o,c,r)):Tv(t,n,null,null,r)})}}},Fv={};\"undefined\"!=typeof MathJax?(Fv.MathJax=!0,MathJax.Hub.Config({messageStyle:\"none\",skipStartupTypeset:!0,displayAlign:\"left\",tex2jax:{inlineMath:[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]]}}),MathJax.Hub.Configured()):Fv.MathJax=!1;var Bv={add:function(t,e,r,n,i){var a,o;t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},o=t.undoQueue.index,t.autoplay?t.undoQueue.inSequence||(t.autoplay=!1):(!t.undoQueue.sequence||t.undoQueue.beginSequence?(a={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},t.undoQueue.queue.splice(o,t.undoQueue.queue.length-o,a),t.undoQueue.index+=1):a=t.undoQueue.queue[o-1],t.undoQueue.beginSequence=!1,a&&(a.undo.calls.unshift(e),a.undo.args.unshift(r),a.redo.calls.push(n),a.redo.args.push(i)),t.undoQueue.queue.length>b.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.undo();else 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++)Bv.plotDo(t,e.undo.calls[r],e.undo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1}},redo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.redo();else 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++)Bv.plotDo(t,e.redo.calls[r],e.redo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}}};Bv.plotDo=function(t,e,r){t.autoplay=!0,r=function(t,e){for(var r,n=[],i=0;i<e.length;i++)r=e[i],n[i]=r===t?r:\"object\"==typeof r?Array.isArray(r)?ne.extendDeep([],r):ne.extendDeepAll({},r):r;return n}(t,r),e.apply(null,r)};var Nv=Bv,jv=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,p=i*s,d=i*l,g=a*o,v=a*s,m=a*l;return t[0]=1-h-d,t[1]=c+m,t[2]=f-v,t[3]=0,t[4]=c-m,t[5]=1-u-d,t[6]=p+g,t[7]=0,t[8]=f+v,t[9]=p-g,t[10]=1-u-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t};var Vv={},Uv=gn.cleanId,qv=gn.getFromTrace;function Hv(t,e){var r=t[e],n=e.charAt(0);r&&\"paper\"!==r&&(t[e]=Uv(r,n))}function Gv(t){var e=\"middle\",r=\"center\";return-1!==t.indexOf(\"top\")?e=\"top\":-1!==t.indexOf(\"bottom\")&&(e=\"bottom\"),-1!==t.indexOf(\"left\")?r=\"left\":-1!==t.indexOf(\"right\")&&(r=\"right\"),e+\" \"+r}function Wv(t,e){return e in t&&\"object\"==typeof t[e]&&0===Object.keys(t[e]).length}Vv.clearPromiseQueue=function(t){Array.isArray(t._promises)&&t._promises.length>0&&ne.log(\"Clearing previous rejected promises from queue.\"),t._promises=[]},Vv.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),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var n=(_n.subplotsRegistry.cartesian||{}).attrRegex,i=(_n.subplotsRegistry.gl3d||{}).attrRegex,a=Object.keys(t);for(e=0;e<a.length;e++){var o=a[e];if(n&&n.test(o)){var s=t[o];s.anchor&&\"free\"!==s.anchor&&(s.anchor=Uv(s.anchor)),s.overlaying&&(s.overlaying=Uv(s.overlaying)),s.type||(s.isdate?s.type=\"date\":s.islog?s.type=\"log\":!1===s.isdate&&!1===s.islog&&(s.type=\"linear\")),\"withzero\"!==s.autorange&&\"tozero\"!==s.autorange||(s.autorange=!0,s.rangemode=\"tozero\"),delete s.islog,delete s.isdate,delete s.categories,Wv(s,\"domain\")&&delete s.domain,void 0!==s.autotick&&(void 0===s.tickmode&&(s.tickmode=s.autotick?\"auto\":\"linear\"),delete s.autotick)}else if(i&&i.test(o)){var l=t[o],u=l.cameraposition;if(Array.isArray(u)&&4===u[0].length){var c=u[0],h=u[1],f=u[2],p=jv([],c),d=[];for(r=0;r<3;++r)d[r]=h[r]+f*p[2+4*r];l.camera={eye:{x:d[0],y:d[1],z:d[2]},center:{x:h[0],y:h[1],z:h[2]},up:{x:p[1],y:p[5],z:p[9]}},delete l.cameraposition}}}var g=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e<g;e++){var v=t.annotations[e];ne.isPlainObject(v)&&(v.ref&&(\"paper\"===v.ref?(v.xref=\"paper\",v.yref=\"paper\"):\"data\"===v.ref&&(v.xref=\"x\",v.yref=\"y\"),delete v.ref),Hv(v,\"xref\"),Hv(v,\"yref\"))}var m=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e<m;e++){var y=t.shapes[e];ne.isPlainObject(y)&&(Hv(y,\"xref\"),Hv(y,\"yref\"))}var x=t.legend;return x&&(x.x>3?(x.x=1.02,x.xanchor=\"left\"):x.x<-2&&(x.x=-.02,x.xanchor=\"right\"),x.y>3?(x.y=1.02,x.yanchor=\"bottom\"):x.y<-2&&(x.y=-.02,x.yanchor=\"top\")),\"rotate\"===t.dragmode&&(t.dragmode=\"orbit\"),Oe.clean(t),t},Vv.cleanData=function(t,e){for(var r=[],n=t.concat(Array.isArray(e)?e:[]).filter(function(t){return\"uid\"in t}).map(function(t){return t.uid}),i=0;i<t.length;i++){var a,o=t[i];if(!(\"uid\"in o)||-1!==r.indexOf(o.uid)){var s;for(a=0;a<100&&(s=ne.randstr(n),-1!==r.indexOf(s));a++);o.uid=ne.randstr(n),n.push(o.uid)}if(r.push(o.uid),\"histogramy\"===o.type&&\"xbins\"in o&&!(\"ybins\"in o)&&(o.ybins=o.xbins,delete o.xbins),o.error_y&&\"opacity\"in o.error_y){var l=Oe.defaults,u=o.error_y.color||(P.traceIs(o,\"bar\")?Oe.defaultLine:l[i%l.length]);o.error_y.color=Oe.addOpacity(Oe.rgb(u),Oe.opacity(u)*o.error_y.opacity),delete o.error_y.opacity}if(\"bardir\"in o&&(\"h\"!==o.bardir||!P.traceIs(o,\"bar\")&&\"histogram\"!==o.type.substr(0,9)||(o.orientation=\"h\",Vv.swapXYData(o)),delete o.bardir),\"histogramy\"===o.type&&Vv.swapXYData(o),\"histogramx\"!==o.type&&\"histogramy\"!==o.type||(o.type=\"histogram\"),\"scl\"in o&&(o.colorscale=o.scl,delete o.scl),\"reversescl\"in o&&(o.reversescale=o.reversescl,delete o.reversescl),o.xaxis&&(o.xaxis=Uv(o.xaxis,\"x\")),o.yaxis&&(o.yaxis=Uv(o.yaxis,\"y\")),P.traceIs(o,\"gl3d\")&&o.scene&&(o.scene=_n.subplotsRegistry.gl3d.cleanId(o.scene)),!P.traceIs(o,\"pie\")&&!P.traceIs(o,\"bar\"))if(Array.isArray(o.textposition))for(a=0;a<o.textposition.length;a++)o.textposition[a]=Gv(o.textposition[a]);else o.textposition&&(o.textposition=Gv(o.textposition));if(P.traceIs(o,\"2dMap\")&&(\"YIGnBu\"===o.colorscale&&(o.colorscale=\"YlGnBu\"),\"YIOrRd\"===o.colorscale&&(o.colorscale=\"YlOrRd\")),P.traceIs(o,\"markerColorscale\")&&o.marker){var c=o.marker;\"YIGnBu\"===c.colorscale&&(c.colorscale=\"YlGnBu\"),\"YIOrRd\"===c.colorscale&&(c.colorscale=\"YlOrRd\")}if(\"surface\"===o.type&&ne.isPlainObject(o.contours)){var h=[\"x\",\"y\",\"z\"];for(a=0;a<h.length;a++){var f=o.contours[h[a]];ne.isPlainObject(f)&&(f.highlightColor&&(f.highlightcolor=f.highlightColor,delete f.highlightColor),f.highlightWidth&&(f.highlightwidth=f.highlightWidth,delete f.highlightWidth))}}if(Array.isArray(o.transforms)){var p=o.transforms;for(a=0;a<p.length;a++){var d=p[a];if(ne.isPlainObject(d))switch(d.type){case\"filter\":d.filtersrc&&(d.target=d.filtersrc,delete d.filtersrc),d.calendar&&(d.valuecalendar||(d.valuecalendar=d.calendar),delete d.calendar);break;case\"groupby\":if(d.styles=d.styles||d.style,d.styles&&!Array.isArray(d.styles)){var g=d.styles,v=Object.keys(g);d.styles=[];for(var m=0;m<v.length;m++)d.styles.push({target:v[m],value:g[v[m]]})}}}}Wv(o,\"line\")&&delete o.line,\"marker\"in o&&(Wv(o.marker,\"line\")&&delete o.marker.line,Wv(o,\"marker\")&&delete o.marker),Oe.clean(o)}},Vv.swapXYData=function(t){var e;if(ne.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);ne.swapAttrs(t,[\"error_?.copy_ystyle\"]),n&&ne.swapAttrs(t,[\"error_?.color\",\"error_?.thickness\",\"error_?.width\"])}if(\"string\"==typeof 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(\"+\")}},Vv.coerceTraceIndices=function(t,e){return r(e)?[e]:Array.isArray(e)&&e.length?e:t.data.map(function(t,e){return e})},Vv.manageArrayContainers=function(t,e,n){var i=t.obj,a=t.parts,o=a.length,s=a[o-1],l=r(s);if(l&&null===e){var u=a.slice(0,o-1).join(\".\");ne.nestedProperty(i,u).get().splice(s,1)}else l&&void 0===t.get()?(void 0===t.get()&&(n[t.astr]=null),t.set(e)):t.set(e)};var Yv=/(\\.[^\\[\\]\\.]+|\\[[^\\[\\]\\.]+\\])$/;function Xv(t){var e=t.search(Yv);if(e>0)return t.substr(0,e)}Vv.hasParent=function(t,e){for(var r=Xv(e);r;){if(r in t)return!0;r=Xv(r)}return!1};var Zv=[\"x\",\"y\",\"z\"];Vv.clearAxisTypes=function(t,e,r){for(var n=0;n<e.length;n++)for(var i=t._fullData[n],a=0;a<3;a++){var o=qv(t,i,Zv[a]);if(o&&\"log\"!==o.type){var s=o._name,l=o._id.substr(1);if(\"scene\"===l.substr(0,5)){if(void 0!==r[l])continue;s=l+\".\"+s}var u=s+\".type\";void 0===r[s]&&void 0===r[u]&&ne.nestedProperty(t.layout,u).set(null)}}},Vv.clearAxisAutomargins=function(t){for(var e=Object.keys(t._fullLayout._pushmargin),r=0;r<e.length;r++)-1!==e[r].indexOf(\"automargin\")&&delete t._fullLayout._pushmargin[e[r]]};var Jv={},Kv=Wt.sorterAsc;Jv.containerArrayMatch=H;var Qv=Jv.isAddVal=function(t){return\"add\"===t||v(t)},$v=Jv.isRemoveVal=function(t){return null===t||\"remove\"===t};Jv.applyContainerArrayChanges=function(t,e,r,n){var i=e.astr,a=P.getComponentMethod(i,\"supplyLayoutDefaults\"),o=P.getComponentMethod(i,\"draw\"),s=P.getComponentMethod(i,\"drawOne\"),l=n.replot||n.recalc||a===A||o===A,u=t.layout,c=t._fullLayout;if(r[\"\"]){Object.keys(r).length>1&&_.warn(\"Full array edits are incompatible with other edits\",i);var h=r[\"\"][\"\"];if($v(h))e.set(null);else{if(!Array.isArray(h))return _.warn(\"Unrecognized full array edit value\",i,h),!0;e.set(h)}return!l&&(a(u,c),o(t),!0)}var f,p,d,g,v,m,y,x=Object.keys(r).map(Number).sort(Kv),b=e.get(),w=b||[],M=W(c,i).get(),k=[],T=-1,S=w.length;for(f=0;f<x.length;f++)if(g=r[d=x[f]],v=Object.keys(g),m=g[\"\"],y=Qv(m),d<0||d>w.length-(y?0:1))_.warn(\"index out of range\",i,d);else if(void 0!==m)v.length>1&&_.warn(\"Insertion & removal are incompatible with edits to the same index.\",i,d),$v(m)?k.push(d):y?(\"add\"===m&&(m={}),w.splice(d,0,m),M&&M.splice(d,0,{})):_.warn(\"Unrecognized full object edit value\",i,d,m),-1===T&&(T=d);else for(p=0;p<v.length;p++)W(w[d],v[p]).set(g[v[p]]);for(f=k.length-1;f>=0;f--)w.splice(k[f],1),M&&M.splice(k[f],1);if(w.length?b||e.set(w):e.set(null),l)return!1;if(a(u,c),s!==A){var E;if(-1===T)E=x;else{for(S=Math.max(w.length,S),E=[],f=0;f<x.length&&!((d=x[f])>=T);f++)E.push(d);for(f=T;f<S;f++)E.push(f)}for(f=0;f<E.length;f++)s(t,E[f])}else o(t);return!0};var tm={},em=ne._,rm=tm={};function nm(t,e){var r,n,i=e.currentTarget,a=i.getAttribute(\"data-attr\"),o=i.getAttribute(\"data-val\")||!0,s=t._fullLayout,l={},u=gn.list(t,null,!0),c=\"on\";if(\"zoom\"===a){var h,f=\"in\"===o?.5:2,p=(1+f)/2,d=(1-f)/2;for(n=0;n<u.length;n++)if(!(r=u[n]).fixedrange)if(h=r._name,\"auto\"===o)l[h+\".autorange\"]=!0;else if(\"reset\"===o){if(void 0===r._rangeInitial)l[h+\".autorange\"]=!0;else{var g=r._rangeInitial.slice();l[h+\".range[0]\"]=g[0],l[h+\".range[1]\"]=g[1]}void 0!==r._showSpikeInitial&&(l[h+\".showspikes\"]=r._showSpikeInitial,\"on\"!==c||r._showSpikeInitial||(c=\"off\"))}else{var v=[r.r2l(r.range[0]),r.r2l(r.range[1])],m=[p*v[0]+d*v[1],p*v[1]+d*v[0]];l[h+\".range[0]\"]=r.l2r(m[0]),l[h+\".range[1]\"]=r.l2r(m[1])}s._cartesianSpikesEnabled=c}else{if(\"hovermode\"!==a||\"x\"!==o&&\"y\"!==o){if(\"hovermode\"===a&&\"closest\"===o){for(n=0;n<u.length;n++)r=u[n],\"on\"!==c||r.showspikes||(c=\"off\");s._cartesianSpikesEnabled=c}}else o=s._isHoriz?\"y\":\"x\",i.setAttribute(\"data-val\",o);l[a]=o}P.call(\"relayout\",t,l)}function im(t,e){for(var r=e.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=t._fullLayout._subplots.gl3d,o={},s=n.split(\".\"),l=0;l<a.length;l++)o[a[l]+\".\"+s[1]]=i;var u=\"pan\"===i?i:\"zoom\";o.dragmode=u,P.call(\"relayout\",t,o)}function am(t,e){for(var r=e.currentTarget.getAttribute(\"data-attr\"),n=t._fullLayout,i=n._subplots.gl3d,a={},o=0;o<i.length;o++){var s=i[o],l=s+\".camera\",u=n[s]._scene;\"resetDefault\"===r?a[l]=null:\"resetLastSave\"===r&&(a[l]=ne.extendDeep({},u.cameraInitial))}P.call(\"relayout\",t,a)}function om(t,e){var r=e.currentTarget,n=r._previousVal||!1,i=t.layout,a=t._fullLayout,o=a._subplots.gl3d,s=[\"xaxis\",\"yaxis\",\"zaxis\"],l=[\"showspikes\",\"spikesides\",\"spikethickness\",\"spikecolor\"],u={},c={},h={};if(n)h=ne.extendDeep(i,n),r._previousVal=null;else{h={\"allaxes.showspikes\":!1};for(var f=0;f<o.length;f++){var p=o[f],d=a[p],g=u[p]={};g.hovermode=d.hovermode,h[p+\".hovermode\"]=!1;for(var v=0;v<3;v++){var m=s[v];c=g[m]={};for(var y=0;y<l.length;y++){var x=l[y];c[x]=d[m][x]}}}r._previousVal=ne.extendDeep({},u)}P.call(\"relayout\",t,h)}function sm(t,e){for(var r=e.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=t._fullLayout,o=a._subplots.geo,s=0;s<o.length;s++){var l=o[s],u=a[l];if(\"zoom\"===n){var c=u.projection.scale,h=\"in\"===i?2*c:.5*c;P.call(\"relayout\",t,l+\".projection.scale\",h)}else\"reset\"===n&&um(t,\"geo\")}}function lm(t){var e,r=t._fullLayout;e=r._has(\"cartesian\")?r._isHoriz?\"y\":\"x\":\"closest\";var n=!t._fullLayout.hovermode&&e;P.call(\"relayout\",t,\"hovermode\",n)}function um(t,e){for(var r=t._fullLayout,n=r._subplots[e],i={},a=0;a<n.length;a++)for(var o=n[a],s=r[o]._subplot.viewInitial,l=Object.keys(s),u=0;u<l.length;u++){var c=l[u];i[o+\".\"+c]=s[c]}P.call(\"relayout\",t,i)}function cm(t){this.container=t.container,this.element=document.createElement(\"div\"),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}rm.toImage={name:\"toImage\",title:function(t){return em(t,\"Download plot as a png\")},icon:Op.camera,click:function(t){var e=\"png\";ne.notifier(em(t,\"Taking snapshot - this may take a few seconds\"),\"long\"),ne.isIE()&&(ne.notifier(em(t,\"IE only supports svg.  Changing format to svg.\"),\"long\"),e=\"svg\"),P.call(\"downloadImage\",t,{format:e}).then(function(e){ne.notifier(em(t,\"Snapshot succeeded\")+\" - \"+e,\"long\")}).catch(function(){ne.notifier(em(t,\"Sorry, there was a problem downloading your snapshot!\"),\"long\")})}},rm.sendDataToCloud={name:\"sendDataToCloud\",title:function(t){return em(t,\"Edit in Chart Studio\")},icon:Op.disk,click:function(t){_n.sendDataToCloud(t)}},rm.zoom2d={name:\"zoom2d\",title:function(t){return em(t,\"Zoom\")},attr:\"dragmode\",val:\"zoom\",icon:Op.zoombox,click:nm},rm.pan2d={name:\"pan2d\",title:function(t){return em(t,\"Pan\")},attr:\"dragmode\",val:\"pan\",icon:Op.pan,click:nm},rm.select2d={name:\"select2d\",title:function(t){return em(t,\"Box Select\")},attr:\"dragmode\",val:\"select\",icon:Op.selectbox,click:nm},rm.lasso2d={name:\"lasso2d\",title:function(t){return em(t,\"Lasso Select\")},attr:\"dragmode\",val:\"lasso\",icon:Op.lasso,click:nm},rm.zoomIn2d={name:\"zoomIn2d\",title:function(t){return em(t,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:Op.zoom_plus,click:nm},rm.zoomOut2d={name:\"zoomOut2d\",title:function(t){return em(t,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:Op.zoom_minus,click:nm},rm.autoScale2d={name:\"autoScale2d\",title:function(t){return em(t,\"Autoscale\")},attr:\"zoom\",val:\"auto\",icon:Op.autoscale,click:nm},rm.resetScale2d={name:\"resetScale2d\",title:function(t){return em(t,\"Reset axes\")},attr:\"zoom\",val:\"reset\",icon:Op.home,click:nm},rm.hoverClosestCartesian={name:\"hoverClosestCartesian\",title:function(t){return em(t,\"Show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:Op.tooltip_basic,gravity:\"ne\",click:nm},rm.hoverCompareCartesian={name:\"hoverCompareCartesian\",title:function(t){return em(t,\"Compare data on hover\")},attr:\"hovermode\",val:function(t){return t._fullLayout._isHoriz?\"y\":\"x\"},icon:Op.tooltip_compare,gravity:\"ne\",click:nm},rm.zoom3d={name:\"zoom3d\",title:function(t){return em(t,\"Zoom\")},attr:\"scene.dragmode\",val:\"zoom\",icon:Op.zoombox,click:im},rm.pan3d={name:\"pan3d\",title:function(t){return em(t,\"Pan\")},attr:\"scene.dragmode\",val:\"pan\",icon:Op.pan,click:im},rm.orbitRotation={name:\"orbitRotation\",title:function(t){return em(t,\"Orbital rotation\")},attr:\"scene.dragmode\",val:\"orbit\",icon:Op[\"3d_rotate\"],click:im},rm.tableRotation={name:\"tableRotation\",title:function(t){return em(t,\"Turntable rotation\")},attr:\"scene.dragmode\",val:\"turntable\",icon:Op[\"z-axis\"],click:im},rm.resetCameraDefault3d={name:\"resetCameraDefault3d\",title:function(t){return em(t,\"Reset camera to default\")},attr:\"resetDefault\",icon:Op.home,click:am},rm.resetCameraLastSave3d={name:\"resetCameraLastSave3d\",title:function(t){return em(t,\"Reset camera to last save\")},attr:\"resetLastSave\",icon:Op.movie,click:am},rm.hoverClosest3d={name:\"hoverClosest3d\",title:function(t){return em(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:Op.tooltip_basic,gravity:\"ne\",click:om},rm.zoomInGeo={name:\"zoomInGeo\",title:function(t){return em(t,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:Op.zoom_plus,click:sm},rm.zoomOutGeo={name:\"zoomOutGeo\",title:function(t){return em(t,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:Op.zoom_minus,click:sm},rm.resetGeo={name:\"resetGeo\",title:function(t){return em(t,\"Reset\")},attr:\"reset\",val:null,icon:Op.autoscale,click:sm},rm.hoverClosestGeo={name:\"hoverClosestGeo\",title:function(t){return em(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:Op.tooltip_basic,gravity:\"ne\",click:lm},rm.hoverClosestGl2d={name:\"hoverClosestGl2d\",title:function(t){return em(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:Op.tooltip_basic,gravity:\"ne\",click:lm},rm.hoverClosestPie={name:\"hoverClosestPie\",title:function(t){return em(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:Op.tooltip_basic,gravity:\"ne\",click:lm},rm.toggleHover={name:\"toggleHover\",title:function(t){return em(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:Op.tooltip_basic,gravity:\"ne\",click:function(t,e){lm(t),om(t,e)}},rm.resetViews={name:\"resetViews\",title:function(t){return em(t,\"Reset views\")},icon:Op.home,click:function(t,e){var r=e.currentTarget;r.setAttribute(\"data-attr\",\"zoom\"),r.setAttribute(\"data-val\",\"reset\"),nm(t,e),r.setAttribute(\"data-attr\",\"resetLastSave\"),am(t,e),um(t,\"geo\"),um(t,\"mapbox\")}},rm.toggleSpikelines={name:\"toggleSpikelines\",title:function(t){return em(t,\"Toggle Spike Lines\")},icon:Op.spikeline,attr:\"_cartesianSpikesEnabled\",val:\"on\",click:function(t){var e=t._fullLayout;e._cartesianSpikesEnabled=\"on\"===e._cartesianSpikesEnabled?\"off\":\"on\";var r=function(t){for(var e,r,n=t._fullLayout,i=gn.list(t,null,!0),a={},o=0;o<i.length;o++)e=i[o],r=e._name,a[r+\".showspikes\"]=\"on\"===n._cartesianSpikesEnabled||e._showSpikeInitial;return a}(t);P.call(\"relayout\",t,r)}},rm.resetViewMapbox={name:\"resetViewMapbox\",title:function(t){return em(t,\"Reset view\")},attr:\"reset\",icon:Op.home,click:function(t){um(t,\"mapbox\")}};var hm=cm.prototype;hm.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()},hm.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(-1!==e.buttonsNames.indexOf(n))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)})},hm.createGroup=function(){var t=document.createElement(\"div\");return t.className=\"modebar-group\",t},hm.createButton=function(t){var r=this,n=document.createElement(\"a\");n.setAttribute(\"rel\",\"tooltip\"),n.className=\"modebar-btn\";var i=t.title;void 0===i?i=t.name:\"function\"==typeof i&&(i=i(this.graphInfo)),(i||0===i)&&n.setAttribute(\"data-title\",i),void 0!==t.attr&&n.setAttribute(\"data-attr\",t.attr);var a=t.val;if(void 0!==a&&(\"function\"==typeof a&&(a=a(this.graphInfo)),n.setAttribute(\"data-val\",a)),\"function\"!=typeof t.click)throw new Error(\"must provide button 'click' function in button config\");return n.addEventListener(\"click\",function(e){t.click(r.graphInfo,e),r.updateActiveButton(e.currentTarget)}),n.setAttribute(\"data-toggle\",t.toggle||!1),t.toggle&&e.select(n).classed(\"active\",!0),n.appendChild(this.createIcon(t.icon||Op.question,t.name)),n.setAttribute(\"data-gravity\",t.gravity||\"n\"),n},hm.createIcon=function(t,e){var r=t.ascent-t.descent,n=\"http://www.w3.org/2000/svg\",i=document.createElementNS(n,\"svg\"),a=document.createElementNS(n,\"path\");i.setAttribute(\"height\",\"1em\"),i.setAttribute(\"width\",t.width/r+\"em\"),i.setAttribute(\"viewBox\",[0,0,t.width,r].join(\" \"));var o=\"toggleSpikelines\"===e?\"matrix(1.5 0 0 -1.5 0 \"+t.ascent+\")\":\"matrix(1 0 0 -1 0 \"+t.ascent+\")\";return a.setAttribute(\"d\",t.path),a.setAttribute(\"transform\",o),i.appendChild(a),i},hm.updateActiveButton=function(t){var r=this.graphInfo._fullLayout,n=void 0!==t?t.getAttribute(\"data-attr\"):null;this.buttonElements.forEach(function(t){var i=t.getAttribute(\"data-val\")||!0,a=t.getAttribute(\"data-attr\"),o=\"true\"===t.getAttribute(\"data-toggle\"),s=e.select(t);if(o)a===n&&s.classed(\"active\",!s.classed(\"active\"));else{var l=null===a?a:ne.nestedProperty(r,a).get();s.classed(\"active\",l===i)}})},hm.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},hm.getLogo=function(){var t=this.createGroup(),e=document.createElement(\"a\");return e.href=\"https://plot.ly/\",e.target=\"_blank\",e.setAttribute(\"data-title\",ne._(this.graphInfo,\"Produced with Plotly\")),e.className=\"modebar-btn plotlyjsicon modebar-btn--logo\",e.appendChild(this.createIcon(Op.plotlylogo)),t.appendChild(e),t},hm.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},hm.destroy=function(){ne.removeElement(this.container.querySelector(\".modebar\"))};var fm=function(t,r){var n=t._fullLayout,i=new cm({graphInfo:t,container:n._paperdiv.node(),buttons:r});return n._privateplot&&e.select(i.element).append(\"span\").classed(\"badge-private float--left\",!0).text(\"PRIVATE\"),i};var pm={};pm.manage=function(t){var e=t._fullLayout,r=t._context,n=e._modeBar;if(r.displayModeBar){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 i,a=r.modeBarButtons;i=Array.isArray(a)&&a.length?function(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===tm[i])throw new Error([\"*modeBarButtons* configuration options\",\"invalid button name\"].join(\" \"));t[e][n]=tm[i]}}return t}(a):function(t,e,r){var n=t._fullLayout,i=t._fullData,a=n._has(\"cartesian\"),o=n._has(\"gl3d\"),s=n._has(\"geo\"),l=n._has(\"pie\"),u=n._has(\"gl2d\"),c=n._has(\"ternary\"),h=n._has(\"mapbox\"),f=n._has(\"polar\"),p=function(t){for(var e=gn.list({_fullLayout:t},null,!0),r=0;r<e.length;r++)if(!e[r].fixedrange)return!1;return!0}(n),d=[];function g(t){if(t.length){for(var r=[],n=0;n<t.length;n++){var i=t[n];-1===e.indexOf(i)&&r.push(tm[i])}d.push(r)}}g([\"toImage\",\"sendDataToCloud\"]);var v=[],m=[],y=[],x=[];return(a||u||l||c)+s+o+h+f>1?(m=[\"toggleHover\"],y=[\"resetViews\"]):s?(v=[\"zoomInGeo\",\"zoomOutGeo\"],m=[\"hoverClosestGeo\"],y=[\"resetGeo\"]):o?(m=[\"hoverClosest3d\"],y=[\"resetCameraDefault3d\",\"resetCameraLastSave3d\"]):h?(m=[\"toggleHover\"],y=[\"resetViewMapbox\"]):m=u?[\"hoverClosestGl2d\"]:l?[\"hoverClosestPie\"]:[\"toggleHover\"],a&&(m=[\"toggleSpikelines\",\"hoverClosestCartesian\",\"hoverCompareCartesian\"]),!a&&!u||p||(v=[\"zoomIn2d\",\"zoomOut2d\",\"autoScale2d\"],\"resetViews\"!==y[0]&&(y=[\"resetScale2d\"])),o?x=[\"zoom3d\",\"pan3d\",\"orbitRotation\",\"tableRotation\"]:(a||u)&&!p||c?x=[\"zoom2d\",\"pan2d\"]:h||s?x=[\"pan2d\"]:f&&(x=[\"zoom2d\"]),function(t){for(var e=!1,r=0;r<t.length&&!e;r++){var n=t[r];n._module&&n._module.selectPoints&&(P.traceIs(n,\"scatter-like\")?(Tr.hasMarkers(n)||Tr.hasText(n))&&(e=!0):P.traceIs(n,\"box-violin\")&&\"all\"!==n.boxpoints&&\"all\"!==n.points||(e=!0))}return e}(i)&&x.push(\"select2d\",\"lasso2d\"),g(x),g(v.concat(y)),g(m),function(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}(d,r)}(t,r.modeBarButtonsToRemove,r.modeBarButtonsToAdd),n?n.update(t,i):e._modeBar=fm(t,i)}else n&&(n.destroy(),delete e._modeBar)};var dm=Qe.FROM_BL,gm=function(t,e,r){void 0===r&&(r=dm[t.constraintoward||\"center\"]);var n=[t.r2l(t.range[0]),t.r2l(t.range[1])],i=n[0]+(n[1]-n[0])*r;t.range=t._input.range=[t.l2r(i+(n[0]-i)*e),t.l2r(i+(n[1]-i)*e)]},vm=Qe.FROM_TL,mm=ri.doTicks,ym=gn.getFromId,xm=Te.MINDRAG,bm=Te.MINZOOM,_m=!0;function wm(t,e,r,n){var i=t.draglayer.selectAll(\".\"+r).data([0]);return i.enter().append(e).classed(\"drag\",!0).classed(r,!0).style({fill:\"transparent\",\"stroke-width\":0}).attr(\"data-subplot\",t.id),i.call(Ka,n),i.node()}function Mm(t,r,n,i,a,o,s){var l=wm(t,\"rect\",r,n);return e.select(l).call(Sr.setRect,i,a,o,s),l}function Am(t,e){for(var r=0;r<t.length;r++)if(!t[r].fixedrange)return e;return\"\"}function km(t,e,r,n,i){var a,o,s,l;for(a=0;a<t.length;a++)(o=t[a]).fixedrange||(s=o._rl[0],l=o._rl[1]-s,o.range=[o.l2r(s+l*e),o.l2r(s+l*r)],n[o._name+\".range[0]\"]=o.range[0],n[o._name+\".range[1]\"]=o.range[1]);if(i&&i.length){var u=(e+(1-r))/2;km(i,u,1-u,n)}}function Tm(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 Sm(t){return 1-(t>=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function Em(t,e,r,n,i){return t.append(\"path\").attr(\"class\",\"zoombox\").style({fill:e>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"transform\",\"translate(\"+r+\", \"+n+\")\").attr(\"d\",i+\"Z\")}function Cm(t,e,r){return t.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:Oe.background,stroke:Oe.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"transform\",\"translate(\"+e+\", \"+r+\")\").attr(\"d\",\"M0,0Z\")}function Lm(t){t.selectAll(\".select-outline\").remove()}function zm(t,e,r,n,i,a){t.attr(\"d\",n+\"M\"+r.l+\",\"+r.t+\"v\"+r.h+\"h\"+r.w+\"v-\"+r.h+\"h-\"+r.w+\"Z\"),Pm(t,e,i,a)}function Pm(t,e,r,n){r||(t.transition().style(\"fill\",n>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),e.transition().style(\"opacity\",1).duration(200))}function Im(t){e.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}function Dm(t){_m&&t.data&&t._context.showTips&&(ne.notifier(ne._(t,\"Double-click to zoom back out\"),\"long\"),_m=!1)}function Om(t){return\"lasso\"===t||\"select\"===t}function Rm(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,bm)/2);return\"M\"+(t.l-3.5)+\",\"+(t.t-.5+e)+\"h3v\"+-e+\"h\"+e+\"v-3h-\"+(e+3)+\"ZM\"+(t.r+3.5)+\",\"+(t.t-.5+e)+\"h-3v\"+-e+\"h\"+-e+\"v-3h\"+(e+3)+\"ZM\"+(t.r+3.5)+\",\"+(t.b+.5-e)+\"h-3v\"+e+\"h\"+-e+\"v3h\"+(e+3)+\"ZM\"+(t.l-3.5)+\",\"+(t.b+.5-e)+\"h3v\"+e+\"h\"+e+\"v3h-\"+(e+3)+\"Z\"}function Fm(t,e){if(Ea){var r=void 0!==t.onwheel?\"wheel\":\"mousewheel\";t._onwheel&&t.removeEventListener(r,t._onwheel),t._onwheel=e,t.addEventListener(r,e,{passive:!1})}else void 0!==t.onwheel?t.onwheel=e:void 0!==t.onmousewheel&&(t.onmousewheel=e)}var Bm={makeDragBox:function(t,r,n,i,a,o,l,u){var c,h,f,p,d,g,v,m,y,x,b,_,w,M=t._fullLayout,A=t._fullLayout._zoomlayer,k=l+u===\"nsew\",T=1===(l+u).length;function S(){h=[r.xaxis],f=[r.yaxis];var e=h[0],n=f[0];g=e._length,v=n._length;var i,a,o=M._axisConstraintGroups,s=[e._id],A=[n._id];c=[r].concat(l&&u?r.overlays:[]);for(var k=1;k<c.length;k++){var T=c[k].xaxis,S=c[k].yaxis;-1===h.indexOf(T)&&(h.push(T),s.push(T._id)),-1===f.indexOf(S)&&(f.push(S),A.push(S._id))}m=Am(h,u),y=Am(f,l),i=y+m,a=M.dragmode,x=i?\"nsew\"===i?\"pan\"===a?\"move\":\"crosshair\":i.toLowerCase()+\"-resize\":\"pointer\",p=e._offset,d=n._offset;var E=function(t,e,r){var n,i,a,o,s,l,u=!1,c={},h={};for(n=0;n<t.length;n++){for(o=t[n],i=0;i<e.length;i++)if(o[e[i]]){for(s in o)-1===(\"x\"===s.charAt(0)?e:r).indexOf(s)&&(c[s]=1);for(a=0;a<r.length;a++)o[r[a]]&&(u=!0)}for(i=0;i<r.length;i++)if(o[r[i]])for(l in o)-1===(\"x\"===l.charAt(0)?e:r).indexOf(l)&&(h[l]=1)}return u&&(ne.extendFlat(c,h),h={}),{x:c,y:h,xy:u}}(o,s,A);for(var C in b=E.xy,_=[],E.x)_.push(ym(t,C));for(var L in w=[],E.y)w.push(ym(t,L))}S();var E=Mm(r,l+u+\"drag\",x,n,i,a,o),C=!y&&!m;if(C&&!k)return E.onmousedown=null,E.style.pointerEvents=\"none\",E;var L,z,I,D,O,R,F,B,N,j={element:E,gd:t,plotinfo:r,prepFn:function(e,r,n){var i=t._fullLayout.dragmode;C||(k?e.shiftKey?\"pan\"===i?i=\"zoom\":Om(i)||(i=\"pan\"):e.ctrlKey&&(i=\"pan\"):i=\"pan\"),j.minDrag=\"lasso\"===i?1:void 0,Om(i)?(j.xaxes=h,j.yaxes=f,_c(e,r,n,j,i)):C?Lm(A):\"zoom\"===i?(j.moveFn=U,j.doneFn=q,j.minDrag=1,function(e,r,n){var i=E.getBoundingClientRect();L=r-i.left,z=n-i.top,I={l:L,r:L,w:0,t:z,b:z,h:0},D=t._hmpixcount?t._hmlumcount/t._hmpixcount:s(t._fullLayout.plot_bgcolor).getLuminance(),R=!1,F=\"xy\",B=Em(A,D,p,d,O=\"M0,0H\"+g+\"V\"+v+\"H0V0\"),N=Cm(A,p,d),Lm(A)}(0,r,n)):\"pan\"===i&&(j.moveFn=X,j.doneFn=J,Lm(A))},clickFn:function(n,i){if(Im(t),2!==n||T||function(){if(!t._transitioningWithDuration){var e,r,n,i=t._context.doubleClick,a=(m?h:[]).concat(y?f:[]),o={};if(\"reset+autosize\"===i)for(i=\"autosize\",r=0;r<a.length;r++)if((e=a[r])._rangeInitial&&(e.range[0]!==e._rangeInitial[0]||e.range[1]!==e._rangeInitial[1])||!e._rangeInitial&&!e.autorange){i=\"reset\";break}if(\"autosize\"===i)for(r=0;r<a.length;r++)(e=a[r]).fixedrange||(o[e._name+\".autorange\"]=!0);else if(\"reset\"===i)for((m||b)&&(a=a.concat(_)),y&&!b&&(a=a.concat(w)),b&&(m?y||(a=a.concat(f)):a=a.concat(h)),r=0;r<a.length;r++)(e=a[r])._rangeInitial?(n=e._rangeInitial,o[e._name+\".range[0]\"]=n[0],o[e._name+\".range[1]\"]=n[1]):o[e._name+\".autorange\"]=!0;t.emit(\"plotly_doubleclick\",null),P.call(\"relayout\",t,o)}}(),k)yo.click(t,i,r.id);else if(1===n&&T){var a=l?f[0]:h[0],o=\"s\"===l||\"w\"===u?0:1,s=a._name+\".range[\"+o+\"]\",c=function(t,r){var n,i=t.range[r],a=Math.abs(i-t.range[1-r]);return\"date\"===t.type?i:\"log\"===t.type?(n=Math.ceil(Math.max(0,-Math.log(a)/Math.LN10))+3,e.format(\".\"+n+\"g\")(Math.pow(10,i))):(n=Math.floor(Math.log(Math.abs(i))/Math.LN10)-Math.floor(Math.log(a)/Math.LN10)+4,e.format(\".\"+String(n)+\"g\")(i))}(a,o),p=\"left\",d=\"middle\";if(a.fixedrange)return;l?(d=\"n\"===l?\"top\":\"bottom\",\"right\"===a.side&&(p=\"right\")):\"e\"===u&&(p=\"right\"),t._context.showAxisRangeEntryBoxes&&e.select(E).call(er.makeEditable,{gd:t,immediate:!0,background:M.paper_bgcolor,text:String(c),fill:a.tickfont?a.tickfont.color:\"#444\",horizontalAlign:p,verticalAlign:d}).on(\"edit\",function(e){var r=a.d2r(e);void 0!==r&&P.call(\"relayout\",t,s,r)})}}};Ua.init(j);var V={};function U(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(g,e+L)),i=Math.max(0,Math.min(v,r+z)),a=Math.abs(n-L),o=Math.abs(i-z);function s(){F=\"\",I.r=I.l,I.t=I.b,N.attr(\"d\",\"M0,0Z\")}I.l=Math.min(L,n),I.r=Math.max(L,n),I.t=Math.min(z,i),I.b=Math.max(z,i),b?a>bm||o>bm?(F=\"xy\",a/g>o/v?(o=a*v/g,z>i?I.t=z-o:I.b=z+o):(a=o*g/v,L>n?I.l=L-a:I.r=L+a),N.attr(\"d\",Rm(I))):s():!y||o<Math.min(Math.max(.6*a,xm),bm)?a<xm?s():(I.t=0,I.b=v,F=\"x\",N.attr(\"d\",function(t,e){return\"M\"+(t.l-.5)+\",\"+(e-bm-.5)+\"h-3v\"+(2*bm+1)+\"h3ZM\"+(t.r+.5)+\",\"+(e-bm-.5)+\"h3v\"+(2*bm+1)+\"h-3Z\"}(I,z))):!m||a<Math.min(.6*o,bm)?(I.l=0,I.r=g,F=\"y\",N.attr(\"d\",function(t,e){return\"M\"+(e-bm-.5)+\",\"+(t.t-.5)+\"v-3h\"+(2*bm+1)+\"v3ZM\"+(e-bm-.5)+\",\"+(t.b+.5)+\"v3h\"+(2*bm+1)+\"v-3Z\"}(I,L))):(F=\"xy\",N.attr(\"d\",Rm(I))),I.w=I.r-I.l,I.h=I.b-I.t,zm(B,N,I,O,R,D),R=!0}function q(){if(Math.min(I.h,I.w)<2*xm)return Im(t);\"xy\"!==F&&\"x\"!==F||km(h,I.l/g,I.r/g,V,_),\"xy\"!==F&&\"y\"!==F||km(f,(v-I.b)/v,(v-I.t)/v,V,w),Im(t),J(),Dm(t)}var H=[0,0,g,v],G=null,W=Te.REDRAWDELAY,Y=r.mainplot?M._plots[r.mainplot]:r;function X(e,r){if(!t._transitioningWithDuration){if(S(),\"ew\"===m||\"ns\"===y)return m&&Tm(h,e),y&&Tm(f,r),K([m?-e:0,y?-r:0,g,v]),void Z(y,m);if(b&&m&&y){var n=\"w\"===m==(\"n\"===y)?1:-1,i=(e/g+n*r/v)/2;e=i*g,r=n*i*v}\"w\"===m?e=l(h,0,e):\"e\"===m?e=l(h,1,-e):m||(e=0),\"n\"===y?r=l(f,1,r):\"s\"===y?r=l(f,0,-r):y||(r=0);var a=\"w\"===m?e:0,o=\"n\"===y?r:0;if(b){var s;if(!m&&1===y.length){for(s=0;s<h.length;s++)h[s].range=h[s]._r.slice(),gm(h[s],1-r/v);a=(e=r*g/v)/2}if(!y&&1===m.length){for(s=0;s<f.length;s++)f[s].range=f[s]._r.slice(),gm(f[s],1-e/g);o=(r=e*v/g)/2}}K([a,o,g-e,v-r]),Z(y,m)}function l(t,e,r){for(var n,i,a=1-e,o=0;o<t.length;o++){var s=t[o];if(!s.fixedrange){n=s,i=s._rl[a]+(s._rl[e]-s._rl[a])/Sm(r/s._length);var l=s.l2r(i);!1!==l&&void 0!==l&&(s.range[e]=l)}}return n._length*(n._rl[e]-i)/(n._rl[e]-n._rl[a])}}function Z(e,r){var n,i=[];function a(t){for(n=0;n<t.length;n++)t[n].fixedrange||i.push(t[n]._id)}for((r||b)&&(a(h),a(_)),(e||b)&&(a(f),a(w)),V={},n=0;n<i.length;n++){var o=i[n];mm(t,o,!0);var s=ym(t,o);V[s._name+\".range[0]\"]=s.range[0],V[s._name+\".range[1]\"]=s.range[1]}function l(a,o,s){for(n=0;n<a.length;n++){var l=a[n];if((r&&-1!==i.indexOf(l.xref)||e&&-1!==i.indexOf(l.yref))&&(o(t,n),s))return}}l(M.annotations||[],P.getComponentMethod(\"annotations\",\"drawOne\")),l(M.shapes||[],P.getComponentMethod(\"shapes\",\"drawOne\")),l(M.images||[],P.getComponentMethod(\"images\",\"draw\"),!0)}function J(){K([0,0,g,v]),ne.syncOrAsync([_n.previousPromises,function(){P.call(\"relayout\",t,V)}],t)}function K(t){var e,r,n,i,a,o=M._plots,s=Object.keys(o),c=t[2]/h[0]._length,p=t[3]/f[0]._length,d=u||b,g=l||b;function v(t){return t.fixedrange?0:d&&-1!==_.indexOf(t)?c:g&&-1!==(b?_:w).indexOf(t)?p:0}function m(t,e){return e?(t.range=t._r.slice(),gm(t,e),y(t,e)):0}function y(t,e){return t._length*(1-e)*vm[t.constraintoward||\"middle\"]}for(M._glcanvas&&M._glcanvas.size()&&M._glcanvas.each(function(t){t.regl&&t.regl.clear({color:!0})}),e=0;e<s.length;e++){var x=o[s[e]],A=x.xaxis,k=x.yaxis,T=d&&!A.fixedrange&&-1!==h.indexOf(A),S=g&&!k.fixedrange&&-1!==f.indexOf(k);if(x._scene&&x._scene.update){var E=ne.simpleMap(A.range,A.r2l),C=ne.simpleMap(k.range,k.r2l);x._scene.update({range:[E[0],C[0],E[1],C[1]]})}if(T?(r=c,i=u?t[0]:y(A,r)):i=m(A,r=v(A)),S?(n=p,a=l?t[1]:y(k,n)):a=m(k,n=v(k)),r||n){r||(r=1),n||(n=1);var L=A._offset-i/r,z=k._offset-a/n;M._defs.select(\"#\"+x.clipId+\"> rect\").call(Sr.setTranslate,i,a).call(Sr.setScale,r,n);var P=x.plot.selectAll(\".scatterlayer .trace, .boxlayer .trace, .violinlayer .trace\");x.plot.call(Sr.setTranslate,L,z).call(Sr.setScale,1/r,1/n),P.selectAll(\".point\").call(Sr.setPointGroupScale,r,n),P.selectAll(\".textpoint\").call(Sr.setTextPointsScale,r,n),P.call(Sr.hideOutsideRangePoints,x),x.plot.selectAll(\".barlayer .trace\").call(Sr.hideOutsideRangePoints,x,\".bartext\")}}}return l.length*u.length!=1&&Fm(E,function(e){if(t._context.scrollZoom||M._enablescrollzoom){if(null===G&&Lm(A),t._transitioningWithDuration)return e.preventDefault(),void e.stopPropagation();var r=t.querySelector(\".plotly\");if(S(),!(r.scrollHeight-r.clientHeight>10||r.scrollWidth-r.clientWidth>10)){clearTimeout(G);var n=-e.deltaY;if(isFinite(n)||(n=e.wheelDelta/10),isFinite(n)){var i,a=Math.exp(-Math.min(Math.max(n,-20),20)/200),o=Y.draglayer.select(\".nsewdrag\").node().getBoundingClientRect(),s=(e.clientX-o.left)/o.width,c=(o.bottom-e.clientY)/o.height;if(u||b){for(u||(s=.5),i=0;i<h.length;i++)p(h[i],s,a);H[2]*=a,H[0]+=H[2]*s*(1/a-1)}if(l||b){for(l||(c=.5),i=0;i<f.length;i++)p(f[i],c,a);H[3]*=a,H[1]+=H[3]*(1-c)*(1/a-1)}K(H),Z(l,u),G=setTimeout(function(){H=[0,0,g,v],J()},W),e.preventDefault()}else ne.log(\"Did not find wheel motion attributes: \",e)}}function p(t,e,r){if(!t.fixedrange){var n=ne.simpleMap(t.range,t.r2l),i=n[0]+(n[1]-n[0])*e;t.range=n.map(function(e){return t.l2r(i+(e-i)*r)})}}}),E},makeDragger:wm,makeRectDragger:Mm,makeZoombox:Em,makeCorners:Cm,updateZoombox:zm,xyCorners:Rm,transitionZoombox:Pm,removeZoombox:Im,clearSelect:Lm,showDoubleClickNotifier:Dm,attachWheelEventHandler:Fm},Nm=Bm.makeDragBox,jm=function(t){var r=t._fullLayout;if(t._context.staticPlot)e.select(t).selectAll(\".drag\").remove();else if(r._has(\"cartesian\")||r._has(\"gl2d\")){Object.keys(r._plots||{}).sort(function(t,e){if((r._plots[t].mainplot&&!0)===(r._plots[e].mainplot&&!0)){var n=t.split(\"y\"),i=e.split(\"y\");return n[0]===i[0]?Number(n[1]||1)-Number(i[1]||1):Number(n[0]||1)-Number(i[0]||1)}return r._plots[t].mainplot?1:-1}).forEach(function(e){var n=r._plots[e],i=n.xaxis,a=n.yaxis,o=Te.DRAGGERSIZE;if(!n.mainplot){var s=Nm(t,n,i._offset,a._offset,i._length,a._length,\"ns\",\"ew\");s.onmousemove=function(r){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===e&&yo.hover(t,r,e)},yo.hover(t,r,e),t._fullLayout._lasthover=s,t._fullLayout._hoversubplot=e},s.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,Ua.unhover(t,e))},t._context.showAxisDragHandles&&(Nm(t,n,i._offset-o,a._offset-o,o,o,\"n\",\"w\"),Nm(t,n,i._offset+i._length,a._offset-o,o,o,\"n\",\"e\"),Nm(t,n,i._offset-o,a._offset+a._length,o,o,\"s\",\"w\"),Nm(t,n,i._offset+i._length,a._offset+a._length,o,o,\"s\",\"e\"))}if(t._context.showAxisDragHandles){if(e===i._mainSubplot){var l=i._mainLinePosition;\"top\"===i.side&&(l-=o),Nm(t,n,i._offset+.1*i._length,l,.8*i._length,o,\"\",\"ew\"),Nm(t,n,i._offset,l,.1*i._length,o,\"\",\"w\"),Nm(t,n,i._offset+.9*i._length,l,.1*i._length,o,\"\",\"e\")}if(e===a._mainSubplot){var u=a._mainLinePosition;\"right\"!==a.side&&(u-=o),Nm(t,n,u,a._offset+.1*a._length,o,.8*a._length,\"ns\",\"\"),Nm(t,n,u,a._offset+.9*a._length,o,.1*a._length,\"s\",\"\"),Nm(t,n,u,a._offset,o,.1*a._length,\"n\",\"\")}}});var n=r._hoverlayer.node();n.onmousemove=function(e){e.target=r._lasthover,yo.hover(t,e,r._hoversubplot)},n.onclick=function(e){e.target=r._lasthover,yo.click(t,e)},n.onmousedown=function(t){r._lasthover.onmousedown(t)}}},Vm={};function Um(t,e){return(t.ticks||t.showline)&&(e===t._mainSubplot||\"all\"===t.mirror||\"allticks\"===t.mirror)}function qm(t,e,r){if(!r.showline||!r._lw)return!1;if(\"all\"===r.mirror||\"allticks\"===r.mirror)return!0;var n=r._anchorAxis;if(!n)return!1;var i=Qe.FROM_BL[e];return r.side===e?n.domain[i]===t.domain[i]:r.mirror&&n.domain[1-i]===t.domain[1-i]}function Hm(t,e,r,n){if(qm(t,e,r))return r._lw;for(var i=0;i<n.length;i++){var a=n[i];if(a._mainAxis===r._mainAxis&&qm(t,e,a))return a._lw}return 0}Vm.layoutStyles=function(t){return ne.syncOrAsync([_n.doAutoMargin,Vm.lsInner],t)},Vm.lsInner=function(t){var r,n=t._fullLayout,i=n._size,a=i.p,o=ri.list(t),s=n._has(\"cartesian\");function l(t,e,r){var n=t._lw/2;return\"x\"===t._id.charAt(0)?e?\"top\"===r?e._offset-a-n:e._offset+e._length+a+n:i.t+i.h*(1-(t.position||0))+n%1:e?\"right\"===r?e._offset+e._length+a+n:e._offset-a-n:i.l+i.w*(t.position||0)+n%1}for(r=0;r<o.length;r++){var u=o[r];u.setScale();var c=u._anchorAxis;u._linepositions={},u._lw=Sr.crispRound(t,u.linewidth,1),u._mainLinePosition=l(u,c,u.side),u._mainMirrorPosition=u.mirror&&c?l(u,c,Qe.OPPOSITE_SIDE[u.side]):null}n._paperdiv.style({width:n.width+\"px\",height:n.height+\"px\"}).selectAll(\".main-svg\").call(Sr.setSize,n.width,n.height),t._context.setBackground(t,n.paper_bgcolor);var h=n._paper.selectAll(\"g.subplot\"),f=[],p=[];h.each(function(t){var e=n._plots[t];if(e.mainplot)return e.bg&&e.bg.remove(),void(e.bg=void 0);var r=e.xaxis.domain,i=e.yaxis.domain,a=[];!function(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}(r,i,p)?(f.push(t),p.push([r,i])):a=[0];var o=e.plotgroup.selectAll(\".bg\").data(a);o.enter().append(\"rect\").classed(\"bg\",!0),o.exit().remove(),o.each(function(){e.bg=o;var t=e.plotgroup.node();t.insertBefore(this,t.childNodes[0])})});var d=n._bgLayer.selectAll(\".bg\").data(f);return d.enter().append(\"rect\").classed(\"bg\",!0),d.exit().remove(),d.each(function(t){n._plots[t].bg=e.select(this)}),h.each(function(t){var e=n._plots[t],i=e.xaxis,u=e.yaxis;e.bg&&s&&e.bg.call(Sr.setRect,i._offset-a,u._offset-a,i._length+2*a,u._length+2*a).call(Oe.fill,n.plot_bgcolor).style(\"stroke-width\",0),e.clipId=\"clip\"+n._uid+t+\"plot\";var c,h,f=n._clips.selectAll(\"#\"+e.clipId).data([0]);for(f.enter().append(\"clipPath\").attr({class:\"plotclip\",id:e.clipId}).append(\"rect\"),f.selectAll(\"rect\").attr({width:i._length,height:u._length}),Sr.setTranslate(e.plot,i._offset,u._offset),e._hasClipOnAxisFalse?(c=null,h=e.clipId):(c=e.clipId,h=null),Sr.setClipUrl(e.plot,c),r=0;r<Te.traceLayerClasses.length;r++){var p=Te.traceLayerClasses[r];\"scatterlayer\"!==p&&\"barlayer\"!==p&&e.plot.selectAll(\"g.\"+p).call(Sr.setClipUrl,h)}if(e.layerClipId=h,s){var d,g,v,m,y,x,b,_,w,M,A,k,T,S=\"M0,0\";Um(i,t)&&(y=Hm(i,\"left\",u,o),d=i._offset-(y?a+y:0),x=Hm(i,\"right\",u,o),g=i._offset+i._length+(x?a+x:0),v=l(i,u,\"bottom\"),m=l(i,u,\"top\"),(T=!i._anchorAxis||t!==i._mainSubplot)&&i.ticks&&\"allticks\"===i.mirror&&(i._linepositions[t]=[v,m]),S=z(i,C,function(t){return\"M\"+i._offset+\",\"+t+\"h\"+i._length}),T&&i.showline&&(\"all\"===i.mirror||\"allticks\"===i.mirror)&&(S+=C(v)+C(m)),e.xlines.style(\"stroke-width\",i._lw+\"px\").call(Oe.stroke,i.showline?i.linecolor:\"rgba(0,0,0,0)\")),e.xlines.attr(\"d\",S);var E=\"M0,0\";Um(u,t)&&(A=Hm(u,\"bottom\",i,o),b=u._offset+u._length+(A?a:0),k=Hm(u,\"top\",i,o),_=u._offset-(k?a:0),w=l(u,i,\"left\"),M=l(u,i,\"right\"),(T=!u._anchorAxis||t!==i._mainSubplot)&&u.ticks&&\"allticks\"===u.mirror&&(u._linepositions[t]=[w,M]),E=z(u,L,function(t){return\"M\"+t+\",\"+u._offset+\"v\"+u._length}),T&&u.showline&&(\"all\"===u.mirror||\"allticks\"===u.mirror)&&(E+=L(w)+L(M)),e.ylines.style(\"stroke-width\",u._lw+\"px\").call(Oe.stroke,u.showline?u.linecolor:\"rgba(0,0,0,0)\")),e.ylines.attr(\"d\",E)}function C(t){return\"M\"+d+\",\"+t+\"H\"+g}function L(t){return\"M\"+t+\",\"+_+\"V\"+b}function z(e,r,n){if(!e.showline||t!==e._mainSubplot)return\"\";if(!e._anchorAxis)return n(e._mainLinePosition);var i=r(e._mainLinePosition);return e.mirror&&(i+=r(e._mainMirrorPosition)),i}}),ri.makeClipPaths(t),Vm.drawMainTitle(t),pm.manage(t),t._promises.length&&Promise.all(t._promises)},Vm.drawMainTitle=function(t){var e=t._fullLayout;Dn.draw(t,\"gtitle\",{propContainer:e,propName:\"title\",placeholder:e._dfltTitle.plot,attributes:{x:e.width/2,y:e._size.t/2,\"text-anchor\":\"middle\"}})},Vm.doTraceStyle=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e],n=(((r[0]||{}).trace||{})._module||{}).arraysToCalcdata;n&&n(r,r[0].trace)}return _n.style(t),P.getComponentMethod(\"legend\",\"draw\")(t),_n.previousPromises(t)},Vm.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;P.traceIs(n,\"contour\")&&i.line({width:!1!==n.contours.showlines?n.line.width:0,dash:n.line.dash,color:\"line\"===n.contours.coloring?i._opts.line.color:n.line.color}),P.traceIs(n,\"markerColorscale\")?i.options(n.marker.colorbar)():i.options(n.colorbar)()}}return _n.previousPromises(t)},Vm.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,P.call(\"plot\",t,\"\",e)},Vm.doLegend=function(t){return P.getComponentMethod(\"legend\",\"draw\")(t),_n.previousPromises(t)},Vm.doTicksRelayout=function(t){return ri.doTicks(t,\"redraw\"),Vm.drawMainTitle(t),_n.previousPromises(t)},Vm.doModeBar=function(t){var e=t._fullLayout;pm.manage(t),jm(t);for(var r=0;r<e._basePlotModules.length;r++){var n=e._basePlotModules[r].updateFx;n&&n(e)}return _n.previousPromises(t)},Vm.doCamera=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){var i=e[r[n]];i._scene.setCamera(i.camera)}};var Gm={},Wm=gn.id2name,Ym=Bn,Xm=t.ALMOST_EQUAL,Zm=Qe.FROM_BL;function Jm(t,e){var r=t._inputDomain,n=Zm[t.constraintoward],i=r[0]+(r[1]-r[0])*n;t.domain=t._input.domain=[i+(r[0]-i)/e,i+(r[1]-i)/e]}Gm.enforce=function(t){var e,r,n,i,a,o,s,l=t._fullLayout,u=l._axisConstraintGroups||[];for(e=0;e<u.length;e++){var c=u[e],h=Object.keys(c),f=1/0,p=0,d=1/0,g={},v={},m=!1;for(r=0;r<h.length;r++)v[n=h[r]]=i=l[Wm(n)],i._inputDomain?i.domain=i._inputDomain.slice():i._inputDomain=i.domain.slice(),i._inputRange||(i._inputRange=i.range.slice()),i.setScale(),g[n]=a=Math.abs(i._m)/c[n],f=Math.min(f,a),\"domain\"!==i.constrain&&i._constraintShrinkable||(d=Math.min(d,a)),delete i._constraintShrinkable,p=Math.max(p,a),\"domain\"===i.constrain&&(m=!0);if(!(f>Xm*p)||m)for(r=0;r<h.length;r++)if(a=g[n=h[r]],o=(i=v[n]).constrain,a!==d||\"domain\"===o)if(s=a/d,\"range\"===o)gm(i,s);else{var y=i._inputDomain,x=(i.domain[1]-i.domain[0])/(y[1]-y[0]),b=(i.r2l(i.range[1])-i.r2l(i.range[0]))/(i.r2l(i._inputRange[1])-i.r2l(i._inputRange[0]));if((s/=x)*b<1){i.domain=i._input.domain=y.slice(),gm(i,s);continue}if(b<1&&(i.range=i._input.range=i._inputRange.slice(),s*=b),i.autorange&&i._min.length&&i._max.length){var _=i.r2l(i.range[0]),w=i.r2l(i.range[1]),M=(_+w)/2,A=M,k=M,T=Math.abs(w-M),S=M-T*s*1.0001,E=M+T*s*1.0001,C=Ym(i);Jm(i,s),i.setScale();var L,z,P=Math.abs(i._m);for(z=0;z<i._min.length;z++)(L=i._min[z].val-C(i._min[z])/P)>S&&L<A&&(A=L);for(z=0;z<i._max.length;z++)(L=i._max[z].val+C(i._max[z])/P)<E&&L>k&&(k=L);s/=(k-A)/(2*T),A=i.l2r(A),k=i.l2r(k),i.range=i._input.range=_<w?[A,k]:[k,A]}Jm(i,s)}}},Gm.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,i=t._fullLayout._axisConstraintGroups,a=0;a<i.length;a++)if(i[a][n]){r=!0;break}r&&\"domain\"===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}};var Km={},Qm=ne.extendDeepAll,$m=Qe.MID_SHIFT,ty=Km={version:\"0.2.2\"};ty.Axis=function(){var t,r,n,i,a={data:[],layout:{}},o={},s={},l=e.dispatch(\"hover\"),u={};return u.render=function(o){return function(o){r=o||r;var l=a.data,u=a.layout;(\"string\"==typeof r||r.nodeName)&&(r=e.select(r)),r.datum(l).each(function(r,a){var o=r.slice();s={data:ty.util.cloneJson(o),layout:ty.util.cloneJson(u)};var l=0;o.forEach(function(t,r){t.color||(t.color=u.defaultColorRange[l],l=(l+1)%u.defaultColorRange.length),t.strokeColor||(t.strokeColor=\"LinePlot\"===t.geometry?t.color:e.rgb(t.color).darker().toString()),s.data[r].color=t.color,s.data[r].strokeColor=t.strokeColor,s.data[r].strokeDash=t.strokeDash,s.data[r].strokeSize=t.strokeSize});var c=o.filter(function(t,e){var r=t.visible;return void 0===r||!0===r}),h=!1,f=c.map(function(t,e){return h=h||void 0!==t.groupId,t});if(h){var p=[],d=e.nest().key(function(t,e){return void 0!==t.groupId?t.groupId:\"unstacked\"}).entries(f).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],p.push(r),r=ty.util.sumArrays(t.r,r)}),t.values});c=e.merge(d)}c.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 g=Math.min(u.width-u.margin.left-u.margin.right,u.height-u.margin.top-u.margin.bottom)/2;g=Math.max(10,g);var v,m=[u.margin.left+g,u.margin.top+g];v=h?[0,e.max(ty.util.sumArrays(ty.util.arrayLast(c).r[0],ty.util.arrayLast(p)))]:e.extent(ty.util.flattenArray(c.map(function(t,e){return t.r}))),u.radialAxis.domain!=ty.DATAEXTENT&&(v[0]=0),n=e.scale.linear().domain(u.radialAxis.domain!=ty.DATAEXTENT&&u.radialAxis.domain?u.radialAxis.domain:v).range([0,g]),s.layout.radialAxis.domain=n.domain();var y,x=ty.util.flattenArray(c.map(function(t,e){return t.t})),b=\"string\"==typeof x[0];b&&(x=ty.util.deduplicate(x),y=x.slice(),x=e.range(x.length),c=c.map(function(t,e){var r=t;return t.t=[x],h&&(r.yStack=t.yStack),r}));var _=c.filter(function(t,e){return\"LinePlot\"===t.geometry||\"DotPlot\"===t.geometry}).length===c.length,w=null===u.needsEndSpacing?b||!_:u.needsEndSpacing,M=u.angularAxis.domain&&u.angularAxis.domain!=ty.DATAEXTENT&&!b&&u.angularAxis.domain[0]>=0?u.angularAxis.domain:e.extent(x),A=Math.abs(x[1]-x[0]);_&&!b&&(A=0);var k=M.slice();w&&b&&(k[1]+=A);var T=u.angularAxis.ticksCount||4;T>8&&(T=T/(T/8)+T%8),u.angularAxis.ticksStep&&(T=(k[1]-k[0])/T);var S=u.angularAxis.ticksStep||(k[1]-k[0])/(T*(u.minorTicks+1));y&&(S=Math.max(Math.round(S),1)),k[2]||(k[2]=S);var E=e.range.apply(this,k);if(E=E.map(function(t,e){return parseFloat(t.toPrecision(12))}),i=e.scale.linear().domain(k.slice(0,2)).range(\"clockwise\"===u.direction?[0,360]:[360,0]),s.layout.angularAxis.domain=i.domain(),s.layout.angularAxis.endPadding=w?A:0,void 0===(t=e.select(this).select(\"svg.chart-root\"))||t.empty()){var C=(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\"),L=this.appendChild(this.ownerDocument.importNode(C.documentElement,!0));t=e.select(L)}t.select(\".guides-group\").style({\"pointer-events\":\"none\"}),t.select(\".angular.axis-group\").style({\"pointer-events\":\"none\"}),t.select(\".radial.axis-group\").style({\"pointer-events\":\"none\"});var z,P=t.select(\".chart-group\"),I={fill:\"none\",stroke:u.tickColor},D={\"font-size\":u.font.size,\"font-family\":u.font.family,fill:u.font.color,\"text-shadow\":[\"-1px 0px\",\"1px -1px\",\"-1px 1px\",\"1px 1px\"].map(function(t,e){return\" \"+t+\" 0 \"+u.font.outlineColor}).join(\",\")};if(u.showLegend){z=t.select(\".legend-group\").attr({transform:\"translate(\"+[g,u.margin.top]+\")\"}).style({display:\"block\"});var O=c.map(function(t,e){var r=ty.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});ty.Legend().config({data:c.map(function(t,e){return t.name||\"Element\"+e}),legendConfig:Qm({},ty.Legend.defaultConfig().legendConfig,{container:z,elements:O,reverseOrder:u.legend.reverseOrder})})();var R=z.node().getBBox();g=Math.min(u.width-R.width-u.margin.left-u.margin.right,u.height-u.margin.top-u.margin.bottom)/2,g=Math.max(10,g),m=[u.margin.left+g,u.margin.top+g],n.range([0,g]),s.layout.radialAxis.domain=n.domain(),z.attr(\"transform\",\"translate(\"+[m[0]+g,m[1]-g]+\")\")}else z=t.select(\".legend-group\").style({display:\"none\"});t.attr({width:u.width,height:u.height}).style({opacity:u.opacity}),P.attr(\"transform\",\"translate(\"+m+\")\").style({cursor:\"crosshair\"});var F=[(u.width-(u.margin.left+u.margin.right+2*g+(R?R.width:0)))/2,(u.height-(u.margin.top+u.margin.bottom+2*g))/2];if(F[0]=Math.max(0,F[0]),F[1]=Math.max(0,F[1]),t.select(\".outer-group\").attr(\"transform\",\"translate(\"+F+\")\"),u.title){var B=t.select(\"g.title-group text\").style(D).text(u.title),N=B.node().getBBox();B.attr({x:m[0]-N.width/2,y:m[1]-g-20})}var j=t.select(\".radial.axis-group\");if(u.radialAxis.gridLinesVisible){var V=j.selectAll(\"circle.grid-circle\").data(n.ticks(5));V.enter().append(\"circle\").attr({class:\"grid-circle\"}).style(I),V.attr(\"r\",n),V.exit().remove()}j.select(\"circle.outside-circle\").attr({r:g}).style(I);var U=t.select(\"circle.background-circle\").attr({r:g}).style({fill:u.backgroundColor,stroke:u.stroke});function q(t,e){return i(t)%360+u.orientation}if(u.radialAxis.visible){var H=e.svg.axis().scale(n).ticks(5).tickSize(5);j.call(H).attr({transform:\"rotate(\"+u.radialAxis.orientation+\")\"}),j.selectAll(\".domain\").style(I),j.selectAll(\"g>text\").text(function(t,e){return this.textContent+u.radialAxis.ticksSuffix}).style(D).style({\"text-anchor\":\"start\"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return\"horizontal\"===u.radialAxis.tickOrientation?\"rotate(\"+-u.radialAxis.orientation+\") translate(\"+[0,D[\"font-size\"]]+\")\":\"translate(\"+[0,D[\"font-size\"]]+\")\"}}),j.selectAll(\"g>line\").style({stroke:\"black\"})}var G=t.select(\".angular.axis-group\").selectAll(\"g.angular-tick\").data(E),W=G.enter().append(\"g\").classed(\"angular-tick\",!0);G.attr({transform:function(t,e){return\"rotate(\"+q(t)+\")\"}}).style({display:u.angularAxis.visible?\"block\":\"none\"}),G.exit().remove(),W.append(\"line\").classed(\"grid-line\",!0).classed(\"major\",function(t,e){return e%(u.minorTicks+1)==0}).classed(\"minor\",function(t,e){return!(e%(u.minorTicks+1)==0)}).style(I),W.selectAll(\".minor\").style({stroke:u.minorTickColor}),G.select(\"line.grid-line\").attr({x1:u.tickLength?g-u.tickLength:0,x2:g}).style({display:u.angularAxis.gridLinesVisible?\"block\":\"none\"}),W.append(\"text\").classed(\"axis-text\",!0).style(D);var Y=G.select(\"text.axis-text\").attr({x:g+u.labelOffset,dy:$m+\"em\",transform:function(t,e){var r=q(t),n=g+u.labelOffset,i=u.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:u.angularAxis.labelsVisible?\"block\":\"none\"}).text(function(t,e){return e%(u.minorTicks+1)!=0?\"\":y?y[t]+u.angularAxis.ticksSuffix:t+u.angularAxis.ticksSuffix}).style(D);u.angularAxis.rewriteTicks&&Y.text(function(t,e){return e%(u.minorTicks+1)!=0?\"\":u.angularAxis.rewriteTicks(this.textContent,e)});var X=e.max(P.selectAll(\".angular-tick text\")[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));z.attr({transform:\"translate(\"+[g+X,u.margin.top]+\")\"});var Z=t.select(\"g.geometry-group\").selectAll(\"g\").size()>0,J=t.select(\"g.geometry-group\").selectAll(\"g.geometry\").data(c);if(J.enter().append(\"g\").attr({class:function(t,e){return\"geometry geometry\"+e}}),J.exit().remove(),c[0]||Z){var K=[];c.forEach(function(t,e){var r={};r.radialScale=n,r.angularScale=i,r.container=J.filter(function(t,r){return r==e}),r.geometry=t.geometry,r.orientation=u.orientation,r.direction=u.direction,r.index=e,K.push({data:t,geometryConfig:r})});var Q=[];e.nest().key(function(t,e){return void 0!==t.data.groupId||\"unstacked\"}).entries(K).forEach(function(t,e){\"unstacked\"===t.key?Q=Q.concat(t.values.map(function(t,e){return[t]})):Q.push(t.values)}),Q.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 Qm(ty[r].defaultConfig(),t)});ty[r]().config(n)()})}var $,tt,et=t.select(\".guides-group\"),rt=t.select(\".tooltips-group\"),nt=ty.tooltipPanel().config({container:rt,fontSize:8})(),it=ty.tooltipPanel().config({container:rt,fontSize:8})(),at=ty.tooltipPanel().config({container:rt,hasTick:!0})();if(!b){var ot=et.select(\"line\").attr({x1:0,y1:0,y2:0}).style({stroke:\"grey\",\"pointer-events\":\"none\"});P.on(\"mousemove.angular-guide\",function(t,e){var r=ty.util.getMousePos(U).angle;ot.attr({x2:-g,transform:\"rotate(\"+r+\")\"}).style({opacity:.5});var n=(r+180+360-u.orientation)%360;$=i.invert(n);var a=ty.util.convertToCartesian(g+12,r+180);nt.text(ty.util.round($)).move([a[0]+m[0],a[1]+m[1]])}).on(\"mouseout.angular-guide\",function(t,e){et.select(\"line\").style({opacity:0})})}var st=et.select(\"circle\").style({stroke:\"grey\",fill:\"none\"});P.on(\"mousemove.radial-guide\",function(t,e){var r=ty.util.getMousePos(U).radius;st.attr({r:r}).style({opacity:.5}),tt=n.invert(ty.util.getMousePos(U).radius);var i=ty.util.convertToCartesian(r,u.radialAxis.orientation);it.text(ty.util.round(tt)).move([i[0]+m[0],i[1]+m[1]])}).on(\"mouseout.radial-guide\",function(t,e){st.style({opacity:0}),at.hide(),nt.hide(),it.hide()}),t.selectAll(\".geometry-group .mark\").on(\"mouseover.tooltip\",function(r,n){var i=e.select(this),a=this.style.fill,o=\"black\",s=this.style.opacity||1;if(i.attr({\"data-opacity\":s}),a&&\"none\"!==a){i.attr({\"data-fill\":a}),o=e.hsl(a).darker().toString(),i.style({fill:o,opacity:1});var l={t:ty.util.round(r[0]),r:ty.util.round(r[1])};b&&(l.t=y[r[0]]);var u=\"t: \"+l.t+\", r: \"+l.r,c=this.getBoundingClientRect(),h=t.node().getBoundingClientRect(),f=[c.left+c.width/2-F[0]-h.left,c.top+c.height/2-F[1]-h.top];at.config({color:o}).text(u),at.move(f)}else a=this.style.stroke||\"black\",i.attr({\"data-stroke\":a}),o=e.hsl(a).darker().toString(),i.style({stroke:o,opacity:1})}).on(\"mousemove.tooltip\",function(t,r){if(0!=e.event.which)return!1;e.select(this).attr(\"data-fill\")&&at.show()}).on(\"mouseout.tooltip\",function(t,r){at.hide();var n=e.select(this),i=n.attr(\"data-fill\");i?n.style({fill:i,opacity:n.attr(\"data-opacity\")}):n.style({stroke:n.attr(\"data-stroke\"),opacity:n.attr(\"data-opacity\")})})})}(o),this},u.config=function(t){if(!arguments.length)return a;var e=ty.util.cloneJson(t);return e.data.forEach(function(t,e){a.data[e]||(a.data[e]={}),Qm(a.data[e],ty.Axis.defaultConfig().data[0]),Qm(a.data[e],t)}),Qm(a.layout,ty.Axis.defaultConfig().layout),Qm(a.layout,e.layout),this},u.getLiveConfig=function(){return s},u.getinputConfig=function(){return o},u.radialScale=function(t){return n},u.angularScale=function(t){return i},u.svg=function(){return t},e.rebind(u,l,\"on\"),u},ty.Axis.defaultConfig=function(t,r){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:e.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}}},ty.util={},ty.DATAEXTENT=\"dataExtent\",ty.AREA=\"AreaChart\",ty.LINE=\"LinePlot\",ty.DOT=\"DotPlot\",ty.BAR=\"BarChart\",ty.util._override=function(t,e){for(var r in t)r in e&&(e[r]=t[r])},ty.util._extend=function(t,e){for(var r in t)e[r]=t[r]},ty.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},ty.util.dataFromEquation2=function(t,r){var n=r||6;return e.range(0,360+n,n).map(function(e,r){var n=e*Math.PI/180;return[e,t(n)]})},ty.util.dataFromEquation=function(t,r,n){var i=r||6,a=[],o=[];e.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 n&&(s.name=n),s},ty.util.ensureArray=function(t,r){if(void 0===t)return null;var n=[].concat(t);return e.range(r).map(function(t,e){return n[e]||n[0]})},ty.util.fillArrays=function(t,e,r){return e.forEach(function(e,n){t[e]=ty.util.ensureArray(t[e],r)}),t},ty.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},ty.util.validateKeys=function(t,e){\"string\"==typeof e&&(e=e.split(\".\"));var r=e.shift();return t[r]&&(!e.length||objHasKeys(t[r],e))},ty.util.sumArrays=function(t,r){return e.zip(t,r).map(function(t,r){return e.sum(t)})},ty.util.arrayLast=function(t){return t[t.length-1]},ty.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- >=0&&t[r]===e[r];);return-2===r},ty.util.flattenArray=function(t){for(var e=[];!ty.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},ty.util.deduplicate=function(t){return t.filter(function(t,e,r){return r.indexOf(t)==e})},ty.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},ty.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},ty.util.getMousePos=function(t){var r=e.mouse(t.node()),n=r[0],i=r[1],a={};return a.x=n,a.y=i,a.pos=r,a.angle=180*(Math.atan2(i,n)+Math.PI)/Math.PI,a.radius=Math.sqrt(n*n+i*i),a},ty.util.duplicatesCount=function(t){for(var e,r={},n={},i=0,a=t.length;i<a;i++)(e=t[i])in r?(r[e]++,n[e]=r[e]):r[e]=1;return n},ty.util.duplicates=function(t){return Object.keys(ty.util.duplicatesCount(t))},ty.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))},ty.PolyChart=function(){var t=[ty.PolyChart.defaultConfig()],r=e.dispatch(\"hover\"),n={solid:\"none\",dash:[5,2],dot:[2,5]};function i(){var r=t[0].geometryConfig,i=r.container;\"string\"==typeof i&&(i=e.select(i)),i.datum(t).each(function(t,i){var a=!!t[0].data.yStack,o=t.map(function(t,r){return a?e.zip(t.data.t[0],t.data.r[0],t.data.yStack[0]):e.zip(t.data.t[0],t.data.r[0])}),s=r.angularScale,l=r.radialScale.domain()[0],u={bar:function(n,i,a){var o=t[a].data,l=r.radialScale(n[1])-r.radialScale(0),u=r.radialScale(n[2]||0),c=o.barWidth;e.select(this).attr({class:\"mark bar\",d:\"M\"+[[l+u,-c/2],[l+u,c/2],[u,c/2],[u,-c/2]].join(\"L\")+\"Z\",transform:function(t,e){return\"rotate(\"+(r.orientation+s(t[0]))+\")\"}})}};u.dot=function(n,i,a){var o=n[2]?[n[0],n[1]+n[2]]:n,s=e.svg.symbol().size(t[a].data.dotSize).type(t[a].data.dotType)(n,i);e.select(this).attr({class:\"mark dot\",d:s,transform:function(t,e){var n,i,a,s=(n=function(t,e){var n=r.radialScale(t[1]),i=(r.angularScale(t[0])+r.orientation)*Math.PI/180;return{r:n,t:i}}(o),i=n.r*Math.cos(n.t),a=n.r*Math.sin(n.t),{x:i,y:a});return\"translate(\"+[s.x,s.y]+\")\"}})};var c=e.svg.line.radial().interpolate(t[0].data.lineInterpolation).radius(function(t){return r.radialScale(t[1])}).angle(function(t){return r.angularScale(t[0])*Math.PI/180});u.line=function(n,i,a){var s=n[2]?o[a].map(function(t,e){return[t[0],t[1]+t[2]]}):o[a];if(e.select(this).each(u.dot).style({opacity:function(e,r){return+t[a].data.dotVisible},fill:d.stroke(n,i,a)}).attr({class:\"mark dot\"}),!(i>0)){var l=e.select(this.parentNode).selectAll(\"path.line\").data([0]);l.enter().insert(\"path\"),l.attr({class:\"line\",d:c(s),transform:function(t,e){return\"rotate(\"+(r.orientation+90)+\")\"},\"pointer-events\":\"none\"}).style({fill:function(t,e){return d.fill(n,i,a)},\"fill-opacity\":0,stroke:function(t,e){return d.stroke(n,i,a)},\"stroke-width\":function(t,e){return d[\"stroke-width\"](n,i,a)},\"stroke-dasharray\":function(t,e){return d[\"stroke-dasharray\"](n,i,a)},opacity:function(t,e){return d.opacity(n,i,a)},display:function(t,e){return d.display(n,i,a)}})}};var h=r.angularScale.range(),f=Math.abs(h[1]-h[0])/o[0].length*Math.PI/180,p=e.svg.arc().startAngle(function(t){return-f/2}).endAngle(function(t){return f/2}).innerRadius(function(t){return r.radialScale(l+(t[2]||0))}).outerRadius(function(t){return r.radialScale(l+(t[2]||0))+r.radialScale(t[1])});u.arc=function(t,n,i){e.select(this).attr({class:\"mark arc\",d:p,transform:function(t,e){return\"rotate(\"+(r.orientation+s(t[0])+90)+\")\"}})};var d={fill:function(e,r,n){return t[n].data.color},stroke:function(e,r,n){return t[n].data.strokeColor},\"stroke-width\":function(e,r,n){return t[n].data.strokeSize+\"px\"},\"stroke-dasharray\":function(e,r,i){return n[t[i].data.strokeDash]},opacity:function(e,r,n){return t[n].data.opacity},display:function(e,r,n){return void 0===t[n].data.visible||t[n].data.visible?\"block\":\"none\"}},g=e.select(this).selectAll(\"g.layer\").data(o);g.enter().append(\"g\").attr({class:\"layer\"});var v=g.selectAll(\"path.mark\").data(function(t,e){return t});v.enter().append(\"path\").attr({class:\"mark\"}),v.style(d).each(u[r.geometryType]),v.exit().remove(),g.exit().remove()})}return i.config=function(e){return arguments.length?(e.forEach(function(e,r){t[r]||(t[r]={}),Qm(t[r],ty.PolyChart.defaultConfig()),Qm(t[r],e)}),this):t},i.getColorScale=function(){},e.rebind(i,r,\"on\"),i},ty.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:e.scale.category20()}}},ty.BarChart=function(){return ty.PolyChart()},ty.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:\"bar\"}}},ty.AreaChart=function(){return ty.PolyChart()},ty.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:\"arc\"}}},ty.DotPlot=function(){return ty.PolyChart()},ty.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:\"dot\",dotType:\"circle\"}}},ty.LinePlot=function(){return ty.PolyChart()},ty.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:\"line\"}}},ty.Legend=function(){var t=ty.Legend.defaultConfig(),r=e.dispatch(\"hover\");function n(){var r=t.legendConfig,i=t.data.map(function(t,e){return[].concat(t).map(function(t,n){var i=Qm({},r.elements[e]);return i.name=t,i.color=[].concat(r.elements[e].color)[n],i})}),a=e.merge(i);a=a.filter(function(t,e){return r.elements[e]&&(r.elements[e].visibleInLegend||void 0===r.elements[e].visibleInLegend)}),r.reverseOrder&&(a=a.reverse());var o=r.container;(\"string\"==typeof o||o.nodeName)&&(o=e.select(o));var s=a.map(function(t,e){return t.color}),l=r.fontSize,u=null==r.isContinuous?\"number\"==typeof a[0]:r.isContinuous,c=u?r.height:l*a.length,h=o.classed(\"legend-group\",!0).selectAll(\"svg\").data([0]),f=h.enter().append(\"svg\").attr({width:300,height:c+l,xmlns:\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",version:\"1.1\"});f.append(\"g\").classed(\"legend-axis\",!0),f.append(\"g\").classed(\"legend-marks\",!0);var p=e.range(a.length),d=e.scale[u?\"linear\":\"ordinal\"]().domain(p).range(s),g=e.scale[u?\"linear\":\"ordinal\"]().domain(p)[u?\"range\":\"rangePoints\"]([0,c]);if(u){var v=h.select(\".legend-marks\").append(\"defs\").append(\"linearGradient\").attr({id:\"grad1\",x1:\"0%\",y1:\"0%\",x2:\"0%\",y2:\"100%\"}).selectAll(\"stop\").data(s);v.enter().append(\"stop\"),v.attr({offset:function(t,e){return e/(s.length-1)*100+\"%\"}}).style({\"stop-color\":function(t,e){return t}}),h.append(\"rect\").classed(\"legend-mark\",!0).attr({height:r.height,width:r.colorBandWidth,fill:\"url(#grad1)\"})}else{var m=h.select(\".legend-marks\").selectAll(\"path.legend-mark\").data(a);m.enter().append(\"path\").classed(\"legend-mark\",!0),m.attr({transform:function(t,e){return\"translate(\"+[l/2,g(e)+l/2]+\")\"},d:function(t,r){var n,i,a,o=t.symbol;return a=3*(i=l),\"line\"===(n=o)?\"M\"+[[-i/2,-i/12],[i/2,-i/12],[i/2,i/12],[-i/2,i/12]]+\"Z\":-1!=e.svg.symbolTypes.indexOf(n)?e.svg.symbol().type(n).size(a)():e.svg.symbol().type(\"square\").size(a)()},fill:function(t,e){return d(e)}}),m.exit().remove()}var y=e.svg.axis().scale(g).orient(\"right\"),x=h.select(\"g.legend-axis\").attr({transform:\"translate(\"+[u?r.colorBandWidth:l,l/2]+\")\"}).call(y);return x.selectAll(\".domain\").style({fill:\"none\",stroke:\"none\"}),x.selectAll(\"line\").style({fill:\"none\",stroke:u?r.textColor:\"none\"}),x.selectAll(\"text\").style({fill:r.textColor,\"font-size\":r.fontSize}).text(function(t,e){return a[e].name}),n}return n.config=function(e){return arguments.length?(Qm(t,e),this):t},e.rebind(n,r,\"on\"),n},ty.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}}},ty.tooltipPanel=function(){var t,r,n,i={container:null,hasTick:!1,fontSize:12,color:\"white\",padding:5},a=\"tooltip-\"+ty.tooltipPanel.uid++,o=10,s=function(){var e=(t=i.container.selectAll(\"g.\"+a).data([0])).enter().append(\"g\").classed(a,!0).style({\"pointer-events\":\"none\",display:\"none\"});return n=e.append(\"path\").style({fill:\"white\",\"fill-opacity\":.9}).attr({d:\"M0 0\"}),r=e.append(\"text\").attr({dx:i.padding+o,dy:.3*+i.fontSize}),s};return s.text=function(a){var l=e.hsl(i.color).l,u=l>=.5?\"#aaa\":\"white\",c=l>=.5?\"black\":\"white\",h=a||\"\";r.style({fill:c,\"font-size\":i.fontSize+\"px\"}).text(h);var f=i.padding,p=r.node().getBBox(),d={fill:i.color,stroke:u,\"stroke-width\":\"2px\"},g=p.width+2*f+o,v=p.height+2*f;return n.attr({d:\"M\"+[[o,-v/2],[o,-v/4],[i.hasTick?0:o,0],[o,v/4],[o,v/2],[g,v/2],[g,-v/2]].join(\"L\")+\"Z\"}).style(d),t.attr({transform:\"translate(\"+[o,-v/2+2*f]+\")\"}),t.style({display:\"block\"}),s},s.move=function(e){if(t)return t.attr({transform:\"translate(\"+[e[0],e[1]]+\")\"}).style({display:\"block\"}),s},s.hide=function(){if(t)return t.style({display:\"none\"}),s},s.show=function(){if(t)return t.style({display:\"block\"}),s},s.config=function(t){return Qm(i,t),s},s},ty.tooltipPanel.uid=1,ty.adapter={},ty.adapter.plotly=function(){var t={convert:function(t,r){var n={};if(t.data&&(n.data=t.data.map(function(t,e){var n=Qm({},t);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,e){ty.util.translator.apply(null,t.concat(r))}),r||delete n.marker,r&&delete n.groupId,r?(\"LinePlot\"===n.geometry?(n.type=\"scatter\",!0===n.dotVisible?(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}),!r&&t.layout&&\"stack\"===t.layout.barmode)){var i=ty.util.duplicates(n.data.map(function(t,e){return t.geometry}));n.data.forEach(function(t,e){var r=i.indexOf(t.geometry);-1!=r&&(n.data[e].groupId=r)})}if(t.layout){var a=Qm({},t.layout);if([[a,[\"plot_bgcolor\"],[\"backgroundColor\"]],[a,[\"showlegend\"],[\"showLegend\"]],[a,[\"radialaxis\"],[\"radialAxis\"]],[a,[\"angularaxis\"],[\"angularAxis\"]],[a.angularaxis,[\"showline\"],[\"gridLinesVisible\"]],[a.angularaxis,[\"showticklabels\"],[\"labelsVisible\"]],[a.angularaxis,[\"nticks\"],[\"ticksCount\"]],[a.angularaxis,[\"tickorientation\"],[\"tickOrientation\"]],[a.angularaxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[a.angularaxis,[\"range\"],[\"domain\"]],[a.angularaxis,[\"endpadding\"],[\"endPadding\"]],[a.radialaxis,[\"showline\"],[\"gridLinesVisible\"]],[a.radialaxis,[\"tickorientation\"],[\"tickOrientation\"]],[a.radialaxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[a.radialaxis,[\"range\"],[\"domain\"]],[a.angularAxis,[\"showline\"],[\"gridLinesVisible\"]],[a.angularAxis,[\"showticklabels\"],[\"labelsVisible\"]],[a.angularAxis,[\"nticks\"],[\"ticksCount\"]],[a.angularAxis,[\"tickorientation\"],[\"tickOrientation\"]],[a.angularAxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[a.angularAxis,[\"range\"],[\"domain\"]],[a.angularAxis,[\"endpadding\"],[\"endPadding\"]],[a.radialAxis,[\"showline\"],[\"gridLinesVisible\"]],[a.radialAxis,[\"tickorientation\"],[\"tickOrientation\"]],[a.radialAxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[a.radialAxis,[\"range\"],[\"domain\"]],[a.font,[\"outlinecolor\"],[\"outlineColor\"]],[a.legend,[\"traceorder\"],[\"reverseOrder\"]],[a,[\"labeloffset\"],[\"labelOffset\"]],[a,[\"defaultcolorrange\"],[\"defaultColorRange\"]]].forEach(function(t,e){ty.util.translator.apply(null,t.concat(r))}),r?(void 0!==a.tickLength&&(a.angularaxis.ticklen=a.tickLength,delete a.tickLength),a.tickColor&&(a.angularaxis.tickcolor=a.tickColor,delete a.tickColor)):(a.angularAxis&&void 0!==a.angularAxis.ticklen&&(a.tickLength=a.angularAxis.ticklen),a.angularAxis&&void 0!==a.angularAxis.tickcolor&&(a.tickColor=a.angularAxis.tickcolor)),a.legend&&\"boolean\"!=typeof a.legend.reverseOrder&&(a.legend.reverseOrder=\"normal\"!=a.legend.reverseOrder),a.legend&&\"boolean\"==typeof a.legend.traceorder&&(a.legend.traceorder=a.legend.traceorder?\"reversed\":\"normal\",delete a.legend.reverseOrder),a.margin&&void 0!==a.margin.t){var o=[\"t\",\"r\",\"b\",\"l\",\"pad\"],s=[\"top\",\"right\",\"bottom\",\"left\",\"pad\"],l={};e.entries(a.margin).forEach(function(t,e){l[s[o.indexOf(t.key)]]=t.value}),a.margin=l}r&&(delete a.needsEndSpacing,delete a.minorTickColor,delete a.minorTicks,delete a.angularaxis.ticksCount,delete a.angularaxis.ticksCount,delete a.angularaxis.ticksStep,delete a.angularaxis.rewriteTicks,delete a.angularaxis.nticks,delete a.radialaxis.ticksCount,delete a.radialaxis.ticksCount,delete a.radialaxis.ticksStep,delete a.radialaxis.rewriteTicks,delete a.radialaxis.nticks),n.layout=a}return n}};return t};var ey,ry=ne.extendDeepAll,ny=ey={};ny.framework=function(t){var r,n,i,a,o,s=new function(){var t,e=[],r=-1,n=!1;function i(t,e){return t?(n=!0,t[e](),n=!1,this):this}return{add:function(t){return n?this:(e.splice(r+1,e.length-r),e.push(t),r=e.length-1,this)},setCallback:function(e){t=e},undo:function(){var n=e[r];return n?(i(n,\"undo\"),r-=1,t&&t(n.undo),this):this},redo:function(){var n=e[r+1];return n?(i(n,\"redo\"),r+=1,t&&t(n.redo),this):this},clear:function(){e=[],r=-1},hasUndo:function(){return-1!==r},hasRedo:function(){return r<e.length-1},getCommands:function(){return e},getPreviousCommand:function(){return e[r-1]},getIndex:function(){return r}}};function l(n,s){return s&&(o=s),e.select(e.select(o).node().parentNode).selectAll(\".svg-container>*:not(.chart-root)\").remove(),r=r?ry(r,n):n,i||(i=Km.Axis()),a=Km.adapter.plotly().convert(r),i.config(a).render(o),t.data=r.data,t.layout=r.layout,ny.fillLayout(t),r}return l.isPolar=!0,l.svg=function(){return i.svg()},l.getConfig=function(){return r},l.getLiveConfig=function(){return Km.adapter.plotly().convert(i.getLiveConfig(),!0)},l.getLiveScales=function(){return{t:i.angularScale(),r:i.radialScale()}},l.setUndoPoint=function(){var t,e,i=this,a=Km.util.cloneJson(r);t=a,e=n,s.add({undo:function(){e&&i(e)},redo:function(){i(t)}}),n=Km.util.cloneJson(a)},l.undo=function(){s.undo()},l.redo=function(){s.redo()},l},ny.fillLayout=function(t){var r=e.select(t).selectAll(\".plot-container\"),n=r.selectAll(\".svg-container\"),i=t.framework&&t.framework.svg&&t.framework.svg(),a={width:800,height:600,paper_bgcolor:Oe.background,_container:r,_paperdiv:n,_paper:i};t._fullLayout=ry(a,t.layout)};var iy={};(iy=Km).manager=ey;var ay={},oy=Gm.enforce,sy=Gm.clean,ly=Nn,uy=0;function cy(t,e){try{t._fullLayout._paper.style(\"background\",e)}catch(t){ne.error(t)}}function hy(t,e){cy(t,Oe.combine(e,\"white\"))}function fy(t,e){t._context||(t._context=ne.extendDeep({},b));var r,n,i,a=t._context;if(e){for(n=Object.keys(e),r=0;r<n.length;r++)\"editable\"!==(i=n[r])&&\"edits\"!==i&&i in a&&(\"setBackground\"===i&&\"opaque\"===e[i]?a[i]=hy:a[i]=e[i]);e.plot3dPixelRatio&&!a.plotGlPixelRatio&&(a.plotGlPixelRatio=a.plot3dPixelRatio);var o=e.editable;if(void 0!==o)for(a.editable=o,n=Object.keys(a.edits),r=0;r<n.length;r++)a.edits[n[r]]=o;if(e.edits)for(n=Object.keys(e.edits),r=0;r<n.length;r++)(i=n[r])in a.edits&&(a.edits[i]=e.edits[i])}a.staticPlot&&(a.editable=!1,a.edits={},a.autosizable=!1,a.scrollZoom=!1,a.doubleClick=!1,a.showTips=!1,a.showLink=!1,a.displayModeBar=!1),\"hover\"!==a.displayModeBar||Sa||(a.displayModeBar=!0),\"transparent\"!==a.setBackground&&\"function\"==typeof a.setBackground||(a.setBackground=cy)}function py(t,e){var r,n,i=e+1,a=[];for(r=0;r<t.length;r++)(n=t[r])<0?a.push(i+n):a.push(n);return a}function dy(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 gy(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]),dy(t,e,\"currentIndices\"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&dy(t,r,\"newIndices\"),void 0!==r&&e.length!==r.length)throw new Error(\"current and new indices must be of equal length.\")}function vy(t,e,n,i,a){!function(t,e,r,n){var i=ne.isPlainObject(n);if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array\");if(!ne.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\");for(var a in dy(t,r,\"indices\"),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\")}}(t,e,n,i);for(var o=function(t,e,n,i){var a,o,s,l,u,c=ne.isPlainObject(i),h=[];for(var f in Array.isArray(n)||(n=[n]),n=py(n,t.data.length-1),e)for(var p=0;p<n.length;p++){if(a=t.data[n[p]],o=(s=ne.nestedProperty(a,f)).get(),l=e[f][p],!ne.isArrayOrTypedArray(l))throw new Error(\"attribute: \"+f+\" index: \"+p+\" must be an array\");if(!ne.isArrayOrTypedArray(o))throw new Error(\"cannot extend missing or non-array attribute: \"+f);if(o.constructor!==l.constructor)throw new Error(\"cannot extend array with an array of a different type: \"+f);u=c?i[f][p]:i,r(u)||(u=-1),h.push({prop:s,target:o,insert:l,maxp:Math.floor(u)})}return h}(t,e,n,i),s={},l={},u=0;u<o.length;u++){var c=o[u].prop,h=o[u].maxp,f=a(o[u].target,o[u].insert,h);c.set(f[0]),Array.isArray(s[c.astr])||(s[c.astr]=[]),s[c.astr].push(f[1]),Array.isArray(l[c.astr])||(l[c.astr]=[]),l[c.astr].push(o[u].target.length)}return{update:s,maxPoints:l}}function my(t,e){var r=new t.constructor(t.length+e.length);return r.set(t),r.set(e,t.length),r}function yy(t){return void 0===t?null:t}function xy(t,e,r){var n,i,a=t._fullLayout,o=t._fullData,s=t.data,l=ye.traceFlags(),u={},c={};function h(){return r.map(function(){})}function f(t){var e=ri.id2name(t);-1===i.indexOf(e)&&i.push(e)}function p(t){return\"LAYOUT\"+t+\".autorange\"}function d(t){return\"LAYOUT\"+t+\".range\"}function g(n,i,a){var o;Array.isArray(n)?n.forEach(function(t){g(t,i,a)}):n in e||Vv.hasParent(e,n)||(o=\"LAYOUT\"===n.substr(0,6)?ne.nestedProperty(t.layout,n.replace(\"LAYOUT\",\"\")):ne.nestedProperty(s[r[a]],n),n in c||(c[n]=h()),void 0===c[n][a]&&(c[n][a]=yy(o.get())),void 0!==i&&o.set(i))}for(var v in e){if(Vv.hasParent(e,v))throw new Error(\"cannot set \"+v+\"and a parent attribute simultaneously\");var m,y,x,b,_,w,M=e[v];if(u[v]=M,\"LAYOUT\"!==v.substr(0,6)){for(c[v]=h(),n=0;n<r.length;n++)if(m=s[r[n]],y=o[r[n]],b=(x=ne.nestedProperty(m,v)).get(),void 0!==(_=Array.isArray(M)?M[n%M.length]:M)){if((w=nn.getTraceValObject(y,x.parts))&&w.impliedEdits&&null!==_)for(var A in w.impliedEdits)g(ne.relativeAttr(v,A),w.impliedEdits[A],n);else if(\"colorbar.thicknessmode\"===v&&x.get()!==_&&-1!==[\"fraction\",\"pixels\"].indexOf(_)&&y.colorbar){var k=-1!==[\"top\",\"bottom\"].indexOf(y.colorbar.orient)?a.height-a.margin.t-a.margin.b:a.width-a.margin.l-a.margin.r;g(\"colorbar.thickness\",y.colorbar.thickness*(\"fraction\"===_?1/k:k),n)}else if(\"colorbar.lenmode\"===v&&x.get()!==_&&-1!==[\"fraction\",\"pixels\"].indexOf(_)&&y.colorbar){var T=-1!==[\"top\",\"bottom\"].indexOf(y.colorbar.orient)?a.width-a.margin.l-a.margin.r:a.height-a.margin.t-a.margin.b;g(\"colorbar.len\",y.colorbar.len*(\"fraction\"===_?1/T:T),n)}else\"colorbar.tick0\"!==v&&\"colorbar.dtick\"!==v||g(\"colorbar.tickmode\",\"linear\",n);if(\"type\"===v&&\"pie\"===_!=(\"pie\"===b)){var S=\"x\",E=\"y\";\"bar\"!==_&&\"bar\"!==b||\"h\"!==m.orientation||(S=\"y\",E=\"x\"),ne.swapAttrs(m,[\"?\",\"?src\"],\"labels\",S),ne.swapAttrs(m,[\"d?\",\"?0\"],\"label\",S),ne.swapAttrs(m,[\"?\",\"?src\"],\"values\",E),\"pie\"===b?(ne.nestedProperty(m,\"marker.color\").set(ne.nestedProperty(m,\"marker.colors\").get()),a._pielayer.selectAll(\"g.trace\").remove()):P.traceIs(m,\"cartesian\")&&ne.nestedProperty(m,\"marker.colors\").set(ne.nestedProperty(m,\"marker.color\").get())}c[v][n]=yy(b);if(-1!==[\"swapxy\",\"swapxyaxes\",\"orientation\",\"orientationaxes\"].indexOf(v)){if(\"orientation\"===v){x.set(_);var C=m.x&&!m.y?\"h\":\"v\";if((x.get()||C)===y.orientation)continue}else\"orientationaxes\"===v&&(m.orientation={v:\"h\",h:\"v\"}[y.orientation]);Vv.swapXYData(m),l.calc=l.clearAxisTypes=!0}else-1!==_n.dataArrayContainers.indexOf(x.parts[0])?(Vv.manageArrayContainers(x,_,c),l.calc=!0):(w?w.arrayOk&&(ne.isArrayOrTypedArray(_)||ne.isArrayOrTypedArray(b))?l.calc=!0:ye.update(l,w):l.calc=!0,x.set(_))}if(-1!==[\"swapxyaxes\",\"orientationaxes\"].indexOf(v)&&ri.swap(t,r),\"orientationaxes\"===v){var L=ne.nestedProperty(t.layout,\"hovermode\");\"x\"===L.get()?L.set(\"y\"):\"y\"===L.get()&&L.set(\"x\")}if(-1!==[\"orientation\",\"type\"].indexOf(v)){for(i=[],n=0;n<r.length;n++){var z=s[r[n]];P.traceIs(z,\"cartesian\")&&(f(z.xaxis||\"x\"),f(z.yaxis||\"y\"),\"type\"===v&&g([\"autobinx\",\"autobiny\"],!0,n))}g(i.map(p),!0,0),g(i.map(d),[0,1],0)}}else x=ne.nestedProperty(t.layout,v.replace(\"LAYOUT\",\"\")),c[v]=[yy(x.get())],x.set(Array.isArray(M)?M[0]:M),l.calc=!0}var I=!1,D=ri.list(t);for(n=0;n<D.length;n++)if(D[n].autorange){I=!0;break}return(l.calc||l.calcIfAutorange&&I)&&(l.clearCalc=!0),(l.calc||l.plot||l.calcIfAutorange)&&(l.fullReplot=!0),{flags:l,undoit:c,redoit:u,traces:r,eventData:ne.extendDeepNoArrays([],[u,r])}}function by(t,e){var r,n,i,a=t.layout,o=t._fullLayout,s=Object.keys(e),l=ri.list(t),u={};for(n=0;n<s.length;n++)if(0===s[n].indexOf(\"allaxes\")){for(i=0;i<l.length;i++){var c=l[i]._id.substr(1),h=-1!==c.indexOf(\"scene\")?c+\".\":\"\",f=s[n].replace(\"allaxes\",h+l[i]._name);e[f]||(e[f]=e[s[n]])}delete e[s[n]]}var p=ye.layoutFlags(),d={},g={};function v(t,r){if(Array.isArray(t))t.forEach(function(t){v(t,r)});else if(!(t in e||Vv.hasParent(e,t))){var n=ne.nestedProperty(a,t);t in g||(g[t]=yy(n.get())),void 0!==r&&n.set(r)}}var m,y={};function x(t){var e=ri.name2id(t.split(\".\")[0]);return y[e]=1,e}for(var b in e){if(Vv.hasParent(e,b))throw new Error(\"cannot set \"+b+\"and a parent attribute simultaneously\");for(var _=ne.nestedProperty(a,b),w=e[b],M=_.parts.length,A=M-1;A>0&&\"string\"!=typeof _.parts[M-1];)A--;var k=_.parts[A],T=_.parts[A-1]+\".\"+k,S=_.parts.slice(0,A).join(\".\"),E=ne.nestedProperty(t.layout,S).get(),C=ne.nestedProperty(o,S).get(),L=_.get();if(void 0!==w){d[b]=w,g[b]=\"reverse\"===k?w:yy(L);var z=nn.getLayoutValObject(o,_.parts);if(z&&z.impliedEdits&&null!==w)for(var I in z.impliedEdits)v(ne.relativeAttr(b,I),z.impliedEdits[I]);if(-1!==[\"width\",\"height\"].indexOf(b)&&null===w)o[b]=t._initialAutoSize[b];else if(T.match(/^[xyz]axis[0-9]*\\.range(\\[[0|1]\\])?$/))x(T),ne.nestedProperty(o,S+\"._inputRange\").set(null);else if(T.match(/^[xyz]axis[0-9]*\\.autorange$/)){x(T),ne.nestedProperty(o,S+\"._inputRange\").set(null);var D=ne.nestedProperty(o,S).get();D._inputDomain&&(D._input.domain=D._inputDomain.slice())}else T.match(/^[xyz]axis[0-9]*\\.domain(\\[[0|1]\\])?$/)&&ne.nestedProperty(o,S+\"._inputDomain\").set(null);if(\"type\"===k){var O=E,R=\"linear\"===C.type&&\"log\"===w,F=\"log\"===C.type&&\"linear\"===w;if(R||F){if(O&&O.range)if(C.autorange)R&&(O.range=O.range[1]>O.range[0]?[1,2]:[2,1]);else{var B=O.range[0],N=O.range[1];R?(B<=0&&N<=0&&v(S+\".autorange\",!0),B<=0?B=N/1e6:N<=0&&(N=B/1e6),v(S+\".range[0]\",Math.log(B)/Math.LN10),v(S+\".range[1]\",Math.log(N)/Math.LN10)):(v(S+\".range[0]\",Math.pow(10,B)),v(S+\".range[1]\",Math.pow(10,N)))}else v(S+\".autorange\",!0);Array.isArray(o._subplots.polar)&&o._subplots.polar.length&&o[_.parts[0]]&&\"radialaxis\"===_.parts[1]&&delete o[_.parts[0]]._subplot.viewInitial[\"radialaxis.range\"],P.getComponentMethod(\"annotations\",\"convertCoords\")(t,C,w,v),P.getComponentMethod(\"images\",\"convertCoords\")(t,C,w,v)}else v(S+\".autorange\",!0),v(S+\".range\",null);ne.nestedProperty(o,S+\"._inputRange\").set(null)}else if(k.match(Te.AX_NAME_PATTERN)){var j=ne.nestedProperty(o,b).get(),V=(w||{}).type;V&&\"-\"!==V||(V=\"linear\"),P.getComponentMethod(\"annotations\",\"convertCoords\")(t,j,V,v),P.getComponentMethod(\"images\",\"convertCoords\")(t,j,V,v)}var U=Jv.containerArrayMatch(b);if(U){r=U.array,n=U.index;var q=U.property,H=(ne.nestedProperty(a,r)||[])[n]||{},G=H,W=z||{editType:\"calc\"},Y=-1!==W.editType.indexOf(\"calcIfAutorange\");\"\"===n?(Y?p.calc=!0:ye.update(p,W),Y=!1):\"\"===q&&(G=w,Jv.isAddVal(w)?g[b]=null:Jv.isRemoveVal(w)?(g[b]=H,G=H):ne.warn(\"unrecognized full object value\",e)),Y&&(wy(t,G,\"x\")||wy(t,G,\"y\"))?p.calc=!0:ye.update(p,W),u[r]||(u[r]={});var X=u[r][n];X||(X=u[r][n]={}),X[q]=w,delete e[b]}else\"reverse\"===k?(E.range?E.range.reverse():(v(S+\".autorange\",!0),E.range=[1,0]),C.autorange?p.calc=!0:p.plot=!0):(o._has(\"scatter-like\")&&o._has(\"regl\")&&\"dragmode\"===b&&(\"lasso\"===w||\"select\"===w)&&\"lasso\"!==L&&\"select\"!==L?p.plot=!0:z?ye.update(p,z):p.calc=!0,_.set(w))}}for(r in u){Jv.applyContainerArrayChanges(t,ne.nestedProperty(a,r),u[r],p)||(p.plot=!0)}var Z=o._axisConstraintGroups||[];for(m in y)for(n=0;n<Z.length;n++){var J=Z[n];if(J[m])for(var K in p.calc=!0,J)y[K]||(ri.getFromId(t,K)._constraintShrinkable=!0)}return(_y(t)||e.height||e.width)&&(p.plot=!0),(p.plot||p.calc)&&(p.layoutReplot=!0),{flags:p,undoit:g,redoit:d,eventData:ne.extendDeep({},d)}}function _y(t){var e=t._fullLayout,r=e.width,n=e.height;return t.layout.autosize&&_n.plotAutoSize(t,t.layout,e),e.width!==r||e.height!==n}function wy(t,e,r){if(!ne.isPlainObject(e))return!1;var n=e[r+\"ref\"]||r,i=ri.getFromId(t,n);return i||n.charAt(0)!==r||(i=ri.getFromId(t,r)),(i||{}).autorange}function My(t,e,r,n){var i,a,o=n.getValObject,s=n.flags,l=n.immutable,u=n.inArray,c=n.arrayIndex,h=n.gd,f=n.autoranged;function p(){var t=i.editType;-1!==t.indexOf(\"calcIfAutorange\")&&(f||void 0===f&&(wy(h,e,\"x\")||wy(h,e,\"y\")))?s.calc=!0:u&&-1!==t.indexOf(\"arraydraw\")?ne.pushUnique(s.arrays[u],c):ye.update(s,i)}function d(t){return\"data_array\"===t.valType||t.arrayOk}var g=e._fullInput,v=t._fullInput;for(a in g&&g!==e&&(e=g),v&&v!==t&&(t=v),t){if(s.calc)return;var m=t[a],y=e[a];if(\"_\"!==a.charAt(0)&&\"function\"!=typeof m&&m!==y){if(\"tick0\"===a||\"dtick\"===a){var x=e.tickmode;if(\"auto\"===x||\"array\"===x||!x)continue}if((\"range\"!==a||!e.autorange)&&(\"zmin\"!==a&&\"zmax\"!==a||\"contourcarpet\"!==e.type)){var b=r.concat(a);if(i=o(b)){var _,w=i.valType,M=d(i),A=Array.isArray(m),k=Array.isArray(y);if(A&&k){var T=\"_input_\"+a,S=t[T],E=e[T];if(Array.isArray(S)&&S===E)continue}if(void 0===y)M&&A?s.calc=!0:p();else if(i._isLinkedToArray){var C=[],L=!1;u||(s.arrays[a]=C);var z=Math.min(m.length,y.length),P=Math.max(m.length,y.length);if(z!==P){if(\"arraydraw\"!==i.editType){p();continue}L=!0}for(_=0;_<z;_++)My(m[_],y[_],b.concat(_),ne.extendFlat({inArray:a,arrayIndex:_},n));if(L)for(_=z;_<P;_++)C.push(_)}else!w&&ne.isPlainObject(m)?My(m,y,b,n):M?A&&k?l&&(s.calc=!0):A!==k?s.calc=!0:p():A&&k&&m.length===y.length&&String(m)===String(y)||p()}}}}for(a in e)if(!(a in t||\"_\"===a.charAt(0)||\"function\"==typeof e[a])){if(d(i=o(r.concat(a)))&&Array.isArray(e[a]))return void(s.calc=!0);p()}}function Ay(t){var r=e.select(t),n=t._fullLayout;if(n._container=r.selectAll(\".plot-container\").data([0]),n._container.enter().insert(\"div\",\":first-child\").classed(\"plot-container\",!0).classed(\"plotly\",!0),n._paperdiv=n._container.selectAll(\".svg-container\").data([0]),n._paperdiv.enter().append(\"div\").classed(\"svg-container\",!0).style(\"position\",\"relative\"),n._glcontainer=n._paperdiv.selectAll(\".gl-container\").data([{}]),n._glcontainer.enter().append(\"div\").classed(\"gl-container\",!0),n._glcanvas=null,n._paperdiv.selectAll(\".main-svg\").remove(),n._paper=n._paperdiv.insert(\"svg\",\":first-child\").classed(\"main-svg\",!0),n._toppaper=n._paperdiv.append(\"svg\").classed(\"main-svg\",!0),!n._uid){var i=[];e.selectAll(\"defs\").each(function(){this.id&&i.push(this.id.split(\"-\")[1])}),n._uid=ne.randstr(i)}n._paperdiv.selectAll(\".main-svg\").attr($e.svgAttrs),n._defs=n._paper.append(\"defs\").attr(\"id\",\"defs-\"+n._uid),n._clips=n._defs.append(\"g\").classed(\"clips\",!0),n._topdefs=n._toppaper.append(\"defs\").attr(\"id\",\"topdefs-\"+n._uid),n._topclips=n._topdefs.append(\"g\").classed(\"clips\",!0),n._bgLayer=n._paper.append(\"g\").classed(\"bglayer\",!0),n._draggers=n._paper.append(\"g\").classed(\"draglayer\",!0);var a=n._paper.append(\"g\").classed(\"layer-below\",!0);n._imageLowerLayer=a.append(\"g\").classed(\"imagelayer\",!0),n._shapeLowerLayer=a.append(\"g\").classed(\"shapelayer\",!0),n._cartesianlayer=n._paper.append(\"g\").classed(\"cartesianlayer\",!0),n._polarlayer=n._paper.append(\"g\").classed(\"polarlayer\",!0),n._ternarylayer=n._paper.append(\"g\").classed(\"ternarylayer\",!0),n._geolayer=n._paper.append(\"g\").classed(\"geolayer\",!0),n._pielayer=n._paper.append(\"g\").classed(\"pielayer\",!0),n._glimages=n._paper.append(\"g\").classed(\"glimages\",!0);var o=n._toppaper.append(\"g\").classed(\"layer-above\",!0);n._imageUpperLayer=o.append(\"g\").classed(\"imagelayer\",!0),n._shapeUpperLayer=o.append(\"g\").classed(\"shapelayer\",!0),n._infolayer=n._toppaper.append(\"g\").classed(\"infolayer\",!0),n._menulayer=n._toppaper.append(\"g\").classed(\"menulayer\",!0),n._zoomlayer=n._toppaper.append(\"g\").classed(\"zoomlayer\",!0),n._hoverlayer=n._toppaper.append(\"g\").classed(\"hoverlayer\",!0),t.emit(\"plotly_framework\")}ay.plot=function(t,r,n,i){var a;if(t=ne.getGraphDiv(t),ja.init(t),ne.isPlainObject(r)){var o=r;r=o.data,n=o.layout,i=o.config,a=o.frames}if(!1===ja.triggerHandler(t,\"plotly_beforeplot\",[r,n,i]))return Promise.reject();r||n||ne.isPlotDiv(t)||ne.warn(\"Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.\",t),fy(t,i),n||(n={}),e.select(t).classed(\"js-plotly-plot\",!0),Sr.makeTester(),Array.isArray(t._promises)||(t._promises=[]);var s=0===(t.data||[]).length&&Array.isArray(r);if(Array.isArray(r)&&(Vv.cleanData(r,t.data),s?t.data=r:t.data.push.apply(t.data,r),t.empty=!1),t.layout&&!s||(t.layout=Vv.cleanLayout(n)),t._dragging&&!t._transitioning)return t._replotPending=!0,Promise.reject();t._replotPending=!1,_n.supplyDefaults(t);var l=t._fullLayout,u=l._has(\"cartesian\");if(!l._has(\"polar\")&&r&&r[0]&&r[0].r)return ne.log(\"Legacy polar charts are deprecated!\"),function(t,r,n){var i=e.select(t).selectAll(\".plot-container\").data([0]);i.enter().insert(\"div\",\":first-child\").classed(\"plot-container plotly\",!0);var a=i.selectAll(\".svg-container\").data([0]);a.enter().append(\"div\").classed(\"svg-container\",!0).style(\"position\",\"relative\"),a.html(\"\"),r&&(t.data=r);n&&(t.layout=n);iy.manager.fillLayout(t),a.style({width:t._fullLayout.width+\"px\",height:t._fullLayout.height+\"px\"}),t.framework=iy.manager.framework(t),t.framework({data:t.data,layout:t.layout},a.node()),t.framework.setUndoPoint();var o=t.framework.svg(),s=1,l=t._fullLayout.title;\"\"!==l&&l||(s=0);var u=function(){this.call(er.convertToTspans,t)},c=o.select(\".title-group text\").call(u);if(t._context.edits.titleText){var h=ne._(t,\"Click to enter Plot title\");l&&l!==h||(s=.2,c.attr({\"data-unformatted\":h}).text(h).style({opacity:s}).on(\"mouseover.opacity\",function(){e.select(this).transition().duration(100).style(\"opacity\",1)}).on(\"mouseout.opacity\",function(){e.select(this).transition().duration(1e3).style(\"opacity\",0)}));var f=function(){this.call(er.makeEditable,{gd:t}).on(\"edit\",function(e){t.framework({layout:{title:e}}),this.text(e).call(u),this.call(f)}).on(\"cancel\",function(){var t=this.attr(\"data-unformatted\");this.text(t).call(u)})};c.call(f)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),_n.addLinks(t),Promise.resolve()}(t,r,n);l._replotting=!0,s&&Ay(t),t.framework!==Ay&&(t.framework=Ay,Ay(t)),Sr.initGradients(t),s&&ri.saveShowSpikeInitial(t);var c=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;c&&_n.doCalcdata(t);for(var h=0;h<t.calcdata.length;h++)t.calcdata[h][0].trace=t._fullData[h];var f=JSON.stringify(l._size);function p(){var e,r,n,i=t.calcdata;for(P.getComponentMethod(\"legend\",\"draw\")(t),P.getComponentMethod(\"rangeselector\",\"draw\")(t),P.getComponentMethod(\"sliders\",\"draw\")(t),P.getComponentMethod(\"updatemenus\",\"draw\")(t),e=0;e<i.length;e++)!0===(n=(r=i[e])[0].trace).visible&&n._module.colorbar?n._module.colorbar(t,r):_n.autoMargin(t,\"cb\"+n.uid);return _n.doAutoMargin(t),_n.previousPromises(t)}function d(){if(!t._transitioning){for(var e=ri.list(t,\"\",!0),r=0;r<e.length;r++){var n=e[r];sy(t,n),ly(n)}oy(t),s&&ri.saveRangeInitial(t)}}var g=[_n.previousPromises,function(){if(a)return ay.addFrames(t,a)},function(){for(var e=l._basePlotModules,r=0;r<e.length;r++)e[r].drawFramework&&e[r].drawFramework(t);return!l._glcanvas&&l._has(\"gl\")&&(l._glcanvas=l._glcontainer.selectAll(\".gl-canvas\").data([{key:\"contextLayer\",context:!0,pick:!1},{key:\"focusLayer\",context:!1,pick:!1},{key:\"pickLayer\",context:!1,pick:!0}],function(t){return t.key}),l._glcanvas.enter().append(\"canvas\").attr(\"class\",function(t){return\"gl-canvas gl-canvas-\"+t.key.replace(\"Layer\",\"\")}).style({position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",overflow:\"visible\",\"pointer-events\":\"none\"})),l._glcanvas&&l._glcanvas.attr(\"width\",l.width).attr(\"height\",l.height),ne.syncOrAsync([Vm.layoutStyles],t)},p,function(){if(JSON.stringify(l._size)!==f)return ne.syncOrAsync([p,Vm.layoutStyles],t)}];u&&g.push(function(){if(c){var e,r,n,i=l._subplots.cartesian,a=l._modules,o=[];for(n=0;n<a.length;n++)ne.pushUnique(o,a[n].setPositions);if(o.length)for(r=0;r<i.length;r++)for(e=l._plots[i[r]],n=0;n<o.length;n++)o[n](t,e);return P.getComponentMethod(\"errorbars\",\"calc\")(t),ne.syncOrAsync([P.getComponentMethod(\"shapes\",\"calcAutorange\"),P.getComponentMethod(\"annotations\",\"calcAutorange\"),d,P.getComponentMethod(\"rangeslider\",\"calcAutorange\")],t)}d()}),g.push(Vm.layoutStyles),u&&g.push(function(){return ri.doTicks(t,\"redraw\")}),g.push(function(){var e,r=t.calcdata,n=l._infolayer.selectAll(\"g.rangeslider-container\");for(e=0;e<r.length;e++){var i=r[e][0].trace,a=!0===i.visible,o=i.uid;if(!a||!P.traceIs(i,\"2dMap\")){var s=\".hm\"+o+\",.contour\"+o+\",#clip\"+o;l._paper.selectAll(s).remove(),n.selectAll(s).remove()}a&&i._module.colorbar||l._infolayer.selectAll(\".cb\"+o).remove()}var u=l._basePlotModules;for(e=0;e<u.length;e++)u[e].plot(t);var c=l._paper.selectAll(\".layer-subplot\");return l._shapeSubplotLayers=c.selectAll(\".shapelayer\"),_n.style(t),P.getComponentMethod(\"shapes\",\"draw\")(t),P.getComponentMethod(\"annotations\",\"draw\")(t),_n.addLinks(t),l._replotting=!1,_n.previousPromises(t)},function(){P.getComponentMethod(\"shapes\",\"draw\")(t),P.getComponentMethod(\"images\",\"draw\")(t),P.getComponentMethod(\"annotations\",\"draw\")(t),P.getComponentMethod(\"legend\",\"draw\")(t),P.getComponentMethod(\"rangeslider\",\"draw\")(t),P.getComponentMethod(\"rangeselector\",\"draw\")(t),P.getComponentMethod(\"sliders\",\"draw\")(t),P.getComponentMethod(\"updatemenus\",\"draw\")(t)},jm,_n.rehover,_n.previousPromises);var v=ne.syncOrAsync(g,t);return v&&v.then||(v=Promise.resolve()),v.then(function(){return t.emit(\"plotly_afterplot\"),t})},ay.setPlotConfig=function(t){return ne.extendFlat(b,t)},ay.redraw=function(t){if(t=ne.getGraphDiv(t),!ne.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t);return Vv.cleanData(t.data,t.data),Vv.cleanLayout(t.layout),t.calcdata=void 0,ay.plot(t).then(function(){return t.emit(\"plotly_redraw\"),t})},ay.newPlot=function(t,e,r,n){return t=ne.getGraphDiv(t),_n.cleanPlot([],{},t._fullData||{},t._fullLayout||{}),_n.purge(t),ay.plot(t,e,r,n)},ay.extendTraces=function t(e,r,n,i){var a=vy(e=ne.getGraphDiv(e),r,n,i,function(t,e,r){var n,i;if(ne.isTypedArray(t))if(r<0){var a=new t.constructor(0),o=my(t,e);r<0?(n=o,i=a):(n=a,i=o)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var s=e.length-r;n.set(e.subarray(s)),i.set(t),i.set(e.subarray(0,s),t.length)}else{var l=r-e.length,u=t.length-l;n.set(t.subarray(u)),n.set(e,l),i.set(t.subarray(0,u))}else n=t.concat(e),i=r>=0&&r<n.length?n.splice(0,n.length-r):[];return[n,i]}),o=ay.redraw(e),s=[e,a.update,n,a.maxPoints];return Nv.add(e,ay.prependTraces,s,t,arguments),o},ay.prependTraces=function t(e,r,n,i){var a=vy(e=ne.getGraphDiv(e),r,n,i,function(t,e,r){var n,i;if(ne.isTypedArray(t))if(r<=0){var a=new t.constructor(0),o=my(e,t);r<0?(n=o,i=a):(n=a,i=o)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var s=e.length-r;n.set(e.subarray(0,s)),i.set(e.subarray(s)),i.set(t,s)}else{var l=r-e.length;n.set(e),n.set(t.subarray(0,l),e.length),i.set(t.subarray(l))}else n=e.concat(t),i=r>=0&&r<n.length?n.splice(r,n.length):[];return[n,i]}),o=ay.redraw(e),s=[e,a.update,n,a.maxPoints];return Nv.add(e,ay.extendTraces,s,t,arguments),o},ay.addTraces=function t(e,r,n){e=ne.getGraphDiv(e);var i,a,o=[],s=ay.deleteTraces,l=t,u=[e,o],c=[e,r];for(function(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\")}(e,r,n),Array.isArray(r)||(r=[r]),r=r.map(function(t){return ne.extendFlat({},t)}),Vv.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=ay.redraw(e),Nv.add(e,s,u,l,c),a;Array.isArray(n)||(n=[n]);try{gy(e,o,n)}catch(t){throw e.data.splice(e.data.length-r.length,r.length),t}return Nv.startSequence(e),Nv.add(e,s,u,l,c),a=ay.moveTraces(e,o,n),Nv.stopSequence(e),a},ay.deleteTraces=function t(e,r){e=ne.getGraphDiv(e);var n,i,a=[],o=ay.addTraces,s=t,l=[e,a,r],u=[e,r];if(void 0===r)throw new Error(\"indices must be an integer or array of integers.\");for(Array.isArray(r)||(r=[r]),dy(e,r,\"indices\"),(r=py(r,e.data.length-1)).sort(ne.sorterDes),n=0;n<r.length;n+=1)i=e.data.splice(r[n],1)[0],a.push(i);var c=ay.redraw(e);return Nv.add(e,o,l,s,u),c},ay.moveTraces=function t(e,r,n){var i,a=[],o=[],s=t,l=t,u=[e=ne.getGraphDiv(e),n,r],c=[e,r,n];if(gy(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=py(r,e.data.length-1),n=py(n,e.data.length-1),i=0;i<e.data.length;i++)-1===r.indexOf(i)&&a.push(e.data[i]);for(i=0;i<r.length;i++)o.push({newIndex:n[i],trace:e.data[r[i]]});for(o.sort(function(t,e){return t.newIndex-e.newIndex}),i=0;i<o.length;i+=1)a.splice(o[i].newIndex,0,o[i].trace);e.data=a;var h=ay.redraw(e);return Nv.add(e,s,u,l,c),h},ay.restyle=function t(e,r,n,i){e=ne.getGraphDiv(e),Vv.clearPromiseQueue(e);var a={};if(\"string\"==typeof r)a[r]=n;else{if(!ne.isPlainObject(r))return ne.warn(\"Restyle fail.\",r,n,i),Promise.reject();a=ne.extendFlat({},r),void 0===i&&(i=n)}Object.keys(a).length&&(e.changed=!0);var o=Vv.coerceTraceIndices(e,i),s=xy(e,a,o),l=s.flags;l.clearCalc&&(e.calcdata=void 0),l.clearAxisTypes&&Vv.clearAxisTypes(e,o,{});var u=[];l.fullReplot?u.push(ay.plot):(u.push(_n.previousPromises),_n.supplyDefaults(e),l.style&&u.push(Vm.doTraceStyle),l.colorbars&&u.push(Vm.doColorBars)),u.push(_n.rehover),Nv.add(e,t,[e,s.undoit,s.traces],t,[e,s.redoit,s.traces]);var c=ne.syncOrAsync(u,e);return c&&c.then||(c=Promise.resolve()),c.then(function(){return e.emit(\"plotly_restyle\",s.eventData),e})},ay.relayout=function t(e,r,n){if(e=ne.getGraphDiv(e),Vv.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);var i={};if(\"string\"==typeof r)i[r]=n;else{if(!ne.isPlainObject(r))return ne.warn(\"Relayout fail.\",r,n),Promise.reject();i=ne.extendFlat({},r)}Object.keys(i).length&&(e.changed=!0);var a=by(e,i),o=a.flags;o.calc&&(e.calcdata=void 0),o.margins&&Vv.clearAxisAutomargins(e);var s=[_n.previousPromises];o.layoutReplot?s.push(Vm.layoutReplot):Object.keys(i).length&&(_n.supplyDefaults(e),o.legend&&s.push(Vm.doLegend),o.layoutstyle&&s.push(Vm.layoutStyles),o.ticks&&s.push(Vm.doTicksRelayout),o.modebar&&s.push(Vm.doModeBar),o.camera&&s.push(Vm.doCamera)),s.push(_n.rehover),Nv.add(e,t,[e,a.undoit],t,[e,a.redoit]);var l=ne.syncOrAsync(s,e);return l&&l.then||(l=Promise.resolve(e)),l.then(function(){return e.emit(\"plotly_relayout\",a.eventData),e})},ay.update=function t(e,r,n,i){if(e=ne.getGraphDiv(e),Vv.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);ne.isPlainObject(r)||(r={}),ne.isPlainObject(n)||(n={}),Object.keys(r).length&&(e.changed=!0),Object.keys(n).length&&(e.changed=!0);var a=Vv.coerceTraceIndices(e,i),o=xy(e,ne.extendFlat({},r),a),s=o.flags,l=by(e,ne.extendFlat({},n)),u=l.flags;(s.clearCalc||u.calc)&&(e.calcdata=void 0),s.clearAxisTypes&&Vv.clearAxisTypes(e,a,n),u.margins&&Vv.clearAxisAutomargins(e);var c=[];if(s.fullReplot&&u.layoutReplot){var h=e.data,f=e.layout;e.data=void 0,e.layout=void 0,c.push(function(){return ay.plot(e,h,f)})}else s.fullReplot?c.push(ay.plot):u.layoutReplot?c.push(Vm.layoutReplot):(c.push(_n.previousPromises),_n.supplyDefaults(e),s.style&&c.push(Vm.doTraceStyle),s.colorbars&&c.push(Vm.doColorBars),u.legend&&c.push(Vm.doLegend),u.layoutstyle&&c.push(Vm.layoutStyles),u.ticks&&c.push(Vm.doTicksRelayout),u.modebar&&c.push(Vm.doModeBar),u.camera&&c.push(Vm.doCamera));c.push(_n.rehover),Nv.add(e,t,[e,o.undoit,l.undoit,o.traces],t,[e,o.redoit,l.redoit,o.traces]);var p=ne.syncOrAsync(c,e);return p&&p.then||(p=Promise.resolve(e)),p.then(function(){return e.emit(\"plotly_update\",{data:o.eventData,layout:l.eventData}),e})},ay.react=function(t,e,r,n){var i,a;var o=(t=ne.getGraphDiv(t))._fullData,s=t._fullLayout;if(ne.isPlotDiv(t)&&o&&s){if(ne.isPlainObject(e)){var l=e;e=l.data,r=l.layout,n=l.config,i=l.frames}var u=!1;if(n){var c=ne.extendDeep({},t._context);t._context=void 0,fy(t,n),u=function t(e,r){var n;for(n in e){var i=e[n],a=r[n];if(i!==a)if(ne.isPlainObject(i)&&ne.isPlainObject(a)){if(t(i,a))return!0}else{if(!Array.isArray(i)||!Array.isArray(a))return!0;if(i.length!==a.length)return!0;for(var o=0;o<i.length;o++)if(i[o]!==a[o]){if(!ne.isPlainObject(i[o])||!ne.isPlainObject(a[o]))return!0;if(t(i[o],a[o]))return!0}}}}(c,t._context)}t.data=e||[],Vv.cleanData(t.data,[]),t.layout=r||{},Vv.cleanLayout(t.layout),_n.supplyDefaults(t);var h=t._fullData,f=t._fullLayout,p=void 0===f.datarevision,d=function(t,e,r,n){if(e.length!==r.length)return{fullReplot:!0,clearCalc:!0};var i,a,o=ye.traceFlags();o.arrays={};var s={getValObject:function(t){return nn.getTraceValObject(a,t)},flags:o,immutable:n,gd:t};for(i=0;i<e.length;i++)a=r[i],s.autoranged=!!a.xaxis&&(ri.getFromId(t,a.xaxis).autorange||ri.getFromId(t,a.yaxis).autorange),My(e[i],a,[],s);(o.calc||o.plot||o.calcIfAutorange)&&(o.fullReplot=!0);return o}(t,o,h,p),g=function(t,e,r,n){var i=ye.layoutFlags();i.arrays={},My(e,r,[],{getValObject:function(t){return nn.getLayoutValObject(r,t)},flags:i,immutable:n,gd:t}),(i.plot||i.calc)&&(i.layoutReplot=!0);return i}(t,s,f,p);_y(t)&&(g.layoutReplot=!0),(d.calc||g.calc)&&(t.calcdata=void 0),g.margins&&Vv.clearAxisAutomargins(t);var v=[];if(i&&(t._transitionData={},_n.createTransitionData(t),v.push(function(){return ay.addFrames(t,i)})),d.fullReplot||g.layoutReplot||u)t._fullLayout._skipDefaults=!0,v.push(ay.plot);else{for(var m in g.arrays){var y=g.arrays[m];if(y.length){var x=P.getComponentMethod(m,\"drawOne\");if(x!==ne.noop)for(var b=0;b<y.length;b++)x(t,y[b]);else{var _=P.getComponentMethod(m,\"draw\");if(_===ne.noop)throw new Error(\"cannot draw components: \"+m);_(t)}}}v.push(_n.previousPromises),d.style&&v.push(Vm.doTraceStyle),d.colorbars&&v.push(Vm.doColorBars),g.legend&&v.push(Vm.doLegend),g.layoutstyle&&v.push(Vm.layoutStyles),g.ticks&&v.push(Vm.doTicksRelayout),g.modebar&&v.push(Vm.doModeBar),g.camera&&v.push(Vm.doCamera)}v.push(_n.rehover),(a=ne.syncOrAsync(v,t))&&a.then||(a=Promise.resolve(t))}else a=ay.newPlot(t,e,r,n);return a.then(function(){return t.emit(\"plotly_react\",{data:e,layout:r}),t})},ay.animate=function(t,e,r){if(t=ne.getGraphDiv(t),!ne.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 n=t._transitionData;n._frameQueue||(n._frameQueue=[]);var i=(r=_n.supplyAnimationDefaults(r)).transition,a=r.frame;function o(t){return Array.isArray(i)?t>=i.length?i[0]:i[t]:i}function s(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function l(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise(function(a,u){function c(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,_n.transition(t,e.frame.data,e.frame.layout,Vv.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 t.emit(\"plotly_animated\"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function h(){t.emit(\"plotly_animating\"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&c()};e()}var f,p,d=0;function g(t){return Array.isArray(i)?d>=i.length?t.transitionOpts=i[d]:t.transitionOpts=i[0]:t.transitionOpts=i,d++,t}var v=[],m=void 0===e||null===e,y=Array.isArray(e);if(!m&&!y&&ne.isPlainObject(e))v.push({type:\"object\",data:g(ne.extendFlat({},e))});else if(m||-1!==[\"string\",\"number\"].indexOf(typeof e))for(f=0;f<n._frames.length;f++)(p=n._frames[f])&&(m||String(p.group)===String(e))&&v.push({type:\"byname\",name:String(p.name),data:g({name:p.name})});else if(y)for(f=0;f<e.length;f++){var x=e[f];-1!==[\"number\",\"string\"].indexOf(typeof x)?(x=String(x),v.push({type:\"byname\",name:x,data:g({name:x})})):ne.isPlainObject(x)&&v.push({type:\"object\",data:g(ne.extendFlat({},x))})}for(f=0;f<v.length;f++)if(\"byname\"===(p=v[f]).type&&!n._frameHash[p.data.name])return ne.warn('animate failure: frame not found: \"'+p.data.name+'\"'),void u();-1!==[\"next\",\"immediate\"].indexOf(r.mode)&&function(){if(0!==n._frameQueue.length){for(;n._frameQueue.length;){var e=n._frameQueue.pop();e.onInterrupt&&e.onInterrupt()}t.emit(\"plotly_animationinterrupted\",[])}}(),\"reverse\"===r.direction&&v.reverse();var b=t._fullLayout._currentFrame;if(b&&r.fromcurrent){var _=-1;for(f=0;f<v.length;f++)if(\"byname\"===(p=v[f]).type&&p.name===b){_=f;break}if(_>0&&_<v.length-1){var w=[];for(f=0;f<v.length;f++)p=v[f],(\"byname\"!==v[f].type||f>_)&&w.push(p);v=w}}v.length>0?function(e){if(0!==e.length){for(var i=0;i<e.length;i++){var c;c=\"byname\"===e[i].type?_n.computeFrame(t,e[i].name):e[i].data;var f=s(i),p=o(i);p.duration=Math.min(p.duration,f.duration);var d={frame:c,name:e[i].name,frameOpts:f,transitionOpts:p};i===e.length-1&&(d.onComplete=l(a,2),d.onInterrupt=u),n._frameQueue.push(d)}\"immediate\"===r.mode&&(n._lastFrameAt=-1/0),n._animationRaf||h()}}(v):(t.emit(\"plotly_animated\"),a())})},ay.addFrames=function(t,e,r){if(t=ne.getGraphDiv(t),null===e||void 0===e)return Promise.resolve();if(!ne.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=[],h={};for(n=e.length-1;n>=0;n--)if(ne.isPlainObject(e[n])){var f=e[n].name,p=(l[f]||h[f]||{}).name,d=e[n].name,g=l[p]||h[p];p&&d&&\"number\"==typeof d&&g&&uy<5&&(uy++,ne.warn('addFrames: overwriting frame \"'+(l[p]||h[p]).name+'\" with a frame whose name of type \"number\" also equates to \"'+p+'\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===uy&&ne.warn(\"addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.\")),h[f]={name:f},c.push({frame:_n.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 v=[],m=[],y=s.length;for(n=c.length-1;n>=0;n--){if(\"number\"==typeof(i=c[n].frame).name&&ne.warn(\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\"),!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++);v.push({type:\"replace\",index:a,value:i}),m.unshift({type:\"replace\",index:a,value:s[a]})}else o=Math.max(0,Math.min(c[n].index,y)),v.push({type:\"insert\",index:o,value:i}),m.unshift({type:\"delete\",index:o}),y++}var x=_n.modifyFrames,b=_n.modifyFrames,_=[t,m],w=[t,v];return Nv&&Nv.add(t,x,_,b,w),_n.modifyFrames(t,v)},ay.deleteFrames=function(t,e){if(t=ne.getGraphDiv(t),!ne.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t);var r,n,i=t._transitionData._frames,a=[],o=[];if(!e)for(e=[],r=0;r<i.length;r++)e.push(r);for((e=e.slice(0)).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=_n.modifyFrames,l=_n.modifyFrames,u=[t,o],c=[t,a];return Nv&&Nv.add(t,s,u,l,c),_n.modifyFrames(t,a)},ay.purge=function(t){var e=(t=ne.getGraphDiv(t))._fullLayout||{},r=t._fullData||[];return _n.cleanPlot([],{},r,e),_n.purge(t),ja.purge(t),e._container&&e._container.remove(),delete t._context,t};var ky={getDelay:function(t){return t._has&&(t._has(\"gl3d\")||t._has(\"gl2d\")||t._has(\"mapbox\"))?500:0},getRedrawFunc:function(t){var e=t._fullLayout||{};if(!(!(e._has&&e._has(\"polar\"))&&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()})}}},Ty=Da.EventEmitter;var Sy=function(t){var e=t.emitter||new Ty,r=new Promise(function(n,i){var a=window.Image,o=t.svg,s=t.format||\"png\";if(ne.isIE()&&\"svg\"!==s){var l=new Error(\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\");return i(l),t.promise?r:e.emit(\"error\",l)}var u=t.canvas,c=t.scale||1,h=c*(t.width||300),f=c*(t.height||150),p=u.getContext(\"2d\"),d=new a,g=\"data:image/svg+xml,\"+encodeURIComponent(o);u.width=h,u.height=f,d.onload=function(){var r;switch(\"svg\"!==s&&p.drawImage(d,0,0,h,f),s){case\"jpeg\":r=u.toDataURL(\"image/jpeg\");break;case\"png\":r=u.toDataURL(\"image/png\");break;case\"webp\":r=u.toDataURL(\"image/webp\");break;case\"svg\":r=g;break;default:var a=\"Image format is not jpeg, png, svg or webp.\";if(i(new Error(a)),!t.promise)return e.emit(\"error\",a)}n(r),t.promise||e.emit(\"success\",r)},d.onerror=function(r){if(i(r),!t.promise)return e.emit(\"error\",r)},d.src=g});return t.promise?r:e},Ey=/\"/g,Cy=new RegExp('(\"TOBESTRIPPED)|(TOBESTRIPPED\")',\"g\");var Ly=function(t,r,n){var i,a=t._fullLayout,o=a._paper,s=a._toppaper,l=a.width,u=a.height;o.insert(\"rect\",\":first-child\").call(Sr.setRect,0,0,l,u).call(Oe.fill,a.paper_bgcolor);var c=a._basePlotModules||[];for(i=0;i<c.length;i++){var h=c[i];h.toSVG&&h.toSVG(t)}if(s){var f=s.node().childNodes,p=Array.prototype.slice.call(f);for(i=0;i<p.length;i++){var d=p[i];d.childNodes.length&&o.node().appendChild(d)}}a._draggers&&a._draggers.remove(),o.node().style.background=\"\",o.selectAll(\"text\").attr({\"data-unformatted\":null,\"data-math\":null}).each(function(){var t=e.select(this);if(\"hidden\"!==this.style.visibility&&\"none\"!==this.style.display){t.style({visibility:null,display:null});var r=this.style.fontFamily;r&&-1!==r.indexOf('\"')&&t.style(\"font-family\",r.replace(Ey,\"TOBESTRIPPED\"))}else t.remove()}),o.selectAll(\".point,.scatterpts\").each(function(){var t=e.select(this),r=this.style.fill;r&&-1!==r.indexOf(\"url(\")&&t.style(\"fill\",r.replace(Ey,\"TOBESTRIPPED\"))}),\"pdf\"!==r&&\"eps\"!==r||o.selectAll(\"#MathJax_SVG_glyphs path\").attr(\"stroke-width\",0),o.node().setAttributeNS($e.xmlns,\"xmlns\",$e.svg),o.node().setAttributeNS($e.xmlns,\"xmlns:xlink\",$e.xlink),\"svg\"===r&&n&&(o.attr(\"width\",n*l),o.attr(\"height\",n*u),o.attr(\"viewBox\",\"0 0 \"+l+\" \"+u));var g=(new window.XMLSerializer).serializeToString(o.node());return g=function(t){var r=e.select(\"body\").append(\"div\").style({display:\"none\"}).html(\"\"),n=t.replace(/(&[^;]*;)/gi,function(t){return\"&lt;\"===t?\"&#60;\":\"&rt;\"===t?\"&#62;\":-1!==t.indexOf(\"<\")||-1!==t.indexOf(\">\")?\"\":r.html(t).text()});return r.remove(),n}(g),g=(g=g.replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g,\"&amp;\")).replace(Cy,\"'\"),ne.isIE()&&(g=(g=(g=g.replace(/\"/gi,\"'\")).replace(/(\\('#)([^']*)('\\))/gi,'(\"#$2\")')).replace(/(\\\\')/gi,'\"')),g},zy={format:{valType:\"enumerated\",values:[\"png\",\"jpeg\",\"webp\",\"svg\"],dflt:\"png\"},width:{valType:\"number\",min:1},height:{valType:\"number\",min:1},scale:{valType:\"number\",min:0,dflt:1},setBackground:{valType:\"any\",dflt:!1},imageDataOnly:{valType:\"boolean\",dflt:!1}},Py=/^data:image\\/\\w+;base64,/;var Iy=function(t,e){var r,n,i;function a(t){return!(t in e)||ne.validate(e[t],zy[t])}if(e=e||{},ne.isPlainObject(t)?(r=t.data||[],n=t.layout||{},i=t.config||{}):(t=ne.getGraphDiv(t),r=ne.extendDeep([],t.data),n=ne.extendDeep({},t.layout),i=t._context),!a(\"width\")||!a(\"height\"))throw new Error(\"Height and width should be pixel values.\");if(!a(\"format\"))throw new Error(\"Image format is not jpeg, png, svg or webp.\");var o={};function s(t,r){return ne.coerce(e,o,zy,t,r)}var l=s(\"format\"),u=s(\"width\"),c=s(\"height\"),h=s(\"scale\"),f=s(\"setBackground\"),p=s(\"imageDataOnly\"),d=document.createElement(\"div\");d.style.position=\"absolute\",d.style.left=\"-5000px\",document.body.appendChild(d);var g=ne.extendFlat({},n);u&&(g.width=u),c&&(g.height=c);var v=ne.extendFlat({},i,{staticPlot:!0,setBackground:f}),m=ky.getRedrawFunc(d);function y(){return new Promise(function(t){setTimeout(t,ky.getDelay(d._fullLayout))})}function x(){return new Promise(function(t,e){var r=Ly(d,l,h),n=d._fullLayout.width,i=d._fullLayout.height;if(ay.purge(d),document.body.removeChild(d),\"svg\"===l)return t(p?r:\"data:image/svg+xml,\"+encodeURIComponent(r));var a=document.createElement(\"canvas\");a.id=ne.randstr(),Sy({format:l,width:n,height:i,scale:h,canvas:a,svg:r,promise:!0}).then(t).catch(e)})}return new Promise(function(t,e){ay.plot(d,r,g,v).then(m).then(y).then(x).then(function(e){t(function(t){return p?t.replace(Py,\"\"):t}(e))}).catch(function(t){e(t)})})},Dy=ne.isPlainObject,Oy=Array.isArray,Ry=ne.isArrayOrTypedArray;function Fy(t,e,r,n,i,a){a=a||[];for(var o=Object.keys(t),s=0;s<o.length;s++){var l=o[s];if(\"transforms\"!==l){var u=a.slice();u.push(l);var c=t[l],h=e[l],f=Uy(r,l),p=\"info_array\"===(f||{}).valType,d=\"colorscale\"===(f||{}).valType,g=(f||{}).items;if(Vy(r,l))if(Dy(c)&&Dy(h))Fy(c,h,f,n,i,u);else if(p&&Oy(c)){c.length>h.length&&n.push(jy(\"unused\",i,u.concat(h.length)));var v,m,y,x,b,_=h.length,w=Array.isArray(g);if(w&&(_=Math.min(_,g.length)),2===f.dimensions)for(m=0;m<_;m++)if(Oy(c[m])){c[m].length>h[m].length&&n.push(jy(\"unused\",i,u.concat(m,h[m].length)));var M=h[m].length;for(v=0;v<(w?Math.min(M,g[m].length):M);v++)y=w?g[m][v]:g,x=c[m][v],b=h[m][v],ne.validate(x,y)?b!==x&&b!==+x&&n.push(jy(\"dynamic\",i,u.concat(m,v),x,b)):n.push(jy(\"value\",i,u.concat(m,v),x))}else n.push(jy(\"array\",i,u.concat(m),c[m]));else for(m=0;m<_;m++)y=w?g[m]:g,x=c[m],b=h[m],ne.validate(x,y)?b!==x&&b!==+x&&n.push(jy(\"dynamic\",i,u.concat(m),x,b)):n.push(jy(\"value\",i,u.concat(m),x))}else if(f.items&&!p&&Oy(c)){var A,k,T=g[Object.keys(g)[0]],S=[];for(A=0;A<h.length;A++){var E=h[A]._index||A;(k=u.slice()).push(E),Dy(c[E])&&Dy(h[A])&&(S.push(E),Fy(c[E],h[A],T,n,i,k))}for(A=0;A<c.length;A++)(k=u.slice()).push(A),Dy(c[A])?-1===S.indexOf(A)&&n.push(jy(\"unused\",i,k)):n.push(jy(\"object\",i,k,c[A]))}else!Dy(c)&&Dy(h)?n.push(jy(\"object\",i,u,c)):Ry(c)||!Ry(h)||p||d?l in e?ne.validate(c,f)?\"enumerated\"===f.valType&&(f.coerceNumber&&c!==+h||c!==h)&&n.push(jy(\"dynamic\",i,u,c,h)):n.push(jy(\"value\",i,u,c)):n.push(jy(\"unused\",i,u,c)):n.push(jy(\"array\",i,u,c));else n.push(jy(\"schema\",i,u))}}return n}var By={object:function(t,e){return(\"layout\"===t&&\"\"===e?\"The layout argument\":\"data\"===t[0]&&\"\"===e?\"Trace \"+t[1]+\" in the data argument\":Ny(t)+\"key \"+e)+\" must be linked to an object container\"},array:function(t,e){return(\"data\"===t?\"The data argument\":Ny(t)+\"key \"+e)+\" must be linked to an array container\"},schema:function(t,e){return Ny(t)+\"key \"+e+\" is not part of the schema\"},unused:function(t,e,r){var n=Dy(r)?\"container\":\"key\";return Ny(t)+n+\" \"+e+\" did not get coerced\"},dynamic:function(t,e,r,n){return[Ny(t)+\"key\",e,\"(set to '\"+r+\"')\",\"got reset to\",\"'\"+n+\"'\",\"during defaults.\"].join(\" \")},invisible:function(t){return\"Trace \"+t[1]+\" got defaulted to be not visible\"},value:function(t,e,r){return[Ny(t)+\"key \"+e,\"is set to an invalid value (\"+r+\")\"].join(\" \")}};function Ny(t){return Oy(t)?\"In data trace \"+t[1]+\", \":\"In \"+t+\", \"}function jy(t,e,r,n,i){var a,o;r=r||\"\",Oy(e)?(a=e[0],o=e[1]):(a=e,o=null);var s=function(t){if(!Oy(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}(r),l=By[t](e,s,n,i);return ne.log(l),{code:t,container:a,trace:o,path:r,astr:s,msg:l}}function Vy(t,e){var r=Hy(e),n=r.keyMinusId,i=r.id;return!!(n in t&&t[n]._isSubplotObj&&i)||e in t}function Uy(t,e){return t[Hy(e).keyMinusId]}var qy=ne.counterRegex(\"([a-z]+)\");function Hy(t){var e=t.match(qy);return{keyMinusId:e&&e[1],id:e&&e[2]}}var Gy=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){if(\"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){var s=t.split(/^data:image\\/svg\\+xml,/)[1],l=decodeURIComponent(s);navigator.msSaveBlob(new Blob([l]),e),a(e)}o(new Error(\"download error\"))})};var Wy=function(t,e){return(e=e||{}).format=e.format||\"png\",new Promise(function(r,n){t._snapshotInProgress&&n(new Error(\"Snapshotting already in progress.\")),ne.isIE()&&\"svg\"!==e.format&&n(new Error(\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\")),t._snapshotInProgress=!0;var i=Iy(t,e),a=e.filename||t.fn||\"newplot\";a+=\".\"+e.format,i.then(function(e){return t._snapshotInProgress=!1,Gy(e,a)}).then(function(t){r(t)}).catch(function(e){t._snapshotInProgress=!1,n(e)})})},Yy={};Yy.plot=ay.plot,Yy.newPlot=ay.newPlot,Yy.restyle=ay.restyle,Yy.relayout=ay.relayout,Yy.redraw=ay.redraw,Yy.update=ay.update,Yy.react=ay.react,Yy.extendTraces=ay.extendTraces,Yy.prependTraces=ay.prependTraces,Yy.addTraces=ay.addTraces,Yy.deleteTraces=ay.deleteTraces,Yy.moveTraces=ay.moveTraces,Yy.purge=ay.purge,Yy.addFrames=ay.addFrames,Yy.deleteFrames=ay.deleteFrames,Yy.animate=ay.animate,Yy.setPlotConfig=ay.setPlotConfig,Yy.toImage=Iy,Yy.validate=function(t,e){var r,n,i=nn.get(),a=[],o={_context:ne.extendFlat({},b)};Oy(t)?(o.data=ne.extendDeep([],t),r=t):(o.data=[],r=[],a.push(jy(\"array\",\"data\"))),Dy(e)?(o.layout=ne.extendDeep({},e),n=e):(o.layout={},n={},arguments.length>1&&a.push(jy(\"object\",\"layout\"))),_n.supplyDefaults(o);for(var s=o._fullData,l=r.length,u=0;u<l;u++){var c=r[u],h=[\"data\",u];if(Dy(c)){var f=s[u],p=f.type,d=i.traces[p].attributes;d.type={valType:\"enumerated\",values:[p]},!1===f.visible&&!1!==c.visible&&a.push(jy(\"invisible\",h)),Fy(c,f,d,a,h);var g=c.transforms,v=f.transforms;if(g){Oy(g)||a.push(jy(\"array\",h,[\"transforms\"])),h.push(\"transforms\");for(var m=0;m<g.length;m++){var y=[\"transforms\",m],x=g[m].type;if(Dy(g[m])){var _=i.transforms[x]?i.transforms[x].attributes:{};_.type={valType:\"enumerated\",values:Object.keys(i.transforms)},Fy(g[m],v[m],_,a,h,y)}else a.push(jy(\"object\",h,y))}}}else a.push(jy(\"object\",h))}return Fy(n,o._fullLayout,function(t,e){for(var r=0;r<e.length;r++){var n=e[r].type,i=t.traces[n].layoutAttributes;i&&ne.extendFlat(t.layout.layoutAttributes,i)}return t.layout.layoutAttributes}(i,s),a,\"layout\"),0===a.length?void 0:a},Yy.downloadImage=Wy;var Xy=ne.extendFlat,Zy=ne.extendDeep;function Jy(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}var Ky=function(t,e){var r;t.framework&&t.framework.isPolar&&(t=t.framework.getConfig());var n,i=t.data,a=t.layout,o=Zy([],i),s=Zy({},a,Jy(e.tileClass)),l=t._context||{};if(e.width&&(s.width=e.width),e.height&&(s.height=e.height),\"thumbnail\"===e.tileClass||\"themes__thumb\"===e.tileClass){s.annotations=[];var u=Object.keys(s);for(r=0;r<u.length;r++)n=u[r],[\"xaxis\",\"yaxis\",\"zaxis\"].indexOf(n.slice(0,5))>-1&&(s[u[r]].title=\"\");for(r=0;r<o.length;r++){var c=o[r];c.showscale=!1,c.marker&&(c.marker.showscale=!1),\"pie\"===c.type&&(c.textposition=\"none\")}}if(Array.isArray(e.annotations))for(r=0;r<e.annotations.length;r++)s.annotations.push(e.annotations[r]);var h=Object.keys(s).filter(function(t){return t.match(/^scene\\d*$/)});if(h.length){var f={};for(\"thumbnail\"===e.tileClass&&(f={title:\"\",showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<h.length;r++){var p=s[h[r]];p.xaxis||(p.xaxis={}),p.yaxis||(p.yaxis={}),p.zaxis||(p.zaxis={}),Xy(p.xaxis,f),Xy(p.yaxis,f),Xy(p.zaxis,f),p._scene=null}}var d=document.createElement(\"div\");e.tileClass&&(d.className=e.tileClass);var g={gd:d,td:d,layout:s,data:o,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,mapboxAccessToken:l.mapboxAccessToken}};return\"transparent\"!==e.setBackground&&(g.config.setBackground=e.setBackground||\"opaque\"),g.gd.defaultLayout=Jy(e.tileClass),g},Qy=Da.EventEmitter;var $y=function(t,e){var r=new Qy,n=Ky(t,{format:\"png\"}),i=n.gd;i.style.position=\"absolute\",i.style.left=\"-5000px\",document.body.appendChild(i);var a=ky.getRedrawFunc(i);return P.call(\"plot\",i,n.data,n.layout,n.config).then(a).then(function(){var t=ky.getDelay(i._fullLayout);setTimeout(function(){var t=Ly(i),n=document.createElement(\"canvas\");n.id=ne.randstr(),(r=Sy({format:e.format,width:i._fullLayout.width,height:i._fullLayout.height,canvas:n,emitter:r,svg:t})).clean=function(){i&&document.body.removeChild(i)}},t)}).catch(function(t){r.emit(\"error\",t)}),r},tx={getDelay:ky.getDelay,getRedrawFunc:ky.getRedrawFunc,clone:Ky,toSVG:Ly,svgToImg:Sy,toImage:$y,downloadImage:Wy},ex=function(t){Tr.hasLines(t)&&Xe(t,\"line\")&&Ve(t,t.line.color,\"line\",\"c\"),Tr.hasMarkers(t)&&(Xe(t,\"marker\")&&Ve(t,t.marker.color,\"marker\",\"c\"),Xe(t,\"marker.line\")&&Ve(t,t.marker.line.color,\"marker.line\",\"c\"))},rx=ne.isArrayOrTypedArray,nx=t.BADNUM;function ix(t,e,r,n,i,a,o){var s=e._length;r._minDtick=0,n._minDtick=0;var l={padded:!0},u={padded:!0};o&&(l.ppad=u.ppad=o),!(\"tozerox\"===e.fill||\"tonextx\"===e.fill&&t.firstscatter)||i[0]===i[s-1]&&a[0]===a[s-1]?e.error_y.visible||-1===[\"tonexty\",\"tozeroy\"].indexOf(e.fill)&&(Tr.hasMarkers(e)||Tr.hasText(e))||(l.padded=!1,l.ppad=0):l.tozero=!0,!(\"tozeroy\"===e.fill||\"tonexty\"===e.fill&&t.firstscatter)||i[0]===i[s-1]&&a[0]===a[s-1]?-1!==[\"tonextx\",\"tozerox\"].indexOf(e.fill)&&(u.padded=!1):u.tozero=!0,ri.expand(r,i,l),ri.expand(n,a,u)}function ax(t,e){if(Tr.hasMarkers(t)){var r,n=t.marker,i=1.6*(t.marker.sizeref||1);if(r=\"area\"===t.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/i),3)}:function(t){return Math.max((t||0)/i,3)},rx(n.size)){var a={type:\"linear\"};ri.setConvert(a);for(var o=a.makeCalcdata(t.marker,\"size\"),s=new Array(e),l=0;l<e;l++)s[l]=r(o[l]);return s}return r(n.size)}}var ox=function(t,e){var n=ri.getFromId(t,e.xaxis||\"x\"),i=ri.getFromId(t,e.yaxis||\"y\"),a=n.makeCalcdata(e,\"x\"),o=i.makeCalcdata(e,\"y\"),s=e._length,l=new Array(s);ix(t,e,n,i,a,o,ax(e,s));for(var u=0;u<s;u++)l[u]=r(a[u])&&r(o[u])?{x:a[u],y:o[u]}:{x:nx,y:nx},e.ids&&(l[u].id=String(e.ids[u]));return dh(l,e),ex(e),Ma(l,e),t.firstscatter=!1,l},sx=ax,lx=ix,ux=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}}}}},cx=ne.isArrayOrTypedArray,hx=function(t,e,r,n){var i=!1;if(e.marker){var a=e.marker.color,o=(e.marker.line||{}).color;a&&!cx(a)?i=a:o&&!cx(o)&&(i=o)}n(\"fillcolor\",Oe.addOpacity((e.line||{}).color||i||r,.5))},fx=ne.isArrayOrTypedArray,px=function(t,e,r,n,i,a){var o=(t.marker||{}).color;(i(\"line.color\",r),Xe(t,\"line\"))?Ye(t,e,n,i,{prefix:\"line.\",cLetter:\"c\"}):i(\"line.color\",!fx(o)&&o||r);i(\"line.width\"),(a||{}).noDash||i(\"line.dash\")},dx=function(t,e,r){\"spline\"===r(\"line.shape\")&&r(\"line.smoothing\")},gx=function(t,e,r,n,i,a){var o=Tr.isBubble(t),s=(t.line||{}).color;(a=a||{},s&&(r=s),i(\"marker.symbol\"),i(\"marker.opacity\",o?.7:1),i(\"marker.size\"),i(\"marker.color\",r),Xe(t,\"marker\")&&Ye(t,e,n,i,{prefix:\"marker.\",cLetter:\"c\"}),a.noSelect||(i(\"selected.marker.color\"),i(\"unselected.marker.color\"),i(\"selected.marker.size\"),i(\"unselected.marker.size\")),a.noLine||(i(\"marker.line.color\",s&&!Array.isArray(s)&&e.marker.color!==s?s:o?Oe.background:Oe.defaultLine),Xe(t,\"marker.line\")&&Ye(t,e,n,i,{prefix:\"marker.line.\",cLetter:\"c\"}),i(\"marker.line.width\",o?1:0)),o&&(i(\"marker.sizeref\"),i(\"marker.sizemin\"),i(\"marker.sizemode\")),a.gradient)&&(\"none\"!==i(\"marker.gradient.type\")&&i(\"marker.gradient.color\"))},vx=function(t,e,r,n,i){i=i||{},n(\"textposition\"),ne.coerceFont(n,\"textfont\",r.font),i.noSelect||(n(\"selected.textfont.color\"),n(\"unselected.textfont.color\"))},mx=function(t,e){var r,n;if(\"lines\"===t.mode)return(r=t.line.color)&&Oe.opacity(r)?r:t.fillcolor;if(\"none\"===t.mode)return t.fill?t.fillcolor:\"\";var i=e.mcc||(t.marker||{}).color,a=e.mlcc||((t.marker||{}).line||{}).color;return(n=i&&Oe.opacity(i)?i:a&&Oe.opacity(a)&&(e.mlw||((t.marker||{}).line||{}).width)?a:\"\")?Oe.opacity(n)<.3?Oe.addOpacity(n,.3):n:(r=(t.line||{}).color)&&Oe.opacity(r)&&Tr.hasLines(t)&&t.line.width?r:t.fillcolor},yx=function(t,e,r,n){var i=t.cd,a=i[0].trace,o=t.xa,s=t.ya,l=o.c2p(e),u=s.c2p(r),c=[l,u],h=a.hoveron||\"\",f=-1!==a.mode.indexOf(\"markers\")?3:.5;if(-1!==h.indexOf(\"points\")){var p=function(t){var e=Math.max(f,t.mrc||0),r=o.c2p(t.x)-l,n=s.c2p(t.y)-u;return Math.max(Math.sqrt(r*r+n*n)-e,1-f/e)},d=yo.getDistanceFunction(n,function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(o.c2p(t.x)-l);return n<e?r*n/e:n-e+r},function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(s.c2p(t.y)-u);return n<e?r*n/e:n-e+r},p);if(yo.getClosest(i,d,t),!1!==t.index){var g=i[t.index],v=o.c2p(g.x,!0),m=s.c2p(g.y,!0),y=g.mrc||1;return ne.extendFlat(t,{color:mx(a,g),x0:v-y,x1:v+y,xLabelVal:g.x,y0:m-y,y1:m+y,yLabelVal:g.y,spikeDistance:p(g)}),xo(g,a,t),P.getComponentMethod(\"errorbars\",\"hoverInfo\")(g,a,t),[t]}}if(-1!==h.indexOf(\"fills\")&&a._polygons){var x,b,_,w,M,A,k,T,S,E=a._polygons,C=[],L=!1,z=1/0,I=-1/0,D=1/0,O=-1/0;for(x=0;x<E.length;x++)(_=E[x]).contains(c)&&(L=!L,C.push(_),D=Math.min(D,_.ymin),O=Math.max(O,_.ymax));if(L){var R=((D=Math.max(D,0))+(O=Math.min(O,s._length)))/2;for(x=0;x<C.length;x++)for(w=C[x].pts,b=1;b<w.length;b++)(T=w[b-1][1])>R!=(S=w[b][1])>=R&&(A=w[b-1][0],k=w[b][0],S-T&&(M=A+(k-A)*(R-T)/(S-T),z=Math.min(z,M),I=Math.max(I,M)));z=Math.max(z,0),I=Math.min(I,o._length);var F=Oe.defaultLine;return Oe.opacity(a.fillcolor)?F=a.fillcolor:Oe.opacity((a.line||{}).color)&&(F=a.line.color),ne.extendFlat(t,{distance:t.maxHoverDistance,x0:z,x1:I,y0:R,y1:R,color:F}),delete t.index,a.text&&!Array.isArray(a.text)?t.text=String(a.text):t.text=a.name,[t]}}},xx=t.BADNUM,bx=ne.segmentsIntersect,_x=ne.constrain,wx=function(t,e){var r,n,i,a,o,s,l,u,c,h,f,p,d,g,v,m,y=e.xaxis,x=e.yaxis,b=e.simplify,_=e.connectGaps,w=e.baseTolerance,M=e.shape,A=\"linear\"===M,k=[],T=Wr.minTolerance,S=new Array(t.length),E=0;function C(e){var r=t[e],n=y.c2p(r.x),i=x.c2p(r.y);return n===xx||i===xx?r.intoCenter||!1:[n,i]}function L(t){var e=t[0]/y._length,r=t[1]/x._length;return(1+Wr.toleranceGrowth*Math.max(0,-e,e-1,-r,r-1))*w}function z(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}b||(w=T=-1);var P,I,D,O,R,F,B,N=Wr.maxScreensAway,j=-y._length*N,V=y._length*(1+N),U=-x._length*N,q=x._length*(1+N),H=[[j,U,V,U],[V,U,V,q],[V,q,j,q],[j,q,j,U]];function G(t){if(t[0]<j||t[0]>V||t[1]<U||t[1]>q)return[_x(t[0],j,V),_x(t[1],U,q)]}function W(t,e){return t[0]===e[0]&&(t[0]===j||t[0]===V)||(t[1]===e[1]&&(t[1]===U||t[1]===q)||void 0)}function Y(t,e,r){return function(n,i){var a=G(n),o=G(i),s=[];if(a&&o&&W(a,o))return s;a&&s.push(a),o&&s.push(o);var l=2*ne.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);l&&((a&&o?l>0==a[t]>o[t]?a:o:a||o)[t]+=l);return s}}function X(t){var e=t[0],r=t[1],n=e===S[E-1][0],i=r===S[E-1][1];if(!n||!i)if(E>1){var a=e===S[E-2][0],o=r===S[E-2][1];n&&(e===j||e===V)&&a?o?E--:S[E-1]=t:i&&(r===U||r===q)&&o?a?E--:S[E-1]=t:S[E++]=t}else S[E++]=t}function Z(t){S[E-1][0]!==t[0]&&S[E-1][1]!==t[1]&&X([D,O]),X(t),R=null,D=O=0}function J(t){if(P=t[0]<j?j:t[0]>V?V:0,I=t[1]<U?U:t[1]>q?q:0,P||I){if(E)if(R){var e=B(R,t);e.length>1&&(Z(e[0]),S[E++]=e[1])}else F=B(S[E-1],t)[0],S[E++]=F;else S[E++]=[P||t[0],I||t[1]];var r=S[E-1];P&&I&&(r[0]!==P||r[1]!==I)?(R&&(D!==P&&O!==I?X(D&&O?(n=R,a=(i=t)[0]-n[0],o=(i[1]-n[1])/a,(n[1]*i[0]-i[1]*n[0])/a>0?[o>0?j:V,q]:[o>0?V:j,U]):[D||P,O||I]):D&&O&&X([D,O])),X([P,I])):D-P&&O-I&&X([P||D,I||O]),R=t,D=P,O=I}else R&&Z(B(R,t)[0]),S[E++]=t;var n,i,a,o}for(\"linear\"===M||\"spline\"===M?B=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=H[i],o=bx(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&z(o,t)<z(r[0],t)?r.unshift(o):r.push(o),n++)}return r}:\"hv\"===M||\"vh\"===M?B=function(t,e){var r=[],n=G(t),i=G(e);return n&&i&&W(n,i)?r:(n&&r.push(n),i&&r.push(i),r)}:\"hvh\"===M?B=Y(0,j,V):\"vhv\"===M&&(B=Y(1,U,q)),r=0;r<t.length;r++)if(n=C(r)){for(E=0,R=null,J(n),r++;r<t.length;r++){if(!(a=C(r))){if(_)continue;break}if(A){if(!((h=z(a,n))<L(a)*T)){for(u=[(a[0]-n[0])/h,(a[1]-n[1])/h],o=n,f=h,p=g=v=0,l=!1,i=a,r++;r<t.length;r++){if(!(s=C(r))){if(_)continue;break}if(m=(c=[s[0]-n[0],s[1]-n[1]])[0]*u[1]-c[1]*u[0],g=Math.min(g,m),(v=Math.max(v,m))-g>L(s))break;i=s,(d=c[0]*u[0]+c[1]*u[1])>f?(f=d,a=s,l=!1):d<p&&(p=d,o=s,l=!0)}if(l?(J(a),i!==o&&J(o)):(o!==n&&J(o),i!==a&&J(a)),J(i),r>=t.length||!s)break;J(s),n=s}}else J(a)}R&&X([D||R[0],O||R[1]]),k.push(S.slice(0,E))}return k},Mx=function(t,e,r){var n,i,a=null;for(i=0;i<r.length;++i)!0===(n=r[i][0].trace).visible?(n._nexttrace=null,-1!==[\"tonextx\",\"tonexty\",\"tonext\"].indexOf(n.fill)&&(n._prevtrace=a,a&&(a._nexttrace=n)),a=n):n._prevtrace=n._nexttrace=null},Ax=cc.tester,kx=function(t,r,n,i,a){var o,s,l,u,c=r.plot.select(\"g.scatterlayer\"),h=!i,f=!!i&&i.duration>0;for((l=c.selectAll(\"g.trace\").data(n,function(t){return t[0].trace.uid})).enter().append(\"g\").attr(\"class\",function(t){return\"trace scatter trace\"+t[0].trace.uid}).style(\"stroke-miterlimit\",2),Mx(t,r,n),function(t,r,n){var i;r.selectAll(\"g.trace\").each(function(t){var r=e.select(this);if((i=t[0].trace)._nexttrace){if(i._nextFill=r.select(\".js-fill.js-tonext\"),!i._nextFill.size()){var a=\":first-child\";r.select(\".js-fill.js-tozero\").size()&&(a+=\" + *\"),i._nextFill=r.insert(\"path\",a).attr(\"class\",\"js-fill js-tonext\")}}else r.selectAll(\".js-fill.js-tonext\").remove(),i._nextFill=null;i.fill&&(\"tozero\"===i.fill.substr(0,6)||\"toself\"===i.fill||\"to\"===i.fill.substr(0,2)&&!i._prevtrace)?(i._ownFill=r.select(\".js-fill.js-tozero\"),i._ownFill.size()||(i._ownFill=r.insert(\"path\",\":first-child\").attr(\"class\",\"js-fill js-tozero\"))):(r.selectAll(\".js-fill.js-tozero\").remove(),i._ownFill=null),r.selectAll(\".js-fill\").call(Sr.setClipUrl,n.layerClipId)})}(0,c,r),o=0,s={};o<n.length;o++)s[n[o][0].trace.uid]=o;(c.selectAll(\"g.trace\").sort(function(t,e){return s[t[0].trace.uid]>s[e[0].trace.uid]?1:-1}),f)?(a&&(u=a()),e.transition().duration(i.duration).ease(i.easing).each(\"end\",function(){u&&u()}).each(\"interrupt\",function(){u&&u()}).each(function(){c.selectAll(\"g.trace\").each(function(e,a){Tx(t,a,r,e,n,this,i)})})):c.selectAll(\"g.trace\").each(function(e,a){Tx(t,a,r,e,n,this,i)});h&&l.exit().remove(),c.selectAll(\"path:not([d])\").remove()};function Tx(t,r,n,i,a,o,s){var l,u;!function(t,r,n,i,a){var o=n.xaxis,s=n.yaxis,l=e.extent(ne.simpleMap(o.range,o.r2c)),u=e.extent(ne.simpleMap(s.range,s.r2c)),c=i[0].trace;if(!Tr.hasMarkers(c))return;var h=c.marker.maxdisplayed;if(0===h)return;var f=i.filter(function(t){return t.x>=l[0]&&t.x<=l[1]&&t.y>=u[0]&&t.y<=u[1]}),p=Math.ceil(f.length/h),d=0;a.forEach(function(t,e){var n=t[0].trace;Tr.hasMarkers(n)&&n.marker.maxdisplayed>0&&e<r&&d++});var g=Math.round(d*p/3+Math.floor(d/3)*p/7.1);i.forEach(function(t){delete t.vis}),f.forEach(function(t,e){0===Math.round((e+g)%p)&&(t.vis=!0)})}(0,r,n,i,a);var c=!!s&&s.duration>0;function h(t){return c?t.transition():t}var f=n.xaxis,p=n.yaxis,d=i[0].trace,g=d.line,v=e.select(o);if(P.getComponentMethod(\"errorbars\",\"plot\")(v,n,s),!0===d.visible){var m,y;h(v).style(\"opacity\",d.opacity);var x=d.fill.charAt(d.fill.length-1);\"x\"!==x&&\"y\"!==x&&(x=\"\"),i[0].node3=v;var b=\"\",_=[],w=d._prevtrace;w&&(b=w._prevRevpath||\"\",y=w._nextFill,_=w._polygons);var M,A,k,T,S,E,C,L,z,I=\"\",D=\"\",O=[],R=ne.noop;if(m=d._ownFill,Tr.hasLines(d)||\"none\"!==d.fill){for(y&&y.datum(i),-1!==[\"hv\",\"vh\",\"hvh\",\"vhv\"].indexOf(g.shape)?(k=Sr.steps(g.shape),T=Sr.steps(g.shape.split(\"\").reverse().join(\"\"))):k=T=\"spline\"===g.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?Sr.smoothclosed(t.slice(1),g.smoothing):Sr.smoothopen(t,g.smoothing)}:function(t){return\"M\"+t.join(\"L\")},S=function(t){return T(t.reverse())},O=wx(i,{xaxis:f,yaxis:p,connectGaps:d.connectgaps,baseTolerance:Math.max(g.width||1,3)/4,shape:g.shape,simplify:g.simplify}),z=d._polygons=new Array(O.length),u=0;u<O.length;u++)d._polygons[u]=Ax(O[u]);O.length&&(E=O[0][0],L=(C=O[O.length-1])[C.length-1]),R=function(t){return function(r){if(M=k(r),A=S(r),I?x?(I+=\"L\"+M.substr(1),D=A+\"L\"+D.substr(1)):(I+=\"Z\"+M,D=A+\"Z\"+D):(I=M,D=A),Tr.hasLines(d)&&r.length>1){var n=e.select(this);if(n.datum(i),t)h(n.style(\"opacity\",0).attr(\"d\",M).call(Sr.lineGroupStyle)).style(\"opacity\",1);else{var a=h(n);a.attr(\"d\",M),Sr.singleLineStyle(i,a)}}}}}var F=v.selectAll(\".js-line\").data(O);h(F.exit()).style(\"opacity\",0).remove(),F.each(R(!1)),F.enter().append(\"path\").classed(\"js-line\",!0).style(\"vector-effect\",\"non-scaling-stroke\").call(Sr.lineGroupStyle).each(R(!0)),Sr.setClipUrl(F,n.layerClipId),O.length?(m?E&&L&&(x?(\"y\"===x?E[1]=L[1]=p.c2p(0,!0):\"x\"===x&&(E[0]=L[0]=f.c2p(0,!0)),h(m).attr(\"d\",\"M\"+L+\"L\"+E+\"L\"+I.substr(1)).call(Sr.singleFillStyle)):h(m).attr(\"d\",I+\"Z\").call(Sr.singleFillStyle)):y&&(\"tonext\"===d.fill.substr(0,6)&&I&&b?(\"tonext\"===d.fill?h(y).attr(\"d\",I+\"Z\"+b+\"Z\").call(Sr.singleFillStyle):h(y).attr(\"d\",I+\"L\"+b.substr(1)+\"Z\").call(Sr.singleFillStyle),d._polygons=d._polygons.concat(_)):(N(y),d._polygons=null)),d._prevRevpath=D,d._prevPolygons=z):(m?N(m):y&&N(y),d._polygons=d._prevRevpath=d._prevPolygons=null);var B=v.selectAll(\".points\");l=B.data([i]),B.each(H),l.enter().append(\"g\").classed(\"points\",!0).each(H),l.exit().remove(),l.each(function(t){var r=!1===t[0].trace.cliponaxis;Sr.setClipUrl(e.select(this),r?null:n.layerClipId)})}function N(t){h(t).attr(\"d\",\"M0,0Z\")}function j(t){return t.filter(function(t){return t.vis})}function V(t){return t.id}function U(t){if(t.ids)return V}function q(){return!1}function H(r){var i,a=r[0].trace,o=e.select(this),s=Tr.hasMarkers(a),l=Tr.hasText(a),u=U(a),d=q,g=q;s&&(d=a.marker.maxdisplayed||a._needsCull?j:ne.identity),l&&(g=a.marker.maxdisplayed||a._needsCull?j:ne.identity);var v=(i=o.selectAll(\"path.point\").data(d,u)).enter().append(\"path\").classed(\"point\",!0);c&&v.call(Sr.pointStyle,a,t).call(Sr.translatePoints,f,p).style(\"opacity\",0).transition().style(\"opacity\",1);var m=s&&Sr.tryColorscale(a.marker,\"\"),y=s&&Sr.tryColorscale(a.marker,\"line\");i.order(),i.each(function(r){var i=e.select(this),o=h(i);Sr.translatePoint(r,o,f,p)?(Sr.singlePointStyle(r,o,a,m,y,t),n.layerClipId&&Sr.hideOutsideRangePoint(r,o,f,p,a.xcalendar,a.ycalendar),a.customdata&&i.classed(\"plotly-customdata\",null!==r.data&&void 0!==r.data)):o.remove()}),c?i.exit().transition().style(\"opacity\",0).remove():i.exit().remove(),(i=o.selectAll(\"g\").data(g,u)).enter().append(\"g\").classed(\"textpoint\",!0).append(\"text\"),i.order(),i.each(function(t){var r=e.select(this),i=h(r.select(\"text\"));Sr.translatePoint(t,i,f,p)?n.layerClipId&&Sr.hideOutsideRangePoint(t,r,f,p,a.xcalendar,a.ycalendar):r.remove()}),i.selectAll(\"text\").call(Sr.textPointStyle,a,t).each(function(t){var r=f.c2p(t.x),n=p.c2p(t.y);e.select(this).selectAll(\"tspan.line\").each(function(){h(e.select(this)).attr({x:r,y:n})})}),i.exit().remove()}}var Sx=function(t,e){var r,n,i,a,o=t.cd,s=t.xaxis,l=t.yaxis,u=[],c=o[0].trace;if(!Tr.hasMarkers(c)&&!Tr.hasText(c))return[];if(!1===e)for(r=0;r<o.length;r++)o[r].selected=0;else for(r=0;r<o.length;r++)n=o[r],i=s.c2p(n.x),a=l.c2p(n.y),e.contains([i,a])?(u.push({pointNumber:r,x:s.c2d(n.x),y:l.c2d(n.y)}),n.selected=1):n.selected=0;return u};function Ex(t,e,r){var n=t.selectAll(\"path.point\"),i=t.selectAll(\"text\");Sr.pointStyle(n,e,r),Sr.textPointStyle(i,e,r),Sr.selectedPointStyle(n,e),Sr.selectedTextStyle(i,e)}var Cx={style:function(t,r){var n=r?r[0].node3:e.select(t).selectAll(\"g.trace.scatter\");n.style(\"opacity\",function(t){return t[0].trace.opacity}),n.selectAll(\"g.points\").each(function(r){Ex(e.select(this),r.trace||r[0].trace,t)}),n.selectAll(\"g.trace path.js-line\").call(Sr.lineGroupStyle),n.selectAll(\"g.trace path.js-fill\").call(Sr.fillGroupStyle),P.getComponentMethod(\"errorbars\",\"style\")(n)},stylePoints:Ex},Lx={};Lx.hasLines=Tr.hasLines,Lx.hasMarkers=Tr.hasMarkers,Lx.hasText=Tr.hasText,Lx.isBubble=Tr.isBubble,Lx.attributes=Zr,Lx.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Zr,r,n)}var a=Ta(t,e,n,i),o=a<Wr.PTS_LINESONLY?\"lines+markers\":\"lines\";if(a){i(\"text\"),i(\"hovertext\"),i(\"mode\",o),Tr.hasLines(e)&&(px(t,e,r,n,i),dx(0,0,i),i(\"connectgaps\"),i(\"line.simplify\")),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{gradient:!0}),Tr.hasText(e)&&vx(0,0,n,i);var s=[];(Tr.hasMarkers(e)||Tr.hasText(e))&&(i(\"cliponaxis\"),i(\"marker.maxdisplayed\"),s.push(\"points\")),i(\"fill\"),\"none\"!==e.fill&&(hx(0,e,r,i),Tr.hasLines(e)||dx(0,0,i)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||s.push(\"fills\"),i(\"hoveron\",s.join(\"+\")||\"points\");var l=P.getComponentMethod(\"errorbars\",\"supplyDefaults\");l(t,e,r,{axis:\"y\"}),l(t,e,r,{axis:\"x\",inherit:\"y\"}),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},Lx.cleanData=ux,Lx.calc=ox,Lx.arraysToCalcdata=dh,Lx.plot=kx,Lx.colorbar=is,Lx.style=Cx.style,Lx.hoverPoints=yx,Lx.selectPoints=Sx,Lx.animatable=!0,Lx.moduleType=\"trace\",Lx.name=\"scatter\",Lx.basePlotModule=ua,Lx.categories=[\"cartesian\",\"symbols\",\"markerColorscale\",\"errorBarsOK\",\"showLegend\",\"scatter-like\"],Lx.meta={};var zx=Lx,Px={version:\"1.35.2\"};Xp.polyfill();for(var Ix=Px.register=P.register,Dx=Object.keys(Yy),Ox=0;Ox<Dx.length;Ox++){var Rx=Dx[Ox];Px[Rx]=Yy[Rx],Ix({moduleType:\"apiMethod\",name:Rx,fn:Yy[Rx]})}Ix(zx),Ix([yo,ng,cd,yd,jg,Bd,Rv,fv,Sg,gg,Dd,Sd]),Ix([{moduleType:\"locale\",name:\"en\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colourscale title\"},format:{days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\"],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\"],periods:[\"AM\",\"PM\"],dateTime:\"%a %b %e %X %Y\",date:\"%d/%m/%Y\",time:\"%H:%M:%S\",decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],year:\"%Y\",month:\"%b %Y\",dayMonth:\"%b %-d\",dayMonthYear:\"%b %-d, %Y\"}},{moduleType:\"locale\",name:\"en-US\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colorscale title\"},format:{date:\"%m/%d/%Y\"}}]),Px.Icons=Op,Px.Plots=_n,Px.Fx=yo,Px.Snapshot=tx,Px.PlotSchema=nn,Px.Queue=Nv,Px.d3=e;var Fx=Px,Bx={},Nx=Di.pointsAccessorFunction,jx=Eh.COMPARISON_OPS,Vx=Eh.INTERVAL_OPS,Ux=Eh.SET_OPS;Bx.moduleType=\"transform\",Bx.name=\"filter\",Bx.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},target:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},operation:{valType:\"enumerated\",values:[].concat(jx).concat(Vx).concat(Ux),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},preservegaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},editType:\"calc\"},Bx.supplyDefaults=function(t){var e={};function r(r,n){return ne.coerce(t,e,Bx.attributes,r,n)}if(r(\"enabled\")){r(\"preservegaps\"),r(\"operation\"),r(\"value\"),r(\"target\");var n=P.getComponentMethod(\"calendars\",\"handleDefaults\");n(t,e,\"valuecalendar\",null),n(t,e,\"targetcalendar\",null)}return e},Bx.calcTransform=function(t,e,r){if(r.enabled){var n=ne.getTargetArray(e,r);if(n){var i=r.target,a=n.length,o=r.targetcalendar,s=e._arrayAttrs;if(\"string\"==typeof i){var l=ne.nestedProperty(e,i+\"calendar\").get();l&&(o=l)}var u,c,h=function(t,e,r){var n=t.operation,i=t.value,a=Array.isArray(i);function o(t){return-1!==t.indexOf(n)}var s,l=function(r){return e(r,0,t.valuecalendar)},u=function(t){return e(t,0,r)};o(jx)?s=l(a?i[0]:i):o(Vx)?s=a?[l(i[0]),l(i[1])]:[l(i),l(i)]:o(Ux)&&(s=a?i.map(l):[l(i)]);switch(n){case\"=\":return function(t){return u(t)===s};case\"!=\":return function(t){return u(t)!==s};case\"<\":return function(t){return u(t)<s};case\"<=\":return function(t){return u(t)<=s};case\">\":return function(t){return u(t)>s};case\">=\":return function(t){return u(t)>=s};case\"[]\":return function(t){var e=u(t);return e>=s[0]&&e<=s[1]};case\"()\":return function(t){var e=u(t);return e>s[0]&&e<s[1]};case\"[)\":return function(t){var e=u(t);return e>=s[0]&&e<s[1]};case\"(]\":return function(t){var e=u(t);return e>s[0]&&e<=s[1]};case\"][\":return function(t){var e=u(t);return e<=s[0]||e>=s[1]};case\")(\":return function(t){var e=u(t);return e<s[0]||e>s[1]};case\"](\":return function(t){var e=u(t);return e<=s[0]||e>s[1]};case\")[\":return function(t){var e=u(t);return e<s[0]||e>=s[1]};case\"{}\":return function(t){return-1!==s.indexOf(u(t))};case\"}{\":return function(t){return-1===s.indexOf(u(t))}}}(r,ri.getDataToCoordFunc(t,e,i,n),o),f={},p={},d=0;r.preservegaps?(u=function(t){f[t.astr]=ne.extendDeep([],t.get()),t.set(new Array(a))},c=function(t,e){var r=f[t.astr][e];t.get()[e]=r}):(u=function(t){f[t.astr]=ne.extendDeep([],t.get()),t.set([])},c=function(t,e){var r=f[t.astr][e];t.get().push(r)}),m(u);for(var g=Nx(e.transforms,r),v=0;v<a;v++){h(n[v])&&(m(c,v),p[d++]=g(v))}r._indexToPoints=p,e._length=d}}function m(t,r){for(var n=0;n<s.length;n++){t(ne.nestedProperty(e,s[n]),r)}}};var qx=Bx,Hx={},Gx=Di.pointsAccessorFunction;function Wx(t,e){var r,n,i,a,o,s,l,u,c,h,f=e.transform,p=t.transforms[e.transformIndex].groups,d=Gx(t.transforms,f);if(!Array.isArray(p)||0===p.length)return[t];var g=ne.filterUnique(p),v=new Array(g.length),m=p.length,y=nn.findArrayAttributes(t),x=f.styles||[],b={};for(r=0;r<x.length;r++)b[x[r].target]=x[r].value;f.styles&&(h=ne.keyedContainer(f,\"styles\",\"target\",\"value.name\"));var _={},w={};for(r=0;r<g.length;r++){_[s=g[r]]=r,w[s]=0,(l=v[r]=ne.extendDeepNoArrays({},t))._group=s,l.transforms[e.transformIndex]._indexToPoints={};var M=null;for(h&&(M=h.get(s)),l.name=M||ne.templateString(f.nameformat,{trace:t.name,group:s}),u=l.transforms,l.transforms=[],n=0;n<u.length;n++)l.transforms[n]=ne.extendDeepNoArrays({},u[n]);for(n=0;n<y.length;n++)ne.nestedProperty(l,y[n]).set([])}for(i=0;i<y.length;i++){for(a=y[i],n=0,c=[];n<g.length;n++)c[n]=ne.nestedProperty(v[n],a).get();for(o=ne.nestedProperty(t,a).get(),n=0;n<m;n++)c[_[p[n]]].push(o[n])}for(n=0;n<m;n++){(l=v[_[p[n]]]).transforms[e.transformIndex]._indexToPoints[w[p[n]]]=d(n),w[p[n]]++}for(r=0;r<g.length;r++)s=g[r],l=v[r],_n.clearExpandedTraceDefaultColors(l),l=ne.extendDeepNoArrays(l,b[s]||{});return v}Hx.moduleType=\"transform\",Hx.name=\"groupby\",Hx.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},groups:{valType:\"data_array\",dflt:[],editType:\"calc\"},nameformat:{valType:\"string\",editType:\"calc\"},styles:{_isLinkedToArray:\"style\",target:{valType:\"string\",editType:\"calc\"},value:{valType:\"any\",dflt:{},editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},Hx.supplyDefaults=function(t,e,r){var n,i={};function a(e,r){return ne.coerce(t,i,Hx.attributes,e,r)}if(!a(\"enabled\"))return i;a(\"groups\"),a(\"nameformat\",r._dataLength>1?\"%{group} (%{trace})\":\"%{group}\");var o=t.styles,s=i.styles=[];if(o)for(n=0;n<o.length;n++)s[n]={},ne.coerce(o[n],s[n],Hx.attributes.styles,\"target\"),ne.coerce(o[n],s[n],Hx.attributes.styles,\"value\");return i},Hx.transform=function(t,e){var r,n,i,a=[];for(n=0;n<t.length;n++)for(r=Wx(t[n],e),i=0;i<r.length;i++)a.push(r[i]);return a};var Yx=Hx,Xx=function(t,e,r){!1===r(\"zsmooth\")&&(r(\"xgap\"),r(\"ygap\")),r(\"zhoverformat\")},Zx=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Lh,r,n)}Df(t,e,i,n)?(i(\"text\"),Xx(0,0,i),i(\"connectgaps\",qh(e)&&!1!==e.zsmooth),Ye(t,e,n,i,{prefix:\"\",cLetter:\"z\"})):e.visible=!1},Jx={};Jx.attributes=Lh,Jx.supplyDefaults=Zx,Jx.calc=bf,Jx.plot=$f,Jx.colorbar=kh,Jx.style=up,Jx.hoverPoints=Rf,Jx.moduleType=\"trace\",Jx.name=\"heatmap\",Jx.basePlotModule=ua,Jx.categories=[\"cartesian\",\"2dMap\"],Jx.meta={};var Kx=Jx;var Qx=function(t,e,r){return 0===t.length?t:e?(r||t.sort(e),function(t,e){for(var r=1,n=t.length,i=t[0],a=t[0],o=1;o<n;++o)if(a=i,e(i=t[o],a)){if(o===r){r++;continue}t[r++]=i}return t.length=r,t}(t,e)):(r||t.sort(),function(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}(t))};function $x(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(u.length>0&&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 tb(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,p=\"a\"+c;if(0===e.arrayBlockIndices[c])1===s.count?\"generic\"===r[c]?s.lvalue?(i.push([\"var \",f,\"=\",p,\".get(\",u,\")\"].join(\"\")),n=n.replace(l,f),a.push([p,\".set(\",u,\",\",f,\")\"].join(\"\"))):n=n.replace(l,[p,\".get(\",u,\")\"].join(\"\")):n=n.replace(l,[p,\"[\",u,\"]\"].join(\"\")):\"generic\"===r[c]?(i.push([\"var \",f,\"=\",p,\".get(\",u,\")\"].join(\"\")),n=n.replace(l,f),s.lvalue&&a.push([p,\".set(\",u,\",\",f,\")\"].join(\"\"))):(i.push([\"var \",f,\"=\",p,\"[\",u,\"]\"].join(\"\")),n=n.replace(l,f),s.lvalue&&a.push([p,\"[\",u,\"]=\",f].join(\"\")));else{for(var d=[s.name],g=[u],v=0;v<Math.abs(e.arrayBlockIndices[c]);v++)d.push(\"\\\\s*\\\\[([^\\\\]]+)\\\\]\"),g.push(\"$\"+(v+1)+\"*t\"+c+\"b\"+v);if(l=new RegExp(d.join(\"\"),\"g\"),u=g.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()}var eb=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,n=new Array(t.arrayArgs.length),i=new Array(t.arrayArgs.length),a=0;a<t.arrayArgs.length;++a)i[a]=e[2*a],n[a]=e[2*a+1];var o=[],s=[],l=[],u=[],c=[];for(a=0;a<t.arrayArgs.length;++a){t.arrayBlockIndices[a]<0?(l.push(0),u.push(r),o.push(r),s.push(r+t.arrayBlockIndices[a])):(l.push(t.arrayBlockIndices[a]),u.push(t.arrayBlockIndices[a]+r),o.push(0),s.push(t.arrayBlockIndices[a]));for(var h=[],f=0;f<n[a].length;f++)l[a]<=n[a][f]&&n[a][f]<u[a]&&h.push(n[a][f]-l[a]);c.push(h)}var p=[\"SS\"],d=[\"'use strict'\"],g=[];for(f=0;f<r;++f)g.push([\"s\",f,\"=SS[\",f,\"]\"].join(\"\"));for(a=0;a<t.arrayArgs.length;++a){for(p.push(\"a\"+a),p.push(\"t\"+a),p.push(\"p\"+a),f=0;f<r;++f)g.push([\"t\",a,\"p\",f,\"=t\",a,\"[\",l[a]+f,\"]\"].join(\"\"));for(f=0;f<Math.abs(t.arrayBlockIndices[a]);++f)g.push([\"t\",a,\"b\",f,\"=t\",a,\"[\",o[a]+f,\"]\"].join(\"\"))}for(a=0;a<t.scalarArgs.length;++a)p.push(\"Y\"+a);if(t.shapeArgs.length>0&&g.push(\"shape=SS.slice(0)\"),t.indexArgs.length>0){var v=new Array(r);for(a=0;a<r;++a)v[a]=\"0\";g.push([\"index=[\",v.join(\",\"),\"]\"].join(\"\"))}for(a=0;a<t.offsetArgs.length;++a){var m=t.offsetArgs[a],y=[];for(f=0;f<m.offset.length;++f)0!==m.offset[f]&&(1===m.offset[f]?y.push([\"t\",m.array,\"p\",f].join(\"\")):y.push([m.offset[f],\"*t\",m.array,\"p\",f].join(\"\")));0===y.length?g.push(\"q\"+a+\"=0\"):g.push([\"q\",a,\"=\",y.join(\"+\")].join(\"\"))}var x=Qx([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for((g=g.concat(x)).length>0&&d.push(\"var \"+g.join(\",\")),a=0;a<t.arrayArgs.length;++a)d.push(\"p\"+a+\"|=0\");t.pre.body.length>3&&d.push(tb(t.pre,t,i));var b=tb(t.body,t,i),_=function(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}(c);_<r?d.push(function(t,e,r,n){for(var i=e.length,a=r.arrayArgs.length,o=r.blockSize,s=r.indexArgs.length>0,l=[],u=0;u<a;++u)l.push([\"var offset\",u,\"=p\",u].join(\"\"));for(u=t;u<i;++u)l.push([\"for(var j\"+u+\"=SS[\",e[u],\"]|0;j\",u,\">0;){\"].join(\"\")),l.push([\"if(j\",u,\"<\",o,\"){\"].join(\"\")),l.push([\"s\",e[u],\"=j\",u].join(\"\")),l.push([\"j\",u,\"=0\"].join(\"\")),l.push([\"}else{s\",e[u],\"=\",o].join(\"\")),l.push([\"j\",u,\"-=\",o,\"}\"].join(\"\")),s&&l.push([\"index[\",e[u],\"]=j\",u].join(\"\"));for(u=0;u<a;++u){for(var c=[\"offset\"+u],h=t;h<i;++h)c.push([\"j\",h,\"*t\",u,\"p\",e[h]].join(\"\"));l.push([\"p\",u,\"=(\",c.join(\"+\"),\")\"].join(\"\"))}for(l.push($x(e,r,n)),u=t;u<i;++u)l.push(\"}\");return l.join(\"\\n\")}(_,c[0],t,b)):d.push($x(c[0],t,b)),t.post.body.length>3&&d.push(tb(t.post,t,i)),t.debug&&console.log(\"-----Generated cwise routine for \",e,\":\\n\"+d.join(\"\\n\")+\"\\n----------\");var w=[t.funcName||\"unnamed\",\"_cwise_loop_\",n[0].join(\"s\"),\"m\",_,function(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(\"\")}(i)].join(\"\");return new Function([\"function \",w,\"(\",p.join(\",\"),\"){\",d.join(\"\\n\"),\"} return \",w].join(\"\"))()};var rb=function(t){var e=[\"'use strict'\",\"var CACHED={}\"],r=[],n=t.funcName+\"_cwise_thunk\";e.push([\"return function \",n,\"(\",t.shimArgs.join(\",\"),\"){\"].join(\"\"));for(var i=[],a=[],o=[[\"array\",t.arrayArgs[0],\".shape.slice(\",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?\",\"+t.arrayBlockIndices[0]+\")\":\")\"].join(\"\")],s=[],l=[],u=0;u<t.arrayArgs.length;++u){var c=t.arrayArgs[u];r.push([\"t\",c,\"=array\",c,\".dtype,\",\"r\",c,\"=array\",c,\".order\"].join(\"\")),i.push(\"t\"+c),i.push(\"r\"+c),a.push(\"t\"+c),a.push(\"r\"+c+\".join()\"),o.push(\"array\"+c+\".data\"),o.push(\"array\"+c+\".stride\"),o.push(\"array\"+c+\".offset|0\"),u>0&&(s.push(\"array\"+t.arrayArgs[0]+\".shape.length===array\"+c+\".shape.length+\"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),l.push(\"array\"+t.arrayArgs[0]+\".shape[shapeIndex+\"+Math.max(0,t.arrayBlockIndices[0])+\"]===array\"+c+\".shape[shapeIndex+\"+Math.max(0,t.arrayBlockIndices[u])+\"]\"))}for(t.arrayArgs.length>1&&(e.push(\"if (!(\"+s.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--\\x3e0;) {\"),e.push(\"if (!(\"+l.join(\" && \")+\")) throw new Error('cwise: Arrays do not all have the same shape!')\"),e.push(\"}\")),u=0;u<t.scalarArgs.length;++u)o.push(\"scalar\"+t.scalarArgs[u]);return r.push([\"type=[\",a.join(\",\"),\"].join()\"].join(\"\")),r.push(\"proc=CACHED[type]\"),e.push(\"var \"+r.join(\",\")),e.push([\"if(!proc){\",\"CACHED[type]=proc=compile([\",i.join(\",\"),\"])}\",\"return proc(\",o.join(\",\"),\")}\"].join(\"\")),t.debug&&console.log(\"-----Generated thunk:\\n\"+e.join(\"\\n\")+\"\\n----------\"),new Function(\"compile\",e.join(\"\\n\"))(eb.bind(void 0,t))};var nb=function(t){var e=new function(){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};e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var n=0;n<r.length;++n){var i=r[n];if(\"array\"===i||\"object\"==typeof i&&i.blockIndices){if(e.argTypes[n]=\"array\",e.arrayArgs.push(n),e.arrayBlockIndices.push(i.blockIndices?i.blockIndices:0),e.shimArgs.push(\"array\"+n),n<e.pre.args.length&&e.pre.args[n].count>0)throw new Error(\"cwise: pre() block may not reference array args\");if(n<e.post.args.length&&e.post.args[n].count>0)throw new Error(\"cwise: post() block may not reference array args\")}else if(\"scalar\"===i)e.scalarArgs.push(n),e.shimArgs.push(\"scalar\"+n);else if(\"index\"===i){if(e.indexArgs.push(n),n<e.pre.args.length&&e.pre.args[n].count>0)throw new Error(\"cwise: pre() block may not reference array index\");if(n<e.body.args.length&&e.body.args[n].lvalue)throw new Error(\"cwise: body() block may not write to array index\");if(n<e.post.args.length&&e.post.args[n].count>0)throw new Error(\"cwise: post() block may not reference array index\")}else if(\"shape\"===i){if(e.shapeArgs.push(n),n<e.pre.args.length&&e.pre.args[n].lvalue)throw new Error(\"cwise: pre() block may not write to array shape\");if(n<e.body.args.length&&e.body.args[n].lvalue)throw new Error(\"cwise: body() block may not write to array shape\");if(n<e.post.args.length&&e.post.args[n].lvalue)throw new Error(\"cwise: post() block may not write to array shape\")}else{if(\"object\"!=typeof i||!i.offset)throw new Error(\"cwise: Unknown argument type \"+r[n]);e.argTypes[n]=\"offset\",e.offsetArgs.push({array:i.array,offset:i.offset}),e.offsetArgIndex.push(n)}}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,rb(e)},ib={},ab={body:\"\",args:[],thisVars:[],localVars:[]};function ob(t){if(!t)return ab;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 sb(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(\"\"))(function(t){return nb({args:t.args,pre:ob(t.pre),body:ob(t.body),post:ob(t.proc),funcName:t.funcName})}(t))}var lb={add:\"+\",sub:\"-\",mul:\"*\",div:\"/\",mod:\"%\",band:\"&\",bor:\"|\",bxor:\"^\",lshift:\"<<\",rshift:\">>\",rrshift:\">>>\"};!function(){for(var t in lb){var e=lb[t];ib[t]=sb({args:[\"array\",\"array\",\"array\"],body:{args:[\"a\",\"b\",\"c\"],body:\"a=b\"+e+\"c\"},funcName:t}),ib[t+\"eq\"]=sb({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a\"+e+\"=b\"},rvalue:!0,funcName:t+\"eq\"}),ib[t+\"s\"]=sb({args:[\"array\",\"array\",\"scalar\"],body:{args:[\"a\",\"b\",\"s\"],body:\"a=b\"+e+\"s\"},funcName:t+\"s\"}),ib[t+\"seq\"]=sb({args:[\"array\",\"scalar\"],body:{args:[\"a\",\"s\"],body:\"a\"+e+\"=s\"},rvalue:!0,funcName:t+\"seq\"})}}();var ub={not:\"!\",bnot:\"~\",neg:\"-\",recip:\"1.0/\"};!function(){for(var t in ub){var e=ub[t];ib[t]=sb({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a=\"+e+\"b\"},funcName:t}),ib[t+\"eq\"]=sb({args:[\"array\"],body:{args:[\"a\"],body:\"a=\"+e+\"a\"},rvalue:!0,count:2,funcName:t+\"eq\"})}}();var cb={and:\"&&\",or:\"||\",eq:\"===\",neq:\"!==\",lt:\"<\",gt:\">\",leq:\"<=\",geq:\">=\"};!function(){for(var t in cb){var e=cb[t];ib[t]=sb({args:[\"array\",\"array\",\"array\"],body:{args:[\"a\",\"b\",\"c\"],body:\"a=b\"+e+\"c\"},funcName:t}),ib[t+\"s\"]=sb({args:[\"array\",\"array\",\"scalar\"],body:{args:[\"a\",\"b\",\"s\"],body:\"a=b\"+e+\"s\"},funcName:t+\"s\"}),ib[t+\"eq\"]=sb({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a=a\"+e+\"b\"},rvalue:!0,count:2,funcName:t+\"eq\"}),ib[t+\"seq\"]=sb({args:[\"array\",\"scalar\"],body:{args:[\"a\",\"s\"],body:\"a=a\"+e+\"s\"},rvalue:!0,count:2,funcName:t+\"seq\"})}}();var hb=[\"abs\",\"acos\",\"asin\",\"atan\",\"ceil\",\"cos\",\"exp\",\"floor\",\"log\",\"round\",\"sin\",\"sqrt\",\"tan\"];!function(){for(var t=0;t<hb.length;++t){var e=hb[t];ib[e]=sb({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}),ib[e+\"eq\"]=sb({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 fb=[\"max\",\"min\",\"atan2\",\"pow\"];!function(){for(var t=0;t<fb.length;++t){var e=fb[t];ib[e]=sb({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}),ib[e+\"s\"]=sb({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\"}),ib[e+\"eq\"]=sb({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\"}),ib[e+\"seq\"]=sb({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 pb=[\"atan2\",\"pow\"];!function(){for(var t=0;t<pb.length;++t){var e=pb[t];ib[e+\"op\"]=sb({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\"}),ib[e+\"ops\"]=sb({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\"}),ib[e+\"opeq\"]=sb({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\"}),ib[e+\"opseq\"]=sb({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\"})}}(),ib.any=nb({args:[\"array\"],pre:ab,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\"}),ib.all=nb({args:[\"array\"],pre:ab,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\"}),ib.sum=nb({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\"}),ib.prod=nb({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\"}),ib.norm2squared=nb({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\"}),ib.norm2=nb({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\"}),ib.norminf=nb({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\"}),ib.norm1=nb({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\"}),ib.sup=nb({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:[]}}),ib.inf=nb({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:[]}}),ib.argmin=nb({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:[]}}),ib.argmax=nb({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:[]}}),ib.random=sb({args:[\"array\"],pre:{args:[],body:\"this_f=Math.random\",thisVars:[\"this_f\"]},body:{args:[\"a\"],body:\"a=this_f()\",thisVars:[\"this_f\"]},funcName:\"random\"}),ib.assign=sb({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a=b\"},funcName:\"assign\"}),ib.assigns=sb({args:[\"array\",\"scalar\"],body:{args:[\"a\",\"b\"],body:\"a=b\"},funcName:\"assigns\"}),ib.equals=nb({args:[\"array\",\"array\"],pre:ab,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\"});var db=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=r;return e},gb=function(t){return null!=t&&(vb(t)||function(t){return\"function\"==typeof t.readFloatLE&&\"function\"==typeof t.slice&&vb(t.slice(0,0))}(t)||!!t._isBuffer)};function vb(t){return!!t.constructor&&\"function\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}var mb=\"undefined\"!=typeof Float64Array;function yb(t,e){return t[0]-e[0]}function xb(){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(yb);var n=new Array(r.length);for(t=0;t<n.length;++t)n[t]=r[t][1];return n}function bb(t,e){var r=[\"View\",e,\"d\",t].join(\"\");e<0&&(r=\"View_Nil\"+t);var n=\"generic\"===t;if(-1===e){var i=\"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);}\";return new Function(i)()}if(0===e){i=\"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)}\";return new Function(\"TrivialArray\",i)(_b[t][0])}i=[\"'use strict'\"];var a=db(e),o=a.map(function(t){return\"i\"+t}),s=\"this.offset+\"+a.map(function(t){return\"this.stride[\"+t+\"]*i\"+t}).join(\"+\"),l=a.map(function(t){return\"b\"+t}).join(\",\"),u=a.map(function(t){return\"c\"+t}).join(\",\");i.push(\"function \"+r+\"(a,\"+l+\",\"+u+\",d){this.data=a\",\"this.shape=[\"+l+\"]\",\"this.stride=[\"+u+\"]\",\"this.offset=d|0}\",\"var proto=\"+r+\".prototype\",\"proto.dtype='\"+t+\"'\",\"proto.dimension=\"+e),i.push(\"Object.defineProperty(proto,'size',{get:function \"+r+\"_size(){return \"+a.map(function(t){return\"this.shape[\"+t+\"]\"}).join(\"*\"),\"}})\"),1===e?i.push(\"proto.order=[0]\"):(i.push(\"Object.defineProperty(proto,'order',{get:\"),e<4?(i.push(\"function \"+r+\"_order(){\"),2===e?i.push(\"return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})\"):3===e&&i.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];}}})\")):i.push(\"ORDER})\")),i.push(\"proto.set=function \"+r+\"_set(\"+o.join(\",\")+\",v){\"),n?i.push(\"return this.data.set(\"+s+\",v)}\"):i.push(\"return this.data[\"+s+\"]=v}\"),i.push(\"proto.get=function \"+r+\"_get(\"+o.join(\",\")+\"){\"),n?i.push(\"return this.data.get(\"+s+\")}\"):i.push(\"return this.data[\"+s+\"]}\"),i.push(\"proto.index=function \"+r+\"_index(\",o.join(),\"){return \"+s+\"}\"),i.push(\"proto.hi=function \"+r+\"_hi(\"+o.join(\",\")+\"){return new \"+r+\"(this.data,\"+a.map(function(t){return[\"(typeof i\",t,\"!=='number'||i\",t,\"<0)?this.shape[\",t,\"]:i\",t,\"|0\"].join(\"\")}).join(\",\")+\",\"+a.map(function(t){return\"this.stride[\"+t+\"]\"}).join(\",\")+\",this.offset)}\");var c=a.map(function(t){return\"a\"+t+\"=this.shape[\"+t+\"]\"}),h=a.map(function(t){return\"c\"+t+\"=this.stride[\"+t+\"]\"});i.push(\"proto.lo=function \"+r+\"_lo(\"+o.join(\",\")+\"){var b=this.offset,d=0,\"+c.join(\",\")+\",\"+h.join(\",\"));for(var f=0;f<e;++f)i.push(\"if(typeof i\"+f+\"==='number'&&i\"+f+\">=0){d=i\"+f+\"|0;b+=c\"+f+\"*d;a\"+f+\"-=d}\");i.push(\"return new \"+r+\"(this.data,\"+a.map(function(t){return\"a\"+t}).join(\",\")+\",\"+a.map(function(t){return\"c\"+t}).join(\",\")+\",b)}\"),i.push(\"proto.step=function \"+r+\"_step(\"+o.join(\",\")+\"){var \"+a.map(function(t){return\"a\"+t+\"=this.shape[\"+t+\"]\"}).join(\",\")+\",\"+a.map(function(t){return\"b\"+t+\"=this.stride[\"+t+\"]\"}).join(\",\")+\",c=this.offset,d=0,ceil=Math.ceil\");for(f=0;f<e;++f)i.push(\"if(typeof i\"+f+\"==='number'){d=i\"+f+\"|0;if(d<0){c+=b\"+f+\"*(a\"+f+\"-1);a\"+f+\"=ceil(-a\"+f+\"/d)}else{a\"+f+\"=ceil(a\"+f+\"/d)}b\"+f+\"*=d}\");i.push(\"return new \"+r+\"(this.data,\"+a.map(function(t){return\"a\"+t}).join(\",\")+\",\"+a.map(function(t){return\"b\"+t}).join(\",\")+\",c)}\");var p=new Array(e),d=new Array(e);for(f=0;f<e;++f)p[f]=\"a[i\"+f+\"]\",d[f]=\"b[i\"+f+\"]\";i.push(\"proto.transpose=function \"+r+\"_transpose(\"+o+\"){\"+o.map(function(t,e){return t+\"=(\"+t+\"===undefined?\"+e+\":\"+t+\"|0)\"}).join(\";\"),\"var a=this.shape,b=this.stride;return new \"+r+\"(this.data,\"+p.join(\",\")+\",\"+d.join(\",\")+\",this.offset)}\"),i.push(\"proto.pick=function \"+r+\"_pick(\"+o+\"){var a=[],b=[],c=this.offset\");for(f=0;f<e;++f)i.push(\"if(typeof i\"+f+\"==='number'&&i\"+f+\">=0){c=(c+this.stride[\"+f+\"]*i\"+f+\")|0}else{a.push(this.shape[\"+f+\"]);b.push(this.stride[\"+f+\"])}\");return i.push(\"var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}\"),i.push(\"return function construct_\"+r+\"(data,shape,stride,offset){return new \"+r+\"(data,\"+a.map(function(t){return\"shape[\"+t+\"]\"}).join(\",\")+\",\"+a.map(function(t){return\"stride[\"+t+\"]\"}).join(\",\")+\",offset)}\"),new Function(\"CTOR_LIST\",\"ORDER\",i.join(\"\\n\"))(_b[t],xb)}var _b={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};var wb=function(t,e,r,n){if(void 0===t)return(0,_b.array[0])([]);\"number\"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var i=e.length;if(void 0===r){r=new Array(i);for(var a=i-1,o=1;a>=0;--a)r[a]=o,o*=e[a]}if(void 0===n)for(n=0,a=0;a<i;++a)r[a]<0&&(n-=(e[a]-1)*r[a]);for(var s=function(t){if(gb(t))return\"buffer\";if(mb)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\"}(t),l=_b[s];l.length<=i+1;)l.push(bb(s,l.length-1));return(0,l[i+1])(t,e,r,n)},Mb={};function Ab(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}Mb.INT_BITS=32,Mb.INT_MAX=2147483647,Mb.INT_MIN=-1<<31,Mb.sign=function(t){return(t>0)-(t<0)},Mb.abs=function(t){var e=t>>31;return(t^e)-e},Mb.min=function(t,e){return e^(t^e)&-(t<e)},Mb.max=function(t,e){return t^(t^e)&-(t<e)},Mb.isPow2=function(t){return!(t&t-1||!t)},Mb.log2=function(t){var e,r;return e=(t>65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},Mb.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},Mb.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},Mb.countTrailingZeros=Ab,Mb.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},Mb.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},Mb.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var kb=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}}(kb),Mb.reverse=function(t){return kb[255&t]<<24|kb[t>>>8&255]<<16|kb[t>>>16&255]<<8|kb[t>>>24&255]},Mb.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},Mb.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},Mb.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},Mb.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},Mb.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>Ab(t)+1};for(var Tb={byteLength:function(t){return 3*t.length/4-Ib(t)},toByteArray:function(t){var e,r,n,i,a,o=t.length;i=Ib(t),a=new Cb(3*o/4-i),r=i>0?o-4:o;var s=0;for(e=0;e<r;e+=4)n=Eb[t.charCodeAt(e)]<<18|Eb[t.charCodeAt(e+1)]<<12|Eb[t.charCodeAt(e+2)]<<6|Eb[t.charCodeAt(e+3)],a[s++]=n>>16&255,a[s++]=n>>8&255,a[s++]=255&n;2===i?(n=Eb[t.charCodeAt(e)]<<2|Eb[t.charCodeAt(e+1)]>>4,a[s++]=255&n):1===i&&(n=Eb[t.charCodeAt(e)]<<10|Eb[t.charCodeAt(e+1)]<<4|Eb[t.charCodeAt(e+2)]>>2,a[s++]=n>>8&255,a[s++]=255&n);return a},fromByteArray:function(t){for(var e,r=t.length,n=r%3,i=\"\",a=[],o=0,s=r-n;o<s;o+=16383)a.push(Db(t,o,o+16383>s?s:o+16383));1===n?(e=t[r-1],i+=Sb[e>>2],i+=Sb[e<<4&63],i+=\"==\"):2===n&&(e=(t[r-2]<<8)+t[r-1],i+=Sb[e>>10],i+=Sb[e>>4&63],i+=Sb[e<<2&63],i+=\"=\");return a.push(i),a.join(\"\")}},Sb=[],Eb=[],Cb=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,Lb=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",zb=0,Pb=Lb.length;zb<Pb;++zb)Sb[zb]=Lb[zb],Eb[Lb.charCodeAt(zb)]=zb;function Ib(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 Db(t,e,r){for(var n,i,a=[],o=e;o<r;o+=3)n=(t[o]<<16&16711680)+(t[o+1]<<8&65280)+(255&t[o+2]),a.push(Sb[(i=n)>>18&63]+Sb[i>>12&63]+Sb[i>>6&63]+Sb[63&i]);return a.join(\"\")}Eb[\"-\".charCodeAt(0)]=62,Eb[\"_\".charCodeAt(0)]=63;var Ob={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,p=t[e+h];for(h+=f,a=p&(1<<-c)-1,p>>=-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*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},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,p=n?0:a-1,d=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))*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+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*g}},Rb={};Rb.Buffer=Nb,Rb.SlowBuffer=function(t){+t!=t&&(t=0);return Nb.alloc(+t)},Rb.INSPECT_MAX_BYTES=50;var Fb=2147483647;function Bb(t){if(t>Fb)throw new RangeError(\"Invalid typed array length\");var e=new Uint8Array(t);return e.__proto__=Nb.prototype,e}function Nb(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 Ub(t)}return jb(t,e,r)}function jb(t,e,r){if(\"number\"==typeof t)throw new TypeError('\"value\" argument must not be a number');return y_(t)||t&&y_(t.buffer)?function(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('\"offset\" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('\"length\" is outside of buffer bounds');var n;n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=Nb.prototype,n}(t,e,r):\"string\"==typeof t?function(t,e){\"string\"==typeof e&&\"\"!==e||(e=\"utf8\");if(!Nb.isEncoding(e))throw new TypeError(\"Unknown encoding: \"+e);var r=0|Gb(t,e),n=Bb(r),i=n.write(t,e);i!==r&&(n=n.slice(0,i));return n}(t,e):function(t){if(Nb.isBuffer(t)){var e=0|Hb(t.length),r=Bb(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||x_(t.length)?Bb(0):qb(t);if(\"Buffer\"===t.type&&Array.isArray(t.data))return qb(t.data)}throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object.\")}(t)}function Vb(t){if(\"number\"!=typeof t)throw new TypeError('\"size\" argument must be of type number');if(t<0)throw new RangeError('\"size\" argument must not be negative')}function Ub(t){return Vb(t),Bb(t<0?0:0|Hb(t))}function qb(t){for(var e=t.length<0?0:0|Hb(t.length),r=Bb(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function Hb(t){if(t>=Fb)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+Fb.toString(16)+\" bytes\");return 0|t}function Gb(t,e){if(Nb.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||y_(t))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 v_(t).length;default:if(n)return g_(t).length;e=(\"\"+e).toLowerCase(),n=!0}}function Wb(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Yb(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),x_(r=+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=Nb.from(e,n)),Nb.isBuffer(e))return 0===e.length?-1:Xb(t,e,r,n,i);if(\"number\"==typeof e)return e&=255,\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):Xb(t,[e],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function Xb(t,e,r,n,i){var a,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}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=r;a<s;a++)if(u(t,a)===u(e,-1===c?0:a-c)){if(-1===c&&(c=a),a-c+1===l)return c*o}else-1!==c&&(a-=a-c),c=-1}else for(r+l>s&&(r=s-l),a=r;a>=0;a--){for(var h=!0,f=0;f<l;f++)if(u(t,a+f)!==u(e,f)){h=!1;break}if(h)return a}return-1}function Zb(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;n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(x_(s))return o;t[r+o]=s}return o}function Jb(t,e,r,n){return m_(g_(e,t.length-r),t,r,n)}function Kb(t,e,r,n){return m_(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function Qb(t,e,r,n){return Kb(t,e,r,n)}function $b(t,e,r,n){return m_(v_(e),t,r,n)}function t_(t,e,r,n){return m_(function(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}(e,t.length-r),t,r,n)}function e_(t,e,r){return 0===e&&r===t.length?Tb.fromByteArray(t):Tb.fromByteArray(t.slice(e,r))}function r_(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var a,o,s,l,u=t[i],c=null,h=u>239?4:u>223?3:u>191?2:1;if(i+h<=r)switch(h){case 1:u<128&&(c=u);break;case 2:128==(192&(a=t[i+1]))&&(l=(31&u)<<6|63&a)>127&&(c=l);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(l=(15&u)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&u)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(c=l)}null===c?(c=65533,h=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),i+=h}return function(t){var e=t.length;if(e<=n_)return String.fromCharCode.apply(String,t);var r=\"\",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=n_));return r}(n)}Rb.kMaxLength=Fb,Nb.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}}(),Nb.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.\"),Object.defineProperty(Nb.prototype,\"parent\",{get:function(){if(this instanceof Nb)return this.buffer}}),Object.defineProperty(Nb.prototype,\"offset\",{get:function(){if(this instanceof Nb)return this.byteOffset}}),\"undefined\"!=typeof Symbol&&Symbol.species&&Nb[Symbol.species]===Nb&&Object.defineProperty(Nb,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),Nb.poolSize=8192,Nb.from=function(t,e,r){return jb(t,e,r)},Nb.prototype.__proto__=Uint8Array.prototype,Nb.__proto__=Uint8Array,Nb.alloc=function(t,e,r){return function(t,e,r){return Vb(t),t<=0?Bb(t):void 0!==e?\"string\"==typeof r?Bb(t).fill(e,r):Bb(t).fill(e):Bb(t)}(t,e,r)},Nb.allocUnsafe=function(t){return Ub(t)},Nb.allocUnsafeSlow=function(t){return Ub(t)},Nb.isBuffer=function(t){return null!=t&&!0===t._isBuffer},Nb.compare=function(t,e){if(!Nb.isBuffer(t)||!Nb.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},Nb.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}},Nb.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===t.length)return Nb.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=Nb.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){var a=t[r];if(ArrayBuffer.isView(a)&&(a=Nb.from(a)),!Nb.isBuffer(a))throw new TypeError('\"list\" argument must be an Array of Buffers');a.copy(n,i),i+=a.length}return n},Nb.byteLength=Gb,Nb.prototype._isBuffer=!0,Nb.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)Wb(this,e,e+1);return this},Nb.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)Wb(this,e,e+3),Wb(this,e+1,e+2);return this},Nb.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)Wb(this,e,e+7),Wb(this,e+1,e+6),Wb(this,e+2,e+5),Wb(this,e+3,e+4);return this},Nb.prototype.toString=function(){var t=this.length;return 0===t?\"\":0===arguments.length?r_(this,0,t):function(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))return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return o_(this,e,r);case\"utf8\":case\"utf-8\":return r_(this,e,r);case\"ascii\":return i_(this,e,r);case\"latin1\":case\"binary\":return a_(this,e,r);case\"base64\":return e_(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return s_(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}.apply(this,arguments)},Nb.prototype.toLocaleString=Nb.prototype.toString,Nb.prototype.equals=function(t){if(!Nb.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");return this===t||0===Nb.compare(this,t)},Nb.prototype.inspect=function(){var t=\"\",e=Rb.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString(\"hex\",0,e).match(/.{2}/g).join(\" \"),this.length>e&&(t+=\" ... \")),\"<Buffer \"+t+\">\"},Nb.prototype.compare=function(t,e,r,n,i){if(!Nb.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,o=r-e,s=Math.min(a,o),l=this.slice(n,i),u=t.slice(e,r),c=0;c<s;++c)if(l[c]!==u[c]){a=l[c],o=u[c];break}return a<o?-1:o<a?1:0},Nb.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},Nb.prototype.indexOf=function(t,e,r){return Yb(this,t,e,r,!0)},Nb.prototype.lastIndexOf=function(t,e,r){return Yb(this,t,e,r,!1)},Nb.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 Zb(this,t,e,r);case\"utf8\":case\"utf-8\":return Jb(this,t,e,r);case\"ascii\":return Kb(this,t,e,r);case\"latin1\":case\"binary\":return Qb(this,t,e,r);case\"base64\":return $b(this,t,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return t_(this,t,e,r);default:if(a)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),a=!0}},Nb.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var n_=4096;function i_(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 a_(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 o_(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+=d_(t[a]);return i}function s_(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 l_(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 u_(t,e,r,n,i,a){if(!Nb.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 c_(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 h_(t,e,r,n,i){return e=+e,r>>>=0,i||c_(t,0,r,4),Ob.write(t,e,r,n,23,4),r+4}function f_(t,e,r,n,i){return e=+e,r>>>=0,i||c_(t,0,r,8),Ob.write(t,e,r,n,52,8),r+8}Nb.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__=Nb.prototype,n},Nb.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||l_(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n},Nb.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||l_(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},Nb.prototype.readUInt8=function(t,e){return t>>>=0,e||l_(t,1,this.length),this[t]},Nb.prototype.readUInt16LE=function(t,e){return t>>>=0,e||l_(t,2,this.length),this[t]|this[t+1]<<8},Nb.prototype.readUInt16BE=function(t,e){return t>>>=0,e||l_(t,2,this.length),this[t]<<8|this[t+1]},Nb.prototype.readUInt32LE=function(t,e){return t>>>=0,e||l_(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},Nb.prototype.readUInt32BE=function(t,e){return t>>>=0,e||l_(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},Nb.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||l_(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*=128)&&(n-=Math.pow(2,8*e)),n},Nb.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||l_(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},Nb.prototype.readInt8=function(t,e){return t>>>=0,e||l_(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},Nb.prototype.readInt16LE=function(t,e){t>>>=0,e||l_(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},Nb.prototype.readInt16BE=function(t,e){t>>>=0,e||l_(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},Nb.prototype.readInt32LE=function(t,e){return t>>>=0,e||l_(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},Nb.prototype.readInt32BE=function(t,e){return t>>>=0,e||l_(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},Nb.prototype.readFloatLE=function(t,e){return t>>>=0,e||l_(t,4,this.length),Ob.read(this,t,!0,23,4)},Nb.prototype.readFloatBE=function(t,e){return t>>>=0,e||l_(t,4,this.length),Ob.read(this,t,!1,23,4)},Nb.prototype.readDoubleLE=function(t,e){return t>>>=0,e||l_(t,8,this.length),Ob.read(this,t,!0,52,8)},Nb.prototype.readDoubleBE=function(t,e){return t>>>=0,e||l_(t,8,this.length),Ob.read(this,t,!1,52,8)},Nb.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||u_(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},Nb.prototype.writeUIntBE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||u_(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},Nb.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,1,255,0),this[e]=255&t,e+1},Nb.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},Nb.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},Nb.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||u_(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},Nb.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||u_(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},Nb.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);u_(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},Nb.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);u_(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},Nb.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},Nb.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},Nb.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||u_(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},Nb.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||u_(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},Nb.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||u_(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},Nb.prototype.writeFloatLE=function(t,e,r){return h_(this,t,e,!0,r)},Nb.prototype.writeFloatBE=function(t,e,r){return h_(this,t,e,!1,r)},Nb.prototype.writeDoubleLE=function(t,e,r){return f_(this,t,e,!0,r)},Nb.prototype.writeDoubleBE=function(t,e,r){return f_(this,t,e,!1,r)},Nb.prototype.copy=function(t,e,r,n){if(!Nb.isBuffer(t))throw new TypeError(\"argument should be a Buffer\");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(\"Index out of range\");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=n-r;if(this===t&&\"function\"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(e,r,n);else if(this===t&&r<e&&e<n)for(var a=i-1;a>=0;--a)t[a+e]=this[a+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},Nb.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),void 0!==n&&\"string\"!=typeof n)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof n&&!Nb.isEncoding(n))throw new TypeError(\"Unknown encoding: \"+n);if(1===t.length){var i=t.charCodeAt(0);(\"utf8\"===n&&i<128||\"latin1\"===n)&&(t=i)}}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;var a;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),\"number\"==typeof t)for(a=e;a<r;++a)this[a]=t;else{var o=Nb.isBuffer(t)?t:new Nb(t,n),s=o.length;if(0===s)throw new TypeError('The value \"'+t+'\" is invalid for argument \"value\"');for(a=0;a<r-e;++a)this[a+e]=o[a%s]}return this};var p_=/[^+/0-9A-Za-z-_]/g;function d_(t){return t<16?\"0\"+t.toString(16):t.toString(16)}function g_(t,e){var r;e=e||1/0;for(var 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){return Tb.toByteArray(function(t){if((t=(t=t.split(\"=\")[0]).trim().replace(p_,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function m_(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 instanceof ArrayBuffer||null!=t&&null!=t.constructor&&\"ArrayBuffer\"===t.constructor.name&&\"number\"==typeof t.byteLength}function x_(t){return t!=t}var b_=function(t,e){switch(void 0===e&&(e=0),typeof t){case\"number\":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n<t;++n)r[n]=e;return r}(0|t,e);break;case\"object\":if(\"number\"==typeof t.length)return function t(e,r,n){var i=0|e[n];if(i<=0)return[];var a,o=new Array(i);if(n===e.length-1)for(a=0;a<i;++a)o[a]=r;else for(a=0;a<i;++a)o[a]=t(e,r,n+1);return o}(t,e,0)}return[]},__={};(function(t,e){\"use strict\";t.__TYPEDARRAY_POOL||(t.__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 r=\"undefined\"!=typeof Uint8ClampedArray,n=t.__TYPEDARRAY_POOL;n.UINT8C||(n.UINT8C=b_([32,0])),n.BUFFER||(n.BUFFER=b_([32,0]));var i=n.DATA,a=n.BUFFER;function o(t){if(t){var e=t.length||t.byteLength,r=Mb.log2(e);i[r].push(t)}}function s(t){t=Mb.nextPow2(t);var e=Mb.log2(t),r=i[e];return r.length>0?r.pop():new ArrayBuffer(t)}function l(t){return new Uint8Array(s(t),0,t)}function u(t){return new Uint16Array(s(2*t),0,t)}function c(t){return new Uint32Array(s(4*t),0,t)}function h(t){return new Int8Array(s(t),0,t)}function f(t){return new Int16Array(s(2*t),0,t)}function p(t){return new Int32Array(s(4*t),0,t)}function d(t){return new Float32Array(s(4*t),0,t)}function g(t){return new Float64Array(s(8*t),0,t)}function v(t){return r?new Uint8ClampedArray(s(t),0,t):l(t)}function m(t){return new DataView(s(t),0,t)}function y(t){t=Mb.nextPow2(t);var r=Mb.log2(t),n=a[r];return n.length>0?n.pop():new e(t)}__.free=function(t){if(e.isBuffer(t))a[Mb.log2(t.length)].push(t);else{if(\"[object ArrayBuffer]\"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var r=t.length||t.byteLength,n=0|Mb.log2(r);i[n].push(t)}},__.freeUint8=__.freeUint16=__.freeUint32=__.freeInt8=__.freeInt16=__.freeInt32=__.freeFloat32=__.freeFloat=__.freeFloat64=__.freeDouble=__.freeUint8Clamped=__.freeDataView=function(t){o(t.buffer)},__.freeArrayBuffer=o,__.freeBuffer=function(t){a[Mb.log2(t.length)].push(t)},__.malloc=function(t,e){if(void 0===e||\"arraybuffer\"===e)return s(t);switch(e){case\"uint8\":return l(t);case\"uint16\":return u(t);case\"uint32\":return c(t);case\"int8\":return h(t);case\"int16\":return f(t);case\"int32\":return p(t);case\"float\":case\"float32\":return d(t);case\"double\":case\"float64\":return g(t);case\"uint8_clamped\":return v(t);case\"buffer\":return y(t);case\"data\":case\"dataview\":return m(t);default:return null}return null},__.mallocArrayBuffer=s,__.mallocUint8=l,__.mallocUint16=u,__.mallocUint32=c,__.mallocInt8=h,__.mallocInt16=f,__.mallocInt32=p,__.mallocFloat32=__.mallocFloat=d,__.mallocFloat64=__.mallocDouble=g,__.mallocUint8Clamped=v,__.mallocDataView=m,__.mallocBuffer=y,__.clearCache=function(){for(var t=0;t<32;++t)n.UINT8[t].length=0,n.UINT16[t].length=0,n.UINT32[t].length=0,n.INT8[t].length=0,n.INT16[t].length=0,n.INT32[t].length=0,n.FLOAT[t].length=0,n.DOUBLE[t].length=0,n.UINT8C[t].length=0,i[t].length=0,a[t].length=0}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},Rb.Buffer);var w_=[\"uint8\",\"uint8_clamped\",\"uint16\",\"uint32\",\"int8\",\"int16\",\"int32\",\"float32\"];function M_(t,e,r,n,i){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=i}var A_=M_.prototype;function k_(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 T_(t,e){for(var r=__.malloc(t.length,e),n=t.length,i=0;i<n;++i)r[i]=t[i];return r}A_.bind=function(){this.gl.bindBuffer(this.type,this.handle)},A_.unbind=function(){this.gl.bindBuffer(this.type,null)},A_.dispose=function(){this.gl.deleteBuffer(this.handle)},A_.update=function(t,e){if(\"number\"!=typeof e&&(e=-1),this.bind(),\"object\"==typeof t&&void 0!==t.shape){var r=t.dtype;if(w_.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&&function(t,e){for(var r=1,n=e.length-1;n>=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=k_(this.gl,this.type,this.length,this.usage,t.data,e):this.length=k_(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var n=__.malloc(t.size,r),i=wb(n,t.shape);ib.assign(i,t),this.length=k_(this.gl,this.type,this.length,this.usage,e<0?n:n.subarray(0,t.size),e),__.free(n)}}else if(Array.isArray(t)){var a;a=this.type===this.gl.ELEMENT_ARRAY_BUFFER?T_(t,\"uint16\"):T_(t,\"float32\"),this.length=k_(this.gl,this.type,this.length,this.usage,e<0?a:a.subarray(0,t.length),e),__.free(a)}else if(\"object\"==typeof t&&\"number\"==typeof t.length)this.length=k_(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)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}};var S_=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||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(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==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 i=new M_(t,r,t.createBuffer(),0,n);return i.update(e),i},E_=function(t){\"string\"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n<t.length-1;n++)r.push(t[n],e[n]||\"\");return r.push(t[n]),r.join(\"\")},C_=E_([\"precision lowp float;\\n#define GLSLIFY 1\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = vec4(color.xyz * color.w, color.w);\\n}\\n\"]),L_={lineVert:E_([\"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:C_,textVert:E_([\"#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:C_,gridVert:E_([\"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:C_,boxVert:E_([\"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:E_([\"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\"])};function z_(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}z_.prototype=new Error,z_.prototype.name=\"GLError\",z_.prototype.constructor=z_;var P_=z_,I_=function(t,e,r,n){for(var i={},a=0,o=r.length;a<o;++a){var s=r[a],l=s.name,u=s.type,c=s.locations;switch(u){case\"bool\":case\"int\":case\"float\":R_(t,e,c[0],n,1,i,l);break;default:if(u.indexOf(\"vec\")>=0){var h=u.charCodeAt(u.length-1)-48;if(h<2||h>4)throw new P_(\"\",\"Invalid data type for attribute \"+l+\": \"+u);R_(t,e,c[0],n,h,i,l)}else{if(!(u.indexOf(\"mat\")>=0))throw new P_(\"\",\"Unknown data type for attribute \"+l+\": \"+u);var h=u.charCodeAt(u.length-1)-48;if(h<2||h>4)throw new P_(\"\",\"Invalid data type for attribute \"+l+\": \"+u);F_(t,e,c,n,h,i,l)}}}return i};function D_(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var O_=D_.prototype;function R_(t,e,r,n,i,a,o){for(var s=[\"gl\",\"v\"],l=[],u=0;u<i;++u)s.push(\"x\"+u),l.push(\"x\"+u);s.push(\"if(x0.length===void 0){return gl.vertexAttrib\"+i+\"f(v,\"+l.join()+\")}else{return gl.vertexAttrib\"+i+\"fv(v,x0)}\");var c=Function.apply(null,s),h=new D_(t,e,r,n,i,c);Object.defineProperty(a,o,{set:function(e){return t.disableVertexAttribArray(n[r]),c(t,n[r],e),e},get:function(){return h},enumerable:!0})}function F_(t,e,r,n,i,a,o){for(var s=new Array(i),l=new Array(i),u=0;u<i;++u)R_(t,e,r[u],n,i,s,u),l[u]=s[u];Object.defineProperty(s,\"location\",{set:function(t){if(Array.isArray(t))for(var e=0;e<i;++e)l[e].location=t[e];else for(e=0;e<i;++e)l[e].location=t+e;return t},get:function(){for(var t=new Array(i),e=0;e<i;++e)t[e]=n[r[e]];return t},enumerable:!0}),s.pointer=function(e,a,o,s){e=e||t.FLOAT,a=!!a,o=o||i*i,s=s||0;for(var l=0;l<i;++l){var u=n[r[l]];t.vertexAttribPointer(u,i,e,a,o,s+l*i),t.enableVertexAttribArray(u)}};var c=new Array(i),h=t[\"vertexAttrib\"+i+\"fv\"];Object.defineProperty(a,o,{set:function(e){for(var a=0;a<i;++a){var o=n[r[a]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))h.call(t,o,e[a]);else{for(var s=0;s<i;++s)c[s]=e[i*a+s];h.call(t,o,c)}}return e},get:function(){return s},enumerable:!0})}O_.pointer=function(t,e,r,n){var i=this._gl,a=this._locations[this._index];i.vertexAttribPointer(a,this._dimension,t||i.FLOAT,!!e,r||0,n||0),i.enableVertexAttribArray(a)},O_.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(O_,\"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}});var B_=function(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};var N_=function(t,e,r,n){function i(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 P_(\"\",\"Invalid uniform dimension type for matrix \"+Rd+\": \"+r);return\"gl.uniformMatrix\"+i+\"fv(locations[\"+e+\"],false,obj\"+t+\")\"}throw new P_(\"\",\"Unknown uniform data type for \"+Rd+\": \"+r)}var i=r.charCodeAt(r.length-1)-48;if(i<2||i>4)throw new P_(\"\",\"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 P_(\"\",\"Unrecognized data type for vector \"+Rd+\": \"+r)}}}function a(e){for(var a=[\"return function updateProperty(obj){\"],o=function t(e,r){if(\"object\"!=typeof r)return[[e,r]];var n=[];for(var i in r){var a=r[i],o=e;parseInt(i)+\"\"===i?o+=\"[\"+i+\"]\":o+=\".\"+i,\"object\"==typeof a?n.push.apply(n,t(o,a)):n.push([o,a])}return n}(\"\",e),s=0;s<o.length;++s){var l=o[s],u=l[0],c=l[1];n[c]&&a.push(i(u,c,r[c].type))}a.push(\"return obj}\");var h=new Function(\"gl\",\"locations\",a.join(\"\\n\"));return h(t,n)}function o(i,o,l){if(\"object\"==typeof l){var u=s(l);Object.defineProperty(i,o,{get:j_(u),set:a(l),enumerable:!0,configurable:!1})}else n[l]?Object.defineProperty(i,o,{get:(c=l,new Function(\"gl\",\"wrapper\",\"locations\",\"return function(){return gl.getUniform(wrapper.program,locations[\"+c+\"])}\")(t,e,n)),set:a(l),enumerable:!0,configurable:!1}):i[o]=function(t){switch(t){case\"bool\":return!1;case\"int\":case\"sampler2D\":case\"samplerCube\":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 P_(\"\",\"Invalid data type\");return\"b\"===t.charAt(0)?V_(r,!1):V_(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 P_(\"\",\"Invalid uniform dimension type for matrix \"+Rd+\": \"+t);return V_(r*r,0)}throw new P_(\"\",\"Unknown uniform data type for \"+Rd+\": \"+t)}}(r[l].type);var c}function s(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r<t.length;++r)o(e,r,t[r])}else for(var n in e={},t)o(e,n,t[n]);return e}var l=B_(r,!0);return{get:j_(s(l)),set:a(l),enumerable:!0,configurable:!0}};function j_(t){return new Function(\"y\",\"return function(){return y}\")(t)}function V_(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}var U_={uniforms:function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),n=[],i=0;i<r;++i){var a=t.getActiveUniform(e,i);if(a){var o=G_(t,a.type);if(a.size>1)for(var s=0;s<a.size;++s)n.push({name:a.name.replace(\"[0]\",\"[\"+s+\"]\"),type:o});else n.push({name:a.name,type:o})}}return n},attributes:function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),n=[],i=0;i<r;++i){var a=t.getActiveAttrib(e,i);a&&n.push({name:a.name,type:G_(t,a.type)})}return n}},q_={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\"},H_=null;function G_(t,e){if(!H_){var r=Object.keys(q_);H_={};for(var n=0;n<r.length;++n){var i=r[n];H_[t[i]]=q_[i]}}return H_[e]}var W_,Y_=\"\",X_=function(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(W_!==t||void 0===W_)W_=t,Y_=\"\";else if(Y_.length>=r)return Y_.substr(0,r);for(;r>Y_.length&&e>1;)1&e&&(Y_+=t),e>>=1,t+=t;return Y_=(Y_+=t).substr(0,r)};var Z_=function(t,e,r){return X_(r=void 0!==r?r+\"\":\" \",e)+t},J_=function(t,e,r){e=\"number\"==typeof e?e:1,r=r||\": \";var n=t.split(/\\r?\\n/),i=String(n.length+e-1).length;return n.map(function(t,n){var a=n+e,o=String(a).length,s=Z_(a,i-o);return s+r+t}).join(\"\\n\")};var K_={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\",34000:\"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\"},Q_=function(t){return K_[t]},$_=function(t){return atob(t)},tw=[\"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\"],ew=(tw=tw.slice().filter(function(t){return!/^(gl\\_|texture)/.test(t)})).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\"]),rw=[\"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\"],nw=rw.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\"]),iw=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"],aw=function(t){var e,r,n,i=0,a=0,o=ow,s=[],l=[],u=1,c=0,h=0,f=!1,p=!1,d=\"\",g=tw,v=rw;\"300 es\"===(t=t||{}).version&&(g=ew,v=nw);return function(t){return l=[],null!==t?function(t){var r;i=0,n=(d+=t).length;for(;e=d[i],i<n;){switch(r=i,o){case lw:i=_();break;case uw:case cw:i=b();break;case hw:i=w();break;case fw:i=k();break;case xw:i=A();break;case pw:i=T();break;case sw:i=S();break;case mw:i=x();break;case ow:i=y()}if(r!==i)switch(d[r]){case\"\\n\":c=0,++u;break;default:++c}}return a+=i,d=d.slice(i),l}(t.replace?t.replace(/\\r\\n/g,\"\\n\"):t):function(t){s.length&&m(s.join(\"\"));return o=yw,m(\"(eof)\"),l}()};function m(t){t.length&&l.push({type:bw[o],data:t,position:h,line:u,column:c})}function y(){return s=s.length?[]:s,\"/\"===r&&\"*\"===e?(h=a+i-1,o=lw,r=e,i+1):\"/\"===r&&\"/\"===e?(h=a+i-1,o=uw,r=e,i+1):\"#\"===e?(o=cw,h=a+i,i):/\\s/.test(e)?(o=mw,h=a+i,i):(f=/\\d/.test(e),p=/[^\\w_]/.test(e),h=a+i,o=f?fw:p?hw:sw,i)}function x(){return/[^\\s]/g.test(e)?(m(s.join(\"\")),o=ow,i):(s.push(e),r=e,i+1)}function b(){return\"\\r\"!==e&&\"\\n\"!==e||\"\\\\\"===r?(s.push(e),r=e,i+1):(m(s.join(\"\")),o=ow,i)}function _(){return\"/\"===e&&\"*\"===r?(s.push(e),m(s.join(\"\")),o=ow,i+1):(s.push(e),r=e,i+1)}function w(){if(\".\"===r&&/\\d/.test(e))return o=pw,i;if(\"/\"===r&&\"*\"===e)return o=lw,i;if(\"/\"===r&&\"/\"===e)return o=uw,i;if(\".\"===e&&s.length){for(;M(s););return o=pw,i}if(\";\"===e||\")\"===e||\"(\"===e){if(s.length)for(;M(s););return m(e),o=ow,i+1}var t=2===s.length&&\"=\"!==e;if(/[\\w_\\d\\s]/.test(e)||t){for(;M(s););return o=ow,i}return s.push(e),r=e,i+1}function M(t){for(var e,r,n=0;;){if(e=iw.indexOf(t.slice(0,t.length+n).join(\"\")),r=iw[e],-1===e){if(n--+t.length>0)continue;r=t.slice(0,1).join(\"\")}return m(r),h+=r.length,(s=s.slice(r.length)).length}}function A(){return/[^a-fA-F0-9]/.test(e)?(m(s.join(\"\")),o=ow,i):(s.push(e),r=e,i+1)}function k(){return\".\"===e?(s.push(e),o=pw,r=e,i+1):/[eE]/.test(e)?(s.push(e),o=pw,r=e,i+1):\"x\"===e&&1===s.length&&\"0\"===s[0]?(o=xw,s.push(e),r=e,i+1):/[^\\d]/.test(e)?(m(s.join(\"\")),o=ow,i):(s.push(e),r=e,i+1)}function T(){return\"f\"===e&&(s.push(e),r=e,i+=1),/[eE]/.test(e)?(s.push(e),r=e,i+1):\"-\"===e&&/[eE]/.test(r)?(s.push(e),r=e,i+1):/[^\\d]/.test(e)?(m(s.join(\"\")),o=ow,i):(s.push(e),r=e,i+1)}function S(){if(/[^\\d\\w_]/.test(e)){var t=s.join(\"\");return o=v.indexOf(t)>-1?vw:g.indexOf(t)>-1?gw:dw,m(s.join(\"\")),o=ow,i}return s.push(e),r=e,i+1}},ow=999,sw=9999,lw=0,uw=1,cw=2,hw=3,fw=4,pw=5,dw=6,gw=7,vw=8,mw=9,yw=10,xw=11,bw=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"];var _w=function(t,e){var r=aw(e),n=[];return n=(n=n.concat(r(t))).concat(r(null))};var ww=function(t){for(var e=Array.isArray(t)?t:_w(t),r=0;r<e.length;r++){var n=e[r];if(\"preprocessor\"===n.type){var i=n.data.match(/\\#define\\s+SHADER_NAME(_B64)?\\s+(.+)$/);if(i&&i[2]){var a=i[1],o=i[2];return(a?$_(o):o).trim()}}}};var Mw={};!function(){\"use strict\";var t={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^\\)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[\\+\\-]/};function e(r){return function(r,n){var i,a,o,s,l,u,c,h,f,p=1,d=r.length,g=\"\";for(a=0;a<d;a++)if(\"string\"==typeof r[a])g+=r[a];else if(Array.isArray(r[a])){if((s=r[a])[2])for(i=n[p],o=0;o<s[2].length;o++){if(!i.hasOwnProperty(s[2][o]))throw new Error(e('[sprintf] property \"%s\" does not exist',s[2][o]));i=i[s[2][o]]}else i=s[1]?n[s[1]]:n[p++];if(t.not_type.test(s[8])&&t.not_primitive.test(s[8])&&i instanceof Function&&(i=i()),t.numeric_arg.test(s[8])&&\"number\"!=typeof i&&isNaN(i))throw new TypeError(e(\"[sprintf] expecting number but found %T\",i));switch(t.number.test(s[8])&&(h=i>=0),s[8]){case\"b\":i=parseInt(i,10).toString(2);break;case\"c\":i=String.fromCharCode(parseInt(i,10));break;case\"d\":case\"i\":i=parseInt(i,10);break;case\"j\":i=JSON.stringify(i,null,s[6]?parseInt(s[6]):0);break;case\"e\":i=s[7]?parseFloat(i).toExponential(s[7]):parseFloat(i).toExponential();break;case\"f\":i=s[7]?parseFloat(i).toFixed(s[7]):parseFloat(i);break;case\"g\":i=s[7]?String(Number(i.toPrecision(s[7]))):parseFloat(i);break;case\"o\":i=(parseInt(i,10)>>>0).toString(8);break;case\"s\":i=String(i),i=s[7]?i.substring(0,s[7]):i;break;case\"t\":i=String(!!i),i=s[7]?i.substring(0,s[7]):i;break;case\"T\":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=s[7]?i.substring(0,s[7]):i;break;case\"u\":i=parseInt(i,10)>>>0;break;case\"v\":i=i.valueOf(),i=s[7]?i.substring(0,s[7]):i;break;case\"x\":i=(parseInt(i,10)>>>0).toString(16);break;case\"X\":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}t.json.test(s[8])?g+=i:(!t.number.test(s[8])||h&&!s[3]?f=\"\":(f=h?\"+\":\"-\",i=i.toString().replace(t.sign,\"\")),u=s[4]?\"0\"===s[4]?\"0\":s[4].charAt(1):\" \",c=s[6]-(f+i).length,l=s[6]&&c>0?u.repeat(c):\"\",g+=s[5]?f+i+l:\"0\"===u?f+l+i:l+f+i)}return g}(function(e){if(n[e])return n[e];var r,i=e,a=[],o=0;for(;i;){if(null!==(r=t.text.exec(i)))a.push(r[0]);else if(null!==(r=t.modulo.exec(i)))a.push(\"%\");else{if(null===(r=t.placeholder.exec(i)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(r[2]){o|=1;var s=[],l=r[2],u=[];if(null===(u=t.key.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(s.push(u[1]);\"\"!==(l=l.substring(u[0].length));)if(null!==(u=t.key_access.exec(l)))s.push(u[1]);else{if(null===(u=t.index_access.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");s.push(u[1])}r[2]=s}else o|=2;if(3===o)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");a.push(r)}i=i.substring(r[0].length)}return n[e]=a}(r),arguments)}function r(t,r){return e.apply(null,[t].concat(r||[]))}var n=Object.create(null);void 0!==Mw&&(Mw.sprintf=e,Mw.vsprintf=r),\"undefined\"!=typeof window&&(window.sprintf=e,window.vsprintf=r)}();var Aw=Mw.sprintf,kw=function(t,e,r){\"use strict\";var n=ww(e)||\"of unknown name (see npm glsl-shader-name)\",i=\"unknown type\";void 0!==r&&(i=r===Q_.FRAGMENT_SHADER?\"fragment\":\"vertex\");for(var a=Aw(\"Error compiling %s shader %s:\\n\",i,n),o=Aw(\"%s%s\",a,t),s=t.split(\"\\n\"),l={},u=0;u<s.length;u++){var c=s[u];if(\"\"!==c&&\"\\0\"!==c){var h=parseInt(c.split(\":\")[2]);if(isNaN(h))throw new Error(Aw(\"Could not parse error: %s\",c));l[h]=c}}for(var f=J_(e).split(\"\\n\"),u=0;u<f.length;u++)if(l[u+3]||l[u+2]||l[u+1]){var p=f[u];if(a+=p+\"\\n\",l[u+1]){var d=l[u+1];d=d.substr(d.split(\":\",3).join(\":\").length+1).trim(),a+=Aw(\"^^^ %s\\n\\n\",d)}}return{long:a.trim(),short:o.trim()}};var Tw=function(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};var Sw=function(){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:Tw(e,t)}};var Ew={shader:function(t,e,r){return Dw(t).getShaderReference(e,r)},program:function(t,e,r,n,i){return Dw(t).getProgram(e,r,n,i)}},Cw=new(\"undefined\"==typeof WeakMap?function(){var t=Sw();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}}}:WeakMap),Lw=0;function zw(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 Pw(t){this.gl=t,this.shaders=[{},{}],this.programs={}}zw.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 Iw=Pw.prototype;function Dw(t){var e=Cw.get(t);return e||(e=new Pw(t),Cw.set(t,e)),e}function Ow(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}Iw.getShaderReference=function(t,e){var r=this.gl,n=this.shaders[t===r.FRAGMENT_SHADER|0],i=n[e];if(i&&r.isShader(i.shader))i.count+=1;else{var a=function(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=kw(i,r,e)}catch(t){throw console.warn(\"Failed to format compiler error: \"+t),new P_(i,\"Error compiling shader:\\n\"+i)}throw new P_(i,a.short,a.long)}return n}(r,t,e);i=n[e]=new zw(Lw++,e,t,a,[],1,this)}return i},Iw.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=function(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 P_(s,\"Error linking program: \"+s)}return a}(this.gl,t.shader,e.shader,r,n),t.programs.push(i),e.programs.push(i)),a};var Rw=Ow.prototype;function Fw(t,e){return t.name<e.name?-1:1}Rw.bind=function(){var t;this.program||this._relink();var 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)},Rw.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},Rw.update=function(t,e,r,n){if(!e||1===arguments.length){var i=t;t=i.vertex,e=i.fragment,r=i.uniforms,n=i.attributes}var a=this,o=a.gl,s=a._vref;a._vref=Ew.shader(o,o.VERTEX_SHADER,t),s&&s.dispose(),a.vertShader=a._vref.shader;var l=this._fref;if(a._fref=Ew.shader(o,o.FRAGMENT_SHADER,e),l&&l.dispose(),a.fragShader=a._fref.shader,!r||!n){var u=o.createProgram();if(o.attachShader(u,a.fragShader),o.attachShader(u,a.vertShader),o.linkProgram(u),!o.getProgramParameter(u,o.LINK_STATUS)){var c=o.getProgramInfoLog(u);throw new P_(c,\"Error linking program:\"+c)}r=r||U_.uniforms(o,u),n=n||U_.attributes(o,u),o.deleteProgram(u)}(n=n.slice()).sort(Fw);var h,f=[],p=[],d=[];for(h=0;h<n.length;++h){var g=n[h];if(g.type.indexOf(\"mat\")>=0){for(var v=0|g.type.charAt(g.type.length-1),m=new Array(v),y=0;y<v;++y)m[y]=d.length,p.push(g.name+\"[\"+y+\"]\"),\"number\"==typeof g.location?d.push(g.location+y):Array.isArray(g.location)&&g.location.length===v&&\"number\"==typeof g.location[y]?d.push(0|g.location[y]):d.push(-1);f.push({name:g.name,type:g.type,locations:m})}else f.push({name:g.name,type:g.type,locations:[d.length]}),p.push(g.name),\"number\"==typeof g.location?d.push(0|g.location):d.push(-1)}var x=0;for(h=0;h<d.length;++h)if(d[h]<0){for(;d.indexOf(x)>=0;)x+=1;d[h]=x}var b=new Array(r.length);function _(){a.program=Ew.program(o,a._vref,a._fref,p,d);for(var t=0;t<r.length;++t)b[t]=o.getUniformLocation(a.program,r[t].name)}_(),a._relink=_,a.types={uniforms:B_(r),attributes:B_(n)},a.attributes=I_(o,a,f,d),Object.defineProperty(a,\"uniforms\",N_(o,a,r,b))};var Bw=function(t,e,r,n,i){var a=new Ow(t);return a.update(e,r,n,i),a},Nw=function(t){var e=t.gl,r=S_(e,[0,0,0,1,1,0,1,1]),n=Bw(e,L_.boxVert,L_.lineFrag);return new jw(t,r,n)};function jw(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var Vw,Uw,qw=jw.prototype;function Hw(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 Gw(t,e,r,n){return new Function([Hw(\"A\",\"x\"+t+\"y\",e,[\"y\"],n),Hw(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],n),\"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(\"\"))()}qw.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},qw.drawBox=(Vw=[0,0],Uw=[0,0],function(t,e,r,n,i){var a=this.plot,o=this.shader,s=a.gl;Vw[0]=t,Vw[1]=e,Uw[0]=r,Uw[1]=n,o.uniforms.lo=Vw,o.uniforms.hi=Uw,o.uniforms.color=i,s.drawArrays(s.TRIANGLE_STRIP,0,4)}),qw.dispose=function(){this.vbo.dispose(),this.shader.dispose()};var Ww={ge:Gw(\">=\",!1,\"GE\"),gt:Gw(\">\",!1,\"GT\"),lt:Gw(\"<\",!0,\"LT\"),le:Gw(\"<=\",!0,\"LE\"),eq:Gw(\"-\",!0,\"EQ\",!0)};function Yw(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 Xw(t,e,r,n){return new Function([Yw(\"A\",\"x\"+t+\"y\",e,[\"y\"],n),Yw(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],n),\"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(\"\"))()}var Zw={ge:Xw(\">=\",!1,\"GE\"),gt:Xw(\">\",!1,\"GT\"),lt:Xw(\"<\",!0,\"LT\"),le:Xw(\"<=\",!0,\"LE\"),eq:Xw(\"-\",!0,\"EQ\",!0)},Jw=function(t){var e=t.gl,r=S_(e),n=Bw(e,L_.gridVert,L_.gridFrag),i=Bw(e,L_.tickVert,L_.gridFrag);return new Kw(t,r,n,i)};function Kw(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function Qw(t,e){return t-e}var $w,tM,eM,rM,nM,iM=Kw.prototype;iM.draw=($w=[0,0],tM=[0,0],eM=[0,0],function(){for(var t=this.plot,e=this.vbo,r=this.shader,n=this.ticks,i=t.gl,a=t._tickBounds,o=t.dataBox,s=t.viewBox,l=t.gridLineWidth,u=t.gridLineColor,c=t.gridLineEnable,h=t.pixelRatio,f=0;f<2;++f){var p=a[f],d=a[f+2]-p,g=.5*(o[f+2]+o[f]),v=o[f+2]-o[f];tM[f]=2*d/v,$w[f]=2*(p-g)/v}r.bind(),e.bind(),r.attributes.dataCoord.pointer(),r.uniforms.dataShift=$w,r.uniforms.dataScale=tM;var m=0;for(f=0;f<2;++f){eM[0]=eM[1]=0,eM[f]=1,r.uniforms.dataAxis=eM,r.uniforms.lineWidth=l[f]/(s[f+2]-s[f])*h,r.uniforms.color=u[f];var y=6*n[f].length;c[f]&&y&&i.drawArrays(i.TRIANGLES,m,y),m+=y}}),iM.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],i=[0,0],a=[0,0];return function(){for(var o=this.plot,s=this.vbo,l=this.tickShader,u=this.ticks,c=o.gl,h=o._tickBounds,f=o.dataBox,p=o.viewBox,d=o.pixelRatio,g=o.screenBox,v=g[2]-g[0],m=g[3]-g[1],y=p[2]-p[0],x=p[3]-p[1],b=0;b<2;++b){var _=h[b],w=h[b+2]-_,M=.5*(f[b+2]+f[b]),A=f[b+2]-f[b];e[b]=2*w/A,t[b]=2*(_-M)/A}e[0]*=y/v,t[0]*=y/v,e[1]*=x/m,t[1]*=x/m,l.bind(),s.bind(),l.attributes.dataCoord.pointer();var k=l.uniforms;k.dataShift=t,k.dataScale=e;var T=o.tickMarkLength,S=o.tickMarkWidth,E=o.tickMarkColor,C=6*u[0].length,L=Math.min(Zw.ge(u[0],(f[0]-h[0])/(h[2]-h[0]),Qw),u[0].length),z=Math.min(Zw.gt(u[0],(f[2]-h[0])/(h[2]-h[0]),Qw),u[0].length),P=0+6*L,I=6*Math.max(0,z-L),D=Math.min(Zw.ge(u[1],(f[1]-h[1])/(h[3]-h[1]),Qw),u[1].length),O=Math.min(Zw.gt(u[1],(f[3]-h[1])/(h[3]-h[1]),Qw),u[1].length),R=C+6*D,F=6*Math.max(0,O-D);i[0]=2*(p[0]-T[1])/v-1,i[1]=(p[3]+p[1])/m-1,a[0]=T[1]*d/v,a[1]=S[1]*d/m,F&&(k.color=E[1],k.tickScale=a,k.dataAxis=n,k.screenOffset=i,c.drawArrays(c.TRIANGLES,R,F)),i[0]=(p[2]+p[0])/v-1,i[1]=2*(p[1]-T[0])/m-1,a[0]=S[0]*d/v,a[1]=T[0]*d/m,I&&(k.color=E[0],k.tickScale=a,k.dataAxis=r,k.screenOffset=i,c.drawArrays(c.TRIANGLES,P,I)),i[0]=2*(p[2]+T[3])/v-1,i[1]=(p[3]+p[1])/m-1,a[0]=T[3]*d/v,a[1]=S[3]*d/m,F&&(k.color=E[3],k.tickScale=a,k.dataAxis=n,k.screenOffset=i,c.drawArrays(c.TRIANGLES,R,F)),i[0]=(p[2]+p[0])/v-1,i[1]=2*(p[3]+T[2])/m-1,a[0]=S[2]*d/v,a[1]=T[2]*d/m,I&&(k.color=E[2],k.tickScale=a,k.dataAxis=r,k.screenOffset=i,c.drawArrays(c.TRIANGLES,P,I))}}(),iM.update=(rM=[1,1,-1,-1,1,-1],nM=[1,-1,1,1,-1,-1],function(t){for(var e=t.ticks,r=t.bounds,n=new Float32Array(18*(e[0].length+e[1].length)),i=(this.plot.zeroLineEnable,0),a=[[],[]],o=0;o<2;++o)for(var s=a[o],l=e[o],u=r[o],c=r[o+2],h=0;h<l.length;++h){var f=(l[h].x-u)/(c-u);s.push(f);for(var p=0;p<6;++p)n[i++]=f,n[i++]=rM[p],n[i++]=nM[p]}this.ticks=a,this.vbo.update(n)}),iM.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()};var aM=function(t){var e=t.gl,r=S_(e,[-1,-1,-1,1,1,-1,1,1]),n=Bw(e,L_.lineVert,L_.lineFrag);return new oM(t,r,n)};function oM(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var sM,lM,uM=oM.prototype;uM.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},uM.drawLine=(sM=[0,0],lM=[0,0],function(t,e,r,n,i,a){var o=this.plot,s=this.shader,l=o.gl;sM[0]=t,sM[1]=e,lM[0]=r,lM[1]=n,s.uniforms.start=sM,s.uniforms.end=lM,s.uniforms.width=i*o.pixelRatio,s.uniforms.color=a,l.drawArrays(l.TRIANGLE_STRIP,0,4)}),uM.dispose=function(){this.vbo.dispose(),this.shader.dispose()};var cM=function(t,e,r){var n=t*e,i=hM*t,a=i-(i-t),o=t-a,s=hM*e,l=s-(s-e),u=e-l,c=o*u-(n-a*l-o*l-a*u);if(r)return r[0]=c,r[1]=n,r;return[c,n]},hM=+(Math.pow(2,27)+1);var fM=function(t,e,r){var n=t+e,i=n-t,a=e-i,o=t-(n-i);if(r)return r[0]=o+a,r[1]=n,r;return[o+a,n]};var pM=function(t,e){var r=t.length;if(1===r){var n=cM(t[0],e);return n[0]?n:[n[1]]}var i=new Array(2*r),a=[.1,.1],o=[.1,.1],s=0;cM(t[0],e,a),a[0]&&(i[s++]=a[0]);for(var l=1;l<r;++l){cM(t[l],e,o);var u=a[1];fM(u,o[0],a),a[0]&&(i[s++]=a[0]);var c=o[1],h=a[1],f=c+h,p=f-c,d=h-p;a[1]=f,d&&(i[s++]=d)}a[1]&&(i[s++]=a[1]);0===s&&(i[s++]=0);return i.length=s,i};var dM=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],-e[0]);var i,a,o=new Array(r+n),s=0,l=0,u=0,c=Math.abs,h=t[l],f=c(h),p=-e[u],d=c(p);f<d?(a=h,(l+=1)<r&&(h=t[l],f=c(h))):(a=p,(u+=1)<n&&(p=-e[u],d=c(p)));l<r&&f<d||u>=n?(i=h,(l+=1)<r&&(h=t[l],f=c(h))):(i=p,(u+=1)<n&&(p=-e[u],d=c(p)));var g,v,m=i+a,y=m-i,x=a-y,b=x,_=m;for(;l<r&&u<n;)f<d?(i=h,(l+=1)<r&&(h=t[l],f=c(h))):(i=p,(u+=1)<n&&(p=-e[u],d=c(p))),(x=(a=b)-(y=(m=i+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g;for(;l<r;)(x=(a=b)-(y=(m=(i=h)+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(l+=1)<r&&(h=t[l]);for(;u<n;)(x=(a=b)-(y=(m=(i=p)+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(u+=1)<n&&(p=-e[u]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o};var gM=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],e[0]);var i,a,o=new Array(r+n),s=0,l=0,u=0,c=Math.abs,h=t[l],f=c(h),p=e[u],d=c(p);f<d?(a=h,(l+=1)<r&&(h=t[l],f=c(h))):(a=p,(u+=1)<n&&(p=e[u],d=c(p)));l<r&&f<d||u>=n?(i=h,(l+=1)<r&&(h=t[l],f=c(h))):(i=p,(u+=1)<n&&(p=e[u],d=c(p)));var g,v,m=i+a,y=m-i,x=a-y,b=x,_=m;for(;l<r&&u<n;)f<d?(i=h,(l+=1)<r&&(h=t[l],f=c(h))):(i=p,(u+=1)<n&&(p=e[u],d=c(p))),(x=(a=b)-(y=(m=i+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g;for(;l<r;)(x=(a=b)-(y=(m=(i=h)+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(l+=1)<r&&(h=t[l]);for(;u<n;)(x=(a=b)-(y=(m=(i=p)+a)-i))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(u+=1)<n&&(p=e[u]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o};var vM={},mM=6;function yM(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 xM(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(\",xM(t.slice(0,e)),\",\",xM(t.slice(e)),\")\"].join(\"\")}function bM(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 bM(e,t)}function _M(t){if(2===t.length)return[[\"diff(\",bM(t[0][0],t[1][1]),\",\",bM(t[1][0],t[0][1]),\")\"].join(\"\")];for(var e=[],r=0;r<t.length;++r)e.push([\"scale(\",xM(_M(yM(t,r))),\",\",(n=r,!0&n?\"-\":\"\"),t[0][r],\")\"].join(\"\"));return e;var n}function wM(t,e){for(var r=[],n=0;n<e-2;++n)r.push([\"prod(m\",t,\"[\",n,\"],m\",t,\"[\",n,\"])\"].join(\"\"));return xM(r)}function MM(t){for(var e=[],r=[],n=function(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}(t),i=0;i<t;++i)n[0][i]=\"1\",n[t-1][i]=\"w\"+i;for(i=0;i<t;++i)0==(1&i)?e.push.apply(e,_M(yM(n,i))):r.push.apply(r,_M(yM(n,i)));var a=xM(e),o=xM(r),s=\"exactInSphere\"+t,l=[];for(i=0;i<t;++i)l.push(\"m\"+i);var u=[\"function \",s,\"(\",l.join(),\"){\"];for(i=0;i<t;++i){u.push(\"var w\",i,\"=\",wM(i,t),\";\");for(var c=0;c<t;++c)c!==i&&u.push(\"var w\",i,\"m\",c,\"=scale(w\",i,\",m\",c,\"[0]);\")}return u.push(\"var p=\",a,\",n=\",o,\",d=diff(p,n);return d[d.length-1];}return \",s),new Function(\"sum\",\"diff\",\"prod\",\"scale\",u.join(\"\"))(gM,dM,cM,pM)}var AM=[function(){return 0},function(){return 0},function(){return 0}];!function(){for(;AM.length<=mM;)AM.push(MM(AM.length));for(var t=[],e=[\"slow\"],r=0;r<=mM;++r)t.push(\"a\"+r),e.push(\"o\"+r);var n=[\"function testInSphere(\",t.join(),\"){switch(arguments.length){case 0:case 1:return 0;\"];for(r=2;r<=mM;++r)n.push(\"case \",r,\":return o\",r,\"(\",t.slice(0,r).join(),\");\");n.push(\"}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere\"),e.push(n.join(\"\"));var i=Function.apply(void 0,e);for(vM=i.apply(void 0,[function(t){var e=AM[t.length];return e||(e=AM[t.length]=MM(t.length)),e.apply(void 0,t)}].concat(AM)),r=0;r<=mM;++r)vM[r]=AM[r]}();var kM=vM[4],TM=function(t,e){for(var r=[],n=t.length,i=e.stars,a=0;a<n;++a)for(var o=i[a],s=1;s<o.length;s+=2){var l=o[s];if(!(l<a)&&!e.isConstraint(a,l)){for(var u=o[s-1],c=-1,h=1;h<o.length;h+=2)if(o[h-1]===l){c=o[h];break}c<0||kM(t[a],t[l],t[u],t[c])<0&&r.push(a,l)}}for(;r.length>0;){for(var l=r.pop(),a=r.pop(),u=-1,c=-1,o=i[a],f=1;f<o.length;f+=2){var p=o[f-1],d=o[f];p===l?c=d:d===l&&(u=p)}u<0||c<0||(kM(t[a],t[l],t[u],t[c])>=0||(e.flip(a,l),SM(t,e,r,u,a,c),SM(t,e,r,a,c,u),SM(t,e,r,c,l,u),SM(t,e,r,l,u,c)))}};function SM(t,e,r,n,i,a){var o=e.opposite(n,i);if(!(o<0)){if(i<n){var s=n;n=i,i=s,s=a,a=o,o=s}e.isConstraint(n,i)||kM(t[n],t[i],t[a],t[o])<0&&r.push(n,i)}}var EM,CM=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i<n;++i){var a=r[i],o=a[0],s=a[1],l=a[2];s<l?s<o&&(a[0]=s,a[1]=l,a[2]=o):l<o&&(a[0]=l,a[1]=o,a[2]=s)}r.sort(zM);for(var u=new Array(n),i=0;i<u.length;++i)u[i]=0;var c=[],h=[],f=new Array(3*n),p=new Array(3*n),d=null;e&&(d=[]);for(var g=new LM(r,f,p,u,c,h,d),i=0;i<n;++i)for(var a=r[i],v=0;v<3;++v){var o=a[v],s=a[(v+1)%3],m=f[3*i+v]=g.locate(s,o,t.opposite(s,o)),y=p[3*i+v]=t.isConstraint(o,s);m<0&&(y?h.push(i):(c.push(i),u[i]=1),e&&d.push([s,o,-1]))}return g}(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;var i=1,a=n.active,o=n.next,s=n.flags,l=n.cells,u=n.constraint,c=n.neighbor;for(;a.length>0||o.length>0;){for(;a.length>0;){var h=a.pop();if(s[h]!==-i){s[h]=i;l[h];for(var f=0;f<3;++f){var p=c[3*h+f];p>=0&&0===s[p]&&(u[3*h+f]?o.push(p):(a.push(p),s[p]=i))}}}var d=o;o=a,a=d,o.length=0,i=-i}var g=function(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}(l,s,e);if(r)return g.concat(n.boundary);return g};function LM(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 zM(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}LM.prototype.locate=(EM=[0,0,0],function(t,e,r){var n=t,i=e,a=r;return e<r?e<t&&(n=e,i=r,a=t):r<t&&(n=r,i=t,a=e),n<0?-1:(EM[0]=n,EM[1]=i,EM[2]=a,Ww.eq(this.cells,EM,zM))});var PM={},IM=5;function DM(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 OM(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(\",OM(t.slice(0,e)),\",\",OM(t.slice(e)),\")\"].join(\"\")}function RM(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(\",OM(RM(DM(t,r))),\",\",(n=r,1&n?\"-\":\"\"),t[0][r],\")\"].join(\"\"));return e;var n}function FM(t){for(var e=[],r=[],n=function(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}(t),i=[],a=0;a<t;++a)0==(1&a)?e.push.apply(e,RM(DM(n,a))):r.push.apply(r,RM(DM(n,a))),i.push(\"m\"+a);var o=OM(e),s=OM(r),l=\"orientation\"+t+\"Exact\",u=[\"function \",l,\"(\",i.join(),\"){var p=\",o,\",n=\",s,\",d=sub(p,n);return d[d.length-1];};return \",l].join(\"\");return new Function(\"sum\",\"prod\",\"scale\",\"sub\",u)(gM,cM,pM,dM)}var BM=FM(3),NM=FM(4),jM=[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:BM(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],p=a*u,d=o*l,g=o*s,v=i*u,m=i*l,y=a*s,x=c*(p-d)+h*(g-v)+f*(m-y),b=7.771561172376103e-16*((Math.abs(p)+Math.abs(d))*Math.abs(c)+(Math.abs(g)+Math.abs(v))*Math.abs(h)+(Math.abs(m)+Math.abs(y))*Math.abs(f));return x>b||-x>b?x:NM(t,e,r,n)}];!function(){for(;jM.length<=IM;)jM.push(FM(jM.length));for(var t=[],e=[\"slow\"],r=0;r<=IM;++r)t.push(\"a\"+r),e.push(\"o\"+r);var n=[\"function getOrientation(\",t.join(),\"){switch(arguments.length){case 0:case 1:return 0;\"];for(r=2;r<=IM;++r)n.push(\"case \",r,\":return o\",r,\"(\",t.slice(0,r).join(),\");\");n.push(\"}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation\"),e.push(n.join(\"\"));var i=Function.apply(void 0,e);for(PM=i.apply(void 0,[function(t){var e=jM[t.length];return e||(e=jM[t.length]=FM(t.length)),e.apply(void 0,t)}].concat(jM)),r=0;r<=IM;++r)PM[r]=jM[r]}();var VM=PM[3],UM=0,qM=1,HM=2,GM=function(t,e){for(var r=t.length,n=e.length,i=[],a=0;a<r;++a)i.push(new YM(t[a],null,UM,a));for(var a=0;a<n;++a){var o=e[a],s=t[o[0]],l=t[o[1]];s[0]<l[0]?i.push(new YM(s,l,HM,a),new YM(l,s,qM,a)):s[0]>l[0]&&i.push(new YM(l,s,HM,a),new YM(s,l,qM,a))}i.sort(XM);for(var u=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),c=[new WM([u,1],[u,0],-1,[],[],[],[])],h=[],a=0,f=i.length;a<f;++a){var p=i[a],d=p.type;d===UM?JM(h,c,t,p.a,p.idx):d===HM?QM(c,t,p):$M(c,t,p)}return h};function WM(t,e,r,n,i){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=i}function YM(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function XM(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(t.type!==UM&&(r=VM(t.a,t.b,e.b))?r:t.idx-e.idx)}function ZM(t,e){return VM(t.a,t.b,e)}function JM(t,e,r,n,i){for(var a=Ww.lt(e,n,ZM),o=Ww.gt(e,n,ZM),s=a;s<o;++s){for(var l=e[s],u=l.lowerIds,c=u.length;c>1&&VM(r[u[c-2]],r[u[c-1]],n)>0;)t.push([u[c-1],u[c-2],i]),c-=1;u.length=c,u.push(i);var h=l.upperIds;for(c=h.length;c>1&&VM(r[h[c-2]],r[h[c-1]],n)<0;)t.push([h[c-2],h[c-1],i]),c-=1;h.length=c,h.push(i)}}function KM(t,e){var r;return(r=t.a[0]<e.a[0]?VM(t.a,t.b,e.a):VM(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?VM(t.a,t.b,e.b):VM(e.b,e.a,t.b))||t.idx-e.idx}function QM(t,e,r){var n=Ww.le(t,r,KM),i=t[n],a=i.upperIds,o=a[a.length-1];i.upperIds=[o],t.splice(n+1,0,new WM(r.a,r.b,r.idx,[o],a))}function $M(t,e,r){var n=r.a;r.a=r.b,r.b=n;var i=Ww.eq(t,r,KM),a=t[i];t[i-1].upperIds=a.upperIds,t.splice(i,1)}var tA=function(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=[];return new eA(r,e)};function eA(t,e){this.stars=t,this.edges=e}var rA=eA.prototype;function nA(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)}rA.isConstraint=function(){var t=[0,0];function e(t,e){return t[0]-e[0]||t[1]-e[1]}return function(r,n){return t[0]=Math.min(r,n),t[1]=Math.max(r,n),Ww.eq(this.edges,t,e)>=0}}(),rA.removeTriangle=function(t,e,r){var n=this.stars;nA(n[t],e,r),nA(n[e],r,t),nA(n[r],t,e)},rA.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},rA.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},rA.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)},rA.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},rA.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};var iA=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var n=!!sA(r,\"delaunay\",!0),i=!!sA(r,\"interior\",!0),a=!!sA(r,\"exterior\",!0),o=!!sA(r,\"infinity\",!1);if(!i&&!a||0===t.length)return[];var s=GM(t,e);if(n||i!==a||o){for(var l=tA(t.length,function(t){return t.map(aA).sort(oA)}(e)),u=0;u<s.length;++u){var c=s[u];l.addTriangle(c[0],c[1],c[2])}return n&&TM(t,l),a?i?o?CM(l,0,o):l.cells():CM(l,1,o):CM(l,-1)}return s};function aA(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function oA(t,e){return t[0]-e[0]||t[1]-e[1]}function sA(t,e,r){return e in t?t[e]:r}var lA=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))};var uA={},cA={exports:{}};!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(i.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&(\"le\"!==e&&\"be\"!==e||(r=e,e=10),this._init(t||0,e||10,r||\"be\"))}var a;\"object\"==typeof t?t.exports=i:e.BN=i,i.BN=i,i.wordSize=26;try{a=uA.Buffer}catch(t){}function o(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 s(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}i.isBN=function(t){return t instanceof i||null!==t&&\"object\"==typeof t&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},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);var i=0;\"-\"===(t=t.toString().replace(/\\s+/g,\"\"))[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),\"-\"===t[0]&&(this.negative=1),this.strip(),\"le\"===n&&this._initArray(this.toArray(),e,n)},i.prototype._initNumber=function(t,e,n){t<0&&(this.negative=1,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,o,s=0;if(\"be\"===n)for(i=t.length-1,a=0;i>=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if(\"le\"===n)for(i=0,a=0;i<t.length;i+=3)o=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);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;var n,i,a=0;for(r=t.length-6,n=0;r>=e;r-=6)i=o(t,r,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303,(a+=24)>=26&&(a-=26,n++);r+6!==e&&(i=o(t,e,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&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,o=a%n,l=Math.min(a,a-o)+r,u=0,c=r;c<l;c+=n)u=s(t,c,c+n,e),this.imuln(i),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==o){var h=1;for(u=s(t,c,t.length,e),c=0;c<o;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.negative=this.negative,t.red=this.red},i.prototype.clone=function(){var t=new i(null);return this.copy(t),t},i.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},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.negative=0),this},i.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var l=[\"\",\"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\"],u=[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],c=[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];function h(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var u=1;u<n;u++){for(var c=l>>>26,h=67108863&l,f=Math.min(u,e.length-1),p=Math.max(0,u-t.length+1);p<=f;p++){var d=u-p|0;c+=(o=(i=0|t.words[d])*(a=0|e.words[p])+h)/67108864|0,h=67108863&o}r.words[u]=0|h,l=0|c}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}i.prototype.toString=function(t,e){var n;if(t=t||10,e=0|e||1,16===t||\"hex\"===t){n=\"\";for(var i=0,a=0,o=0;o<this.length;o++){var s=this.words[o],h=(16777215&(s<<i|a)).toString(16);n=0!==(a=s>>>24-i&16777215)||o!==this.length-1?l[6-h.length]+h+n:h+n,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(n=a.toString(16)+n);n.length%e!=0;)n=\"0\"+n;return 0!==this.negative&&(n=\"-\"+n),n}if(t===(0|t)&&t>=2&&t<=36){var f=u[t],p=c[t];n=\"\";var d=this.clone();for(d.negative=0;!d.isZero();){var g=d.modn(p).toString(t);n=(d=d.idivn(p)).isZero()?g+n:l[f-g.length]+g+n}for(this.isZero()&&(n=\"0\"+n);n.length%e!=0;)n=\"0\"+n;return 0!==this.negative&&(n=\"-\"+n),n}r(!1,\"Base should be between 2 and 36\")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,\"Number can only safely store up to 53 bits\"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(t,e){return r(void 0!==a),this.toArrayLike(a,t,e)},i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,n){var i=this.byteLength(),a=n||Math.max(1,i);r(i<=a,\"byte array longer than desired length\"),r(a>0,\"Requested array length <= 0\"),this.strip();var o,s,l=\"le\"===e,u=new t(a),c=this.clone();if(l){for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[s]=o;for(;s<a;s++)u[s]=0}else{for(s=0;s<a-i;s++)u[s]=0;for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[a-s-1]=o}return u},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=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())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.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},i.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return 0!==this.negative},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(t){for(;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.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},i.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){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.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},i.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){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.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},i.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){r(\"number\"==typeof t&&t>=0);var e=0|Math.ceil(t/26),n=t%26;this._expand(e),n>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return n>0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){r(\"number\"==typeof t&&t>=0);var n=t/26|0,i=t%26;return this._expand(n+1),this.words[n]=e?this.words[n]|1<<i:this.words[n]&~(1<<i),this.strip()},i.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a<n.length;a++)e=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&e,i=e>>>26;for(;0!==i&&a<r.length;a++)e=(0|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){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o<n.length;o++)a=(e=(0|r.words[o])-(0|n.words[o])+a)>>26,this.words[o]=67108863&e;for(;0!==a&&o<r.length;o++)a=(e=(0|r.words[o])+a)>>26,this.words[o]=67108863&e;if(0===a&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},i.prototype.sub=function(t){return this.clone().isub(t)};var f=function(t,e,r){var n,i,a,o=t.words,s=e.words,l=r.words,u=0,c=0|o[0],h=8191&c,f=c>>>13,p=0|o[1],d=8191&p,g=p>>>13,v=0|o[2],m=8191&v,y=v>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],M=8191&w,A=w>>>13,k=0|o[5],T=8191&k,S=k>>>13,E=0|o[6],C=8191&E,L=E>>>13,z=0|o[7],P=8191&z,I=z>>>13,D=0|o[8],O=8191&D,R=D>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],V=8191&j,U=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,W=0|s[2],Y=8191&W,X=W>>>13,Z=0|s[3],J=8191&Z,K=Z>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ut=st>>>13,ct=0|s[8],ht=8191&ct,ft=ct>>>13,pt=0|s[9],dt=8191&pt,gt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var vt=(u+(n=Math.imul(h,V))|0)+((8191&(i=(i=Math.imul(h,U))+Math.imul(f,V)|0))<<13)|0;u=((a=Math.imul(f,U))+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(d,V),i=(i=Math.imul(d,U))+Math.imul(g,V)|0,a=Math.imul(g,U);var mt=(u+(n=n+Math.imul(h,H)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(f,H)|0))<<13)|0;u=((a=a+Math.imul(f,G)|0)+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,V),i=(i=Math.imul(m,U))+Math.imul(y,V)|0,a=Math.imul(y,U),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(g,H)|0,a=a+Math.imul(g,G)|0;var yt=(u+(n=n+Math.imul(h,Y)|0)|0)+((8191&(i=(i=i+Math.imul(h,X)|0)+Math.imul(f,Y)|0))<<13)|0;u=((a=a+Math.imul(f,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,V),i=(i=Math.imul(b,U))+Math.imul(_,V)|0,a=Math.imul(_,U),n=n+Math.imul(m,H)|0,i=(i=i+Math.imul(m,G)|0)+Math.imul(y,H)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(g,Y)|0,a=a+Math.imul(g,X)|0;var xt=(u+(n=n+Math.imul(h,J)|0)|0)+((8191&(i=(i=i+Math.imul(h,K)|0)+Math.imul(f,J)|0))<<13)|0;u=((a=a+Math.imul(f,K)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(M,V),i=(i=Math.imul(M,U))+Math.imul(A,V)|0,a=Math.imul(A,U),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(m,Y)|0,i=(i=i+Math.imul(m,X)|0)+Math.imul(y,Y)|0,a=a+Math.imul(y,X)|0,n=n+Math.imul(d,J)|0,i=(i=i+Math.imul(d,K)|0)+Math.imul(g,J)|0,a=a+Math.imul(g,K)|0;var bt=(u+(n=n+Math.imul(h,$)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(f,$)|0))<<13)|0;u=((a=a+Math.imul(f,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(T,V),i=(i=Math.imul(T,U))+Math.imul(S,V)|0,a=Math.imul(S,U),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(A,H)|0,a=a+Math.imul(A,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(m,J)|0,i=(i=i+Math.imul(m,K)|0)+Math.imul(y,J)|0,a=a+Math.imul(y,K)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(g,$)|0,a=a+Math.imul(g,tt)|0;var _t=(u+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(f,rt)|0))<<13)|0;u=((a=a+Math.imul(f,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(C,V),i=(i=Math.imul(C,U))+Math.imul(L,V)|0,a=Math.imul(L,U),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(A,Y)|0,a=a+Math.imul(A,X)|0,n=n+Math.imul(b,J)|0,i=(i=i+Math.imul(b,K)|0)+Math.imul(_,J)|0,a=a+Math.imul(_,K)|0,n=n+Math.imul(m,$)|0,i=(i=i+Math.imul(m,tt)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(g,rt)|0,a=a+Math.imul(g,nt)|0;var wt=(u+(n=n+Math.imul(h,at)|0)|0)+((8191&(i=(i=i+Math.imul(h,ot)|0)+Math.imul(f,at)|0))<<13)|0;u=((a=a+Math.imul(f,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,V),i=(i=Math.imul(P,U))+Math.imul(I,V)|0,a=Math.imul(I,U),n=n+Math.imul(C,H)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(L,H)|0,a=a+Math.imul(L,G)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(M,J)|0,i=(i=i+Math.imul(M,K)|0)+Math.imul(A,J)|0,a=a+Math.imul(A,K)|0,n=n+Math.imul(b,$)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(m,rt)|0,i=(i=i+Math.imul(m,nt)|0)+Math.imul(y,rt)|0,a=a+Math.imul(y,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(g,at)|0,a=a+Math.imul(g,ot)|0;var Mt=(u+(n=n+Math.imul(h,lt)|0)|0)+((8191&(i=(i=i+Math.imul(h,ut)|0)+Math.imul(f,lt)|0))<<13)|0;u=((a=a+Math.imul(f,ut)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(O,V),i=(i=Math.imul(O,U))+Math.imul(R,V)|0,a=Math.imul(R,U),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(I,H)|0,a=a+Math.imul(I,G)|0,n=n+Math.imul(C,Y)|0,i=(i=i+Math.imul(C,X)|0)+Math.imul(L,Y)|0,a=a+Math.imul(L,X)|0,n=n+Math.imul(T,J)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(A,$)|0,a=a+Math.imul(A,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(m,at)|0,i=(i=i+Math.imul(m,ot)|0)+Math.imul(y,at)|0,a=a+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ut)|0)+Math.imul(g,lt)|0,a=a+Math.imul(g,ut)|0;var At=(u+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,ft)|0)+Math.imul(f,ht)|0))<<13)|0;u=((a=a+Math.imul(f,ft)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,V),i=(i=Math.imul(B,U))+Math.imul(N,V)|0,a=Math.imul(N,U),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(I,Y)|0,a=a+Math.imul(I,X)|0,n=n+Math.imul(C,J)|0,i=(i=i+Math.imul(C,K)|0)+Math.imul(L,J)|0,a=a+Math.imul(L,K)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(A,rt)|0,a=a+Math.imul(A,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(m,lt)|0,i=(i=i+Math.imul(m,ut)|0)+Math.imul(y,lt)|0,a=a+Math.imul(y,ut)|0,n=n+Math.imul(d,ht)|0,i=(i=i+Math.imul(d,ft)|0)+Math.imul(g,ht)|0,a=a+Math.imul(g,ft)|0;var kt=(u+(n=n+Math.imul(h,dt)|0)|0)+((8191&(i=(i=i+Math.imul(h,gt)|0)+Math.imul(f,dt)|0))<<13)|0;u=((a=a+Math.imul(f,gt)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(O,Y)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(P,J)|0,i=(i=i+Math.imul(P,K)|0)+Math.imul(I,J)|0,a=a+Math.imul(I,K)|0,n=n+Math.imul(C,$)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(L,$)|0,a=a+Math.imul(L,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,ot)|0)+Math.imul(A,at)|0,a=a+Math.imul(A,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ut)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ut)|0,n=n+Math.imul(m,ht)|0,i=(i=i+Math.imul(m,ft)|0)+Math.imul(y,ht)|0,a=a+Math.imul(y,ft)|0;var Tt=(u+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,gt)|0)+Math.imul(g,dt)|0))<<13)|0;u=((a=a+Math.imul(g,gt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(B,Y),i=(i=Math.imul(B,X))+Math.imul(N,Y)|0,a=Math.imul(N,X),n=n+Math.imul(O,J)|0,i=(i=i+Math.imul(O,K)|0)+Math.imul(R,J)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(P,$)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(I,$)|0,a=a+Math.imul(I,tt)|0,n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(L,rt)|0,a=a+Math.imul(L,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(A,lt)|0,a=a+Math.imul(A,ut)|0,n=n+Math.imul(b,ht)|0,i=(i=i+Math.imul(b,ft)|0)+Math.imul(_,ht)|0,a=a+Math.imul(_,ft)|0;var St=(u+(n=n+Math.imul(m,dt)|0)|0)+((8191&(i=(i=i+Math.imul(m,gt)|0)+Math.imul(y,dt)|0))<<13)|0;u=((a=a+Math.imul(y,gt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,J),i=(i=Math.imul(B,K))+Math.imul(N,J)|0,a=Math.imul(N,K),n=n+Math.imul(O,$)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(I,rt)|0,a=a+Math.imul(I,nt)|0,n=n+Math.imul(C,at)|0,i=(i=i+Math.imul(C,ot)|0)+Math.imul(L,at)|0,a=a+Math.imul(L,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ut)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ut)|0,n=n+Math.imul(M,ht)|0,i=(i=i+Math.imul(M,ft)|0)+Math.imul(A,ht)|0,a=a+Math.imul(A,ft)|0;var Et=(u+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,gt)|0)+Math.imul(_,dt)|0))<<13)|0;u=((a=a+Math.imul(_,gt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,$),i=(i=Math.imul(B,tt))+Math.imul(N,$)|0,a=Math.imul(N,tt),n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(P,at)|0,i=(i=i+Math.imul(P,ot)|0)+Math.imul(I,at)|0,a=a+Math.imul(I,ot)|0,n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,ut)|0)+Math.imul(L,lt)|0,a=a+Math.imul(L,ut)|0,n=n+Math.imul(T,ht)|0,i=(i=i+Math.imul(T,ft)|0)+Math.imul(S,ht)|0,a=a+Math.imul(S,ft)|0;var Ct=(u+(n=n+Math.imul(M,dt)|0)|0)+((8191&(i=(i=i+Math.imul(M,gt)|0)+Math.imul(A,dt)|0))<<13)|0;u=((a=a+Math.imul(A,gt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,rt),i=(i=Math.imul(B,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(O,at)|0,i=(i=i+Math.imul(O,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(P,lt)|0,i=(i=i+Math.imul(P,ut)|0)+Math.imul(I,lt)|0,a=a+Math.imul(I,ut)|0,n=n+Math.imul(C,ht)|0,i=(i=i+Math.imul(C,ft)|0)+Math.imul(L,ht)|0,a=a+Math.imul(L,ft)|0;var Lt=(u+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,gt)|0)+Math.imul(S,dt)|0))<<13)|0;u=((a=a+Math.imul(S,gt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,at),i=(i=Math.imul(B,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(O,lt)|0,i=(i=i+Math.imul(O,ut)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ut)|0,n=n+Math.imul(P,ht)|0,i=(i=i+Math.imul(P,ft)|0)+Math.imul(I,ht)|0,a=a+Math.imul(I,ft)|0;var zt=(u+(n=n+Math.imul(C,dt)|0)|0)+((8191&(i=(i=i+Math.imul(C,gt)|0)+Math.imul(L,dt)|0))<<13)|0;u=((a=a+Math.imul(L,gt)|0)+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863,n=Math.imul(B,lt),i=(i=Math.imul(B,ut))+Math.imul(N,lt)|0,a=Math.imul(N,ut),n=n+Math.imul(O,ht)|0,i=(i=i+Math.imul(O,ft)|0)+Math.imul(R,ht)|0,a=a+Math.imul(R,ft)|0;var Pt=(u+(n=n+Math.imul(P,dt)|0)|0)+((8191&(i=(i=i+Math.imul(P,gt)|0)+Math.imul(I,dt)|0))<<13)|0;u=((a=a+Math.imul(I,gt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,ht),i=(i=Math.imul(B,ft))+Math.imul(N,ht)|0,a=Math.imul(N,ft);var It=(u+(n=n+Math.imul(O,dt)|0)|0)+((8191&(i=(i=i+Math.imul(O,gt)|0)+Math.imul(R,dt)|0))<<13)|0;u=((a=a+Math.imul(R,gt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Dt=(u+(n=Math.imul(B,dt))|0)+((8191&(i=(i=Math.imul(B,gt))+Math.imul(N,dt)|0))<<13)|0;return u=((a=Math.imul(N,gt))+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,l[0]=vt,l[1]=mt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Mt,l[8]=At,l[9]=kt,l[10]=Tt,l[11]=St,l[12]=Et,l[13]=Ct,l[14]=Lt,l[15]=zt,l[16]=Pt,l[17]=It,l[18]=Dt,0!==u&&(l[19]=u,r.length++),r};function p(t,e,r){return(new d).mulp(t,e,r)}function d(t,e){this.x=t,this.y=e}Math.imul||(f=h),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?f(this,t,e):r<63?h(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a<r.length-1;a++){var o=i;i=0;for(var s=67108863&n,l=Math.min(a,e.length-1),u=Math.max(0,a-t.length+1);u<=l;u++){var c=a-u,h=(0|t.words[c])*(0|e.words[u]),f=67108863&h;s=67108863&(f=f+s|0),i+=(o=(o=o+(h/67108864|0)|0)+(f>>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):p(this,t,e)},d.prototype.makeRBT=function(t){for(var e=new Array(t),r=i.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},d.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},d.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o<a;o++)n[o]=e[t[o]],i[o]=r[t[o]]},d.prototype.transform=function(t,e,r,n,i,a){this.permute(a,t,e,r,n,i);for(var o=1;o<i;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),u=Math.sin(2*Math.PI/s),c=0;c<i;c+=s)for(var h=l,f=u,p=0;p<o;p++){var d=r[c+p],g=n[c+p],v=r[c+p+o],m=n[c+p+o],y=h*v-f*m;m=h*m+f*v,v=y,r[c+p]=d+v,n[c+p]=g+m,r[c+p+o]=d-v,n[c+p+o]=g-m,p!==s&&(y=l*h-u*f,f=l*f+u*h,h=y)}},d.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},d.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},d.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},d.prototype.convert13b=function(t,e,n,i){for(var a=0,o=0;o<e;o++)a+=0|t[o],n[2*o]=8191&a,a>>>=13,n[2*o+1]=8191&a,a>>>=13;for(o=2*e;o<i;++o)n[o]=0;r(0===a),r(0==(-8192&a))},d.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},d.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),a=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),u=new Array(n),c=new Array(n),h=new Array(n),f=r.words;f.length=n,this.convert13b(t.words,t.length,o,n),this.convert13b(e.words,e.length,u,n),this.transform(o,a,s,l,n,i),this.transform(u,a,c,h,n,i);for(var p=0;p<n;p++){var d=s[p]*c[p]-l[p]*h[p];l[p]=s[p]*h[p]+l[p]*c[p],s[p]=d}return this.conjugate(s,l,n),this.transform(s,l,f,a,n,i),this.conjugate(f,a,n),this.normalize13b(f,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},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.mulf=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),p(this,t,e)},i.prototype.imul=function(t){return this.clone().mulTo(t,this)},i.prototype.imuln=function(t){r(\"number\"==typeof t),r(t<67108864);for(var e=0,n=0;n<this.length;n++){var i=(0|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.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var a=r.sqr();n<e.length;n++,a=a.sqr())0!==e[n]&&(r=r.mul(a));return r},i.prototype.iushln=function(t){r(\"number\"==typeof t&&t>=0);var e,n=t%26,i=(t-n)/26,a=67108863>>>26-n<<26-n;if(0!==n){var o=0;for(e=0;e<this.length;e++){var s=this.words[e]&a,l=(0|this.words[e])-s<<n;this.words[e]=l|o,o=s>>>26-n}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},i.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},i.prototype.iushrn=function(t,e,n){var i;r(\"number\"==typeof t&&t>=0),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)for(this.length-=o,u=0;u<this.length;u++)this.words[u]=this.words[u+o];else this.words[0]=0,this.length=1;var c=0;for(u=this.length-1;u>=0&&(0!==c||u>=i);u--){var h=0|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()},i.prototype.ishrn=function(t,e,n){return r(0===this.negative),this.iushrn(t,e,n)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(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(0===this.negative,\"imaskn works only with positive numbers\"),this.length<=n)return this;if(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),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,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),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else 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.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(t,e,n){var i,a,o=t.length+n;this._expand(o);var s=0;for(i=0;i<t.length;i++){a=(0|this.words[i+n])+s;var l=(0|t.words[i])*e;s=((a-=67108863&l)>>26)-(l/67108864|0),this.words[i+n]=67108863&a}for(;i<this.length-n;i++)s=(a=(0|this.words[i+n])+s)>>26,this.words[i+n]=67108863&a;if(0===s)return this.strip();for(r(-1===s),s=0,i=0;i<this.length;i++)s=(a=-(0|this.words[i])+s)>>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),a=t,o=0|a.words[a.length-1];0!==(r=26-this._countBits(o))&&(a=a.ushln(r),n.iushln(r),o=0|a.words[a.length-1]);var s,l=n.length-a.length;if(\"mod\"!==e){(s=new i(null)).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);0===c.negative&&(n=c,s&&(s.words[l]=1));for(var h=l-1;h>=0;h--){var f=67108864*(0|n.words[a.length+h])+(0|n.words[a.length+h-1]);for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(a,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(a,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=f)}return s&&s.strip(),n.strip(),\"div\"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},i.prototype.divmod=function(t,e,n){return r(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),\"mod\"!==e&&(a=s.div.neg()),\"div\"!==e&&(o=s.mod.neg(),n&&0!==o.negative&&o.iadd(t)),{div:a,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),\"mod\"!==e&&(a=s.div.neg()),{div:a,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),\"div\"!==e&&(o=s.mod.neg(),n&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):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);var a,o,s},i.prototype.div=function(t){return this.divmod(t,\"div\",!1).div},i.prototype.mod=function(t){return this.divmod(t,\"mod\",!1).mod},i.prototype.umod=function(t){return this.divmod(t,\"mod\",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?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+(0|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=(0|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(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(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.iushrn(1),n.iushrn(1),++u;for(var c=n.clone(),h=e.clone();!e.isZero();){for(var f=0,p=1;0==(e.words[0]&p)&&f<26;++f,p<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(a.isOdd()||o.isOdd())&&(a.iadd(c),o.isub(h)),a.iushrn(1),o.iushrn(1);for(var d=0,g=1;0==(n.words[0]&g)&&d<26;++d,g<<=1);if(d>0)for(n.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(c),l.isub(h)),s.iushrn(1),l.iushrn(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.iushln(u)}},i.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var a,o=new i(1),s=new i(0),l=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(var u=0,c=1;0==(e.words[0]&c)&&u<26;++u,c<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var h=0,f=1;0==(n.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(n.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(n)>=0?(e.isub(n),o.isub(s)):(n.isub(e),s.isub(o))}return(a=0===e.cmpn(1)?o:s).cmpn(0)<0&&a.iadd(t),a},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(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.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(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)return this._expand(n+1),this.words[n]|=i,this;for(var a=i,o=n;0!==a&&o<this.length;o++){var s=0|this.words[o];a=(s+=a)>>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)e=1;else{n&&(t=-t),r(t<=67108863,\"Number is too big\");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},i.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-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=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new _(t)},i.prototype.toRed=function(t){return r(!this.red,\"Already a number in reduction context\"),r(0===this.negative,\"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 g={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function m(){v.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function y(){v.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function x(){v.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function b(){v.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}function _(t){if(\"string\"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),\"modulus must be greater than 1\"),this.m=t,this.prime=null}function w(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(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=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).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},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},n(m,v),m.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];for(e.words[e.length++]=4194303&i,n=10;n<t.length;n++){var a=0|t.words[n];t.words[n-10]=(4194303&a)<<4|i>>>22,i=a}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},m.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},n(y,v),n(x,v),n(b,v),b.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|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){if(g[t])return g[t];var e;if(\"k256\"===t)e=new m;else if(\"p224\"===t)e=new y;else if(\"p192\"===t)e=new x;else{if(\"p25519\"!==t)throw new Error(\"Unknown prime \"+t);e=new b}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,\"red works only with positives\"),r(t.red,\"red works only with red numbers\")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),\"red works only with positives\"),r(t.red&&t.red===e.red,\"red works only with red numbers\")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.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)},_.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},_.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)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var n=this.m.add(new i(1)).iushrn(2);return this.pow(t,n)}for(var a=this.m.subn(1),o=0;!a.isZero()&&0===a.andln(1);)o++,a.iushrn(1);r(!a.isZero());var s=new i(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new i(2*c*c).toRed(this);0!==this.pow(c,u).cmp(l);)c.redIAdd(l);for(var h=this.pow(c,a),f=this.pow(t,a.addn(1).iushrn(1)),p=this.pow(t,a),d=o;0!==p.cmp(s);){for(var g=p,v=0;0!==g.cmp(s);v++)g=g.redSqr();r(v<d);var m=this.pow(h,new i(1).iushln(d-v-1));f=f.redMul(m),h=m.redSqr(),p=p.redMul(h),d=v}return f},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new i(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new i(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var a=r[0],o=0,s=0,l=e.bitLength()%26;for(0===l&&(l=26),n=e.length-1;n>=0;n--){for(var u=e.words[n],c=l-1;c>=0;c--){var h=u>>c&1;a!==r[0]&&(a=this.sqr(a)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===c)&&(a=this.mul(a,r[o]),s=0,o=0)):s=0}l=26}return a},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new w(t)},n(w,_),w.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},w.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},w.prototype.imul=function(t,e){if(t.isZero()||e.isZero())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).iushrn(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)},w.prototype.mul=function(t,e){if(t.isZero()||e.isZero())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).iushrn(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)},w.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(cA,this),cA=cA.exports;var hA=function(t){return t.cmp(new cA(0))};var fA={};(function(t){var e=!1;if(\"undefined\"!=typeof Float64Array){var r=new Float64Array(1),n=new Uint32Array(r.buffer);if(r[0]=1,e=!0,1072693248===n[1]){(fA=function(t){return r[0]=t,[n[0],n[1]]}).pack=function(t,e){return n[0]=t,n[1]=e,r[0]},fA.lo=function(t){return r[0]=t,n[0]},fA.hi=function(t){return r[0]=t,n[1]}}else if(1072693248===n[0]){(fA=function(t){return r[0]=t,[n[1],n[0]]}).pack=function(t,e){return n[1]=t,n[0]=e,r[0]},fA.lo=function(t){return r[0]=t,n[1]},fA.hi=function(t){return r[0]=t,n[0]}}else e=!1}if(!e){var i=new t(8);(fA=function(t){return i.writeDoubleLE(t,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]}).pack=function(t,e){return i.writeUInt32LE(t,0,!0),i.writeUInt32LE(e,4,!0),i.readDoubleLE(0,!0)},fA.lo=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(0,!0)},fA.hi=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(4,!0)}}fA.sign=function(t){return fA.hi(t)>>>31},fA.exponent=function(t){return(fA.hi(t)<<1>>>21)-1023},fA.fraction=function(t){var e=fA.lo(t),r=fA.hi(t),n=1048575&r;return 2146435072&r&&(n+=1<<20),[e,n]},fA.denormalized=function(t){return!(2146435072&fA.hi(t))}}).call(this,Rb.Buffer);var pA=function(t){var e=fA.exponent(t);return e<52?new cA(t):new cA(t*Math.pow(2,52-e)).ushln(e-52)};var dA=function(t,e){var r=hA(t),n=hA(e);if(0===r)return[pA(0),pA(1)];if(0===n)return[pA(0),pA(0)];n<0&&(t=t.neg(),e=e.neg());var i=t.gcd(e);if(i.cmpn(1))return[t.div(i),e.div(i)];return[t,e]};var gA=function(t,e){return dA(t[0].mul(e[1]),t[1].mul(e[0]))};var vA=function(t){return t&&\"object\"==typeof t&&Boolean(t.words)};var mA=function(t){return Array.isArray(t)&&2===t.length&&vA(t[0])&&vA(t[1])};var yA=function(t){return new cA(t)};var xA=function t(e,r){if(mA(e))return r?gA(e,t(r)):[e[0].clone(),e[1].clone()];var n=0;var i,a;if(vA(e))i=e.clone();else if(\"string\"==typeof e)i=yA(e);else{if(0===e)return[pA(0),pA(1)];if(e===Math.floor(e))i=pA(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),n-=256;i=pA(e)}}if(mA(r))i.mul(r[1]),a=r[0].clone();else if(vA(r))a=r.clone();else if(\"string\"==typeof r)a=yA(r);else if(r)if(r===Math.floor(r))a=pA(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),n+=256;a=pA(r)}else a=pA(1);n>0?i=i.ushln(n):n<0&&(a=a.ushln(-n));return dA(i,a)};var bA=function(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 i=0;i<e;i++){var a=r[i];n+=a*Math.pow(67108864,i)}return hA(t)*n};var _A=Mb.countTrailingZeros,wA=function(t){var e=_A(fA.lo(t));if(e<32)return e;var r=_A(fA.hi(t));if(r>20)return 52;return r+32};var MA=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var n=e.abs().divmod(r.abs()),i=n.div,a=bA(i),o=n.mod,s=e.negative!==r.negative?-1:1;if(0===o.cmpn(0))return s*a;if(a){var l=wA(a)+4,u=bA(o.ushln(l).divRound(r));return s*(a+u*Math.pow(2,-l))}var c=r.bitLength()-o.bitLength()+53,u=bA(o.ushln(c).divRound(r));return c<1023?s*u*Math.pow(2,-c):(u*=Math.pow(2,-1023),s*u*Math.pow(2,1023-c))};var AA={},kA=\"d\",TA=\"ax\",SA=\"vv\",EA=\"fp\",CA=\"es\",LA=\"rs\",zA=\"re\",PA=\"rb\",IA=\"ri\",DA=\"rp\",OA=\"bs\",RA=\"be\",FA=\"bb\",BA=\"bi\",NA=\"bp\",jA=\"rv\",VA=\"Q\",UA=[kA,TA,SA,LA,zA,PA,IA,OA,RA,FA,BA];function qA(t){var e=\"bruteForce\"+(t?\"Full\":\"Partial\"),r=[],n=UA.slice();t||n.splice(3,0,EA);var i=[\"function \"+e+\"(\"+n.join()+\"){\"];function a(e,n){var a=function(t,e,r){var n=\"bruteForce\"+(t?\"Red\":\"Blue\")+(e?\"Flip\":\"\")+(r?\"Full\":\"\"),i=[\"function \",n,\"(\",UA.join(),\"){\",\"var \",CA,\"=2*\",kA,\";\"],a=\"for(var i=\"+LA+\",\"+DA+\"=\"+CA+\"*\"+LA+\";i<\"+zA+\";++i,\"+DA+\"+=\"+CA+\"){var x0=\"+PA+\"[\"+TA+\"+\"+DA+\"],x1=\"+PA+\"[\"+TA+\"+\"+DA+\"+\"+kA+\"],xi=\"+IA+\"[i];\",o=\"for(var j=\"+OA+\",\"+NA+\"=\"+CA+\"*\"+OA+\";j<\"+RA+\";++j,\"+NA+\"+=\"+CA+\"){var y0=\"+FA+\"[\"+TA+\"+\"+NA+\"],\"+(r?\"y1=\"+FA+\"[\"+TA+\"+\"+NA+\"+\"+kA+\"],\":\"\")+\"yi=\"+BA+\"[j];\";return t?i.push(a,VA,\":\",o):i.push(o,VA,\":\",a),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=\"+TA+\"+1;k<\"+kA+\";++k){var r0=\"+PA+\"[k+\"+DA+\"],r1=\"+PA+\"[k+\"+kA+\"+\"+DA+\"],b0=\"+FA+\"[k+\"+NA+\"],b1=\"+FA+\"[k+\"+kA+\"+\"+NA+\"];if(r1<b0||b1<r0)continue \"+VA+\";}var \"+jA+\"=\"+SA+\"(\"),e?i.push(\"yi,xi\"):i.push(\"xi,yi\"),i.push(\");if(\"+jA+\"!==void 0)return \"+jA+\";}}}\"),{name:n,code:i.join(\"\")}}(e,n,t);r.push(a.code),i.push(\"return \"+a.name+\"(\"+UA.join()+\");\")}i.push(\"if(\"+zA+\"-\"+LA+\">\"+RA+\"-\"+OA+\"){\"),t?(a(!0,!1),i.push(\"}else{\"),a(!1,!1)):(i.push(\"if(\"+EA+\"){\"),a(!0,!0),i.push(\"}else{\"),a(!0,!1),i.push(\"}}else{if(\"+EA+\"){\"),a(!1,!0),i.push(\"}else{\"),a(!1,!1),i.push(\"}\")),i.push(\"}}return \"+e);var o=r.join(\"\")+i.join(\"\");return new Function(o)()}AA.partial=qA(!1),AA.full=qA(!0);var HA=function(t,e){var r=\"abcdef\".split(\"\").concat(e),n=[];t.indexOf(\"lo\")>=0&&n.push(\"lo=e[k+n]\");t.indexOf(\"hi\")>=0&&n.push(\"hi=e[k+o]\");return r.push(GA.replace(\"_\",n.join()).replace(\"$\",t)),Function.apply(void 0,r)},GA=\"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\";var WA=function(t,e,r,n,i,a){if(n<=r+1)return r;var o=r,s=n,l=n+r>>>1,u=2*t,c=l,h=i[u*l+e];for(;o<s;){if(s-o<XA){ZA(t,e,o,s,i,a),h=i[u*l+e];break}var f=s-o,p=Math.random()*f+o|0,d=i[u*p+e],g=Math.random()*f+o|0,v=i[u*g+e],m=Math.random()*f+o|0,y=i[u*m+e];d<=v?y>=v?(c=g,h=v):d>=y?(c=p,h=d):(c=m,h=y):v>=y?(c=g,h=v):y>=d?(c=p,h=d):(c=m,h=y);for(var x=u*(s-1),b=u*c,_=0;_<u;++_,++x,++b){var w=i[x];i[x]=i[b],i[b]=w}var M=a[s-1];a[s-1]=a[c],a[c]=M,c=YA(t,e,o,s-1,i,a,h);for(var x=u*(s-1),b=u*c,_=0;_<u;++_,++x,++b){var w=i[x];i[x]=i[b],i[b]=w}var M=a[s-1];if(a[s-1]=a[c],a[c]=M,l<c){for(s=c-1;o<s&&i[u*(s-1)+e]===h;)s-=1;s+=1}else{if(!(c<l))break;for(o=c+1;o<s&&i[u*o+e]===h;)o+=1}}return YA(t,e,r,l,i,a,i[u*l+e])},YA=HA(\"lo<p0\",[\"p0\"]),XA=8;function ZA(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,p=h+o,d=0;d<o;++d,++f,++p){var g=i[f];i[f]=i[p],i[p]=g}var v=a[c];a[c]=a[c-1],a[c-1]=v}}var JA=function(t,e){e<=4*KA?QA(0,e-1,t):function t(e,r,n){var i=(r-e+1)/6|0,a=e+i,o=r-i,s=e+r>>1,l=s-i,u=s+i,c=a,h=l,f=s,p=u,d=o,g=e+1,v=r-1,m=0;nk(c,h,n)&&(m=c,c=h,h=m);nk(p,d,n)&&(m=p,p=d,d=m);nk(c,f,n)&&(m=c,c=f,f=m);nk(h,f,n)&&(m=h,h=f,f=m);nk(c,p,n)&&(m=c,c=p,p=m);nk(f,p,n)&&(m=f,f=p,p=m);nk(h,d,n)&&(m=h,h=d,d=m);nk(h,f,n)&&(m=h,h=f,f=m);nk(p,d,n)&&(m=p,p=d,d=m);var y=n[2*h];var x=n[2*h+1];var b=n[2*p];var _=n[2*p+1];var w=2*c;var M=2*f;var A=2*d;var k=2*a;var T=2*s;var S=2*o;for(var E=0;E<2;++E){var C=n[w+E],L=n[M+E],z=n[A+E];n[k+E]=C,n[T+E]=L,n[S+E]=z}tk(l,e,n);tk(u,r,n);for(var P=g;P<=v;++P)if(ik(P,y,x,n))P!==g&&$A(P,g,n),++g;else if(!ik(P,b,_,n))for(;;){if(ik(v,b,_,n)){ik(v,y,x,n)?(ek(P,g,v,n),++g,--v):($A(P,v,n),--v);break}if(--v<P)break}rk(e,g-1,y,x,n);rk(r,v+1,b,_,n);g-2-e<=KA?QA(e,g-2,n):t(e,g-2,n);r-(v+2)<=KA?QA(v+2,r,n):t(v+2,r,n);v-g<=KA?QA(g,v,n):t(g,v,n)}(0,e-1,t)},KA=32;function QA(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){e*=2;var n=r[t*=2],i=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=i}function tk(t,e,r){e*=2,r[t*=2]=r[e],r[t+1]=r[e+1]}function ek(t,e,r,n){e*=2,r*=2;var i=n[t*=2],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 rk(t,e,r,n,i){e*=2,i[t*=2]=i[e],i[e]=r,i[t+1]=i[e+1],i[e+1]=n}function nk(t,e,r){e*=2;var n=r[t*=2],i=r[e];return!(n<i)&&(n!==i||r[t+1]>r[e+1])}function ik(t,e,r,n){var i=n[t*=2];return i<e||i===e&&n[t+1]<r}var ak={init:function(t){var e=Mb.nextPow2(t);sk.length<e&&(__.free(sk),sk=__.mallocInt32(e));lk.length<e&&(__.free(lk),lk=__.mallocInt32(e));uk.length<e&&(__.free(uk),uk=__.mallocInt32(e));ck.length<e&&(__.free(ck),ck=__.mallocInt32(e));hk.length<e&&(__.free(hk),hk=__.mallocInt32(e));fk.length<e&&(__.free(fk),fk=__.mallocInt32(e));var r=8*e;pk.length<r&&(__.free(pk),pk=__.mallocDouble(r))},sweepBipartite:function(t,e,r,n,i,a,o,s,l,u){for(var c=0,h=2*t,f=t-1,p=h-1,d=r;d<n;++d){var g=a[d],v=h*d;pk[c++]=i[v+f],pk[c++]=-(g+1),pk[c++]=i[v+p],pk[c++]=g}for(var d=o;d<s;++d){var g=u[d]+ok,m=h*d;pk[c++]=l[m+f],pk[c++]=-g,pk[c++]=l[m+p],pk[c++]=g}var y=c>>>1;JA(pk,y);for(var x=0,b=0,d=0;d<y;++d){var _=0|pk[2*d+1];if(_>=ok)dk(uk,ck,b--,_=_-ok|0);else if(_>=0)dk(sk,lk,x--,_);else if(_<=-ok){_=-_-ok|0;for(var w=0;w<x;++w){var M=e(sk[w],_);if(void 0!==M)return M}gk(uk,ck,b++,_)}else{_=-_-1|0;for(var w=0;w<b;++w){var M=e(_,uk[w]);if(void 0!==M)return M}gk(sk,lk,x++,_)}}},sweepComplete:function(t,e,r,n,i,a,o,s,l,u){for(var c=0,h=2*t,f=t-1,p=h-1,d=r;d<n;++d){var g=a[d]+1<<1,v=h*d;pk[c++]=i[v+f],pk[c++]=-g,pk[c++]=i[v+p],pk[c++]=g}for(var d=o;d<s;++d){var g=u[d]+1<<1,m=h*d;pk[c++]=l[m+f],pk[c++]=1|-g,pk[c++]=l[m+p],pk[c++]=1|g}var y=c>>>1;JA(pk,y);for(var x=0,b=0,_=0,d=0;d<y;++d){var w=0|pk[2*d+1],M=1&w;if(d<y-1&&w>>1==pk[2*d+3]>>1&&(M=2,d+=1),w<0){for(var A=-(w>>1)-1,k=0;k<_;++k){var T=e(hk[k],A);if(void 0!==T)return T}if(0!==M)for(var k=0;k<x;++k){var T=e(sk[k],A);if(void 0!==T)return T}if(1!==M)for(var k=0;k<b;++k){var T=e(uk[k],A);if(void 0!==T)return T}0===M?gk(sk,lk,x++,A):1===M?gk(uk,ck,b++,A):2===M&&gk(hk,fk,_++,A)}else{var A=(w>>1)-1;0===M?dk(sk,lk,x--,A):1===M?dk(uk,ck,b--,A):2===M&&dk(hk,fk,_--,A)}}},scanBipartite:function(t,e,r,n,i,a,o,s,l,u,c,h){var f=0,p=2*t,d=e,g=e+t,v=1,m=1;n?m=ok:v=ok;for(var y=i;y<a;++y){var x=y+v,b=p*y;pk[f++]=o[b+d],pk[f++]=-x,pk[f++]=o[b+g],pk[f++]=x}for(var y=l;y<u;++y){var x=y+m,_=p*y;pk[f++]=c[_+d],pk[f++]=-x}var w=f>>>1;JA(pk,w);for(var M=0,y=0;y<w;++y){var A=0|pk[2*y+1];if(A<0){var x=-A,k=!1;if(x>=ok?(k=!n,x-=ok):(k=!!n,x-=1),k)gk(sk,lk,M++,x);else{var T=h[x],S=p*x,E=c[S+e+1],C=c[S+e+1+t];t:for(var L=0;L<M;++L){var z=sk[L],P=p*z;if(!(C<o[P+e+1]||o[P+e+1+t]<E)){for(var I=e+2;I<t;++I)if(c[S+I+t]<o[P+I]||o[P+I+t]<c[S+I])continue t;var D,O=s[z];if(void 0!==(D=n?r(T,O):r(O,T)))return D}}}}else dk(sk,lk,M--,A-v)}},scanComplete:function(t,e,r,n,i,a,o,s,l,u,c){for(var h=0,f=2*t,p=e,d=e+t,g=n;g<i;++g){var v=g+ok,m=f*g;pk[h++]=a[m+p],pk[h++]=-v,pk[h++]=a[m+d],pk[h++]=v}for(var g=s;g<l;++g){var v=g+1,y=f*g;pk[h++]=u[y+p],pk[h++]=-v}var x=h>>>1;JA(pk,x);for(var b=0,g=0;g<x;++g){var _=0|pk[2*g+1];if(_<0){var v=-_;if(v>=ok)sk[b++]=v-ok;else{var w=c[v-=1],M=f*v,A=u[M+e+1],k=u[M+e+1+t];t:for(var T=0;T<b;++T){var S=sk[T],E=o[S];if(E===w)break;var C=f*S;if(!(k<a[C+e+1]||a[C+e+1+t]<A)){for(var L=e+2;L<t;++L)if(u[M+L+t]<a[C+L]||a[C+L+t]<u[M+L])continue t;var z=r(E,w);if(void 0!==z)return z}}}}else{for(var v=_-ok,T=b-1;T>=0;--T)if(sk[T]===v){for(var L=T+1;L<b;++L)sk[L-1]=sk[L];break}--b}}}},ok=1<<28,sk=__.mallocInt32(1024),lk=__.mallocInt32(1024),uk=__.mallocInt32(1024),ck=__.mallocInt32(1024),hk=__.mallocInt32(1024),fk=__.mallocInt32(1024),pk=__.mallocDouble(8192);function dk(t,e,r,n){var i=e[n],a=t[r-1];t[i]=a,e[a]=i}function gk(t,e,r,n){t[r]=n,e[n]=r}var vk=function(t,e,r,n,i,a,o,s,l){!function(t,e){var r=8*Mb.log2(e+1)*(t+1)|0,n=Mb.nextPow2(Ek*r);Lk.length<n&&(__.free(Lk),Lk=__.mallocInt32(n));var i=Mb.nextPow2(Ck*r);zk<i&&(__.free(zk),zk=__.mallocDouble(i))}(t,n+o);var u,c=0,h=2*t;Pk(c++,0,0,n,0,o,r?16:0,-1/0,1/0),r||Pk(c++,0,0,o,0,n,1,-1/0,1/0);for(;c>0;){var f=(c-=1)*Ek,p=Lk[f],d=Lk[f+1],g=Lk[f+2],v=Lk[f+3],m=Lk[f+4],y=Lk[f+5],x=c*Ck,b=zk[x],_=zk[x+1],w=1&y,M=!!(16&y),A=i,k=a,T=s,S=l;if(w&&(A=s,k=l,T=i,S=a),!(2&y&&(g=Ak(t,p,d,g,A,k,_),d>=g)||4&y&&(d=kk(t,p,d,g,A,k,b))>=g)){var E=g-d,C=m-v;if(M){if(t*E*(E+C)<_k){if(void 0!==(u=ak.scanComplete(t,p,e,d,g,A,k,v,m,T,S)))return u;continue}}else{if(t*Math.min(E,C)<xk){if(void 0!==(u=mk(t,p,e,w,d,g,A,k,v,m,T,S)))return u;continue}if(t*E*C<bk){if(void 0!==(u=ak.scanBipartite(t,p,e,w,d,g,A,k,v,m,T,S)))return u;continue}}var L=wk(t,p,d,g,A,k,b,_);if(d<L)if(t*(L-d)<xk){if(void 0!==(u=yk(t,p+1,e,d,L,A,k,v,m,T,S)))return u}else if(p===t-2){if(void 0!==(u=w?ak.sweepBipartite(t,e,v,m,T,S,d,L,A,k):ak.sweepBipartite(t,e,d,L,A,k,v,m,T,S)))return u}else Pk(c++,p+1,d,L,v,m,w,-1/0,1/0),Pk(c++,p+1,v,m,d,L,1^w,-1/0,1/0);if(L<g){var z=WA(t,p,v,m,T,S),P=T[h*z+p],I=Mk(t,p,z,m,T,S,P);if(I<m&&Pk(c++,p,L,g,I,m,(4|w)+(M?16:0),P,_),v<z&&Pk(c++,p,L,g,v,z,(2|w)+(M?16:0),b,P),z+1===I){if(void 0!==(u=M?Dk(t,p,e,L,g,A,k,z,T,S[z]):Ik(t,p,e,w,L,g,A,k,z,T,S[z])))return u}else if(z<I){var D;if(M){if(D=Tk(t,p,L,g,A,k,P),L<D){var O=Mk(t,p,L,D,A,k,P);if(p===t-2){if(L<O&&void 0!==(u=ak.sweepComplete(t,e,L,O,A,k,z,I,T,S)))return u;if(O<D&&void 0!==(u=ak.sweepBipartite(t,e,O,D,A,k,z,I,T,S)))return u}else L<O&&Pk(c++,p+1,L,O,z,I,16,-1/0,1/0),O<D&&(Pk(c++,p+1,O,D,z,I,0,-1/0,1/0),Pk(c++,p+1,z,I,O,D,1,-1/0,1/0))}}else D=w?Sk(t,p,L,g,A,k,P):Tk(t,p,L,g,A,k,P),L<D&&(p===t-2?u=w?ak.sweepBipartite(t,e,z,I,T,S,L,D,A,k):ak.sweepBipartite(t,e,L,D,A,k,z,I,T,S):(Pk(c++,p+1,L,D,z,I,w,-1/0,1/0),Pk(c++,p+1,z,I,L,D,1^w,-1/0,1/0)))}}}}},mk=AA.partial,yk=AA.full,xk=128,bk=1<<22,_k=1<<22,wk=HA(\"!(lo>=p0)&&!(p1>=hi)\",[\"p0\",\"p1\"]),Mk=HA(\"lo===p0\",[\"p0\"]),Ak=HA(\"lo<p0\",[\"p0\"]),kk=HA(\"hi<=p0\",[\"p0\"]),Tk=HA(\"lo<=p0&&p0<=hi\",[\"p0\"]),Sk=HA(\"lo<p0&&p0<=hi\",[\"p0\"]),Ek=6,Ck=2,Lk=__.mallocInt32(1024),zk=__.mallocDouble(1024);function Pk(t,e,r,n,i,a,o,s,l){var u=Ek*t;Lk[u]=e,Lk[u+1]=r,Lk[u+2]=n,Lk[u+3]=i,Lk[u+4]=a,Lk[u+5]=o;var c=Ck*t;zk[c]=s,zk[c+1]=l}function Ik(t,e,r,n,i,a,o,s,l,u,c){var h=2*t,f=l*h,p=u[f+e];t:for(var d=i,g=i*h;d<a;++d,g+=h){var v=o[g+e],m=o[g+e+t];if(!(p<v||m<p)&&(!n||p!==v)){for(var y,x=s[d],b=e+1;b<t;++b){v=o[g+b],m=o[g+b+t];var _=u[f+b],w=u[f+b+t];if(m<_||w<v)continue t}if(void 0!==(y=n?r(c,x):r(x,c)))return y}}}function Dk(t,e,r,n,i,a,o,s,l,u){var c=2*t,h=s*c,f=l[h+e];t:for(var p=n,d=n*c;p<i;++p,d+=c){var g=o[p];if(g!==u){var v=a[d+e],m=a[d+e+t];if(!(f<v||m<f)){for(var y=e+1;y<t;++y){v=a[d+y],m=a[d+y+t];var x=l[h+y],b=l[h+y+t];if(m<x||b<v)continue t}var _=r(g,u);if(void 0!==_)return _}}}}var Ok,Rk=function(t,e,r){switch(arguments.length){case 1:return Ok=[],Nk(n=t,n,jk,!0),Ok;case 2:return\"function\"==typeof e?Nk(t,t,e,!0):function(t,e){return Ok=[],Nk(t,e,jk,!1),Ok}(t,e);case 3:return Nk(t,e,r,!1);default:throw new Error(\"box-intersect: Invalid arguments\")}var n};function Fk(t,e){for(var r=0;r<t;++r)if(!(e[r]<=e[r+t]))return!0;return!1}function Bk(t,e,r,n){for(var i=0,a=0,o=0,s=t.length;o<s;++o){var l=t[o];if(!Fk(e,l)){for(var u=0;u<2*e;++u)r[i++]=l[u];n[a++]=o}}return a}function Nk(t,e,r,n){var i=t.length,a=e.length;if(!(i<=0||a<=0)){var o=t[0].length>>>1;if(!(o<=0)){var s,l=__.mallocDouble(2*o*i),u=__.mallocInt32(i);if((i=Bk(t,o,l,u))>0){if(1===o&&n)ak.init(i),s=ak.sweepComplete(o,r,0,i,l,u,0,i,l,u);else{var c=__.mallocDouble(2*o*a),h=__.mallocInt32(a);(a=Bk(e,o,c,h))>0&&(ak.init(i+a),s=1===o?ak.sweepBipartite(o,r,0,i,l,u,0,a,c,h):vk(o,r,n,i,l,u,a,c,h),__.free(c),__.free(h))}__.free(l),__.free(u)}return s}}}function jk(t,e){Ok.push([t,e])}var Vk=function(t,e){return dA(t[0].mul(e[0]),t[1].mul(e[1]))};var Uk=function(t){return hA(t[0])*hA(t[1])};var qk=function(t,e){return dA(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))};var Hk=function(t,e){return dA(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))};var Gk=function(t,e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=Hk(t[i],e[i]);return n};var Wk=function(t,e){for(var r=xA(e),n=t.length,i=new Array(n),a=0;a<n;++a)i[a]=Vk(t[a],r);return i};var Yk=function(t,e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=qk(t[i],e[i]);return n};var Xk=function(t,e,r,n){var i=Yk(e,t),a=Yk(n,r),o=Zk(i,a);if(0===Uk(o))return null;var s=Yk(t,r),l=Zk(a,s),u=gA(l,o),c=Wk(i,u);return Gk(t,c)};function Zk(t,e){return qk(Vk(t[0],e[1]),Vk(t[1],e[0]))}var Jk=Math.pow(2,-1074),Kk=-1>>>0,Qk=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-Jk:Jk;var r=fA.hi(t),n=fA.lo(t);e>t==t>0?n===Kk?(r+=1,n=0):n+=1:0===n?(n=Kk,r-=1):n-=1;return fA.pack(n,r)};var $k=function(t){for(var e=new Array(t.length),r=0;r<t.length;++r)e[r]=xA(t[r]);return e};var tT=function(t,e,r,n){var i=eT(t,r,n),a=eT(e,r,n);if(i>0&&a>0||i<0&&a<0)return!1;var o=eT(r,t,e),s=eT(n,t,e);if(o>0&&s>0||o<0&&s<0)return!1;if(0===i&&0===a&&0===o&&0===s)return function(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}(t,e,r,n);return!0},eT=PM[3];var rT=nT;function nT(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}var iT=nT.prototype;Object.defineProperty(iT,\"length\",{get:function(){return this.roots.length}}),iT.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},iT.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},iT.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])}};var aT=function(t,e,r){var n;if(r){n=e;for(var i=new Array(e.length),a=0;a<e.length;++a){var o=e[a];i[a]=[o[0],o[1],r[a]]}e=i}var s=function(t,e,r){var n=lT(t,[],sT(t));return hT(e,n,r),!!n}(t,e,!!r);for(;fT(t,e,!!r);)s=!0;if(r&&s){n.length=0,r.length=0;for(var a=0;a<e.length;++a){var o=e[a];n.push([o[0],o[1]]),r.push(o[2])}}return s};function oT(t){var e=MA(t);return[Qk(e,-1/0),Qk(e,1/0)]}function sT(t){for(var e=new Array(t.length),r=0;r<t.length;++r){var n=t[r];e[r]=[Qk(n[0],-1/0),Qk(n[1],-1/0),Qk(n[0],1/0),Qk(n[1],1/0)]}return e}function lT(t,e,r){for(var n=e.length,i=new rT(n),a=[],o=0;o<e.length;++o){var s=e[o],l=oT(s[0]),u=oT(s[1]);a.push([Qk(l[0],-1/0),Qk(u[0],-1/0),Qk(l[1],1/0),Qk(u[1],1/0)])}Rk(a,function(t,e){i.link(t,e)});var c=!0,h=new Array(n);for(o=0;o<n;++o){(p=i.find(o))!==o&&(c=!1,t[p]=[Math.min(t[o][0],t[p][0]),Math.min(t[o][1],t[p][1])])}if(c)return null;var f=0;for(o=0;o<n;++o){var p;(p=i.find(o))===o?(h[o]=f,t[f++]=t[o]):h[o]=-1}t.length=f;for(o=0;o<n;++o)h[o]<0&&(h[o]=h[i.find(o)]);return h}function uT(t,e){return t[0]-e[0]||t[1]-e[1]}function cT(t,e){var r=t[0]-e[0]||t[1]-e[1];return r||(t[2]<e[2]?-1:t[2]>e[2]?1:0)}function hT(t,e,r){if(0!==t.length){if(e)for(var n=0;n<t.length;++n){var i=e[(o=t[n])[0]],a=e[o[1]];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}else for(n=0;n<t.length;++n){var o;i=(o=t[n])[0],a=o[1];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}r?t.sort(cT):t.sort(uT);var s=1;for(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 fT(t,e,r){var n=function(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]=[Qk(Math.min(a[0],o[0]),-1/0),Qk(Math.min(a[1],o[1]),-1/0),Qk(Math.max(a[0],o[0]),1/0),Qk(Math.max(a[1],o[1]),1/0)]}return r}(t,e),i=function(t,e,r){var n=[];return Rk(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]];tT(s,l,u,c)&&n.push([r,i])}}),n}(t,e,n),a=sT(t),o=function(t,e,r,n){var i=[];return Rk(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]];tT(s,l,o,o)&&i.push([r,n])}}),i}(t,e,n,a),s=lT(t,function(t,e,r,n,i){var a,o,s=t.map(function(t){return[xA(t[0]),xA(t[1])]});for(a=0;a<r.length;++a){var l=r[a];o=l[0];var u=l[1],c=e[o],h=e[u],f=Xk($k(t[c[0]]),$k(t[c[1]]),$k(t[h[0]]),$k(t[h[1]]));if(f){var p=t.length;t.push([MA(f[0]),MA(f[1])]),s.push(f),n.push([o,p],[u,p])}}for(n.sort(function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=s[t[1]],n=s[e[1]];return lA(r[0],n[0])||lA(r[1],n[1])}),a=n.length-1;a>=0;--a){var d=e[o=(w=n[a])[0]],g=d[0],v=d[1],m=t[g],y=t[v];if((m[0]-y[0]||m[1]-y[1])<0){var x=g;g=v,v=x}d[0]=g;var b,_=d[1]=w[1];for(i&&(b=d[2]);a>0&&n[a-1][0]===o;){var w,M=(w=n[--a])[1];i?e.push([_,M,b]):e.push([_,M]),_=M}i?e.push([_,v,b]):e.push([_,v])}return s}(t,e,i,o,r));return hT(e,s,r),!!s||(i.length>0||o.length>0)}var pT=function(t,e){var r=t.length;if(\"number\"!=typeof e){e=0;for(var n=0;n<r;++n){var i=t[n];e=Math.max(e,i[0],i[1])}e=1+(0|e)}e|=0;for(var a=new Array(e),n=0;n<e;++n)a[n]=[];for(var n=0;n<r;++n){var i=t[n];a[i[0]].push(i[1]),a[i[1]].push(i[0])}for(var o=0;o<e;++o)Qx(a[o],function(t,e){return t-e});return a};var dT=function(t,e){if(1===t.length)return pM(e,t[0]);if(1===e.length)return pM(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=gM(r,pM(e,t[n]));else for(var n=0;n<e.length;++n)r=gM(r,pM(t,e[n]));return r};var gT=function(t){return t<0?-1:t>0?1:0},vT=function(t,e,r,n){var i=PM(e,r,n);if(0===i){var a=gT(PM(t,e,r)),o=gT(PM(t,e,n));if(a===o){if(0===a){var s=mT(t,e,r),l=mT(t,e,n);return s===l?0:s?1:-1}return 0}return 0===o?a>0?-1:mT(t,e,n)?-1:1:0===a?o>0?1:mT(t,e,r)?1:-1:gT(o-a)}var u=PM(t,e,r);if(u>0)return i>0&&PM(t,e,n)>0?1:-1;if(u<0)return i>0||PM(t,e,n)>0?1:-1;var c=PM(t,e,n);return c>0?1:mT(t,e,r)?1:-1};function mT(t,e,r){var n=fM(t[0],-e[0]),i=fM(t[1],-e[1]),a=fM(r[0],-e[0]),o=fM(r[1],-e[1]),s=gM(dT(n,a),dT(i,o));return s[s.length-1]>=0}var yT=function(t,e){for(var r=0|e.length,n=t.length,i=[new Array(r),new Array(r)],a=0;a<r;++a)i[0][a]=[],i[1][a]=[];for(var a=0;a<n;++a){var o=t[a];i[0][o[0]].push(o),i[1][o[1]].push(o)}for(var s=[],a=0;a<r;++a)i[0][a].length+i[1][a].length===0&&s.push([a]);function l(t,e){var r=i[e][t[e]];r.splice(r.indexOf(t),1)}function u(t,r,n){for(var a,o,s,u=0;u<2;++u)if(i[u][r].length>0){a=i[u][r][0],s=u;break}o=a[1^s];for(var c=0;c<2;++c)for(var h=i[c][r],f=0;f<h.length;++f){var p=h[f],d=p[1^c],g=vT(e[t],e[r],e[o],e[d]);g>0&&(a=p,o=d,s=c)}return n?o:(a&&l(a,s),o)}function c(t,r){var n=i[r][t][0],a=[t];l(n,r);for(var o=n[1^r];;){for(;o!==t;)a.push(o),o=u(a[a.length-2],o,!1);if(i[0][t].length+i[1][t].length===0)break;var s=a[a.length-1],c=t,h=a[1],f=u(s,c,!0);if(vT(e[s],e[c],e[h],e[f])<0)break;a.push(t),o=u(s,c)}return a}function h(t,e){return e[1]===e[e.length-1]}for(var a=0;a<r;++a)for(var f=0;f<2;++f){for(var p=[];i[f][a].length>0;){i[0][a].length;var d=c(a,f);h(p,d)?p.push.apply(p,d):(p.length>0&&s.push(p),p=d)}p.length>0&&s.push(p)}return s};var xT=function(t,e){for(var r=pT(t,e.length),n=new Array(e.length),i=new Array(e.length),a=[],o=0;o<e.length;++o){var s=r[o].length;i[o]=s,n[o]=!0,s<=1&&a.push(o)}for(;a.length>0;){var l=a.pop();n[l]=!1;for(var u=r[l],o=0;o<u.length;++o){var c=u[o];0==--i[c]&&a.push(c)}}for(var h=new Array(e.length),f=[],o=0;o<e.length;++o)if(n[o]){var l=f.length;h[o]=l,f.push(e[o])}else h[o]=-1;for(var p=[],o=0;o<t.length;++o){var d=t[o];n[d[0]]&&n[d[1]]&&p.push([h[d[0]],h[d[1]]])}return[p,f]};function bT(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 _T(t,e,r,n){return new Function([bT(\"A\",\"x\"+t+\"y\",e,[\"y\"],!1,n),bT(\"B\",\"x\"+t+\"y\",e,[\"y\"],!0,n),bT(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],!1,n),bT(\"Q\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],!0,n),\"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(\"\"))()}var wT={ge:_T(\">=\",!1,\"GE\"),gt:_T(\">\",!1,\"GT\"),lt:_T(\"<\",!0,\"LT\"),le:_T(\"<=\",!0,\"LE\"),eq:_T(\"-\",!0,\"EQ\",!0)},MT=0,AT=1,kT=function(t){if(!t||0===t.length)return new NT(null);return new NT(BT(t))};function TT(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}var ST=TT.prototype;function ET(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 CT(t,e){var r=BT(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 LT(t,e){var r=t.intervals([]);r.push(e),CT(t,r)}function zT(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?MT:(r.splice(n,1),CT(t,r),AT)}function PT(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 IT(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 DT(t,e){for(var r=0;r<t.length;++r){var n=e(t[r]);if(n)return n}}function OT(t,e){return t-e}function RT(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function FT(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function BT(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(OT);var n=e[e.length>>1],i=[],a=[],o=[];for(r=0;r<t.length;++r){var s=t[r];s[1]<n?i.push(s):n<s[0]?a.push(s):o.push(s)}var l=o,u=o.slice();return l.sort(RT),u.sort(FT),new TT(n,BT(i),BT(a),l,u)}function NT(t){this.root=t}ST.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},ST.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)?LT(this,t):this.left.insert(t):this.left=BT([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?LT(this,t):this.right.insert(t):this.right=BT([t]);else{var r=wT.ge(this.leftPoints,t,RT),n=wT.ge(this.rightPoints,t,FT);this.leftPoints.splice(r,0,t),this.rightPoints.splice(n,0,t)}},ST.remove=function(t){var e=this.count-this.leftPoints;if(t[1]<this.mid){return this.left?4*(this.right?this.right.count:0)>3*(e-1)?zT(this,t):2===(a=this.left.remove(t))?(this.left=null,this.count-=1,AT):(a===AT&&(this.count-=1),a):MT}else{if(!(t[0]>this.mid)){if(1===this.count)return this.leftPoints[0]===t?2:MT;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,n=this.left;n.right;)r=n,n=n.right;if(r===this)n.right=this.right;else{var i=this.left;a=this.right;r.count-=n.count,r.right=n.left,n.left=i,n.right=a}ET(this,n),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?ET(this,this.left):ET(this,this.right);return AT}for(i=wT.ge(this.leftPoints,t,RT);i<this.leftPoints.length&&this.leftPoints[i][0]===t[0];++i)if(this.leftPoints[i]===t){this.count-=1,this.leftPoints.splice(i,1);for(a=wT.ge(this.rightPoints,t,FT);a<this.rightPoints.length&&this.rightPoints[a][1]===t[1];++a)if(this.rightPoints[a]===t)return this.rightPoints.splice(a,1),AT}return MT}return this.right?4*(this.left?this.left.count:0)>3*(e-1)?zT(this,t):2===(a=this.right.remove(t))?(this.right=null,this.count-=1,AT):(a===AT&&(this.count-=1),a):MT;var a}},ST.queryPoint=function(t,e){if(t<this.mid){if(this.left)if(r=this.left.queryPoint(t,e))return r;return PT(this.leftPoints,t,e)}if(t>this.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return IT(this.rightPoints,t,e)}return DT(this.leftPoints,e)},ST.queryInterval=function(t,e,r){var n;if(t<this.mid&&this.left&&(n=this.left.queryInterval(t,e,r)))return n;if(e>this.mid&&this.right&&(n=this.right.queryInterval(t,e,r)))return n;return e<this.mid?PT(this.leftPoints,e,r):t>this.mid?IT(this.rightPoints,t,r):DT(this.leftPoints,r)};var jT=NT.prototype;jT.insert=function(t){this.root?this.root.insert(t):this.root=new TT(t[0],null,null,[t],[t])},jT.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),e!==MT}return!1},jT.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},jT.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(jT,\"count\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(jT,\"intervals\",{get:function(){return this.root?this.root.intervals([]):[]}});var VT=function(t){return new XT(t||$T,null)},UT=0,qT=1;function HT(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 GT(t){return new HT(t._color,t.key,t.value,t.left,t.right,t._count)}function WT(t,e){return new HT(t,e.key,e.value,e.left,e.right,e._count)}function YT(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function XT(t,e){this._compare=t,this.root=e}var ZT=XT.prototype;function JT(t,e){this.tree=t,this._stack=e}Object.defineProperty(ZT,\"keys\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(ZT,\"values\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(ZT,\"length\",{get:function(){return this.root?this.root._count:0}}),ZT.insert=function(t,e){for(var r=this._compare,n=this.root,i=[],a=[];n;){var o=r(t,n.key);i.push(n),a.push(o),n=o<=0?n.left:n.right}i.push(new HT(UT,t,e,null,null,1));for(var s=i.length-2;s>=0;--s){n=i[s];a[s]<=0?i[s]=new HT(n._color,n.key,n.value,i[s+1],n.right,n._count+1):i[s]=new HT(n._color,n.key,n.value,n.left,i[s+1],n._count+1)}for(s=i.length-1;s>1;--s){var l=i[s-1];n=i[s];if(l._color===qT||n._color===qT)break;var u=i[s-2];if(u.left===l)if(l.left===n){if(!(c=u.right)||c._color!==UT){if(u._color=UT,u.left=l.right,l._color=qT,l.right=u,i[s-2]=l,i[s-1]=n,YT(u),YT(l),s>=3)(h=i[s-3]).left===u?h.left=l:h.right=l;break}l._color=qT,u.right=WT(qT,c),u._color=UT,s-=1}else{if(!(c=u.right)||c._color!==UT){if(l.right=n.left,u._color=UT,u.left=n.right,n._color=qT,n.left=l,n.right=u,i[s-2]=n,i[s-1]=l,YT(u),YT(l),YT(n),s>=3)(h=i[s-3]).left===u?h.left=n:h.right=n;break}l._color=qT,u.right=WT(qT,c),u._color=UT,s-=1}else if(l.right===n){if(!(c=u.left)||c._color!==UT){if(u._color=UT,u.right=l.left,l._color=qT,l.left=u,i[s-2]=l,i[s-1]=n,YT(u),YT(l),s>=3)(h=i[s-3]).right===u?h.right=l:h.left=l;break}l._color=qT,u.left=WT(qT,c),u._color=UT,s-=1}else{var c;if(!(c=u.left)||c._color!==UT){var h;if(l.left=n.right,u._color=UT,u.right=n.left,n._color=qT,n.right=l,n.left=u,i[s-2]=n,i[s-1]=l,YT(u),YT(l),YT(n),s>=3)(h=i[s-3]).right===u?h.right=n:h.left=n;break}l._color=qT,u.left=WT(qT,c),u._color=UT,s-=1}}return i[0]._color=qT,new XT(r,i[0])},ZT.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return function t(e,r){var n;if(r.left&&(n=t(e,r.left)))return n;return(n=e(r.key,r.value))||(r.right?t(e,r.right):void 0)}(t,this.root);case 2:return function t(e,r,n,i){if(r(e,i.key)<=0){var a;if(i.left&&(a=t(e,r,n,i.left)))return a;if(a=n(i.key,i.value))return a}if(i.right)return t(e,r,n,i.right)}(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return function t(e,r,n,i,a){var o,s=n(e,a.key),l=n(r,a.key);if(s<=0){if(a.left&&(o=t(e,r,n,i,a.left)))return o;if(l>0&&(o=i(a.key,a.value)))return o}if(l>0&&a.right)return t(e,r,n,i,a.right)}(e,r,this._compare,t,this.root)}},Object.defineProperty(ZT,\"begin\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new JT(this,t)}}),Object.defineProperty(ZT,\"end\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new JT(this,t)}}),ZT.at=function(t){if(t<0)return new JT(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 JT(this,r);if(t-=1,!e.right)break;if(t>=e.right._count)break;e=e.right}return new JT(this,[])},ZT.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 JT(this,n)},ZT.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 JT(this,n)},ZT.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 JT(this,n)},ZT.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 JT(this,n)},ZT.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 JT(this,n);r=i<=0?r.left:r.right}return new JT(this,[])},ZT.remove=function(t){var e=this.find(t);return e?e.remove():this},ZT.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 KT=JT.prototype;function QT(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 $T(t,e){return t<e?-1:t>e?1:0}Object.defineProperty(KT,\"valid\",{get:function(){return this._stack.length>0}}),Object.defineProperty(KT,\"node\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),KT.clone=function(){return new JT(this.tree,this._stack.slice())},KT.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 HT(r._color,r.key,r.value,r.left,r.right,r._count);for(var n=t.length-2;n>=0;--n){(r=t[n]).left===t[n+1]?e[n]=new HT(r._color,r.key,r.value,e[n+1],r.right,r._count):e[n]=new HT(r._color,r.key,r.value,r.left,e[n+1],r._count)}if((r=e[e.length-1]).left&&r.right){var i=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var a=e[i-1];e.push(new HT(r._color,a.key,a.value,r.left,r.right,r._count)),e[i-1].key=r.key,e[i-1].value=r.value;for(n=e.length-2;n>=i;--n)r=e[n],e[n]=new HT(r._color,r.key,r.value,r.left,e[n+1],r._count);e[i-1].left=e[i]}if((r=e[e.length-1])._color===UT){var o=e[e.length-2];o.left===r?o.left=null:o.right===r&&(o.right=null),e.pop();for(n=0;n<e.length;++n)e[n]._count--;return new XT(this.tree._compare,e[0])}if(r.left||r.right){r.left?QT(r,r.left):r.right&&QT(r,r.right),r._color=qT;for(n=0;n<e.length-1;++n)e[n]._count--;return new XT(this.tree._compare,e[0])}if(1===e.length)return new XT(this.tree._compare,null);for(n=0;n<e.length;++n)e[n]._count--;var s=e[e.length-2];return function(t){for(var e,r,n,i,a=t.length-1;a>=0;--a){if(e=t[a],0===a)return void(e._color=qT);if((r=t[a-1]).left===e){if((n=r.right).right&&n.right._color===UT)return i=(n=r.right=GT(n)).right=GT(n.right),r.right=n.left,n.left=r,n.right=i,n._color=r._color,e._color=qT,r._color=qT,i._color=qT,YT(r),YT(n),a>1&&((o=t[a-2]).left===r?o.left=n:o.right=n),void(t[a-1]=n);if(n.left&&n.left._color===UT)return i=(n=r.right=GT(n)).left=GT(n.left),r.right=i.left,n.left=i.right,i.left=r,i.right=n,i._color=r._color,r._color=qT,n._color=qT,e._color=qT,YT(r),YT(n),YT(i),a>1&&((o=t[a-2]).left===r?o.left=i:o.right=i),void(t[a-1]=i);if(n._color===qT){if(r._color===UT)return r._color=qT,void(r.right=WT(UT,n));r.right=WT(UT,n);continue}n=GT(n),r.right=n.left,n.left=r,n._color=r._color,r._color=UT,YT(r),YT(n),a>1&&((o=t[a-2]).left===r?o.left=n:o.right=n),t[a-1]=n,t[a]=r,a+1<t.length?t[a+1]=e:t.push(e),a+=2}else{if((n=r.left).left&&n.left._color===UT)return i=(n=r.left=GT(n)).left=GT(n.left),r.left=n.right,n.right=r,n.left=i,n._color=r._color,e._color=qT,r._color=qT,i._color=qT,YT(r),YT(n),a>1&&((o=t[a-2]).right===r?o.right=n:o.left=n),void(t[a-1]=n);if(n.right&&n.right._color===UT)return i=(n=r.left=GT(n)).right=GT(n.right),r.left=i.right,n.right=i.left,i.right=r,i.left=n,i._color=r._color,r._color=qT,n._color=qT,e._color=qT,YT(r),YT(n),YT(i),a>1&&((o=t[a-2]).right===r?o.right=i:o.left=i),void(t[a-1]=i);if(n._color===qT){if(r._color===UT)return r._color=qT,void(r.left=WT(UT,n));r.left=WT(UT,n);continue}var o;n=GT(n),r.left=n.right,n.right=r,n._color=r._color,r._color=UT,YT(r),YT(n),a>1&&((o=t[a-2]).right===r?o.right=n:o.left=n),t[a-1]=n,t[a]=r,a+1<t.length?t[a+1]=e:t.push(e),a+=2}}}(e),s.left===r?s.left=null:s.right=null,new XT(this.tree._compare,e[0])},Object.defineProperty(KT,\"key\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(KT,\"value\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(KT,\"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}),KT.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(KT,\"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}}),KT.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),n=e[e.length-1];r[r.length-1]=new HT(n._color,n.key,t,n.left,n.right,n._count);for(var i=e.length-2;i>=0;--i)(n=e[i]).left===e[i+1]?r[i]=new HT(n._color,n.key,n.value,r[i+1],n.right,n._count):r[i]=new HT(n._color,n.key,n.value,n.left,r[i+1],n._count);return new XT(this.tree._compare,r[0])},KT.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(KT,\"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}});var tS=function(t,e){var r,n,i,a;if(e[0][0]<e[1][0])r=e[0],n=e[1];else{if(!(e[0][0]>e[1][0]))return eS(e,t);r=e[1],n=e[0]}if(t[0][0]<t[1][0])i=t[0],a=t[1];else{if(!(t[0][0]>t[1][0]))return-eS(t,e);i=t[1],a=t[0]}var o=PM(r,n,a),s=PM(r,n,i);if(o<0){if(s<=0)return o}else if(o>0){if(s>=0)return o}else if(s)return s;if(o=PM(a,i,n),s=PM(a,i,r),o<0){if(s<=0)return o}else if(o>0){if(s>=0)return o}else if(s)return s;return n[0]-a[0]};function eS(t,e){var r,n,i,a;if(e[0][0]<e[1][0])r=e[0],n=e[1];else{if(!(e[0][0]>e[1][0])){var o=Math.min(t[0][1],t[1][1]),s=Math.max(t[0][1],t[1][1]),l=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return s<l?s-l:o>u?o-u:s-u}r=e[1],n=e[0]}t[0][1]<t[1][1]?(i=t[0],a=t[1]):(i=t[1],a=t[0]);var c=PM(n,r,i);return c||((c=PM(n,r,a))||a-n)}var rS=function(t){for(var e=t.length,r=2*e,n=new Array(r),i=0;i<e;++i){var a=t[i],o=a[0][0]<a[1][0];n[2*i]=new sS(a[0][0],a,o,i),n[2*i+1]=new sS(a[1][0],a,!o,i)}n.sort(function(t,e){var r=t.x-e.x;return r||((r=t.create-e.create)||Math.min(t.segment[0][1],t.segment[1][1])-Math.min(e.segment[0][1],e.segment[1][1]))});for(var s=VT(tS),l=[],u=[],c=[],i=0;i<r;){for(var h=n[i].x,f=[];i<r;){var p=n[i];if(p.x!==h)break;i+=1,p.segment[0][0]===p.x&&p.segment[1][0]===p.x?p.create&&(p.segment[0][1]<p.segment[1][1]?(f.push(new oS(p.segment[0][1],p.index,!0,!0)),f.push(new oS(p.segment[1][1],p.index,!1,!1))):(f.push(new oS(p.segment[1][1],p.index,!0,!1)),f.push(new oS(p.segment[0][1],p.index,!1,!0)))):s=p.create?s.insert(p.segment,p.index):s.remove(p.segment)}l.push(s.root),u.push(h),c.push(f)}return new nS(l,u,c)};function nS(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function iS(t,e){return t.y-e}function aS(t,e){for(var r=null;t;){var n,i,a=t.key;a[0][0]<a[1][0]?(n=a[0],i=a[1]):(n=a[1],i=a[0]);var o=PM(n,i,e);if(o<0)t=t.left;else if(o>0)if(e[0]!==a[1][0])r=t,t=t.right;else{if(s=aS(t.right,e))return s;t=t.left}else{if(e[0]!==a[1][0])return t;var s;if(s=aS(t.right,e))return s;t=t.left}}return r}function oS(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function sS(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}nS.prototype.castUp=function(t){var e=wT.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=aS(this.slabs[e],t),n=-1;if(r&&(n=r.value),this.coordinates[e]===t[0]){var i=null;if(r&&(i=r.key),e>0){var a=aS(this.slabs[e-1],t);a&&(i?tS(a.key,i)>0&&(i=a.key,n=a.value):(n=a.value,i=a.key))}var o=this.horizontal[e];if(o.length>0){var s=wT.ge(o,t[1],iS);if(s<o.length){var l=o[s];if(t[1]===l.y){if(l.closed)return l.index;for(;s<o.length-1&&o[s+1].y===t[1];)if((l=o[s+=1]).closed)return l.index;if(l.y===t[1]&&!l.start){if((s+=1)>=o.length)return n;l=o[s]}}if(l.start)if(i){var u=PM(i[0],i[1],[t[0],l.y]);i[0][0]>i[1][0]&&(u=-u),u>0&&(n=l.index)}else n=l.index;else l.y!==t[1]&&(n=l.index)}}}return n};var lS=function(t){for(var e=t.length,r=[],n=[],i=0;i<e;++i)for(var a=t[i],o=a.length,s=o-1,l=0;l<o;s=l++){var u=a[s],c=a[l];u[0]===c[0]?n.push([u,c]):r.push([u,c])}if(0===r.length)return 0===n.length?fS:(h=hS(n),function(t){return h(t[0],t[1])?0:1});var h;var f=rS(r),p=function(t,e){return function(r){var n=wT.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=uS(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}}(f.slabs,f.coordinates);return 0===n.length?p:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(hS(n),p)},uS=PM[3];function cS(){return!0}function hS(t){for(var e={},r=0;r<t.length;++r){var n=t[r],i=n[0][0],a=n[0][1],o=n[1][1],s=[Math.min(a,o),Math.max(a,o)];i in e?e[i].push(s):e[i]=[s]}var l={},u=Object.keys(e);for(r=0;r<u.length;++r){var c=e[u[r]];l[u[r]]=kT(c)}return function(t){return function(e,r){var n=t[e];return!!n&&!!n.queryPoint(r,cS)}}(l)}function fS(t){return 1}var pS=function(t,e){var r=xT(t,e);t=r[0];for(var n=(e=r[1]).length,i=(t.length,pT(t,e.length)),a=0;a<n;++a)if(i[a].length%2==1)throw new Error(\"planar-graph-to-polyline: graph must be manifold\");var o=yT(t,e);for(var s=(o=o.filter(function(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=cM(-a[0],a[1]),l=cM(-a[0],o[1]),u=cM(o[0],a[1]),c=cM(o[0],o[1]);n=gM(n,gM(gM(s,l),gM(u,c)))}return n[n.length-1]>0})).length,l=new Array(s),u=new Array(s),a=0;a<s;++a){l[a]=a;var c=new Array(s),h=o[a].map(function(t){return e[t]}),f=lS([h]),p=0;t:for(var d=0;d<s;++d)if(c[d]=0,a!==d){for(var g=o[d],v=g.length,m=0;m<v;++m){var y=f(e[g[m]]);if(0!==y){y<0&&(c[d]=1,p+=1);continue t}}c[d]=1,p+=1}u[a]=[p,a,c]}u.sort(function(t,e){return e[0]-t[0]});for(var a=0;a<s;++a)for(var c=u[a],x=c[1],b=c[2],d=0;d<s;++d)b[d]&&(l[d]=x);for(var _=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}(s),a=0;a<s;++a)_[a].push(l[a]),_[l[a]].push(a);for(var w={},M=dS(n,!1),a=0;a<s;++a)for(var g=o[a],v=g.length,d=0;d<v;++d){var A=g[d],k=g[(d+1)%v],T=Math.min(A,k)+\":\"+Math.max(A,k);if(T in w){var S=w[T];_[S].push(a),_[a].push(S),M[A]=M[k]=!0}else w[T]=a}function E(t){for(var e=t.length,r=0;r<e;++r)if(!M[t[r]])return!1;return!0}for(var C=[],L=dS(s,-1),a=0;a<s;++a)l[a]!==a||E(o[a])?L[a]=-1:(C.push(a),L[a]=0);var r=[];for(;C.length>0;){var z=C.pop(),P=_[z];Qx(P,function(t,e){return t-e});var I,D=P.length,O=L[z];if(0===O){var g=o[z];I=[g]}for(var a=0;a<D;++a){var R=P[a];if(!(L[R]>=0)&&(L[R]=1^O,C.push(R),0===O)){var g=o[R];E(g)||(g.reverse(),I.push(g))}}0===O&&r.push(I)}return r};function dS(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}var gS={};function vS(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:return(s=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),u=i(e[0],e[1]);return(s=i(l,t[2])-i(u,e[2]))||i(l+t[2],a)-i(u+e[2],o);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 mS(t,e){return vS(t[0],e[0])}function yS(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(mS);for(i=0;i<r;++i)t[i]=n[i][0],e[i]=n[i][1];return t}return t.sort(vS),t}function xS(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var i=t[n];if(vS(i,t[n-1])){if(n===e){e++;continue}t[e++]=i}}return t.length=e,t}function bS(t,e){for(var r=0,n=t.length-1,i=-1;r<=n;){var a=r+n>>1,o=vS(t[a],e);o<=0?(0===o&&(i=a),r=a+1):o>0&&(n=a-1)}return i}function _S(t,e){for(var r=new Array(t.length),n=0,i=r.length;n<i;++n)r[n]=[];for(var a=[],o=(n=0,e.length);n<o;++n)for(var s=e[n],l=s.length,u=1,c=1<<l;u<c;++u){a.length=Mb.popCount(u);for(var h=0,f=0;f<l;++f)u&1<<f&&(a[h++]=s[f]);var p=bS(t,a);if(!(p<0))for(;r[p++].push(n),!(p>=t.length||0!==vS(t[p],a)););}return r}function wS(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=Mb.nextCombination(o)){for(var s=new Array(e+1),l=0,u=0;u<a.length;++u)o&1<<u&&(s[l++]=a[u]);r.push(s)}return yS(r)}gS.dimension=function(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},gS.countVertices=function(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},gS.cloneCells=function(t){for(var e=new Array(t.length),r=0,n=t.length;r<n;++r)e[r]=t[r].slice(0);return e},gS.compareCells=vS,gS.normalize=yS,gS.unique=xS,gS.findCell=bS,gS.incidence=_S,gS.dual=function(t,e){if(!e)return _S(xS(wS(t,0)),t);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];n=0;for(var 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},gS.explode=function(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 l=[],u=0;u<a;++u)o>>>u&1&&l.push(i[u]);e.push(l)}return yS(e)},gS.skeleton=wS,gS.boundary=function(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),l=0,u=0;l<o;++l)l!==a&&(s[u++]=i[l]);e.push(s)}return yS(e)},gS.connectedComponents=function(t,e){return e?function(t,e){for(var r=new rT(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]);var s=[],l=r.ranks;for(n=0;n<l.length;++n)l[n]=-1;for(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}(t,e):function(t){for(var e=xS(yS(wS(t,0))),r=new rT(e.length),n=0;n<t.length;++n)for(var i=t[n],a=0;a<i.length;++a)for(var o=bS(e,[i[a]]),s=a+1;s<i.length;++s)r.link(o,bS(e,[i[s]]));var l=[],u=r.ranks;for(n=0;n<u.length;++n)u[n]=-1;for(n=0;n<t.length;++n){var c=r.find(bS(e,[t[n][0]]));u[c]<0?(u[c]=l.length,l.push([t[n].slice(0)])):l[u[c]].push(t[n].slice(0))}return l}(t)};var MS={};function AS(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}MS.INT_BITS=32,MS.INT_MAX=2147483647,MS.INT_MIN=-1<<31,MS.sign=function(t){return(t>0)-(t<0)},MS.abs=function(t){var e=t>>31;return(t^e)-e},MS.min=function(t,e){return e^(t^e)&-(t<e)},MS.max=function(t,e){return t^(t^e)&-(t<e)},MS.isPow2=function(t){return!(t&t-1||!t)},MS.log2=function(t){var e,r;return e=(t>65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},MS.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},MS.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},MS.countTrailingZeros=AS,MS.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},MS.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},MS.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var kS=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}}(kS),MS.reverse=function(t){return kS[255&t]<<24|kS[t>>>8&255]<<16|kS[t>>>16&255]<<8|kS[t>>>24&255]},MS.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},MS.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},MS.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},MS.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},MS.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>AS(t)+1};var TS=SS;function SS(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}SS.prototype.length=function(){return this.roots.length},SS.prototype.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},SS.prototype.find=function(t){for(var e=this.roots;e[t]!==t;){var r=e[t];e[t]=e[r],t=r}return t},SS.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])}};var ES={};function CS(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:return(s=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),u=i(e[0],e[1]);return(s=i(l,t[2])-i(u,e[2]))||i(l+t[2],a)-i(u+e[2],o);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 LS(t,e){return CS(t[0],e[0])}function zS(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(LS);for(i=0;i<r;++i)t[i]=n[i][0],e[i]=n[i][1];return t}return t.sort(CS),t}function PS(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var i=t[n];if(CS(i,t[n-1])){if(n===e){e++;continue}t[e++]=i}}return t.length=e,t}function IS(t,e){for(var r=0,n=t.length-1,i=-1;r<=n;){var a=r+n>>1,o=CS(t[a],e);o<=0?(0===o&&(i=a),r=a+1):o>0&&(n=a-1)}return i}function DS(t,e){for(var r=new Array(t.length),n=0,i=r.length;n<i;++n)r[n]=[];for(var a=[],o=(n=0,e.length);n<o;++n)for(var s=e[n],l=s.length,u=1,c=1<<l;u<c;++u){a.length=MS.popCount(u);for(var h=0,f=0;f<l;++f)u&1<<f&&(a[h++]=s[f]);var p=IS(t,a);if(!(p<0))for(;r[p++].push(n),!(p>=t.length||0!==CS(t[p],a)););}return r}function OS(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=MS.nextCombination(o)){for(var s=new Array(e+1),l=0,u=0;u<a.length;++u)o&1<<u&&(s[l++]=a[u]);r.push(s)}return zS(r)}ES.dimension=function(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},ES.countVertices=function(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},ES.cloneCells=function(t){for(var e=new Array(t.length),r=0,n=t.length;r<n;++r)e[r]=t[r].slice(0);return e},ES.compareCells=CS,ES.normalize=zS,ES.unique=PS,ES.findCell=IS,ES.incidence=DS,ES.dual=function(t,e){if(!e)return DS(PS(OS(t,0)),t);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];n=0;for(var 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},ES.explode=function(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 l=[],u=0;u<a;++u)o>>>u&1&&l.push(i[u]);e.push(l)}return zS(e)},ES.skeleton=OS,ES.boundary=function(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),l=0,u=0;l<o;++l)l!==a&&(s[u++]=i[l]);e.push(s)}return zS(e)},ES.connectedComponents=function(t,e){return e?function(t,e){for(var r=new TS(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]);var s=[],l=r.ranks;for(n=0;n<l.length;++n)l[n]=-1;for(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}(t,e):function(t){for(var e=PS(zS(OS(t,0))),r=new TS(e.length),n=0;n<t.length;++n)for(var i=t[n],a=0;a<i.length;++a)for(var o=IS(e,[i[a]]),s=a+1;s<i.length;++s)r.link(o,IS(e,[i[s]]));var l=[],u=r.ranks;for(n=0;n<u.length;++n)u[n]=-1;for(n=0;n<t.length;++n){var c=r.find(IS(e,[t[n][0]]));u[c]<0?(u[c]=l.length,l.push([t[n].slice(0)])):l[u[c]].push(t[n].slice(0))}return l}(t)};var RS=function(t,e,r){for(var n=e.length,i=t.length,a=new Array(n),o=new Array(n),s=new Array(n),l=new Array(n),u=0;u<n;++u)a[u]=o[u]=-1,s[u]=1/0,l[u]=!1;for(var u=0;u<i;++u){var c=t[u];if(2!==c.length)throw new Error(\"Input must be a graph\");var h=c[1],f=c[0];-1!==o[f]?o[f]=-2:o[f]=h,-1!==a[h]?a[h]=-2:a[h]=f}function p(t){if(l[t])return 1/0;var r,n,i,s,u,c=a[t],h=o[t];return c<0||h<0?1/0:(r=e[t],n=e[c],i=e[h],s=Math.abs(PM(r,n,i)),u=Math.sqrt(Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2)),s/u)}function d(t,e){var r=w[t],n=w[e];w[t]=n,w[e]=r,M[r]=e,M[n]=t}function g(t){return s[w[t]]}function v(t){return 1&t?t-1>>1:(t>>1)-1}function m(t){for(var e=g(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n<k){var o=g(n);o<r&&(a=n,r=o)}if(i<k){var s=g(i);s<r&&(a=i)}if(a===t)return t;d(t,a),t=a}}function y(t){for(var e=g(t);t>0;){var r=v(t);if(r>=0){var n=g(r);if(e<n){d(t,r),t=r;continue}}return t}}function x(){if(k>0){var t=w[0];return d(0,k-1),k-=1,m(0),t}return-1}function b(t,e){var r=w[t];return s[r]===e?t:(s[r]=-1/0,y(t),x(),s[r]=e,y((k+=1)-1))}function _(t){if(!l[t]){l[t]=!0;var e=a[t],r=o[t];a[r]>=0&&(a[r]=e),o[e]>=0&&(o[e]=r),M[e]>=0&&b(M[e],p(e)),M[r]>=0&&b(M[r],p(r))}}for(var w=[],M=new Array(n),u=0;u<n;++u){var A=s[u]=p(u);A<1/0?(M[u]=w.length,w.push(u)):M[u]=-1}for(var k=w.length,u=k>>1;u>=0;--u)m(u);for(;;){var T=x();if(T<0||s[T]>r)break;_(T)}for(var S=[],u=0;u<n;++u)l[u]||(M[u]=S.length,S.push(e[u].slice()));S.length;function E(t,e){if(t[e]<0)return e;var r=e,n=e;do{var i=t[n];if(!l[n]||i<0||i===n)break;if(i=t[n=i],!l[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}var C=[];return t.forEach(function(t){var e=E(a,t[0]),r=E(o,t[1]);if(e>=0&&r>=0&&e!==r){var n=M[e],i=M[r];n!==i&&C.push([n,i])}}),ES.unique(ES.normalize(C)),{positions:S,edges:C}};var FS=function(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 function(t,e,r,n,i,a){var o=a.length,s=i.length;if(s<2)throw new Error(\"ndarray-extract-contour: Dimension must be at least 2\");for(var l=\"extractContour\"+i.join(\"_\"),u=[],c=[],h=[],f=0;f<o;++f)h.push(BS(f));for(var f=0;f<n;++f)h.push(HS(f));for(var f=0;f<s;++f)c.push(VS(f)+\"=\"+BS(0)+\".shape[\"+f+\"]|0\");for(var f=0;f<o;++f){c.push(NS(f)+\"=\"+BS(f)+\".data\",qS(f)+\"=\"+BS(f)+\".offset|0\");for(var p=0;p<s;++p)c.push(US(f,p)+\"=\"+BS(f)+\".stride[\"+p+\"]|0\")}for(var f=0;f<o;++f){c.push(GS(f)+\"=\"+qS(f)),c.push(jS(f,0));for(var p=1;p<1<<s;++p){for(var d=[],g=0;g<s;++g)p&1<<g&&d.push(\"-\"+US(f,g));c.push(WS(f,p)+\"=(\"+d.join(\"\")+\")|0\"),c.push(jS(f,p)+\"=0\")}}for(var f=0;f<o;++f)for(var p=0;p<s;++p){var v=[US(f,i[p])];p>0&&v.push(US(f,i[p-1])+\"*\"+VS(i[p-1])),c.push(XS(f,i[p])+\"=(\"+v.join(\"-\")+\")|0\")}for(var f=0;f<s;++f)c.push(YS(f)+\"=0\");c.push(eE+\"=0\");for(var m=[\"2\"],f=s-2;f>=0;--f)m.push(VS(i[f]));c.push(rE+\"=(\"+m.join(\"*\")+\")|0\",tE+\"=mallocUint32(\"+rE+\")\",$S+\"=mallocUint32(\"+rE+\")\",nE+\"=0\"),c.push(ZS(0)+\"=0\");for(var p=1;p<1<<s;++p){for(var y=[],x=[],g=0;g<s;++g)p&1<<g&&(0===x.length?y.push(\"1\"):y.unshift(x.join(\"*\"))),x.push(VS(i[g]));var b=\"\";y[0].indexOf(VS(i[s-2]))<0&&(b=\"-\");var _=aE(s,p,i);c.push(KS(_)+\"=(-\"+y.join(\"-\")+\")|0\",JS(_)+\"=(\"+b+y.join(\"-\")+\")|0\",ZS(_)+\"=0\")}function w(t,e){u.push(\"for(\",YS(i[t]),\"=\",e,\";\",YS(i[t]),\"<\",VS(i[t]),\";\",\"++\",YS(i[t]),\"){\")}function M(t){for(var e=0;e<o;++e)u.push(GS(e),\"+=\",XS(e,i[t]),\";\");u.push(\"}\")}function A(){for(var t=1;t<1<<s;++t)u.push(iE,\"=\",KS(t),\";\",KS(t),\"=\",JS(t),\";\",JS(t),\"=\",iE,\";\")}c.push(QS(0)+\"=0\",iE+\"=0\"),function t(e,r){if(e<0)return void function(t){for(var e=0;e<o;++e)a[e]?u.push(jS(e,0),\"=\",NS(e),\".get(\",GS(e),\");\"):u.push(jS(e,0),\"=\",NS(e),\"[\",GS(e),\"];\");for(var r=[],e=0;e<o;++e)r.push(jS(e,0));for(var e=0;e<n;++e)r.push(HS(e));u.push(ZS(0),\"=\",tE,\"[\",nE,\"]=phase(\",r.join(),\");\");for(var i=1;i<1<<s;++i)u.push(ZS(i),\"=\",tE,\"[\",nE,\"+\",KS(i),\"];\");for(var l=[],i=1;i<1<<s;++i)l.push(\"(\"+ZS(0)+\"!==\"+ZS(i)+\")\");u.push(\"if(\",l.join(\"||\"),\"){\");for(var c=[],e=0;e<s;++e)c.push(YS(e));for(var e=0;e<o;++e){c.push(jS(e,0));for(var i=1;i<1<<s;++i)a[e]?u.push(jS(e,i),\"=\",NS(e),\".get(\",GS(e),\"+\",WS(e,i),\");\"):u.push(jS(e,i),\"=\",NS(e),\"[\",GS(e),\"+\",WS(e,i),\"];\"),c.push(jS(e,i))}for(var e=0;e<1<<s;++e)c.push(ZS(e));for(var e=0;e<n;++e)c.push(HS(e));u.push(\"vertex(\",c.join(),\");\",QS(0),\"=\",$S,\"[\",nE,\"]=\",eE,\"++;\");for(var h=(1<<s)-1,f=ZS(h),i=0;i<s;++i)if(0==(t&~(1<<i))){for(var p=h^1<<i,d=ZS(p),g=[],v=p;v>0;v=v-1&p)g.push($S+\"[\"+nE+\"+\"+KS(v)+\"]\");g.push(QS(0));for(var v=0;v<o;++v)1&i?g.push(jS(v,h),jS(v,p)):g.push(jS(v,p),jS(v,h));1&i?g.push(f,d):g.push(d,f);for(var v=0;v<n;++v)g.push(HS(v));u.push(\"if(\",f,\"!==\",d,\"){\",\"face(\",g.join(),\")}\")}u.push(\"}\",nE,\"+=1;\")}(r);!function(t){for(var e=t-1;e>=0;--e)w(e,0);for(var r=[],e=0;e<o;++e)a[e]?r.push(NS(e)+\".get(\"+GS(e)+\")\"):r.push(NS(e)+\"[\"+GS(e)+\"]\");for(var e=0;e<n;++e)r.push(HS(e));u.push(tE,\"[\",nE,\"++]=phase(\",r.join(),\");\");for(var e=0;e<t;++e)M(e);for(var s=0;s<o;++s)u.push(GS(s),\"+=\",XS(s,i[t]),\";\")}(e);u.push(\"if(\",VS(i[e]),\">0){\",YS(i[e]),\"=1;\");t(e-1,r|1<<i[e]);for(var l=0;l<o;++l)u.push(GS(l),\"+=\",XS(l,i[e]),\";\");e===s-1&&(u.push(nE,\"=0;\"),A());w(e,2);t(e-1,r);e===s-1&&(u.push(\"if(\",YS(i[s-1]),\"&1){\",nE,\"=0;}\"),A());M(e);u.push(\"}\")}(s-1,0),u.push(\"freeUint32(\",$S,\");freeUint32(\",tE,\");\");var k=[\"'use strict';\",\"function \",l,\"(\",h.join(),\"){\",\"var \",c.join(),\";\",u.join(\"\"),\"}\",\"return \",l].join(\"\");return new Function(\"vertex\",\"face\",\"phase\",\"mallocUint32\",\"freeUint32\",k)(t,e,r,__.mallocUint32,__.freeUint32)}(t.vertex,t.cell,t.phase,i,r,o)};function BS(t){return\"a\"+t}function NS(t){return\"d\"+t}function jS(t,e){return\"c\"+t+\"_\"+e}function VS(t){return\"s\"+t}function US(t,e){return\"t\"+t+\"_\"+e}function qS(t){return\"o\"+t}function HS(t){return\"x\"+t}function GS(t){return\"p\"+t}function WS(t,e){return\"d\"+t+\"_\"+e}function YS(t){return\"i\"+t}function XS(t,e){return\"u\"+t+\"_\"+e}function ZS(t){return\"b\"+t}function JS(t){return\"y\"+t}function KS(t){return\"e\"+t}function QS(t){return\"v\"+t}var $S=\"V\",tE=\"P\",eE=\"N\",rE=\"Q\",nE=\"X\",iE=\"T\";function aE(t,e,r){for(var n=0,i=0;i<t;++i)e&1<<i&&(n|=1<<r[i]);return n}var oE={},sE=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],lE=607/128,uE=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function cE(t){if(t<0)return Number(\"0/0\");for(var e=uE[0],r=uE.length-1;r>0;--r)e+=uE[r]/(t+r);var n=t+lE+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}(oE=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(cE(e));e-=1;for(var r=sE[0],n=1;n<9;n++)r+=sE[n]/(e+n);var i=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(i,e+.5)*Math.exp(-i)*r}).log=cE;var hE=function(t){var e=t.length;if(e<fE){for(var r=1,n=0;n<e;++n)for(var i=0;i<n;++i)if(t[n]<t[i])r=-r;else if(t[n]===t[i])return 0;return r}for(var a=__.mallocUint8(e),n=0;n<e;++n)a[n]=0;for(var r=1,n=0;n<e;++n)if(!a[n]){var o=1;a[n]=1;for(var i=t[n];i!==n;i=t[i]){if(a[i])return __.freeUint8(a),0;o+=1,a[i]=1}1&o||(r=-r)}return __.freeUint8(a),r},fE=32;var pE=function(t,e){e=e||new Array(t.length);for(var r=0;r<t.length;++r)e[t[r]]=r;return e},dE={};dE.rank=function(t){var e=t.length;switch(e){case 0:case 1:return 0;case 2:return t[1]}var r,n,i,a=__.mallocUint32(e),o=__.mallocUint32(e),s=0;for(pE(t,o),i=0;i<e;++i)a[i]=t[i];for(i=e-1;i>0;--i)n=o[i],r=a[i],a[i]=a[n],a[n]=r,o[i]=o[r],o[r]=n,s=(s+r)*i;return __.freeUint32(o),__.freeUint32(a),s},dE.unrank=function(t,e,r){switch(t){case 0:return 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]}var n,i,a,o=1;for((r=r||new Array(t))[0]=0,a=1;a<t;++a)r[a]=a,o=o*a|0;for(a=t-1;a>0;--a)e=e-(n=e/o|0)*o|0,o=o/a|0,i=0|r[a],r[a]=0|r[n],r[n]=0|i;return r};var gE=function(t){if(t<0)return[];if(0===t)return[[0]];for(var e=0|Math.round(oE(t+1)),r=[],n=0;n<e;++n){for(var i=dE.unrank(t,n),a=[0],o=0,s=0;s<i.length;++s)o+=1<<i[s],a.push(o);hE(i)<1&&(a[0]=o,a[t]=0),r.push(a)}return r};var vE=nb({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\"}),mE=function(t,e){var r=[];return e=+e||0,vE(t.hi(t.shape[0]-1),r,e),r};var yE=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=mE(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}}(t,e);var r=t.order.join()+\"-\"+t.dtype,n=xE[r],e=+e||0;n||(n=xE[r]=function(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=[],o=[],s=0;s<r;++s)a.push(\"d\"+s),o.push(\"d\"+s);for(var s=0;s<1<<r;++s)a.push(\"v\"+s),o.push(\"v\"+s);for(var s=0;s<1<<r;++s)a.push(\"p\"+s),o.push(\"p\"+s);a.push(\"a\",\"b\",\"c\"),o.push(\"a\",\"c\"),n.push(\"vertex:function vertexFunc(\",a.join(),\"){\");for(var l=[],s=0;s<1<<r;++s)l.push(\"(p\"+s+\"<<\"+s+\")\");n.push(\"var m=(\",l.join(\"+\"),\")|0;if(m===0||m===\",(1<<(1<<r))-1,\"){return}\");var u=[],c=[];1<<(1<<r)<=128?(n.push(\"switch(m){\"),c=n):n.push(\"switch(m>>>7){\");for(var s=0;s<1<<(1<<r);++s){if(1<<(1<<r)>128&&s%128==0){u.length>0&&c.push(\"}}\");var h=\"vExtra\"+u.length;n.push(\"case \",s>>>7,\":\",h,\"(m&0x7f,\",o.join(),\");break;\"),c=[\"function \",h,\"(m,\",o.join(),\"){switch(m){\"],u.push(c)}c.push(\"case \",127&s,\":\");for(var f=new Array(r),p=new Array(r),d=new Array(r),g=new Array(r),v=0,m=0;m<r;++m)f[m]=[],p[m]=[],d[m]=0,g[m]=0;for(var m=0;m<1<<r;++m)for(var y=0;y<r;++y){var x=m^1<<y;if(!(x>m)&&!(s&1<<x)!=!(s&1<<m)){var b=1;s&1<<x?p[y].push(\"v\"+x+\"-v\"+m):(p[y].push(\"v\"+m+\"-v\"+x),b=-b),b<0?(f[y].push(\"-v\"+m+\"-v\"+x),d[y]+=2):(f[y].push(\"v\"+m+\"+v\"+x),d[y]-=2),v+=1;for(var _=0;_<r;++_)_!==y&&(x&1<<_?g[_]+=1:g[_]-=1)}}for(var w=[],y=0;y<r;++y)if(0===f[y].length)w.push(\"d\"+y+\"-0.5\");else{var M=\"\";d[y]<0?M=d[y]+\"*c\":d[y]>0&&(M=\"+\"+d[y]+\"*c\");var A=f[y].length/v*.5,k=.5+g[y]/v*.5;w.push(\"d\"+y+\"-\"+k+\"-\"+A+\"*(\"+f[y].join(\"+\")+M+\")/(\"+p[y].join(\"+\")+\")\")}c.push(\"a.push([\",w.join(),\"]);\",\"break;\")}n.push(\"}},\"),u.length>0&&c.push(\"}}\");for(var T=[],s=0;s<1<<r-1;++s)T.push(\"v\"+s);T.push(\"c0\",\"c1\",\"p0\",\"p1\",\"a\",\"b\",\"c\"),n.push(\"cell:function cellFunc(\",T.join(),\"){\");var S=gE(r-1);n.push(\"if(p0){b.push(\",S.map(function(t){return\"[\"+t.map(function(t){return\"v\"+t})+\"]\"}).join(),\")}else{b.push(\",S.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 s=0;s<u.length;++s)n.push(u[s].join(\"\"));return new Function(\"genContour\",n.join(\"\"))(FS)}(t.order,t.dtype));return n(t,e)};var xE={};var bE={};function _E(t,e,r,n){var i=function(t,e){var r=yE(t,128);return e?RS(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}(t,n),a=function(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 p=1/r;return\"lineHeight\"in e?p*=+e.lineHeight:\"width\"in e?p=e.width/(o[0]-a[0]):\"height\"in e&&(p=e.height/(o[1]-a[1])),t.map(function(t){return[p*(t[0]+h),p*(t[1]+f)]})}(i.positions,e,r),o=i.edges,s=\"ccw\"===e.orientation;if(aT(a,o),e.polygons||e.polygon||e.polyline){for(var l=pS(o,a),u=new Array(l.length),c=0;c<l.length;++c){for(var h=l[c],f=new Array(h.length),p=0;p<h.length;++p){for(var d=h[p],g=new Array(d.length),v=0;v<d.length;++v)g[v]=a[d[v]].slice();s&&g.reverse(),f[p]=g}u[c]=f}return u}return e.triangles||e.triangulate||e.triangle?{cells:iA(a,o,{delaunay:!1,exterior:!1,interior:!0}),positions:a}:{edges:o,positions:a}}function wE(t,e,r){try{return _E(t,e,r,!0)}catch(t){}try{return _E(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}(bE=function(t,e,r,n){var i=n.size||64,a=n.font||\"normal\";return r.font=i+\"px \"+a,r.textAlign=\"start\",r.textBaseline=\"alphabetic\",r.direction=\"ltr\",wE(function(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);return wb(o.data,[a,i,4]).pick(-1,-1,0).transpose(1,0)}(e,r,t,i),n,i)}).processPixels=wE;var ME=function(t,e){\"object\"==typeof e&&null!==e||(e={});return bE(t,e.canvas||AE,e.context||kE,e)},AE=null,kE=null;\"undefined\"!=typeof document&&((AE=document.createElement(\"canvas\")).width=8192,AE.height=1024,kE=AE.getContext(\"2d\"));var TE={};(function(t){\"use strict\";TE=function t(e,n,i){var i=i||{};var a=r[e];a||(a=r[e]={\" \":{data:new Float32Array(0),shape:.2}});var o=a[n];if(!o)if(n.length<=1||!/\\d/.test(n))o=a[n]=function(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}}(ME(n,{triangles:!0,font:e,textAlign:i.textAlign||\"left\",textBaseline:\"alphabetic\"}));else{for(var s=n.split(/(\\d|\\s)/),l=new Array(s.length),u=0,c=0,h=0;h<s.length;++h)l[h]=t(e,s[h]),u+=l[h].data.length,c+=l[h].shape,h>0&&(c+=.02);for(var f=new Float32Array(u),p=0,d=-.5*c,h=0;h<l.length;++h){for(var g=l[h].data,v=0;v<g.length;v+=2)f[p++]=g[v]+d,f[p++]=g[v+1];d+=l[h].shape+.02}o=a[n]={data:f,shape:c}}return o};var e=window||t.global||{},r=e.__TEXT_CACHE||{};e.__TEXT_CACHE={}}).call(this,Pp);var SE=function(t){var e=t.gl,r=S_(e),n=Bw(e,L_.textVert,L_.textFrag);return new EE(t,r,n)};function EE(t,e,r){this.plot=t,this.vbo=e,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}var CE=EE.prototype;CE.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],l=i.gl,u=i.viewBox,c=i.dataBox,h=i.screenBox,f=i.pixelRatio,p=i.tickEnable,d=i.tickPad,g=i.tickColor,v=i.tickAngle,m=i.labelEnable,y=i.labelPad,x=i.labelColor,b=i.labelAngle,_=this.labelOffset[n],w=this.labelCount[n],M=Zw.lt(o,c[n]),A=Zw.le(o,c[n+2]);t[0]=t[1]=0,t[n]=1,e[n]=(u[2+n]+u[n])/(h[2+n]-h[n])-1;var k=2/h[2+(1^n)]-h[1^n];e[1^n]=k*u[1^n]-1,p[n]&&(e[1^n]-=k*f*d[n],M<A&&s[A]>s[M]&&(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=g[n],a.uniforms.angle=v[n],l.drawArrays(l.TRIANGLES,s[M],s[A]-s[M]))),m[n]&&w&&(e[1^n]-=k*f*y[n],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=x[n],a.uniforms.angle=b[n],l.drawArrays(l.TRIANGLES,_,w)),e[1^n]=k*u[2+(1^n)]-1,p[n+2]&&(e[1^n]+=k*f*d[n+2],M<A&&s[A]>s[M]&&(a.uniforms.dataAxis=t,a.uniforms.screenOffset=e,a.uniforms.color=g[n+2],a.uniforms.angle=v[n+2],l.drawArrays(l.TRIANGLES,s[M],s[A]-s[M]))),m[n+2]&&w&&(e[1^n]+=k*f*y[n+2],a.uniforms.dataAxis=r,a.uniforms.screenOffset=e,a.uniforms.color=x[n+2],a.uniforms.angle=b[n+2],l.drawArrays(l.TRIANGLES,_,w))}}(),CE.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)}}}(),CE.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]-c,f=.5*(o[u+2]+o[u]),p=o[u+2]-o[u],d=l[u],g=l[u+2]-d,v=s[u],m=s[u+2]-v;e[u]=2*h/p*g/m,t[u]=2*(c-f)/p*g/m}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()}}(),CE.update=function(t){var e,r,n,i,a,o=[],s=t.ticks,l=t.bounds;for(a=0;a<2;++a){var u=[Math.floor(o.length/3)],c=[-1/0],h=s[a];for(e=0;e<h.length;++e){var f=h[e],p=f.x,d=f.text,g=f.font||\"sans-serif\";i=f.fontSize||12;for(var v=1/(l[a+2]-l[a]),m=l[a],y=d.split(\"\\n\"),x=0;x<y.length;x++)for(n=TE(g,y[x]).data,r=0;r<n.length;r+=2)o.push(n[r]*i,-n[r+1]*i-x*i*1.2,(p-m)*v);u.push(Math.floor(o.length/3)),c.push(p)}this.tickOffset[a]=u,this.tickX[a]=c}for(a=0;a<2;++a){for(this.labelOffset[a]=Math.floor(o.length/3),n=TE(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=TE(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)},CE.dispose=function(){this.vbo.dispose(),this.shader.dispose()};var LE=nb,zE=function(t){if(arguments.length<=1)throw new Error(\"gl-texture2d: Missing arguments for texture2d constructor\");PE||function(t){PE=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],IE=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],DE=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}(t);if(\"number\"==typeof arguments[1])return UE(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return UE(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=OE(e)?e:e.raw;if(r)return function(t,e,r,n,i,a){var o=VE(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new BE(t,o,r,n,i,a)}(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 function(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=jE(n,e.stride.slice()),o=0;\"float32\"===r?o=t.FLOAT:\"float64\"===r?(o=t.FLOAT,a=!1,r=\"float32\"):\"uint8\"===r?o=t.UNSIGNED_BYTE:(o=t.UNSIGNED_BYTE,a=!1,r=\"uint8\");var s,l,u=0;if(2===n.length)u=t.LUMINANCE,n=[n[0],n[1],1],e=wb(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])u=t.ALPHA;else if(2===n[2])u=t.LUMINANCE_ALPHA;else if(3===n[2])u=t.RGB;else{if(4!==n[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");u=t.RGBA}}o!==t.FLOAT||t.getExtension(\"OES_texture_float\")||(o=t.UNSIGNED_BYTE,a=!1);var c=e.size;if(a)s=0===e.offset&&e.data.length===c?e.data:e.data.subarray(e.offset,e.offset+c);else{var h=[n[2],n[2]*n[0],1];l=__.malloc(c,r);var f=wb(l,n,h,0);\"float32\"!==r&&\"float64\"!==r||o!==t.UNSIGNED_BYTE?ib.assign(f,e):RE(f,e),s=l.subarray(0,c)}var p=VE(t);t.texImage2D(t.TEXTURE_2D,0,u,n[0],n[1],0,u,o,s),a||__.free(l);return new BE(t,p,n[0],n[1],u,o)}(t,e)}throw new Error(\"gl-texture2d: Invalid arguments for texture2d constructor\")},PE=null,IE=null,DE=null;function OE(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}var RE=function(t,e){ib.muls(t,e,255)};function FE(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 BE(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}var NE=BE.prototype;function jE(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 VE(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 UE(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 o=VE(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new BE(t,o,e,r,n,i)}Object.defineProperties(NE,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&PE.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),IE.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&&PE.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),IE.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(),DE.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(),DE.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(DE.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 FE(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return FE(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,FE(this,this._shape[0],t),t}}}),NE.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},NE.dispose=function(){this.gl.deleteTexture(this.handle)},NE.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)},NE.setPixels=function(t,e,r,n){var i=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 a=OE(t)?t:t.raw;if(a){this._mipLevels.indexOf(n)<0?(i.texImage2D(i.TEXTURE_2D,0,this.format,this.format,this.type,a),this._mipLevels.push(n)):i.texSubImage2D(i.TEXTURE_2D,n,e,r,this.format,this.type,a)}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\");!function(t,e,r,n,i,a,o,s){var l=s.dtype,u=s.shape.slice();if(u.length<2||u.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var c=0,h=0,f=jE(u,s.stride.slice());\"float32\"===l?c=t.FLOAT:\"float64\"===l?(c=t.FLOAT,f=!1,l=\"float32\"):\"uint8\"===l?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,f=!1,l=\"uint8\");if(2===u.length)h=t.LUMINANCE,u=[u[0],u[1],1],s=wb(s.data,u,[s.stride[0],s.stride[1],1],s.offset);else{if(3!==u.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===u[2])h=t.ALPHA;else if(2===u[2])h=t.LUMINANCE_ALPHA;else if(3===u[2])h=t.RGB;else{if(4!==u[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");h=t.RGBA}u[2]}h!==t.LUMINANCE&&h!==t.ALPHA||i!==t.LUMINANCE&&i!==t.ALPHA||(h=i);if(h!==i)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var p=s.size,d=o.indexOf(n)<0;d&&o.push(n);if(c===a&&f)0===s.offset&&s.data.length===p?d?t.texImage2D(t.TEXTURE_2D,n,i,u[0],u[1],0,i,a,s.data):t.texSubImage2D(t.TEXTURE_2D,n,e,r,u[0],u[1],i,a,s.data):d?t.texImage2D(t.TEXTURE_2D,n,i,u[0],u[1],0,i,a,s.data.subarray(s.offset,s.offset+p)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,u[0],u[1],i,a,s.data.subarray(s.offset,s.offset+p));else{var g;g=a===t.FLOAT?__.mallocFloat32(p):__.mallocUint8(p);var v=wb(g,u,[u[2],u[2]*u[0],1]);c===t.FLOAT&&a===t.UNSIGNED_BYTE?RE(v,s):ib.assign(v,s),d?t.texImage2D(t.TEXTURE_2D,n,i,u[0],u[1],0,i,a,g.subarray(0,p)):t.texSubImage2D(t.TEXTURE_2D,n,e,r,u[0],u[1],i,a,g.subarray(0,p)),a===t.FLOAT?__.freeFloat32(g):__.freeUint8(g)}}(i,e,r,n,this.format,this.type,this._mipLevels,t)}};var qE,HE,GE,WE,YE=function(t,e,r,n){qE||(qE=t.FRAMEBUFFER_UNSUPPORTED,HE=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,GE=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,WE=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var i=t.getExtension(\"WEBGL_draw_buffers\");!XE&&i&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);XE=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;XE[n]=i}}(t,i);Array.isArray(e)&&(n=r,r=0|e[1],e=0|e[0]);if(\"number\"!=typeof e)throw new Error(\"gl-fbo: Missing shape parameter\");var a=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e<0||e>a||r<0||r>a)throw new Error(\"gl-fbo: Parameters are too large for FBO\");var o=1;if(\"color\"in(n=n||{})){if((o=Math.max(0|n.color,0))<0)throw new Error(\"gl-fbo: Must specify a nonnegative number of colors\");if(o>1){if(!i)throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\");if(o>t.getParameter(i.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\"gl-fbo: Context does not support \"+o+\" draw buffers\")}}var s=t.UNSIGNED_BYTE,l=t.getExtension(\"OES_texture_float\");if(n.float&&o>0){if(!l)throw new Error(\"gl-fbo: Context does not support floating point textures\");s=t.FLOAT}else n.preferFloat&&o>0&&l&&(s=t.FLOAT);var u=!0;\"depth\"in n&&(u=!!n.depth);var c=!1;\"stencil\"in n&&(c=!!n.stencil);return new tC(t,e,r,s,o,u,c,i)},XE=null;function ZE(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function JE(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function KE(t){switch(t){case qE:throw new Error(\"gl-fbo: Framebuffer unsupported\");case HE:throw new Error(\"gl-fbo: Framebuffer incomplete attachment\");case GE:throw new Error(\"gl-fbo: Framebuffer incomplete dimensions\");case WE:throw new Error(\"gl-fbo: Framebuffer incomplete missing attachment\");default:throw new Error(\"gl-fbo: Framebuffer failed for unspecified reason\")}}function QE(t,e,r,n,i,a){if(!n)return null;var o=zE(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 $E(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 tC(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 u=this,c=[0|e,0|r];Object.defineProperties(c,{0:{get:function(){return u._shape[0]},set:function(t){return u.width=t}},1:{get:function(){return u._shape[1]},set:function(t){return u.height=t}}}),this._shapeVector=c,function(t){var e=ZE(t.gl),r=t.gl,n=t.handle=r.createFramebuffer(),i=t._shape[0],a=t._shape[1],o=t.color.length,s=t._ext,l=t._useStencil,u=t._useDepth,c=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,n);for(var h=0;h<o;++h)t.color[h]=QE(r,i,a,c,r.RGBA,r.COLOR_ATTACHMENT0+h);0===o?(t._color_rb=$E(r,i,a,r.RGBA4,r.COLOR_ATTACHMENT0),s&&s.drawBuffersWEBGL(XE[0])):o>1&&s.drawBuffersWEBGL(XE[o]);var f=r.getExtension(\"WEBGL_depth_texture\");f?l?t.depth=QE(r,i,a,f.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):u&&(t.depth=QE(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):u&&l?t._depth_rb=$E(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):u?t._depth_rb=$E(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):l&&(t._depth_rb=$E(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var p=r.checkFramebufferStatus(r.FRAMEBUFFER);if(p!==r.FRAMEBUFFER_COMPLETE){for(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),h=0;h<t.color.length;++h)t.color[h].dispose(),t.color[h]=null;t._color_rb&&(r.deleteRenderbuffer(t._color_rb),t._color_rb=null),JE(r,e),KE(p)}JE(r,e)}(this)}var eC=tC.prototype;function rC(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 n=t.gl,i=n.getParameter(n.MAX_RENDERBUFFER_SIZE);if(e<0||e>i||r<0||r>i)throw new Error(\"gl-fbo: Can't resize FBO, invalid dimensions\");t._shape[0]=e,t._shape[1]=r;for(var a=ZE(n),o=0;o<t.color.length;++o)t.color[o].shape=t._shape;t._color_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._color_rb),n.renderbufferStorage(n.RENDERBUFFER,n.RGBA4,t._shape[0],t._shape[1])),t.depth&&(t.depth.shape=t._shape),t._depth_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._depth_rb),t._useDepth&&t._useStencil?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,t._shape[0],t._shape[1]):t._useDepth?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT16,t._shape[0],t._shape[1]):t._useStencil&&n.renderbufferStorage(n.RENDERBUFFER,n.STENCIL_INDEX,t._shape[0],t._shape[1])),n.bindFramebuffer(n.FRAMEBUFFER,t.handle);var s=n.checkFramebufferStatus(n.FRAMEBUFFER);s!==n.FRAMEBUFFER_COMPLETE&&(t.dispose(),JE(n,a),KE(s)),JE(n,a)}}Object.defineProperties(eC,{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 rC(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return rC(this,t|=0,this._shape[1]),t},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(t){return t|=0,rC(this,this._shape[0],t),t},enumerable:!1}}),eC.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])}},eC.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)}};var nC=function(t,e){var r=YE(t,e),n=__.mallocUint8(e[0]*e[1]*4);return new oC(t,r,n)},iC=Mb.nextPow2,aC=LE({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_16_arg0_<255||_inline_16_arg1_<255||_inline_16_arg2_<255||_inline_16_arg3_<255){var _inline_16_l=_inline_16_arg4_-_inline_16_arg6_[0],_inline_16_a=_inline_16_arg5_-_inline_16_arg6_[1],_inline_16_f=_inline_16_l*_inline_16_l+_inline_16_a*_inline_16_a;_inline_16_f<this_closestD2&&(this_closestD2=_inline_16_f,this_closestX=_inline_16_arg6_[0],this_closestY=_inline_16_arg6_[1])}}\",args:[{name:\"_inline_16_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg1_\",lvalue:!1,rvalue:!0,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},{name:\"_inline_16_arg5_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg6_\",lvalue:!1,rvalue:!0,count:4}],thisVars:[\"this_closestD2\",\"this_closestX\",\"this_closestY\"],localVars:[\"_inline_16_a\",\"_inline_16_f\",\"_inline_16_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});function oC(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)}}var sC=oC.prototype;Object.defineProperty(sC,\"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){__.free(this.buffer);for(var n=this.buffer=__.mallocUint8(iC(r*e*4)),i=0;i<r*e*4;++i)n[i]=255}return t}}}),sC.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))},sC.end=function(){var t=this.gl;t&&(t.bindFramebuffer(t.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},sC.query=function(t,e,r){if(!this.gl)return null;var n=this.fbo.shape.slice();t|=0,e|=0,\"number\"!=typeof r&&(r=1);var i=0|Math.min(Math.max(t-r,0),n[0]),a=0|Math.min(Math.max(t+r,0),n[0]),o=0|Math.min(Math.max(e-r,0),n[1]),s=0|Math.min(Math.max(e+r,0),n[1]);if(a<=i||s<=o)return null;var l=[a-i,s-o],u=wb(this.buffer,[l[0],l[1],4],[4,4*n[0],1],4*(i+n[0]*o)),c=aC(u.hi(l[0],l[1],1),r,r),h=c[0],f=c[1];return h<0||Math.pow(this.radius,2)<c[2]?null:new function(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}(h+i|0,f+o|0,u.get(h,f,0),[u.get(h,f,1),u.get(h,f,2),u.get(h,f,3)],Math.sqrt(c[2]))},sC.dispose=function(){this.gl&&(this.fbo.dispose(),__.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))};var lC=function(t){var e=t.gl,r=nC(e,[e.drawingBufferWidth,e.drawingBufferHeight]),n=new uC(e,r);return n.grid=Jw(n),n.text=SE(n),n.line=aM(n),n.box=Nw(n),n.update(t),n};function uC(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}var cC=uC.prototype;function hC(t){for(var e=t.slice(),r=0;r<e.length;++r)e[r]=e[r].slice();return e}function fC(t,e){return t.x-e.x}cC.setDirty=function(){this.dirty=this.pickDirty=!0},cC.setOverlayDirty=function(){this.dirty=!0},cC.nextDepthValue=function(){return this._depthCounter++/65536},cC.draw=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){if(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),this.borderColor){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,p=this.zeroLineWidth;if(h[0]||h[1]){o.bind();for(var d=0;d<2;++d)if(h[d]&&n[d]<=0&&n[d+2]>=0){var g=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(g,e[1],g,e[3],p[d],f[d]):o.drawLine(e[0],g,e[2],g,p[d],f[d])}}for(d=0;d<l.length;++d)l[d].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 v=this.borderLineEnable,m=this.borderLineWidth,y=this.borderLineColor;for(v[1]&&o.drawLine(r[0],r[1]-.5*m[1]*i,r[0],r[3]+.5*m[3]*i,m[1],y[1]),v[0]&&o.drawLine(r[0]-.5*m[0]*i,r[1],r[2]+.5*m[2]*i,r[1],m[0],y[0]),v[3]&&o.drawLine(r[2],r[1]-.5*m[1]*i,r[2],r[3]+.5*m[3]*i,m[3],y[3]),v[2]&&o.drawLine(r[0]-.5*m[0]*i,r[3],r[2]+.5*m[2]*i,r[3],m[2],y[2]),s.bind(),d=0;d<2;++d)s.drawTicks(d);this.titleEnable&&s.drawTitle();var x=this.overlays;for(d=0;d<x.length;++d)x[d].draw();t.disable(t.SCISSOR_TEST),t.disable(t.BLEND),t.depthMask(!0)}},cC.drawPick=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()}},cC.pick=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}},cC.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()},cC.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())},cC.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()},cC.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,i=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/i,10,10/i]),this.borderColor=!1!==t.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=hC(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=hC(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=hC(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=hC(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=hC(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=hC(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var a=t.ticks||[[],[]],o=this._tickBounds;o[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(var s=0;s<2;++s){var l=a[s].slice(0);0!==l.length&&(l.sort(fC),o[s]=Math.min(o[s],l[0].x),o[s+2]=Math.max(o[s+2],l[l.length-1].x))}this.grid.update({bounds:o,ticks:a}),this.text.update({bounds:o,ticks:a,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()},cC.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(t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},cC.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},cC.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}},cC.addOverlay=function(t){this.overlays.indexOf(t)<0&&(this.overlays.push(t),this.setOverlayDirty())},cC.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}};var pC={};pC.boxVertex=E_([\"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\"]),pC.boxFragment=E_([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\n\\nvoid main() {\\n  gl_FragColor = color;\\n}\\n\"]);var dC=function(t,e){var r=t.gl,n=S_(r,[0,0,0,1,1,0,1,1]),i=Bw(r,pC.boxVertex,pC.boxFragment),a=new gC(t,n,i);return a.update(e),t.addOverlay(a),a};function gC(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}var vC=gC.prototype;vC.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],p=(e[2]-l[0])*(u[2]-u[0])/(l[2]-l[0])+u[0],d=(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]),p=Math.min(p,u[2]),d=Math.min(d,u[3]),!(p<h||d<f)){o.bind();var g=s[2]-s[0],v=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,g,f,i),o.drawBox(0,f,h,d,i),o.drawBox(0,d,g,v,i),o.drawBox(p,f,g,d,i)),this.innerFill&&o.drawBox(h,f,p,d,n),r>0){var m=r*c;o.drawBox(h-m,f-m,p+m,f+m,a),o.drawBox(h-m,d-m,p+m,d+m,a),o.drawBox(h-m,f-m,h+m,d+m,a),o.drawBox(p-m,f-m,p+m,d+m,a)}}}},vC.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()},vC.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)};var mC=function(t,e){var r=new yC(t);return r.update(e),t.addOverlay(r),r};function yC(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]}var xC=yC.prototype;xC.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()},xC.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])}},xC.dispose=function(){this.plot.removeOverlay(this)};var bC=function(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};var _C=function(t){return bC(\"webgl\",t)},wC=function(t){return t.split(\"\").map(function(t){return t in MC?MC[t]:\"\"}).join(\"\")},MC={\" \":\" \",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\"};var AC=function(t){return\"\"+function(t){for(var e=tr.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(t){return t.replace(/\\<.*\\>/g,\"\")}(function(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)+wC(t.slice(e+5,r))+t.slice(r+6)}return t}(t.replace(/\\<br\\>/g,\"\\n\"))))},kC=function(){},TC=function(t){for(var e in t)\"function\"==typeof t[e]&&(t[e]=kC);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=Oe.defaults[0],t.container.appendChild(r),t.container.style.background=\"#FFFFFF\",t.container.onclick=function(){window.open(\"http://get.webgl.org\")},!1},SC={};function EC(t){return t.target||t.srcElement||window}SC.buttons=function(t){if(\"object\"==typeof t){if(\"buttons\"in t)return t.buttons;if(\"which\"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<<e-1}else if(\"button\"in t){var e;if(1===(e=t.button))return 4;if(2===e)return 2;if(e>=0)return 1<<e}}return 0},SC.element=EC,SC.x=function(t){if(\"object\"==typeof t){if(\"offsetX\"in t)return t.offsetX;var e=EC(t).getBoundingClientRect();return t.clientX-e.left}return 0},SC.y=function(t){if(\"object\"==typeof t){if(\"offsetY\"in t)return t.offsetY;var e=EC(t).getBoundingClientRect();return t.clientY-e.top}return 0};var CC=function(t,e){e||(e=t,t=window);var r=0,n=0,i=0,a={shift:!1,alt:!1,control:!1,meta:!1},o=!1;function s(t){var e=!1;return\"altKey\"in t&&(e=e||t.altKey!==a.alt,a.alt=!!t.altKey),\"shiftKey\"in t&&(e=e||t.shiftKey!==a.shift,a.shift=!!t.shiftKey),\"ctrlKey\"in t&&(e=e||t.ctrlKey!==a.control,a.control=!!t.ctrlKey),\"metaKey\"in t&&(e=e||t.metaKey!==a.meta,a.meta=!!t.metaKey),e}function l(t,o){var l=SC.x(o),u=SC.y(o);\"buttons\"in o&&(t=0|o.buttons),(t!==r||l!==n||u!==i||s(o))&&(r=0|t,n=l||0,i=u||0,e&&e(r,n,i,a))}function u(t){l(0,t)}function c(){(r||n||i||a.shift||a.alt||a.meta||a.control)&&(n=i=0,r=0,a.shift=a.alt=a.control=a.meta=!1,e&&e(0,0,0,a))}function h(t){s(t)&&e&&e(r,n,i,a)}function f(t){0===SC.buttons(t)?l(0,t):l(r,t)}function p(t){l(r|SC.buttons(t),t)}function d(t){l(r&~SC.buttons(t),t)}function g(){o||(o=!0,t.addEventListener(\"mousemove\",f),t.addEventListener(\"mousedown\",p),t.addEventListener(\"mouseup\",d),t.addEventListener(\"mouseleave\",u),t.addEventListener(\"mouseenter\",u),t.addEventListener(\"mouseout\",u),t.addEventListener(\"mouseover\",u),t.addEventListener(\"blur\",c),t.addEventListener(\"keyup\",h),t.addEventListener(\"keydown\",h),t.addEventListener(\"keypress\",h),t!==window&&(window.addEventListener(\"blur\",c),window.addEventListener(\"keyup\",h),window.addEventListener(\"keydown\",h),window.addEventListener(\"keypress\",h)))}g();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return o},set:function(e){e?g():o&&(o=!1,t.removeEventListener(\"mousemove\",f),t.removeEventListener(\"mousedown\",p),t.removeEventListener(\"mouseup\",d),t.removeEventListener(\"mouseleave\",u),t.removeEventListener(\"mouseenter\",u),t.removeEventListener(\"mouseout\",u),t.removeEventListener(\"mouseover\",u),t.removeEventListener(\"blur\",c),t.removeEventListener(\"keyup\",h),t.removeEventListener(\"keydown\",h),t.removeEventListener(\"keypress\",h),t!==window&&(window.removeEventListener(\"blur\",c),window.removeEventListener(\"keyup\",h),window.removeEventListener(\"keydown\",h),window.removeEventListener(\"keypress\",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return n},enumerable:!0},y:{get:function(){return i},enumerable:!0},mods:{get:function(){return a},enumerable:!0}}),v};var LC=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},zC=DC,PC=96;function IC(t,e){var r=LC(getComputedStyle(t).getPropertyValue(e));return r[0]*DC(r[1],t)}function DC(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 function(t,e){var r=document.createElement(\"div\");r.style[\"font-size\"]=\"128\"+t,e.appendChild(r);var n=IC(r,\"font-size\")/128;return e.removeChild(r),n}(t,e);case\"em\":return IC(e,\"font-size\");case\"rem\":return IC(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 PC;case\"cm\":return PC/2.54;case\"mm\":return PC/25.4;case\"pt\":return PC/72;case\"pc\":return PC/6}return 1}var OC=function(t,e,r){\"function\"==typeof t&&(r=!!e,e=t,t=window);var n=zC(\"ex\",t),i=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(a*=l,o*=l,(i*=l)||a||o)return e(i,a,o,t)};return t.addEventListener(\"wheel\",i),i};var RC=function(t){var e=t.mouseContainer,r=t.glplot,n=new function(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.boxInited=!1,this.boxStart=[0,0],this.boxEnd=[0,0],this.dragStart=[0,0]}(e,r);function i(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function a(e,a,o){var s,l,u=t.calcDataBox(),c=r.viewBox,h=n.lastPos[0],f=n.lastPos[1],p=Te.MINDRAG*r.pixelRatio,d=Te.MINZOOM*r.pixelRatio;function g(e,r,i){var a=Math.min(r,i),o=Math.max(r,i);a!==o?(u[e]=a,u[e+2]=o,n.dataBox=u,t.setRanges(u)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}switch(a*=r.pixelRatio,o*=r.pixelRatio,o=c[3]-c[1]-o,t.fullLayout.dragmode){case\"zoom\":if(e){var v=a/(c[2]-c[0])*(u[2]-u[0])+u[0],m=o/(c[3]-c[1])*(u[3]-u[1])+u[1];n.boxInited||(n.boxStart[0]=v,n.boxStart[1]=m,n.dragStart[0]=a,n.dragStart[1]=o),n.boxEnd[0]=v,n.boxEnd[1]=m,n.boxInited=!0,n.boxEnabled||n.boxStart[0]===n.boxEnd[0]&&n.boxStart[1]===n.boxEnd[1]||(n.boxEnabled=!0);var y=Math.abs(n.dragStart[0]-a)<d,x=Math.abs(n.dragStart[1]-o)<d;if(!function(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,i=0;i<e.length;i++)if(-1!==e[i][r]){if(-1!==e[i][n])return!0;break}return!1}()||y&&x)y&&(n.boxEnd[0]=n.boxStart[0]),x&&(n.boxEnd[1]=n.boxStart[1]);else{s=n.boxEnd[0]-n.boxStart[0],l=n.boxEnd[1]-n.boxStart[1];var b=(u[3]-u[1])/(u[2]-u[0]);Math.abs(s*b)>Math.abs(l)?(n.boxEnd[1]=n.boxStart[1]+Math.abs(s)*b*(l>=0?1:-1),n.boxEnd[1]<u[1]?(n.boxEnd[1]=u[1],n.boxEnd[0]=n.boxStart[0]+(u[1]-n.boxStart[1])/Math.abs(b)):n.boxEnd[1]>u[3]&&(n.boxEnd[1]=u[3],n.boxEnd[0]=n.boxStart[0]+(u[3]-n.boxStart[1])/Math.abs(b))):(n.boxEnd[0]=n.boxStart[0]+Math.abs(l)/b*(s>=0?1:-1),n.boxEnd[0]<u[0]?(n.boxEnd[0]=u[0],n.boxEnd[1]=n.boxStart[1]+(u[0]-n.boxStart[0])*Math.abs(b)):n.boxEnd[0]>u[2]&&(n.boxEnd[0]=u[2],n.boxEnd[1]=n.boxStart[1]+(u[2]-n.boxStart[0])*Math.abs(b)))}}else n.boxEnabled?(s=n.boxStart[0]!==n.boxEnd[0],l=n.boxStart[1]!==n.boxEnd[1],s||l?(s&&(g(0,n.boxStart[0],n.boxEnd[0]),t.xaxis.autorange=!1),l&&(g(1,n.boxStart[1],n.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),n.boxEnabled=!1,n.boxInited=!1):n.boxInited&&(n.boxInited=!1);break;case\"pan\":n.boxEnabled=!1,n.boxInited=!1,e?(n.panning||(n.dragStart[0]=a,n.dragStart[1]=o),Math.abs(n.dragStart[0]-a)<p&&(a=n.dragStart[0]),Math.abs(n.dragStart[1]-o)<p&&(o=n.dragStart[1]),s=(h-a)*(u[2]-u[0])/(r.viewBox[2]-r.viewBox[0]),l=(f-o)*(u[3]-u[1])/(r.viewBox[3]-r.viewBox[1]),u[0]+=s,u[2]+=s,u[1]+=l,u[3]+=l,t.setRanges(u),n.panning=!0,n.lastInputTime=Date.now(),i(),t.cameraChanged(),t.handleAnnotations()):n.panning&&(n.panning=!1,t.relayoutCallback())}n.lastPos[0]=a,n.lastPos[1]=o}return n.mouseListener=CC(e,a),e.addEventListener(\"touchstart\",function(t){var r=La(t.changedTouches[0],e);a(0,r[0],r[1]),a(1,r[0],r[1]),t.preventDefault()},!!Ea&&{passive:!1}),e.addEventListener(\"touchmove\",function(t){t.preventDefault();var r=La(t.changedTouches[0],e);a(1,r[0],r[1]),t.preventDefault()},!!Ea&&{passive:!1}),e.addEventListener(\"touchend\",function(t){a(0,n.lastPos[0],n.lastPos[1]),t.preventDefault()},!!Ea&&{passive:!1}),n.wheelListener=OC(e,function(e,a){if(!t.scrollZoom)return!1;var o=t.calcDataBox(),s=r.viewBox,l=n.lastPos[0],u=n.lastPos[1],c=Math.exp(5*a/(s[3]-s[1])),h=l/(s[2]-s[0])*(o[2]-o[0])+o[0],f=u/(s[3]-s[1])*(o[3]-o[1])+o[1];return o[0]=(o[0]-h)*c+h,o[2]=(o[2]-h)*c+h,o[1]=(o[1]-f)*c+f,o[3]=(o[3]-f)*c+f,t.setRanges(o),n.lastInputTime=Date.now(),i(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback(),!0},!0),n};var FC=function(t,e,r){return e<r?t<e?e:t>r?r:t:t<r?r:t>e?e:t};var BC={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]},NC=function(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]},jC=Object.prototype.toString,VC=function(t){var e;return\"[object Object]\"===jC.call(t)&&(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))},UC={};(function(t){\"use strict\";UC=function(r){var n,i,a=[],o=1;if(\"string\"==typeof r)if(BC[r])a=BC[r].slice(),i=\"rgb\";else if(\"transparent\"===r)o=0,i=\"rgb\",a=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(r)){var s=r.slice(1),l=s.length,u=l<=4;o=1,u?(a=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===l&&(o=parseInt(s[3]+s[3],16)/255)):(a=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===l&&(o=parseInt(s[6]+s[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[2]=0),i=\"rgb\"}else if(n=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(r)){var c=n[1],s=c.replace(/a$/,\"\");i=s;var l=\"cmyk\"===s?4:\"gray\"===s?1:3;a=n[2].trim().split(/\\s*,\\s*/).map(function(t,r){if(/%$/.test(t))return r===l?parseFloat(t)/100:\"rgb\"===s?255*parseFloat(t)/100:parseFloat(t);if(\"h\"===s[r]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==e[t])return e[t]}return parseFloat(t)}),c===s&&a.push(1),o=void 0===a[l]?1:a[l],a=a.slice(0,l)}else r.length>10&&/[0-9](?:\\s|\\/)/.test(r)&&(a=r.match(/([0-9]+)/g).map(function(t){return parseFloat(t)}),i=r.match(/([a-z])/gi).join(\"\").toLowerCase());else if(\"number\"==typeof r)i=\"rgb\",a=[r>>>16,(65280&r)>>>8,255&r];else if(VC(r)){var h=NC(r.r,r.red,r.R,null);null!==h?(i=\"rgb\",a=[h,NC(r.g,r.green,r.G),NC(r.b,r.blue,r.B)]):(i=\"hsl\",a=[NC(r.h,r.hue,r.H),NC(r.s,r.saturation,r.S),NC(r.l,r.lightness,r.L,r.b,r.brightness)]),o=NC(r.a,r.alpha,r.opacity,1),null!=r.opacity&&(o/=100)}else(Array.isArray(r)||t.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(r))&&(a=[r[0],r[1],r[2]],i=\"rgb\",o=4===r.length?r[3]:1);return{space:i,values:a,alpha:o}};var e={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{});var qC=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];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var u=0;u<3;u++)(n=o+1/3*-(u-1))<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},HC=function(t){switch(t){case\"int8\":return Int8Array;case\"int16\":return Int16Array;case\"int32\":return Int32Array;case\"uint8\":return Uint8Array;case\"uint16\":return Uint16Array;case\"uint32\":return Uint32Array;case\"float32\":return Float32Array;case\"float64\":return Float64Array;case\"array\":return Array;case\"uint8_clamped\":return Uint8ClampedArray}},GC=function(t,e){\"float\"!==e&&e||(e=\"array\"),\"uint\"===e&&(e=\"uint8\"),\"uint_clamped\"===e&&(e=\"uint8_clamped\");var r=HC(e),n=new r(4);if(t instanceof r)return Array.isArray(t)?t.slice():(n.set(t),n);var i=\"uint8\"!==e&&\"uint8_clamped\"!==e;return t instanceof Uint8Array||t instanceof Uint8ClampedArray?(n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=null!=t[3]?t[3]:255,i&&(n[0]/=255,n[1]/=255,n[2]/=255,n[3]/=255),n):(t.length&&\"string\"!=typeof t||((t=function(t){var e;if(\"string\"!=typeof t)throw Error(\"Argument should be a string\");var r=UC(t);return r.space?((e=Array(3))[0]=FC(r.values[0],0,255),e[1]=FC(r.values[1],0,255),e[2]=FC(r.values[2],0,255),\"h\"===r.space[0]&&(e=qC(e)),e.push(FC(r.alpha,0,1)),e):[]}(t))[0]/=255,t[1]/=255,t[2]/=255),i?(n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=null!=t[3]?t[3]:1):(n[0]=FC(Math.round(255*t[0]),0,255),n[1]=FC(Math.round(255*t[1]),0,255),n[2]=FC(Math.round(255*t[2]),0,255),n[3]=null==t[3]?255:FC(Math.floor(255*t[3]),0,255)),n)};var WC=function(t){return t?GC(t):[0,0,0,1]};function YC(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=!1,this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var XC=YC.prototype,ZC=[\"xaxis\",\"yaxis\"];XC.merge=function(t){var e,r,n,i,a,o,s,l,u,c,h;for(this.titleEnable=!1,this.backgroundColor=WC(t.plot_bgcolor),c=0;c<2;++c){var f=(e=ZC[c]).charAt(0);for(n=(r=t[this.scene[e]._name]).title===this.scene.fullLayout._dfltTitle[f]?\"\":r.title,h=0;h<=2;h+=2)this.labelEnable[c+h]=!1,this.labels[c+h]=AC(n),this.labelColor[c+h]=WC(r.titlefont.color),this.labelFont[c+h]=r.titlefont.family,this.labelSize[c+h]=r.titlefont.size,this.labelPad[c+h]=this.getLabelPad(e,r),this.tickEnable[c+h]=!1,this.tickColor[c+h]=WC((r.tickfont||{}).color),this.tickAngle[c+h]=\"auto\"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[c+h]=this.getTickPad(r),this.tickMarkLength[c+h]=0,this.tickMarkWidth[c+h]=r.tickwidth||0,this.tickMarkColor[c+h]=WC(r.tickcolor),this.borderLineEnable[c+h]=!1,this.borderLineColor[c+h]=WC(r.linecolor),this.borderLineWidth[c+h]=r.linewidth||0;s=this.hasSharedAxis(r),a=this.hasAxisInDfltPos(e,r)&&!s,o=this.hasAxisInAltrPos(e,r)&&!s,i=r.mirror||!1,l=s?-1!==String(i).indexOf(\"all\"):!!i,u=s?\"allticks\"===i:-1!==String(i).indexOf(\"ticks\"),a?this.labelEnable[c]=!0:o&&(this.labelEnable[c+2]=!0),a?this.tickEnable[c]=r.showticklabels:o&&(this.tickEnable[c+2]=r.showticklabels),(a||l)&&(this.borderLineEnable[c]=r.showline),(o||l)&&(this.borderLineEnable[c+2]=r.showline),(a||u)&&(this.tickMarkLength[c]=this.getTickMarkLength(r)),(o||u)&&(this.tickMarkLength[c+2]=this.getTickMarkLength(r)),this.gridLineEnable[c]=r.showgrid,this.gridLineColor[c]=WC(r.gridcolor),this.gridLineWidth[c]=r.gridwidth,this.zeroLineEnable[c]=r.zeroline,this.zeroLineColor[c]=WC(r.zerolinecolor),this.zeroLineWidth[c]=r.zerolinewidth}},XC.hasSharedAxis=function(t){var e=this.scene,r=e.fullLayout._subplots.gl2d;return 0!==ri.findSubplotsWithAxis(r,t).indexOf(e.id)},XC.hasAxisInDfltPos=function(t,e){var r=e.side;return\"xaxis\"===t?\"bottom\"===r:\"yaxis\"===t?\"left\"===r:void 0},XC.hasAxisInAltrPos=function(t,e){var r=e.side;return\"xaxis\"===t?\"top\"===r:\"yaxis\"===t?\"right\"===r:void 0},XC.getLabelPad=function(t,e){var 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},XC.getTickPad=function(t){return\"outside\"===t.ticks?10+t.ticklen:15},XC.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return\"inside\"===t.ticks?-e:e};var JC,KC,QC=function(t){return new YC(t)},$C=Gm.enforce,tL=Gm.clean,eL=Nn,rL=[\"xaxis\",\"yaxis\"],nL=Te.SUBPLOT_PATTERN;function iL(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.scrollZoom=this.graphDiv._context.scrollZoom,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.glplotOptions=QC(this),this.glplotOptions.merge(e),this.glplot=lC(this.glplotOptions),this.camera=RC(this),this.traces={},this.spikes=mC(this.glplot),this.selectBox=dC(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.isMouseOver=!0,this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw()}var aL=iL,oL=iL.prototype;oL.makeFramework=function(){if(this.staticPlot){if(!(KC||(JC=document.createElement(\"canvas\"),KC=_C({canvas:JC,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\"Error creating static canvas/context for image server\");this.canvas=JC,this.gl=KC}else{var t=this.container.querySelector(\".gl-canvas-focus\"),e=_C({canvas:t,preserveDrawingBuffer:!0,premultipliedAlpha:!0});e||TC(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\",i.style[\"pointer-events\"]=\"auto\",this.pickCanvas=this.container.querySelector(\".gl-canvas-pick\");var a=this.container;a.appendChild(n),a.appendChild(i);var o=this;i.addEventListener(\"mouseout\",function(){o.isMouseOver=!1,o.unhover()}),i.addEventListener(\"mouseover\",function(){o.isMouseOver=!0})},oL.toImage=function(t){t||(t=\"png\"),this.stopped=!0,this.staticPlot&&this.container.appendChild(JC),this.updateSize(this.canvas);var e=this.glplot.gl,r=e.drawingBufferWidth,n=e.drawingBufferHeight;e.clearColor(1,1,1,0),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT),this.glplot.setDirty(),this.glplot.draw(),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 c=document.createElement(\"canvas\");c.width=r,c.height=n;var h,f=c.getContext(\"2d\"),p=f.createImageData(r,n);switch(p.data.set(i),f.putImageData(p,0,0),t){case\"jpeg\":h=c.toDataURL(\"image/jpeg\");break;case\"webp\":h=c.toDataURL(\"image/webp\");break;default:h=c.toDataURL(\"image/png\")}return this.staticPlot&&this.container.removeChild(JC),h},oL.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},oL.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var t=[ri.calcTicks(this.xaxis),ri.calcTicks(this.yaxis)],e=0;e<2;++e)for(var r=0;r<t[e].length;++r)t[e][r].text=AC(t[e][r].text+\"\");return t},oL.updateRefs=function(t){this.fullLayout=t;var e=this.id.match(nL),r=\"xaxis\"+e[1],n=\"yaxis\"+e[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},oL.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)},oL.cameraChanged=function(){var t=this.camera;this.glplot.setDataBox(this.calcDataBox());var e=this.computeTickMarks();(function(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})(e,this.glplotOptions.ticks)&&(this.glplotOptions.ticks=e,this.glplotOptions.dataBox=t.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())},oL.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&&P.getComponentMethod(\"annotations\",\"drawOne\")(t,r)}},oL.destroy=function(){if(this.glplot){var t=this.traces;t&&Object.keys(t).map(function(e){t[e].dispose(),delete t[e]}),this.glplot.dispose(),this.container.removeChild(this.svgContainer),this.container.removeChild(this.mouseContainer),this.fullData=null,this.glplot=null,this.stopped=!0,this.camera.mouseListener.enabled=!1,this.mouseContainer.removeEventListener(\"wheel\",this.camera.wheelListener),this.camera=null}},oL.plot=function(t,e,r){var n=this.glplot;this.updateRefs(r),this.xaxis.clearCalc(),this.yaxis.clearCalc(),this.updateTraces(t,e),this.updateFx(r.dragmode);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={_fullLayout:{_axisConstraintGroups:this.graphDiv._fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis}};tL(s,this.xaxis),tL(s,this.yaxis);var l,u,c=r._size,h=this.xaxis.domain,f=this.yaxis.domain;for(o.viewBox=[c.l+h[0]*c.w,c.b+f[0]*c.h,i-c.r-(1-h[1])*c.w,a-c.t-(1-f[1])*c.h],this.mouseContainer.style.width=c.w*(h[1]-h[0])+\"px\",this.mouseContainer.style.height=c.h*(f[1]-f[0])+\"px\",this.mouseContainer.height=c.h*(f[1]-f[0]),this.mouseContainer.style.left=c.l+h[0]*c.w+\"px\",this.mouseContainer.style.top=c.t+(1-f[1])*c.h+\"px\",u=0;u<2;++u)(l=this[rL[u]])._length=o.viewBox[u+2]-o.viewBox[u],eL(l),l.setScale();$C(s),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},oL.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])]},oL.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])]},oL.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]).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})},oL.updateFx=function(t){\"lasso\"===t||\"select\"===t?(this.pickCanvas.style[\"pointer-events\"]=\"none\",this.mouseContainer.style[\"pointer-events\"]=\"none\"):(this.pickCanvas.style[\"pointer-events\"]=\"auto\",this.mouseContainer.style[\"pointer-events\"]=\"auto\"),this.mouseContainer.style.cursor=\"pan\"===t?\"move\":\"zoom\"===t?\"crosshair\":null},oL.emitPointAction=function(t,e){for(var r,n=t.trace.uid,i=t.pointIndex,a=0;a<this.fullData.length;a++)this.fullData[a].uid===n&&(r=this.fullData[a]);var o={x:t.traceCoord[0],y:t.traceCoord[1],curveNumber:r.index,pointNumber:i,data:r._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};yo.appendArrayPointValue(o,r,i),this.graphDiv.emit(e,{points:[o]})},oL.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,o=r.x*t.pixelRatio,s=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&&\"zoom\"===i.dragmode){this.selectBox.enabled=!0;for(var l=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])],u=0;u<2;u++)e.boxStart[u]===e.boxEnd[u]&&(l[u]=t.dataBox[u],l[u+2]=t.dataBox[u+2]);t.setDirty()}else if(!e.panning&&this.isMouseOver){this.selectBox.enabled=!1;var c=i._size,h=this.xaxis.domain,f=this.yaxis.domain,p=(a=t.pick(o/t.pixelRatio+c.l+h[0]*c.w,s/t.pixelRatio-(c.t+(1-f[1])*c.h)))&&a.object._trace.handlePick(a);if(p&&n&&this.emitPointAction(p,\"plotly_click\"),a&&\"skip\"!==a.object._trace.hoverinfo&&i.hovermode&&p&&(!this.lastPickResult||this.lastPickResult.traceUid!==p.trace.uid||this.lastPickResult.dataCoord[0]!==p.dataCoord[0]||this.lastPickResult.dataCoord[1]!==p.dataCoord[1])){var d=p;this.lastPickResult={traceUid:p.trace?p.trace.uid:null,dataCoord:p.dataCoord.slice()},this.spikes.update({center:a.dataCoord}),d.screenCoord=[((t.viewBox[2]-t.viewBox[0])*(a.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])*(a.dataCoord[1]-t.dataBox[1])/(t.dataBox[3]-t.dataBox[1])-t.viewBox[1])/t.pixelRatio],this.emitPointAction(p,\"plotly_hover\");var g=this.fullData[d.trace.index]||{},v=d.pointIndex,m=yo.castHoverinfo(g,i,v);if(m&&\"all\"!==m){var y=m.split(\"+\");-1===y.indexOf(\"x\")&&(d.traceCoord[0]=void 0),-1===y.indexOf(\"y\")&&(d.traceCoord[1]=void 0),-1===y.indexOf(\"z\")&&(d.traceCoord[2]=void 0),-1===y.indexOf(\"text\")&&(d.textLabel=void 0),-1===y.indexOf(\"name\")&&(d.name=void 0)}yo.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:yo.castHoverOption(g,v,\"bgcolor\")||d.color,borderColor:yo.castHoverOption(g,v,\"bordercolor\"),fontFamily:yo.castHoverOption(g,v,\"font.family\"),fontSize:yo.castHoverOption(g,v,\"font.size\"),fontColor:yo.castHoverOption(g,v,\"font.color\")},{container:this.svgContainer,gd:this.graphDiv})}}a||this.unhover(),t.draw()}},oL.unhover=function(){this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit(\"plotly_unhover\"),yo.loneUnhover(this.svgContainer))},oL.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return ri.tickText(r,r.c2l(e),\"hover\").text}};var sL={},lL=ye.overrideAll,uL=sa.getSubplotData;sL.name=\"gl2d\",sL.attr=[\"xaxis\",\"yaxis\"],sL.idRoot=[\"x\",\"y\"],sL.idRegex=Te.idRegex,sL.attrRegex=Te.attrRegex,sL.attributes=Gi,sL.supplyLayoutDefaults=function(t,e,r){e._has(\"cartesian\")||ua.supplyLayoutDefaults(t,e,r)},sL.layoutAttrOverrides=lL(ua.layoutAttributes,\"plot\",\"from-root\"),sL.baseLayoutAttrOverrides=lL({plot_bgcolor:z.plot_bgcolor,hoverlabel:mo.hoverlabel},\"plot\",\"nested\"),sL.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl2d,i=0;i<n.length;i++){var a=n[i],o=e._plots[a],s=uL(r,\"gl2d\",a),l=o._scene2d;void 0===l&&(l=new aL({id:a,graphDiv:t,container:t.querySelector(\".gl-container\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),o._scene2d=l),l.plot(s,t.calcdata,e,t.layout)}},sL.clean=function(t,e,r,n){for(var i=n._subplots.gl2d||[],a=0;a<i.length;a++){var o=i[a],s=n._plots[o];if(s._scene2d)0===uL(t,\"gl2d\",o).length&&(s._scene2d.destroy(),delete n._plots[o])}ua.clean.apply(this,arguments)},sL.drawFramework=function(t){t._context.staticPlot||ua.drawFramework(t)},sL.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){var i=e._plots[r[n]]._scene2d,a=i.toImage(\"png\");e._glimages.append(\"svg:image\").attr({xmlns:$e.svg,\"xlink:href\":a,x:0,y:0,width:\"100%\",height:\"100%\",preserveAspectRatio:\"none\"}),i.destroy()}},sL.updateFx=function(t){for(var e=t._subplots.gl2d,r=0;r<e.length;r++){t._plots[e[r]]._scene2d.updateFx(t.dragmode)}};for(var cL=m.extendFlat,hL=ye.overrideAll,fL=[\"z\",\"x\",\"x0\",\"dx\",\"y\",\"y0\",\"dy\",\"text\",\"transpose\",\"xtype\",\"ytype\"],pL={},dL=0;dL<fL.length;dL++){var gL=fL[dL];pL[gL]=Lh[gL]}cL(pL,Pe,{autocolorscale:cL({},Pe.autocolorscale,{dflt:!1})},{colorbar:ze});var vL=hL(pL,\"calc\",\"nested\"),mL={fragment:E_([\"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:E_([\"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:E_([\"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:E_([\"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\"])};function yL(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 xL(t,e,r,n){return new Function([yL(\"A\",\"x\"+t+\"y\",e,[\"y\"],n),yL(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],n),\"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(\"\"))()}var bL={ge:xL(\">=\",!1,\"GE\"),gt:xL(\">\",!1,\"GT\"),lt:xL(\"<\",!0,\"LT\"),le:xL(\"<=\",!0,\"LE\"),eq:xL(\"-\",!0,\"EQ\",!0)},_L=function(t,e){var r=t.gl,n=Bw(r,mL.vertex,mL.fragment),i=Bw(r,mL.pickVertex,mL.pickFragment),a=S_(r),o=S_(r),s=S_(r),l=S_(r),u=new wL(t,n,i,a,o,s,l);return u.update(e),t.addObject(u),u};function wL(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}var ML,AL=wL.prototype,kL=[0,0,1,0,0,1,1,0,1,1,0,1];function TL(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=_L(t.glplot,this.options),this.heatmap._trace=this}AL.draw=(ML=[1,0,0,0,1,0,0,0,1],function(){var t=this.plot,e=this.shader,r=this.bounds,n=this.numVertices;if(!(n<=0)){var i=t.gl,a=t.dataBox,o=r[2]-r[0],s=r[3]-r[1],l=a[2]-a[0],u=a[3]-a[1];ML[0]=2*o/l,ML[4]=2*s/u,ML[6]=2*(r[0]-a[0])/l-1,ML[7]=2*(r[1]-a[1])/u-1,e.bind();var c=e.uniforms;c.viewTransform=ML,c.shape=this.shape;var h=e.attributes;this.positionBuffer.bind(),h.position.pointer(),this.weightBuffer.bind(),h.weight.pointer(i.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),h.color.pointer(i.UNSIGNED_BYTE,!0),i.drawArrays(i.TRIANGLES,0,n)}}),AL.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 p=0;p<4;++p)e[p]=r>>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var g=i.attributes;return this.positionBuffer.bind(),g.position.pointer(),this.weightBuffer.bind(),g.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),g.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),AL.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]]}},AL.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||db(e[0]),n=t.y||db(e[1]),i=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=n;var a=t.colorLevels||[0],o=t.colorValues||[0,0,0,1],s=a.length,l=this.bounds,u=l[0]=r[0],c=l[1]=n[0],h=1/((l[2]=r[r.length-1])-u),f=1/((l[3]=n[n.length-1])-c),p=e[0],d=e[1];this.shape=[p,d];var g=(p-1)*(d-1)*(kL.length>>>1);this.numVertices=g;for(var v=__.mallocUint8(4*g),m=__.mallocFloat32(2*g),y=__.mallocUint8(2*g),x=__.mallocUint32(g),b=0,_=0;_<d-1;++_)for(var w=f*(n[_]-c),M=f*(n[_+1]-c),A=0;A<p-1;++A)for(var k=h*(r[A]-u),T=h*(r[A+1]-u),S=0;S<kL.length;S+=2){var E,C,L,z,P=kL[S],I=kL[S+1],D=i[(_+I)*p+(A+P)],O=bL.le(a,D);if(O<0)E=o[0],C=o[1],L=o[2],z=o[3];else if(O===s-1)E=o[4*s-4],C=o[4*s-3],L=o[4*s-2],z=o[4*s-1];else{var R=(D-a[O])/(a[O+1]-a[O]),F=1-R,B=4*O,N=4*(O+1);E=F*o[B]+R*o[N],C=F*o[B+1]+R*o[N+1],L=F*o[B+2]+R*o[N+2],z=F*o[B+3]+R*o[N+3]}v[4*b]=255*E,v[4*b+1]=255*C,v[4*b+2]=255*L,v[4*b+3]=255*z,m[2*b]=.5*k+.5*T,m[2*b+1]=.5*w+.5*M,y[2*b]=P,y[2*b+1]=I,x[b]=_*p+A,b+=1}this.positionBuffer.update(m),this.weightBuffer.update(y),this.colorBuffer.update(v),this.idBuffer.update(x),__.free(m),__.free(v),__.free(y),__.free(x)},AL.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)};var SL=TL.prototype;SL.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:[a,i],hoverinfo:this.hoverinfo}},SL.update=function(t,e){var r=e[0];this.index=t.index,this.name=t.name,this.hoverinfo=t.hoverinfo;var n=r.z;this.options.z=[].concat.apply([],n);var i=n[0].length,a=n.length;this.options.shape=[i,a],this.options.x=r.x,this.options.y=r.y;var o=function(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 l=e[s],u=WC(l[1]);a[s]=r+l[0]*(n-r);for(var c=0;c<4;c++)o[4*s+c]=u[c]}return{colorLevels:a,colorValues:o}}(t);this.options.colorLevels=o.colorLevels,this.options.colorValues=o.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options),ri.expand(this.scene.xaxis,r.x),ri.expand(this.scene.yaxis,r.y)},SL.dispose=function(){this.heatmap.dispose()};var EL=function(t,e,r){var n=new TL(t,e.uid);return n.update(e,r),n},CL={};CL.attributes=vL,CL.supplyDefaults=Zx,CL.colorbar=kh,CL.calc=bf,CL.plot=EL,CL.moduleType=\"trace\",CL.name=\"heatmapgl\",CL.basePlotModule=sL,CL.categories=[\"gl\",\"gl2d\",\"2dMap\"],CL.meta={};var LL=CL,zL={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},text:wa.text,orientation:wa.orientation,histfunc:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"min\",\"max\"],dflt:\"count\",editType:\"calc\"},histnorm:{valType:\"enumerated\",values:[\"\",\"percent\",\"probability\",\"density\",\"probability density\"],dflt:\"\",editType:\"calc\"},cumulative:{enabled:{valType:\"boolean\",dflt:!1,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"increasing\",\"decreasing\"],dflt:\"increasing\",editType:\"calc\"},currentbin:{valType:\"enumerated\",values:[\"include\",\"exclude\",\"half\"],dflt:\"include\",editType:\"calc\"},editType:\"calc\"},autobinx:{valType:\"boolean\",dflt:null,editType:\"calc\",impliedEdits:{\"xbins.start\":void 0,\"xbins.end\":void 0,\"xbins.size\":void 0}},nbinsx:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},xbins:PL(\"x\"),autobiny:{valType:\"boolean\",dflt:null,editType:\"calc\",impliedEdits:{\"ybins.start\":void 0,\"ybins.end\":void 0,\"ybins.size\":void 0}},nbinsy:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},ybins:PL(\"y\"),marker:wa.marker,selected:wa.selected,unselected:wa.unselected,_deprecated:{bardir:wa._deprecated.bardir}};function PL(t){var e={};e[\"autobin\"+t]=!1;var r={};return r[\"^autobin\"+t]=!1,{start:{valType:\"any\",dflt:null,editType:\"calc\",impliedEdits:r},end:{valType:\"any\",dflt:null,editType:\"calc\",impliedEdits:r},size:{valType:\"any\",dflt:null,editType:\"calc\",impliedEdits:r},editType:\"calc\",impliedEdits:e}}var IL=t.ONEAVGMONTH;function DL(t,e,n,i,a){var o,s,l,u,c,h=i+\"bins\",f=\"overlay\"===t._fullLayout.barmode;if(e._autoBinFinished)delete e._autoBinFinished;else{var p=f?[e]:RL(t,e),d=[],g=1/0,v=1/0,m=-1/0,y=\"autobin\"+i;for(o=0;o<p.length;o++){c=(s=p[o])._pos0=n.makeCalcdata(s,i);var x=s[h];if(s[y]||!x||null===x.start||null===x.end){l=s[i+\"calendar\"];var b=s.cumulative;if(x=ri.autoBin(c,n,s[\"nbins\"+i],!1,l),f&&0===x._dataSpan&&\"category\"!==n.type){if(a)return[x,c,!0];x=OL(t,e,n,i,h)}b.enabled&&\"include\"!==b.currentbin&&(\"decreasing\"===b.direction?v=Math.min(v,n.r2c(x.start,0,l)-x.size):m=Math.max(m,n.r2c(x.end,0,l)+x.size)),d.push(s)}else u||(u={size:x.size,start:n.r2c(x.start,0,l),end:n.r2c(x.end,0,l)});g=FL(g,x.size),v=Math.min(v,n.r2c(x.start,0,l)),m=Math.max(m,n.r2c(x.end,0,l)),o&&(s._autoBinFinished=1)}if(u&&r(u.size)&&r(g)){g=g>u.size/1.9?u.size:u.size/Math.ceil(u.size/g);var _=u.start+(u.size-g)/2;v=_-g*Math.ceil((_-v)/g)}for(o=0;o<d.length;o++)l=(s=d[o])[i+\"calendar\"],s._input[h]=s[h]={start:n.c2r(v,0,l),end:n.c2r(m,0,l),size:g},s._input[y]=s[y]}return c=e._pos0,delete e._pos0,[e[h],c]}function OL(t,e,r,n,i){var a,o,s=RL(t,e),l=!1,u=1/0,c=[e];for(a=0;a<s.length;a++)if((o=s[a])===e)l=!0;else if(l){var h=DL(t,o,r,n,!0),f=h[0],p=h[2];o._autoBinFinished=1,o._pos0=h[1],p?c.push(o):u=Math.min(u,f.size)}else u=Math.min(u,o[i].size);var d=new Array(c.length);for(a=0;a<c.length;a++)for(var g=c[a]._pos0,v=0;v<g.length;v++)if(void 0!==g[v]){d[a]=g[v];break}for(isFinite(u)||(u=ne.distinctVals(d).minDiff),a=0;a<c.length;a++){var m=(o=c[a])[n+\"calendar\"];o._input[i]=o[i]={start:r.c2r(d[a]-u/2,0,m),end:r.c2r(d[a]+u/2,0,m),size:u}}return e[i]}function RL(t,e){for(var r=e.xaxis,n=e.yaxis,i=e.orientation,a=[],o=t._fullData,s=0;s<o.length;s++){var l=o[s];\"histogram\"===l.type&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}function FL(t,e){if(t===1/0)return e;var r=BL(t);return BL(e)<r?e:t}function BL(t){return r(t)?t:\"string\"==typeof t&&\"M\"===t.charAt(0)?IL*+t.substr(1):1/0}var NL=function(t,e,r,n){return r(\"histnorm\"),n.forEach(function(t){r(t+\"bins.start\"),r(t+\"bins.end\"),r(t+\"bins.size\"),!1!==r(\"autobin\"+t)&&r(\"nbins\"+t)}),e},jL=function(t,e,r,n,i){if(t.x=\"xVal\"in e?e.xVal:e.x,t.y=\"yVal\"in e?e.yVal:e.y,e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),!(r.cumulative||{}).enabled){var a,o=Array.isArray(i)?n[0].pts[i[0]][i[1]]:n[i].pts;if(t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex,r._indexToPoints){a=[];for(var s=0;s<o.length;s++)a=a.concat(r._indexToPoints[o[s]])}else a=o;t.pointIndices=a}return t},VL=ri.hoverLabelText,UL={};UL.attributes=zL,UL.layoutAttributes=wo,UL.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,zL,r,n)}var a=i(\"x\"),o=i(\"y\");i(\"cumulative.enabled\")&&(i(\"cumulative.direction\"),i(\"cumulative.currentbin\")),i(\"text\");var s=i(\"orientation\",o&&!a?\"h\":\"v\"),l=e[\"v\"===s?\"x\":\"y\"];if(l&&l.length){P.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],n),e[\"h\"===s?\"x\":\"y\"]&&i(\"histfunc\"),NL(0,e,i,\"h\"===s?[\"y\"]:[\"x\"]),ka(t,e,i,r,n);var u=P.getComponentMethod(\"errorbars\",\"supplyDefaults\");u(t,e,Oe.defaultLine,{axis:\"y\"}),u(t,e,Oe.defaultLine,{axis:\"x\",inherit:\"y\"}),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},UL.supplyLayoutDefaults=Mo,UL.calc=function(t,e){if(!0===e.visible){var n,i=[],a=[],o=ri.getFromId(t,\"h\"===e.orientation?e.yaxis||\"y\":e.xaxis||\"x\"),s=\"h\"===e.orientation?\"y\":\"x\",l={x:\"y\",y:\"x\"}[s],u=e[s+\"calendar\"],c=e.cumulative;df(e,o,s);var h,f,p,d=DL(t,e,o,s),g=d[0],v=d[1],m=\"string\"==typeof g.size,y=[],x=m?y:g,b=[],_=[],w=[],M=0,A=e.histnorm,k=e.histfunc,T=-1!==A.indexOf(\"density\");c.enabled&&T&&(A=A.replace(/ ?density$/,\"\"),T=!1);var S,E=\"max\"===k||\"min\"===k?null:0,C=Kh.count,L=gf[A],z=!1,P=function(t){return o.r2c(t,0,u)};for(ne.isArrayOrTypedArray(e[l])&&\"count\"!==k&&(S=e[l],z=\"avg\"===k,C=Kh[k]),n=P(g.start),f=P(g.end)+(n-ri.tickIncrement(n,g.size,!1,u))/1e6;n<f&&i.length<1e6&&(h=ri.tickIncrement(n,g.size,!1,u),i.push((n+h)/2),a.push(E),w.push([]),y.push(n),T&&b.push(1/(h-n)),z&&_.push(0),!(h<=n));)n=h;y.push(n),m||\"date\"!==o.type||(x={start:P(x.start),end:P(x.end),size:x.size});var I,D=a.length,O=!0,R=1/0,F=1/0,B={};for(n=0;n<v.length;n++){var N=v[n];(p=ne.findBin(N,x))>=0&&p<D&&(M+=C(p,n,a,S,_),O&&w[p].length&&N!==v[w[p][0]]&&(O=!1),w[p].push(n),B[n]=p,R=Math.min(R,N-y[p]),F=Math.min(F,y[p+1]-N))}O||(I=of(R,F,y,o,u)),z&&(M=Jh(a,_)),L&&L(a,M,b),c.enabled&&function(t,e,r){var n,i,a;function o(e){a=t[e],t[e]/=2}function s(e){i=t[e],t[e]=a+i/2,a+=i}if(\"half\"===r)if(\"increasing\"===e)for(o(0),n=1;n<t.length;n++)s(n);else for(o(t.length-1),n=t.length-2;n>=0;n--)s(n);else if(\"increasing\"===e){for(n=1;n<t.length;n++)t[n]+=t[n-1];\"exclude\"===r&&(t.unshift(0),t.pop())}else{for(n=t.length-2;n>=0;n--)t[n]+=t[n+1];\"exclude\"===r&&(t.push(0),t.shift())}}(a,c.direction,c.currentbin);var j=Math.min(i.length,a.length),V=[],U=0,q=j-1;for(n=0;n<j;n++)if(a[n]){U=n;break}for(n=j-1;n>=U;n--)if(a[n]){q=n;break}for(n=U;n<=q;n++)if(r(i[n])&&r(a[n])){var H={p:i[n],s:a[n],b:0};c.enabled||(H.pts=w[n],O?H.p0=H.p1=w[n].length?v[w[n][0]]:i[n]:(H.p0=I(y[n]),H.p1=I(y[n+1],!0))),V.push(H)}return 1===V.length&&(V[0].width1=ri.tickIncrement(V[0].p,g.size,!1,u)-V[0].p),ma(V,e),ne.isArrayOrTypedArray(e.selectedpoints)&&ne.tagSelected(V,e,B),V}},UL.setPositions=Vo,UL.plot=Lo,UL.style=$o,UL.colorbar=is,UL.hoverPoints=function(t,e,r,n){var i=_o(t,e,r,n);if(i){var a=(t=i[0]).cd[t.index],o=t.cd[0].trace;if(!o.cumulative.enabled){var s=\"h\"===o.orientation?\"y\":\"x\";t[s+\"Label\"]=VL(t[s+\"a\"],a.p0,a.p1)}return i}},UL.selectPoints=Oo,UL.eventData=jL,UL.moduleType=\"trace\",UL.name=\"histogram\",UL.basePlotModule=ua,UL.categories=[\"cartesian\",\"bar\",\"histogram\",\"oriented\",\"errorBarsOK\",\"showLegend\"],UL.meta={};var qL=UL,HL=m.extendFlat,GL=HL({},{x:zL.x,y:zL.y,z:{valType:\"data_array\",editType:\"calc\"},marker:{color:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},histnorm:zL.histnorm,histfunc:zL.histfunc,autobinx:zL.autobinx,nbinsx:zL.nbinsx,xbins:zL.xbins,autobiny:zL.autobiny,nbinsy:zL.nbinsy,ybins:zL.ybins,xgap:Lh.xgap,ygap:Lh.ygap,zsmooth:Lh.zsmooth,zhoverformat:Lh.zhoverformat},Pe,{autocolorscale:HL({},Pe.autocolorscale,{dflt:!1})},{colorbar:ze}),WL=function(t,e,r,n){var i=r(\"x\"),a=r(\"y\");if(i&&i.length&&a&&a.length){P.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],n),(r(\"z\")||r(\"marker.color\"))&&r(\"histfunc\");NL(0,e,r,[\"x\",\"y\"])}else e.visible=!1},YL=ri.hoverLabelText,XL={};XL.attributes=GL,XL.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,GL,r,n)}WL(t,e,i,n),!1!==e.visible&&(Xx(0,0,i),Ye(t,e,n,i,{prefix:\"\",cLetter:\"z\"}))},XL.calc=bf,XL.plot=$f,XL.colorbar=kh,XL.style=up,XL.hoverPoints=function(t,e,r,n,i,a){var o=Rf(t,e,r,0,0,a);if(o){var s=(t=o[0]).index,l=s[0],u=s[1],c=t.cd[0],h=c.xRanges[u],f=c.yRanges[l];return t.xLabel=YL(t.xa,h[0],h[1]),t.yLabel=YL(t.ya,f[0],f[1]),o}},XL.eventData=jL,XL.moduleType=\"trace\",XL.name=\"histogram2d\",XL.basePlotModule=ua,XL.categories=[\"cartesian\",\"2dMap\",\"histogram\"],XL.meta={};var ZL=XL,JL=m.extendFlat,KL=JL({x:GL.x,y:GL.y,z:GL.z,marker:GL.marker,histnorm:GL.histnorm,histfunc:GL.histfunc,autobinx:GL.autobinx,nbinsx:GL.nbinsx,xbins:GL.xbins,autobiny:GL.autobiny,nbinsy:GL.nbinsy,ybins:GL.ybins,autocontour:Rh.autocontour,ncontours:Rh.ncontours,contours:Rh.contours,line:Rh.line,zhoverformat:GL.zhoverformat},Pe,{zmin:JL({},Pe.zmin,{editType:\"calc\"}),zmax:JL({},Pe.zmax,{editType:\"calc\"})},{colorbar:ze}),QL={};QL.attributes=KL,QL.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,KL,r,n)}WL(t,e,i,n),!1!==e.visible&&(zf(0,e,i,function(r){return ne.coerce2(t,e,KL,r)}),Pf(t,e,i,n))},QL.calc=_f,QL.plot=ip.plot,QL.style=cp,QL.colorbar=Af,QL.hoverPoints=Ff,QL.moduleType=\"trace\",QL.name=\"histogram2dcontour\",QL.basePlotModule=ua,QL.categories=[\"cartesian\",\"2dMap\",\"contour\",\"histogram\"],QL.meta={};var $L=QL,tz=m.extendFlat,ez=(0,ye.overrideAll)({visible:Ce.visible,showspikes:{valType:\"boolean\",dflt:!0},spikesides:{valType:\"boolean\",dflt:!0},spikethickness:{valType:\"number\",min:0,dflt:2},spikecolor:{valType:\"color\",dflt:Oe.defaultLine},showbackground:{valType:\"boolean\",dflt:!1},backgroundcolor:{valType:\"color\",dflt:\"rgba(204, 204, 204, 0.5)\"},showaxeslabels:{valType:\"boolean\",dflt:!0},color:Ce.color,categoryorder:Ce.categoryorder,categoryarray:Ce.categoryarray,title:Ce.title,titlefont:Ce.titlefont,type:Ce.type,autorange:Ce.autorange,rangemode:Ce.rangemode,range:Ce.range,tickmode:Ce.tickmode,nticks:Ce.nticks,tick0:Ce.tick0,dtick:Ce.dtick,tickvals:Ce.tickvals,ticktext:Ce.ticktext,ticks:Ce.ticks,mirror:Ce.mirror,ticklen:Ce.ticklen,tickwidth:Ce.tickwidth,tickcolor:Ce.tickcolor,showticklabels:Ce.showticklabels,tickfont:Ce.tickfont,tickangle:Ce.tickangle,tickprefix:Ce.tickprefix,showtickprefix:Ce.showtickprefix,ticksuffix:Ce.ticksuffix,showticksuffix:Ce.showticksuffix,showexponent:Ce.showexponent,exponentformat:Ce.exponentformat,separatethousands:Ce.separatethousands,tickformat:Ce.tickformat,tickformatstops:Ce.tickformatstops,hoverformat:Ce.hoverformat,showline:Ce.showline,linecolor:Ce.linecolor,linewidth:Ce.linewidth,showgrid:Ce.showgrid,gridcolor:tz({},Ce.gridcolor,{dflt:\"rgb(204, 204, 204)\"}),gridwidth:Ce.gridwidth,zeroline:Ce.zeroline,zerolinecolor:Ce.zerolinecolor,zerolinewidth:Ce.zerolinewidth},\"plot\",\"from-root\"),rz=s.mix,nz=[\"xaxis\",\"yaxis\",\"zaxis\"],iz=function(t,e,r){var n,i;function a(t,e){return ne.coerce(n,i,ez,t,e)}for(var o=0;o<nz.length;o++){var s=nz[o];n=t[s]||{},i=e[s]={_id:s[0]+r.scene,_name:s},na(n,i,a,r.data),Qi(n,i,a,{font:r.font,letter:s[0],data:r.data,showGrid:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),a(\"gridcolor\",rz(i.color,r.bgColor,13600/187).toRgbString()),a(\"title\",s[0]),i.setScale=ne.noop,a(\"showspikes\")&&(a(\"spikesides\"),a(\"spikethickness\"),a(\"spikecolor\",i.color)),a(\"showaxeslabels\"),a(\"showbackground\")&&a(\"backgroundcolor\")}},az=qc.attributes,oz=m.extendFlat;function sz(t,e,r){return{x:{valType:\"number\",dflt:t,editType:\"camera\"},y:{valType:\"number\",dflt:e,editType:\"camera\"},z:{valType:\"number\",dflt:r,editType:\"camera\"},editType:\"camera\"}}var lz={_arrayAttrRegexps:[(0,ne.counterRegex)(\"scene\",\".annotations\",!0)],bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"plot\"},camera:{up:oz(sz(0,0,1),{}),center:oz(sz(0,0,0),{}),eye:oz(sz(1.25,1.25,1.25),{}),editType:\"camera\"},domain:az({name:\"scene\",editType:\"plot\"}),aspectmode:{valType:\"enumerated\",values:[\"auto\",\"cube\",\"data\",\"manual\"],dflt:\"auto\",editType:\"plot\",impliedEdits:{\"aspectratio.x\":void 0,\"aspectratio.y\":void 0,\"aspectratio.z\":void 0}},aspectratio:{x:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},y:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},z:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},editType:\"plot\",impliedEdits:{aspectmode:\"manual\"}},xaxis:ez,yaxis:ez,zaxis:ez,dragmode:{valType:\"enumerated\",values:[\"orbit\",\"turntable\",\"zoom\",\"pan\",!1],dflt:\"turntable\",editType:\"plot\"},hovermode:{valType:\"enumerated\",values:[\"closest\",!1],dflt:\"closest\",editType:\"modebar\"},editType:\"plot\",_deprecated:{cameraposition:{valType:\"info_array\",editType:\"camera\"}}};function uz(t,e,r,n){for(var i=r(\"bgcolor\"),a=Oe.combine(i,n.paper_bgcolor),o=[\"up\",\"center\",\"eye\"],s=0;s<o.length;s++)r(\"camera.\"+o[s]+\".x\"),r(\"camera.\"+o[s]+\".y\"),r(\"camera.\"+o[s]+\".z\");var l=!!r(\"aspectratio.x\")&&!!r(\"aspectratio.y\")&&!!r(\"aspectratio.z\"),u=r(\"aspectmode\",l?\"manual\":\"auto\");l||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},\"manual\"===u&&(e.aspectmode=\"auto\"),t.aspectmode=e.aspectmode),iz(t,e,{font:n.font,scene:n.id,data:n.fullData,bgColor:a,calendar:n.calendar,fullLayout:n.fullLayout}),P.getComponentMethod(\"annotations3d\",\"handleDefaults\")(t,e,n),r(\"dragmode\",n.getDfltFromLayout(\"dragmode\")),r(\"hovermode\",n.getDfltFromLayout(\"hovermode\"))}var cz=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],p=e[11],d=e[12],g=e[13],v=e[14],m=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*d,k=c*v-f*d,T=c*m-p*d,S=h*v-f*g,E=h*m-p*g,C=f*m-p*v,L=y*C-x*E+b*S+_*T-w*k+M*A;if(!L)return null;return L=1/L,t[0]=(s*C-l*E+u*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(g*M-v*w+m*_)*L,t[3]=(f*w-h*M-p*_)*L,t[4]=(l*T-o*C-u*k)*L,t[5]=(r*C-i*T+a*k)*L,t[6]=(v*b-d*M-m*x)*L,t[7]=(c*M-f*b+p*x)*L,t[8]=(o*E-s*T+u*A)*L,t[9]=(n*T-r*E-a*A)*L,t[10]=(d*w-g*b+m*y)*L,t[11]=(h*b-c*w-p*y)*L,t[12]=(s*k-o*S-l*A)*L,t[13]=(r*S-n*k+i*A)*L,t[14]=(g*x-d*_-v*y)*L,t[15]=(c*_-h*x+f*y)*L,t};var hz=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};var fz=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d=e[0],g=e[1],v=e[2],m=n[0],y=n[1],x=n[2],b=r[0],_=r[1],w=r[2];if(Math.abs(d-b)<1e-6&&Math.abs(g-_)<1e-6&&Math.abs(v-w)<1e-6)return hz(t);c=d-b,h=g-_,f=v-w,p=1/Math.sqrt(c*c+h*h+f*f),i=y*(f*=p)-x*(h*=p),a=x*(c*=p)-m*f,o=m*h-y*c,(p=Math.sqrt(i*i+a*a+o*o))?(i*=p=1/p,a*=p,o*=p):(i=0,a=0,o=0);s=h*o-f*a,l=f*i-c*o,u=c*a-h*i,(p=Math.sqrt(s*s+l*l+u*u))?(s*=p=1/p,l*=p,u*=p):(s=0,l=0,u=0);return t[0]=i,t[1]=s,t[2]=c,t[3]=0,t[4]=a,t[5]=l,t[6]=h,t[7]=0,t[8]=o,t[9]=u,t[10]=f,t[11]=0,t[12]=-(i*d+a*g+o*v),t[13]=-(s*d+l*g+u*v),t[14]=-(c*d+h*g+f*v),t[15]=1,t};var pz=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];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]);return 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};var dz=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];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]);return 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};var gz=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];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]);return 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};var vz=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};var mz=function(t,e,r){var n,i,a,o,s,l,u,c,h,f,p,d,g=r[0],v=r[1],m=r[2];e===t?(t[12]=e[0]*g+e[4]*v+e[8]*m+e[12],t[13]=e[1]*g+e[5]*v+e[9]*m+e[13],t[14]=e[2]*g+e[6]*v+e[10]*m+e[14],t[15]=e[3]*g+e[7]*v+e[11]*m+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],p=e[10],d=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]=p,t[11]=d,t[12]=n*g+s*v+h*m+e[12],t[13]=i*g+l*v+f*m+e[13],t[14]=a*g+u*v+p*m+e[14],t[15]=o*g+c*v+d*m+e[15]);return t};var yz=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a);return t};var xz=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],p=t[12],d=t[13],g=t[14],v=t[15];return(e*o-r*a)*(h*v-f*g)-(e*s-n*a)*(c*v-f*d)+(e*l-i*a)*(c*g-h*d)+(r*s-n*o)*(u*v-f*p)-(r*l-i*o)*(u*g-h*p)+(n*l-i*s)*(u*d-c*p)};var bz=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};var _z=function(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};var wz=function(){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};var Mz=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};var Az=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};var kz=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]};var Tz={length:function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)},normalize:yz,dot:kz,cross:Az},Sz=wz(),Ez=wz(),Cz=[0,0,0,0],Lz=[[0,0,0],[0,0,0],[0,0,0]],zz=[0,0,0],Pz=function(t,e,r,n,i,a){if(e||(e=[0,0,0]),r||(r=[0,0,0]),n||(n=[0,0,0]),i||(i=[0,0,0,1]),a||(a=[0,0,0,1]),!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}(Sz,t))return!1;if(_z(Ez,Sz),Ez[3]=0,Ez[7]=0,Ez[11]=0,Ez[15]=1,Math.abs(xz(Ez)<1e-8))return!1;var o,s,l,u,c,h,f,p=Sz[3],d=Sz[7],g=Sz[11],v=Sz[12],m=Sz[13],y=Sz[14],x=Sz[15];if(0!==p||0!==d||0!==g){if(Cz[0]=p,Cz[1]=d,Cz[2]=g,Cz[3]=x,!cz(Ez,Ez))return!1;Mz(Ez,Ez),o=i,l=Ez,u=(s=Cz)[0],c=s[1],h=s[2],f=s[3],o[0]=l[0]*u+l[4]*c+l[8]*h+l[12]*f,o[1]=l[1]*u+l[5]*c+l[9]*h+l[13]*f,o[2]=l[2]*u+l[6]*c+l[10]*h+l[14]*f,o[3]=l[3]*u+l[7]*c+l[11]*h+l[15]*f}else i[0]=i[1]=i[2]=0,i[3]=1;if(e[0]=v,e[1]=m,e[2]=y,function(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]}(Lz,Sz),r[0]=Tz.length(Lz[0]),Tz.normalize(Lz[0],Lz[0]),n[0]=Tz.dot(Lz[0],Lz[1]),Iz(Lz[1],Lz[1],Lz[0],1,-n[0]),r[1]=Tz.length(Lz[1]),Tz.normalize(Lz[1],Lz[1]),n[0]/=r[1],n[1]=Tz.dot(Lz[0],Lz[2]),Iz(Lz[2],Lz[2],Lz[0],1,-n[1]),n[2]=Tz.dot(Lz[1],Lz[2]),Iz(Lz[2],Lz[2],Lz[1],1,-n[2]),r[2]=Tz.length(Lz[2]),Tz.normalize(Lz[2],Lz[2]),n[1]/=r[2],n[2]/=r[2],Tz.cross(zz,Lz[1],Lz[2]),Tz.dot(Lz[0],zz)<0)for(var b=0;b<3;b++)r[b]*=-1,Lz[b][0]*=-1,Lz[b][1]*=-1,Lz[b][2]*=-1;return a[0]=.5*Math.sqrt(Math.max(1+Lz[0][0]-Lz[1][1]-Lz[2][2],0)),a[1]=.5*Math.sqrt(Math.max(1-Lz[0][0]+Lz[1][1]-Lz[2][2],0)),a[2]=.5*Math.sqrt(Math.max(1-Lz[0][0]-Lz[1][1]+Lz[2][2],0)),a[3]=.5*Math.sqrt(Math.max(1+Lz[0][0]+Lz[1][1]+Lz[2][2],0)),Lz[2][1]>Lz[1][2]&&(a[0]=-a[0]),Lz[0][2]>Lz[2][0]&&(a[1]=-a[1]),Lz[1][0]>Lz[0][1]&&(a[2]=-a[2]),!0};function Iz(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 Dz=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],p=e[10],d=e[11],g=e[12],v=e[13],m=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*v,t[2]=x*a+b*u+_*p+w*m,t[3]=x*o+b*c+_*d+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*v,t[6]=x*a+b*u+_*p+w*m,t[7]=x*o+b*c+_*d+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*v,t[10]=x*a+b*u+_*p+w*m,t[11]=x*o+b*c+_*d+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*v,t[14]=x*a+b*u+_*p+w*m,t[15]=x*o+b*c+_*d+w*y,t};var Oz={identity:hz,translate:mz,multiply:Dz,create:wz,scale:vz,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,p=i*l,d=i*u,g=a*u,v=o*s,m=o*l,y=o*u;return t[0]=1-(p+g),t[1]=h+y,t[2]=f-m,t[3]=0,t[4]=h-y,t[5]=1-(c+g),t[6]=d+v,t[7]=0,t[8]=f+m,t[9]=d-v,t[10]=1-(c+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},Rz=(Oz.create(),Oz.create()),Fz=function(t,e,r,n,i,a){return Oz.identity(t),Oz.fromRotationTranslation(t,a,e),t[3]=i[0],t[7]=i[1],t[11]=i[2],t[15]=i[3],Oz.identity(Rz),0!==n[2]&&(Rz[9]=n[2],Oz.multiply(t,t,Rz)),0!==n[1]&&(Rz[9]=0,Rz[8]=n[1],Oz.multiply(t,t,Rz)),0!==n[0]&&(Rz[8]=0,Rz[4]=n[0],Oz.multiply(t,t,Rz)),Oz.scale(t,t,r),t};var Bz=function(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],h=e[2],f=e[3],p=r[0],d=r[1],g=r[2],v=r[3];(a=u*p+c*d+h*g+f*v)<0&&(a=-a,p=-p,d=-d,g=-g,v=-v);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);return t[0]=s*u+l*p,t[1]=s*c+l*d,t[2]=s*h+l*g,t[3]=s*f+l*v,t},Nz=qz(),jz=qz(),Vz=qz(),Uz=function(t,e,r,n){if(0===xz(e)||0===xz(r))return!1;var i=Pz(e,Nz.translate,Nz.scale,Nz.skew,Nz.perspective,Nz.quaternion),a=Pz(r,jz.translate,jz.scale,jz.skew,jz.perspective,jz.quaternion);return!(!i||!a||(bz(Vz.translate,Nz.translate,jz.translate,n),bz(Vz.skew,Nz.skew,jz.skew,n),bz(Vz.scale,Nz.scale,jz.scale,n),bz(Vz.perspective,Nz.perspective,jz.perspective,n),Bz(Vz.quaternion,Nz.quaternion,jz.quaternion,n),Fz(t,Vz.translate,Vz.scale,Vz.skew,Vz.perspective,Vz.quaternion),0))};function qz(){return{translate:Hz(),scale:Hz(1),skew:Hz(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function Hz(t){return[t||0,t||0,t||0]}var Gz=[0,0,0],Wz=function(t){return new Yz((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};function Yz(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]}var Xz=Yz.prototype;Xz.recalcMatrix=function(t){var e=this._time,r=wT.le(e,t),n=this.computedMatrix;if(!(r<0)){var i=this._components;if(r===e.length-1)for(var a=16*r,o=0;o<16;++o)n[o]=i[a++];else{var s=e[r+1]-e[r],l=(a=16*r,this.prevMatrix),u=!0;for(o=0;o<16;++o)l[o]=i[a++];var c=this.nextMatrix;for(o=0;o<16;++o)c[o]=i[a++],u=u&&l[o]===c[o];if(s<1e-6||u)for(o=0;o<16;++o)n[o]=l[o];else Uz(n,l,c,(t-e[r])/s)}var h=this.computedUp;h[0]=n[1],h[1]=n[5],h[2]=n[9],yz(h,h);var f=this.computedInverse;cz(f,n);var p=this.computedEye,d=f[15];p[0]=f[12]/d,p[1]=f[13]/d,p[2]=f[14]/d;var g=this.computedCenter,v=Math.exp(this.computedRadius[0]);for(o=0;o<3;++o)g[o]=p[o]-n[2+4*o]*v}},Xz.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)}},Xz.flush=function(t){var e=wT.gt(this._time,t)-2;e<0||(this._time.splice(0,e),this._components.splice(0,16*e))},Xz.lastT=function(){return this._time[this._time.length-1]},Xz.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||Gz,n=n||this.computedUp,this.setMatrix(t,fz(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},Xz.rotate=function(t,e,r,n){this.recalcMatrix(t);var i=this.computedInverse;e&&dz(i,i,e),r&&pz(i,i,r),n&&gz(i,i,n),this.setMatrix(t,cz(this.computedMatrix,i))};var Zz=[0,0,0];Xz.pan=function(t,e,r,n){Zz[0]=-(e||0),Zz[1]=-(r||0),Zz[2]=-(n||0),this.recalcMatrix(t);var i=this.computedInverse;mz(i,i,Zz),this.setMatrix(t,cz(i,i))},Xz.translate=function(t,e,r,n){Zz[0]=e||0,Zz[1]=r||0,Zz[2]=n||0,this.recalcMatrix(t);var i=this.computedMatrix;mz(i,i,Zz),this.setMatrix(t,i)},Xz.setMatrix=function(t,e){if(!(t<this.lastT())){this._time.push(t);for(var r=0;r<16;++r)this._components.push(e[r])}},Xz.setDistance=function(t,e){this.computedRadius[0]=e},Xz.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},Xz.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e};var Jz={};(Jz=function(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 p=t.length-1;p>=0;--p)a[p]=u*t[p]+c*e[p]+h*r[p]+f*n[p];return a}return u*t+c*e+h*r+f*n}).derivative=function(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};var Kz=function(t,e,r){switch(arguments.length){case 0:return new $z([0],[0],0);case 1:if(\"number\"==typeof t){var n=eP(t);return new $z(n,n,0)}return new $z(t,eP(t.length),0);case 2:if(\"number\"==typeof e){var n=eP(t.length);return new $z(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error(\"state and velocity lengths must match\");return new $z(t,e,r)}};function Qz(t,e,r){return Math.min(e,Math.max(t,r))}function $z(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()]}var tP=$z.prototype;function eP(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=0;return e}tP.flush=function(t){var e=wT.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))},tP.curve=function(t){var e=this._time,r=e.length,n=wT.le(e,t),i=this._scratch[0],a=this._state,o=this._velocity,s=this.dimension,l=this.bounds;if(n<0)for(var u=s-1,c=0;c<s;++c,--u)i[c]=a[u];else if(n>=r-1){u=a.length-1;var h=t-e[r-1];for(c=0;c<s;++c,--u)i[c]=a[u]+h*o[u]}else{u=s*(n+1)-1;var f=e[n],p=e[n+1]-f||1,d=this._scratch[1],g=this._scratch[2],v=this._scratch[3],m=this._scratch[4],y=!0;for(c=0;c<s;++c,--u)d[c]=a[u],v[c]=o[u]*p,g[c]=a[u+s],m[c]=o[u+s]*p,y=y&&d[c]===g[c]&&v[c]===m[c]&&0===v[c];if(y)for(c=0;c<s;++c)i[c]=d[c];else Jz(d,v,g,m,(t-f)/p,i)}var x=l[0],b=l[1];for(c=0;c<s;++c)i[c]=Qz(x[c],b[c],i[c]);return i},tP.dcurve=function(t){var e=this._time,r=e.length,n=wT.le(e,t),i=this._scratch[0],a=this._state,o=this._velocity,s=this.dimension;if(n>=r-1)for(var l=a.length-1,u=(e[r-1],0);u<s;++u,--l)i[u]=o[l];else{l=s*(n+1)-1;var c=e[n],h=e[n+1]-c||1,f=this._scratch[1],p=this._scratch[2],d=this._scratch[3],g=this._scratch[4],v=!0;for(u=0;u<s;++u,--l)f[u]=a[l],d[u]=o[l]*h,p[u]=a[l+s],g[u]=o[l+s]*h,v=v&&f[u]===p[u]&&d[u]===g[u]&&0===d[u];if(v)for(u=0;u<s;++u)i[u]=0;else{Jz.derivative(f,d,p,g,(t-c)/h,i);for(u=0;u<s;++u)i[u]/=h}}return i},tP.lastT=function(){var t=this._time;return t[t.length-1]},tP.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r>=0;--r)if(t[--e])return!1;return!0},tP.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,a=n.length-this.dimension,o=this.bounds,s=o[0],l=o[1];this._time.push(e,t);for(var u=0;u<2;++u)for(var c=0;c<r;++c)n.push(n[a++]),i.push(0);this._time.push(t);for(c=r;c>0;--c)n.push(Qz(s[c-1],l[c-1],arguments[c])),i.push(0)}},tP.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,a=n.length-this.dimension,o=t-e,s=this.bounds,l=s[0],u=s[1],c=o>1e-6?1/o:0;this._time.push(t);for(var h=r;h>0;--h){var f=Qz(l[h-1],u[h-1],arguments[h]);n.push(f),i.push((f-n[a++])*c)}}},tP.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,n=this._velocity,i=this.bounds,a=i[0],o=i[1];this._time.push(t);for(var s=e;s>0;--s)r.push(Qz(a[s-1],o[s-1],arguments[s])),n.push(0)}},tP.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,a=n.length-this.dimension,o=this.bounds,s=o[0],l=o[1],u=t-e,c=u>1e-6?1/u:0;this._time.push(t);for(var h=r;h>0;--h){var f=arguments[h];n.push(Qz(s[h-1],l[h-1],n[a++]+f)),i.push(f*c)}}},tP.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,n=this._state,i=this._velocity,a=n.length-r,o=this.bounds,s=o[0],l=o[1],u=t-e;this._time.push(t);for(var c=r-1;c>=0;--c)n.push(Qz(s[c],l[c],n[a]+u*i[a])),i.push(0),a+=1}};var rP=function(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};var nP=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),oP(r=[].slice.call(r,0,4),r);var i=new sP(r,e,Math.log(n));i.setDistanceLimits(t.zoomMin,t.zoomMax),(\"eye\"in t||\"up\"in t)&&i.lookAt(0,t.eye,t.center,t.up);return i};function iP(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function aP(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function oP(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=aP(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function sP(t,e,r){this.radius=Kz([r]),this.center=Kz(e),this.rotation=Kz(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)}var lP=sP.prototype;lP.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},lP.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;oP(e,e);var r=this.computedMatrix;jv(r,e);var n=this.computedCenter,i=this.computedEye,a=this.computedUp,o=Math.exp(this.computedRadius[0]);i[0]=n[0]+o*r[2],i[1]=n[1]+o*r[6],i[2]=n[2]+o*r[10],a[0]=r[1],a[1]=r[5],a[2]=r[9];for(var s=0;s<3;++s){for(var l=0,u=0;u<3;++u)l+=r[s+4*u]*i[u];r[12+s]=-l}},lP.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},lP.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},lP.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},lP.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],l=iP(a,o,s);a/=l,o/=l,s/=l;var u=i[0],c=i[4],h=i[8],f=u*a+c*o+h*s,p=iP(u-=a*f,c-=o*f,h-=s*f);u/=p,c/=p,h/=p;var d=i[2],g=i[6],v=i[10],m=d*a+g*o+v*s,y=d*u+g*c+v*h,x=iP(d-=m*a+y*u,g-=m*o+y*c,v-=m*s+y*h);d/=x,g/=x,v/=x;var b=u*e+a*r,_=c*e+o*r,w=h*e+s*r;this.center.move(t,b,_,w);var M=Math.exp(this.computedRadius[0]);M=Math.max(1e-4,M+n),this.radius.set(t,Math.log(M))},lP.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],l=i[1],u=i[5],c=i[9],h=i[2],f=i[6],p=i[10],d=e*a+r*l,g=e*o+r*u,v=e*s+r*c,m=-(f*v-p*g),y=-(p*d-h*v),x=-(h*g-f*d),b=Math.sqrt(Math.max(0,1-Math.pow(m,2)-Math.pow(y,2)-Math.pow(x,2))),_=aP(m,y,x,b);_>1e-6?(m/=_,y/=_,x/=_,b/=_):(m=y=x=0,b=1);var w=this.computedRotation,M=w[0],A=w[1],k=w[2],T=w[3],S=M*b+T*m+A*x-k*y,E=A*b+T*y+k*m-M*x,C=k*b+T*x+M*y-A*m,L=T*b-M*m-A*y-k*x;if(n){m=h,y=f,x=p;var z=Math.sin(n)/iP(m,y,x);m*=z,y*=z,x*=z,L=L*(b=Math.cos(e))-(S=S*b+L*m+E*x-C*y)*m-(E=E*b+L*y+C*m-S*x)*y-(C=C*b+L*x+S*y-E*m)*x}var P=aP(S,E,C,L);P>1e-6?(S/=P,E/=P,C/=P,L/=P):(S=E=C=0,L=1),this.rotation.set(t,S,E,C,L)},lP.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;fz(i,e,r,n);var a=this.computedRotation;rP(a,i[0],i[1],i[2],i[4],i[5],i[6],i[8],i[9],i[10]),oP(a,a),this.rotation.set(t,a[0],a[1],a[2],a[3]);for(var o=0,s=0;s<3;++s)o+=Math.pow(r[s]-e[s],2);this.radius.set(t,.5*Math.log(Math.max(o,1e-6))),this.center.set(t,r[0],r[1],r[2])},lP.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},lP.setMatrix=function(t,e){var r=this.computedRotation;rP(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),oP(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;cz(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,o=n[13]/i,s=n[14]/i;this.recalcMatrix(t);var l=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*l,o-n[6]*l,s-n[10]*l),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},lP.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},lP.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},lP.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])]},lP.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]}},lP.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)};var uP=function(t,e,r,n){var i,a,o,s,l,u,c,h,f,p,d,g,v,m,y,x,b,_,w,M,A,k,T,S,E=n[0],C=n[1],L=n[2],z=Math.sqrt(E*E+C*C+L*L);if(Math.abs(z)<1e-6)return null;E*=z=1/z,C*=z,L*=z,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],p=e[6],d=e[7],g=e[8],v=e[9],m=e[10],y=e[11],x=E*E*o+a,b=C*E*o+L*i,_=L*E*o-C*i,w=E*C*o-L*i,M=C*C*o+a,A=L*C*o+E*i,k=E*L*o+C*i,T=C*L*o-E*i,S=L*L*o+a,t[0]=s*x+h*b+g*_,t[1]=l*x+f*b+v*_,t[2]=u*x+p*b+m*_,t[3]=c*x+d*b+y*_,t[4]=s*w+h*M+g*A,t[5]=l*w+f*M+v*A,t[6]=u*w+p*M+m*A,t[7]=c*w+d*M+y*A,t[8]=s*k+h*T+g*S,t[9]=l*k+f*T+v*S,t[10]=u*k+p*T+m*S,t[11]=c*k+d*T+y*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t};var cP=function(t){var e=(t=t||{}).center||[0,0,0],r=t.up||[0,1,0],n=t.right||pP(r),i=t.radius||1,a=t.theta||0,o=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),yz(r,r),n=[].slice.call(n,0,3),yz(n,n),\"eye\"in t){var s=t.eye,l=[s[0]-e[0],s[1]-e[1],s[2]-e[2]];Az(n,l,r),hP(n[0],n[1],n[2])<1e-6?n=pP(r):yz(n,n),i=hP(l[0],l[1],l[2]);var u=kz(r,l)/i,c=kz(n,l)/i;o=Math.acos(u),a=Math.acos(c)}return i=Math.log(i),new dP(t.zoomMin,t.zoomMax,e,r,n,i,a,o)};function hP(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function fP(t){return Math.min(1,Math.max(-1,t))}function pP(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(s=0;s<3;++s)i[s]-=o/a*t[s];return yz(i,i),i}function dP(t,e,r,n,i,a,o,s){this.center=Kz(r),this.up=Kz(n),this.right=Kz(i),this.radius=Kz([a]),this.angle=Kz([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 l=0;l<16;++l)this.computedMatrix[l]=.5;this.recalcMatrix(0)}var gP=dP.prototype;gP.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},gP.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])]},gP.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,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var o=Math.sqrt(n),s=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,s+=r[a]*r[a],e[a]/=o;var l=Math.sqrt(s);for(a=0;a<3;++a)r[a]/=l;var u=this.computedToward;Az(u,e,r),yz(u,u);var c=Math.exp(this.computedRadius[0]),h=this.computedAngle[0],f=this.computedAngle[1],p=Math.cos(h),d=Math.sin(h),g=Math.cos(f),v=Math.sin(f),m=this.computedCenter,y=p*g,x=d*g,b=v,_=-p*v,w=-d*v,M=g,A=this.computedEye,k=this.computedMatrix;for(a=0;a<3;++a){var T=y*r[a]+x*u[a]+b*e[a];k[4*a+1]=_*r[a]+w*u[a]+M*e[a],k[4*a+2]=T,k[4*a+3]=0}var S=k[1],E=k[5],C=k[9],L=k[2],z=k[6],P=k[10],I=E*P-C*z,D=C*L-S*P,O=S*z-E*L,R=hP(I,D,O);I/=R,D/=R,O/=R,k[0]=I,k[4]=D,k[8]=O;for(a=0;a<3;++a)A[a]=m[a]+k[2+4*a]*c;for(a=0;a<3;++a){s=0;for(var F=0;F<3;++F)s+=k[a+4*F]*A[F];k[12+a]=-s}k[15]=1},gP.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 vP=[0,0,0];gP.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;vP[0]=i[2],vP[1]=i[6],vP[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];uP(i,i,n,vP);for(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])}},gP.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=hP(a,o,s);a/=l,o/=l,s/=l;var u=i[0],c=i[4],h=i[8],f=u*a+c*o+h*s,p=hP(u-=a*f,c-=o*f,h-=s*f),d=(u/=p)*e+a*r,g=(c/=p)*e+o*r,v=(h/=p)*e+s*r;this.center.move(t,d,g,v);var m=Math.exp(this.computedRadius[0]);m=Math.max(1e-4,m+n),this.radius.set(t,Math.log(m))},gP.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},gP.setMatrix=function(t,e,r,n){var i=1;\"number\"==typeof r&&(i=0|r),(i<0||i>3)&&(i=1);var a=(i+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var o=e[i],s=e[i+4],l=e[i+8];if(n){var u=Math.abs(o),c=Math.abs(s),h=Math.abs(l),f=Math.max(u,c,h);u===f?(o=o<0?-1:1,s=l=0):h===f?(l=l<0?-1:1,o=s=0):(s=s<0?-1:1,o=l=0)}else{var p=hP(o,s,l);o/=p,s/=p,l/=p}var d,g,v=e[a],m=e[a+4],y=e[a+8],x=v*o+m*s+y*l,b=hP(v-=o*x,m-=s*x,y-=l*x),_=s*(y/=b)-l*(m/=b),w=l*(v/=b)-o*y,M=o*m-s*v,A=hP(_,w,M);if(_/=A,w/=A,M/=A,this.center.jump(t,V,U,q),this.radius.idle(t),this.up.jump(t,o,s,l),this.right.jump(t,v,m,y),2===i){var k=e[1],T=e[5],S=e[9],E=k*v+T*m+S*y,C=k*_+T*w+S*M;d=I<0?-Math.PI/2:Math.PI/2,g=Math.atan2(C,E)}else{var L=e[2],z=e[6],P=e[10],I=L*o+z*s+P*l,D=L*v+z*m+P*y,O=L*_+z*w+P*M;d=Math.asin(fP(I)),g=Math.atan2(O,D)}this.angle.jump(t,g,d),this.recalcMatrix(t);var R=e[2],F=e[6],B=e[10],N=this.computedMatrix;cz(N,e);var j=N[15],V=N[12]/j,U=N[13]/j,q=N[14]/j,H=Math.exp(this.computedRadius[0]);this.center.jump(t,V-R*H,U-F*H,q-B*H)},gP.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},gP.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},gP.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},gP.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},gP.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=hP(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],u=e[1]-r[1],c=e[2]-r[2],h=hP(l,u,c);if(!(h<1e-6)){l/=h,u/=h,c/=h;var f=this.computedRight,p=f[0],d=f[1],g=f[2],v=i*p+a*d+o*g,m=hP(p-=v*i,d-=v*a,g-=v*o);if(!(m<.01&&(m=hP(p=a*c-o*u,d=o*l-i*c,g=i*u-a*l))<1e-6)){p/=m,d/=m,g/=m,this.up.set(t,i,a,o),this.right.set(t,p,d,g),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(h));var y=a*g-o*d,x=o*p-i*g,b=i*d-a*p,_=hP(y,x,b),w=i*l+a*u+o*c,M=p*l+d*u+g*c,A=(y/=_)*l+(x/=_)*u+(b/=_)*c,k=Math.asin(fP(w)),T=Math.atan2(A,M),S=this.angle._state,E=S[S.length-1],C=S[S.length-2];E%=2*Math.PI;var L=Math.abs(E+2*Math.PI-T),z=Math.abs(E-T),P=Math.abs(E-2*Math.PI-T);L<z&&(E+=2*Math.PI),P<z&&(E-=2*Math.PI),this.angle.jump(this.angle.lastT(),E,C),this.angle.set(t,T,k)}}}};var mP=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],n=t.up||[0,1,0],i=t.distanceLimits||[0,1/0],a=t.mode||\"turntable\",o=cP(),s=nP(),l=Wz();return o.setDistanceLimits(i[0],i[1]),o.lookAt(0,e,r,n),s.setDistanceLimits(i[0],i[1]),s.lookAt(0,e,r,n),l.setDistanceLimits(i[0],i[1]),l.lookAt(0,e,r,n),new yP({turntable:o,orbit:s,matrix:l},a)};function yP(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}var xP=yP.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()+\")}\";xP[e]=Function.apply(null,r.concat(i))}),xP.recalcMatrix=function(t){this._active.recalcMatrix(t)},xP.getDistance=function(t){return this._active.getDistance(t)},xP.getDistanceLimits=function(t){return this._active.getDistanceLimits(t)},xP.lastT=function(){return this._active.lastT()},xP.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}}},xP.getMode=function(){return this._mode};var bP={};(function(t){bP=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:{});var _P=function(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=mP({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\"orbit\",distanceLimits:r}),i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],a=0,o=t.clientWidth,s=t.clientHeight,l={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=bP(),r=this.delay;n.idle(e-r),n.flush(e-(100+2*r));var l=e-2*r;n.recalcMatrix(l);for(var u=!0,c=n.computedMatrix,h=0;h<16;++h)u=u&&i[h]===c[h],i[h]=c[h];var f=t.clientWidth===o&&t.clientHeight===s;return o=t.clientWidth,s=t.clientHeight,u?!f:(a=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(l,{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 a},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 u=0,c=0,h={shift:!1,control:!1,alt:!1,meta:!1};function f(e,r,i,o){var s=1/t.clientHeight,f=s*(r-u),p=s*(i-c),d=l.flipX?1:-1,g=l.flipY?1:-1,v=Math.PI*l.rotateSpeed,m=bP();if(1&e)o.shift?n.rotate(m,0,0,-f*v):n.rotate(m,d*v*f,-g*v*p,0);else if(2&e)n.pan(m,-l.translateSpeed*f*a,l.translateSpeed*p*a,0);else if(4&e){var y=l.zoomSpeed*p/window.innerHeight*(m-n.lastT())*50;n.pan(m,0,0,a*(Math.exp(y)-1))}u=r,c=i,h=o}return CC(t,f),t.addEventListener(\"touchstart\",function(e){var r=La(e.changedTouches[0],t);f(0,r[0],r[1],h),f(1,r[0],r[1],h),e.preventDefault()},!!Ea&&{passive:!1}),t.addEventListener(\"touchmove\",function(e){var r=La(e.changedTouches[0],t);f(1,r[0],r[1],h),e.preventDefault()},!!Ea&&{passive:!1}),t.addEventListener(\"touchend\",function(e){La(e.changedTouches[0],t),f(0,u,c,h),e.preventDefault()},!!Ea&&{passive:!1}),OC(t,function(t,e,r){var i=l.flipX?1:-1,o=l.flipY?1:-1,s=bP();if(Math.abs(t)>Math.abs(e))n.rotate(s,0,0,-t*i*Math.PI*l.rotateSpeed/window.innerWidth);else{var u=l.zoomSpeed*o*e/window.innerHeight*(s-n.lastT())/100;n.pan(s,0,0,a*(Math.exp(u)-1))}},!0),l};var wP=function(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 for(t.bindBuffer(t.ARRAY_BUFFER,null),i=0;i<n;++i)t.disableVertexAttribArray(i)};function MP(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}MP.prototype.bind=function(){wP(this.gl,this._elements,this._attributes)},MP.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},MP.prototype.dispose=function(){},MP.prototype.unbind=function(){},MP.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)};var AP=function(t){return new MP(t)};function kP(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 TP(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}kP.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)}},TP.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t<this._attribs.length;++t)this._attribs[t].bind(this.gl)},TP.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},TP.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},TP.prototype.update=function(t,e,r){if(this.bind(),wP(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var n=0;n<t.length;++n){var i=t[n];\"number\"==typeof i?this._attribs.push(new kP(n,1,i)):Array.isArray(i)&&this._attribs.push(new kP(n,i.length,i[0],i[1],i[2],i[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},TP.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)};var SP=function(t,e){return new TP(t,e,e.createVertexArrayOES())};var EP=function(t,e,r,n){var i,a=t.createVertexArray?new function(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}(t):t.getExtension(\"OES_vertex_array_object\");return(i=a?SP(t,a):AP(t)).update(e,r,n),i},CP={};!function(){\"use strict\";if(\"undefined\"==typeof ses||!ses.ok||ses.ok()){\"undefined\"!=typeof ses&&(ses.weakMapPermitHostObjects=g);var t=!1;if(\"function\"==typeof WeakMap){var e=WeakMap;if(\"undefined\"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var r=new e,n=Object.freeze({});if(r.set(n,1),1===r.get(n))return void(CP=WeakMap);t=!0}}Object.prototype.hasOwnProperty;var i=Object.getOwnPropertyNames,a=Object.defineProperty,o=Object.isExtensible,s=\"weakmap:\",l=s+\"ident:\"+Math.random()+\"___\";if(\"undefined\"!=typeof crypto&&\"function\"==typeof crypto.getRandomValues&&\"function\"==typeof ArrayBuffer&&\"function\"==typeof Uint8Array){var u=new ArrayBuffer(25),c=new Uint8Array(u);crypto.getRandomValues(c),l=s+\"rand:\"+Array.prototype.map.call(c,function(t){return(t%36).toString(36)}).join(\"\")+\"___\"}if(a(Object,\"getOwnPropertyNames\",{value:function(t){return i(t).filter(v)}}),\"getPropertyNames\"in Object){var h=Object.getPropertyNames;a(Object,\"getPropertyNames\",{value:function(t){return h(t).filter(v)}})}!function(){var t=Object.freeze;a(Object,\"freeze\",{value:function(e){return m(e),t(e)}});var e=Object.seal;a(Object,\"seal\",{value:function(t){return m(t),e(t)}});var r=Object.preventExtensions;a(Object,\"preventExtensions\",{value:function(t){return m(t),r(t)}})}();var f=!1,p=0,d=function(){this instanceof d||x();var t=[],e=[],r=p++;return Object.create(d.prototype,{get___:{value:y(function(n,i){var a,o=m(n);return o?r in o?o[r]:i:(a=t.indexOf(n))>=0?e[a]:i})},has___:{value:y(function(e){var n=m(e);return n?r in n:t.indexOf(e)>=0})},set___:{value:y(function(n,i){var a,o=m(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this})},delete___:{value:y(function(n){var i,a,o=m(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,0))})}})};d.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 e?function(){function r(){this instanceof d||x();var r,n=new e,i=void 0,a=!1;return r=t?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new d),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new d),i.set___(t,e)}else n.set(t,e);return this},Object.create(d.prototype,{get___:{value:y(function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)})},has___:{value:y(function(t){return n.has(t)||!!i&&i.has___(t)})},set___:{value:y(r)},delete___:{value:y(function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e})},permitHostObjects___:{value:y(function(t){if(t!==g)throw new Error(\"bogus call to permitHostObjects___\");a=!0})}})}t&&\"undefined\"!=typeof Proxy&&(Proxy=void 0),r.prototype=d.prototype,CP=r,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(\"undefined\"!=typeof Proxy&&(Proxy=void 0),CP=d)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function v(t){return!(t.substr(0,s.length)==s&&\"___\"===t.substr(t.length-3))}function m(t){if(t!==Object(t))throw new TypeError(\"Not an object: \"+t);var e=t[l];if(e&&e.key===t)return e;if(o(t)){e={key:t};try{return a(t,l,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function y(t){return t.prototype=null,Object.freeze(t)}function x(){f||\"undefined\"==typeof console||(f=!0,console.warn(\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\"))}}();var LP=new(\"undefined\"==typeof WeakMap?CP:WeakMap);var zP=function(t){var e=LP.get(t),r=e&&(e._triangleBuffer.handle||e._triangleBuffer.buffer);if(!r||!t.isBuffer(r)){var n=S_(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=EP(t,[{buffer:n,type:t.FLOAT,size:2}]))._triangleBuffer=n,LP.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()},PP={},IP=E_([\"#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\"]),DP=E_([\"precision mediump float;\\n#define GLSLIFY 1\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = color;\\n}\"]);PP.line=function(t){return Bw(t,IP,DP,null,[{name:\"position\",type:\"vec3\"}])};var OP=E_([\"#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}\"]),RP=E_([\"precision mediump float;\\n#define GLSLIFY 1\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = color;\\n}\"]);PP.text=function(t){return Bw(t,OP,RP,null,[{name:\"position\",type:\"vec3\"}])};var FP=E_([\"#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}\"]),BP=E_([\"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}\"]);PP.bg=function(t){return Bw(t,FP,BP,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])};var NP=function(t){for(var e=[],r=[],n=0,i=0;i<3;++i)for(var a=(i+1)%3,o=(i+2)%3,s=[0,0,0],l=[0,0,0],u=-1;u<=1;u+=2){r.push(n,n+2,n+1,n+1,n+2,n+3),s[i]=u,l[i]=u;for(var c=-1;c<=1;c+=2){s[a]=c;for(var h=-1;h<=1;h+=2)s[o]=h,e.push(s[0],s[1],s[2],l[0],l[1],l[2]),n+=1}var f=a;a=o,o=f}var p=S_(t,new Float32Array(e)),d=S_(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),g=EP(t,[{buffer:p,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:p,type:t.FLOAT,size:3,offset:12,stride:24}],d),v=jP(t);return v.attributes.position.location=0,v.attributes.normal.location=1,new VP(t,p,g,v)},jP=PP.bg;function VP(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var UP=VP.prototype;UP.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),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},UP.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};var qP=function(t,e){for(var r=cM(t[0],e[0]),n=1;n<t.length;++n)r=gM(r,cM(t[n],e[n]));return r};var HP={};function GP(t,e){var r=gM(qP(t,e),[e[e.length-1]]);return r[r.length-1]}function WP(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l<o;++l)s[l]=i*t[l]+a*r[l];return s}(HP=function(t,e){for(var r=[],n=[],i=GP(t[t.length-1],e),a=t[t.length-1],o=t[0],s=0;s<t.length;++s,a=o){var l=GP(o=t[s],e);if(i<0&&l>0||i>0&&l<0){var u=WP(a,l,o,i);r.push(u),n.push(u.slice())}l<0?n.push(o.slice()):l>0?r.push(o.slice()):(r.push(o.slice()),n.push(o.slice())),i=l}return{positive:r,negative:n}}).positive=function(t,e){for(var r=[],n=GP(t[t.length-1],e),i=t[t.length-1],a=t[0],o=0;o<t.length;++o,i=a){var s=GP(a=t[o],e);(n<0&&s>0||n>0&&s<0)&&r.push(WP(i,s,a,n)),s>=0&&r.push(a.slice()),n=s}return r},HP.negative=function(t,e){for(var r=[],n=GP(t[t.length-1],e),i=t[t.length-1],a=t[0],o=0;o<t.length;++o,i=a){var s=GP(a=t[o],e);(n<0&&s>0||n>0&&s<0)&&r.push(WP(i,s,a,n)),s<=0&&r.push(a.slice()),n=s}return r};var YP=function(t,e,r,n){Dz(XP,e,t),Dz(XP,r,XP);for(var i=0,a=0;a<2;++a){KP[2]=n[a][2];for(var o=0;o<2;++o){KP[1]=n[o][1];for(var s=0;s<2;++s)KP[0]=n[s][0],$P(ZP[i],KP,XP),i+=1}}for(var l=-1,a=0;a<8;++a){for(var u=ZP[a][3],c=0;c<3;++c)JP[a][c]=ZP[a][c]/u;u<0&&(l<0?l=a:JP[a][2]<JP[l][2]&&(l=a))}if(l<0){l=0;for(var h=0;h<3;++h){for(var f=(h+2)%3,p=(h+1)%3,d=-1,g=-1,v=0;v<2;++v){var m=v<<h,y=m+(v<<f)+(1-v<<p),x=m+(1-v<<f)+(v<<p);PM(JP[m],JP[y],JP[x],QP)<0||(v?d=1:g=1)}if(d<0||g<0)g>d&&(l|=1<<h);else{for(var v=0;v<2;++v){var m=v<<h,y=m+(v<<f)+(1-v<<p),x=m+(1-v<<f)+(v<<p),b=eI([ZP[m],ZP[y],ZP[x],ZP[m+(1<<f)+(1<<p)]]);v?d=b:g=b}g>d&&(l|=1<<h)}}}for(var _=7^l,w=-1,a=0;a<8;++a)a!==l&&a!==_&&(w<0?w=a:JP[w][1]>JP[a][1]&&(w=a));for(var M=-1,a=0;a<3;++a){var A=w^1<<a;if(A!==l&&A!==_){M<0&&(M=A);var p=JP[A];p[0]<JP[M][0]&&(M=A)}}for(var k=-1,a=0;a<3;++a){var A=w^1<<a;if(A!==l&&A!==_&&A!==M){k<0&&(k=A);var p=JP[A];p[0]>JP[k][0]&&(k=A)}}var T=rI;T[0]=T[1]=T[2]=0,T[Mb.log2(M^w)]=w&M,T[Mb.log2(w^k)]=w&k;var S=7^k;S===l||S===_?(S=7^M,T[Mb.log2(k^S)]=S&k):T[Mb.log2(M^S)]=S&M;for(var E=nI,C=l,h=0;h<3;++h)E[h]=C&1<<h?-1:1;return iI},XP=new Array(16),ZP=(new Array(16),new Array(8)),JP=new Array(8),KP=new Array(3),QP=[0,0,0];function $P(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(){for(var t=0;t<8;++t)ZP[t]=[1,1,1,1],JP[t]=[1,1,1]}();var tI=[[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]];function eI(t){for(var e=0;e<tI.length;++e)if((t=HP.positive(t,tI[e])).length<3)return 0;var r=t[0],n=r[0]/r[3],i=r[1]/r[3],a=0;for(e=1;e+1<t.length;++e){var o=t[e],s=t[e+1],l=o[0]/o[3]-n,u=o[1]/o[3]-i,c=s[0]/s[3]-n,h=s[1]/s[3]-i;a+=Math.abs(l*h-u*c)}return a}var rI=[1,1,1],nI=[0,0,0],iI={cubeEdges:rI,axis:nI};var aI=function(t,e,r){var n=[],i=[0,0,0],a=[0,0,0],o=[0,0,0],s=[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 l=0;l<3;++l){for(var u=n.length/3|0,c=0;c<r[l].length;++c){var h=+r[l][c].x;n.push(h,0,1,h,1,1,h,0,-1,h,0,-1,h,1,1,h,1,-1)}var f=n.length/3|0;i[l]=u,a[l]=f-u;for(var u=n.length/3|0,p=0;p<r[l].length;++p){var h=+r[l][p].x;n.push(h,0,1,h,1,1,h,0,-1,h,0,-1,h,1,1,h,1,-1)}var f=n.length/3|0;o[l]=u,s[l]=f-u}var d=S_(t,new Float32Array(n)),g=EP(t,[{buffer:d,type:t.FLOAT,size:3,stride:0,offset:0}]),v=oI(t);return v.attributes.position.location=0,new dI(t,d,g,v,a,i,s,o)},oI=PP.line,sI=[0,0,0],lI=[0,0,0],uI=[0,0,0],cI=[0,0,0],hI=[1,1];function fI(t){return t[0]=t[1]=t[2]=0,t}function pI(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function dI(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}var gI=dI.prototype;gI.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,hI[0]=this.gl.drawingBufferWidth,hI[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=hI,this.vao.bind()},gI.unbind=function(){this.vao.unbind()},gI.drawAxisLine=function(t,e,r,n,i){var a=fI(lI);this.shader.uniforms.majorAxis=lI,a[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=a;var o,s=pI(cI,r);s[t]+=e[0][t],this.shader.uniforms.offset=s,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=n,(o=fI(uI))[(t+2)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6),(o=fI(uI))[(t+1)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6)},gI.drawAxisTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=fI(sI);a[t]=1,this.shader.uniforms.majorAxis=a,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=n,this.shader.uniforms.lineWidth=i;var o=fI(uI);o[t]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},gI.drawGrid=function(t,e,r,n,i,a){if(this.gridCount[t]){var o=fI(lI);o[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=o;var s=pI(cI,n);s[e]+=r[0][e],this.shader.uniforms.offset=s;var l=fI(sI);l[t]=1,this.shader.uniforms.majorAxis=l;var u=fI(uI);u[t]=1,this.shader.uniforms.screenAxis=u,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},gI.drawZero=function(t,e,r,n,i,a){var o=fI(lI);this.shader.uniforms.majorAxis=o,o[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=o;var s=pI(cI,n);s[t]+=r[0][t],this.shader.uniforms.offset=s;var l=fI(uI);l[e]=1,this.shader.uniforms.screenAxis=l,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,6)},gI.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()};var vI={};(function(t){\"use strict\";vI=function(t,r,n,a,o,s){var l=S_(t),u=EP(t,[{buffer:l,size:3}]),c=e(t);c.attributes.position.location=0;var h=new i(t,c,l,u);return h.update(r,n,a,o,s),h};var e=PP.text,r=window||t.global||{},n=r.__TEXT_CACHE||{};r.__TEXT_CACHE={};function i(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}var a=i.prototype,o=[0,0];a.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,o[0]=this.gl.drawingBufferWidth,o[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=o},a.unbind=function(){this.vao.unbind()},a.update=function(t,e,r,i,a){this.gl;var o=[];function s(t,e,r,i){var a=n[r];a||(a=n[r]={});var s=a[e];s||(s=a[e]=function(t,e){try{return ME(t,e)}catch(t){return console.warn(\"error vectorizing text:\",t),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:\"center\",textBaseline:\"middle\"}));for(var l=(i||12)/12,u=s.positions,c=s.cells,h=0,f=c.length;h<f;++h)for(var p=c[h],d=2;d>=0;--d){var g=u[p[d]];o.push(l*g[0],-l*g[1],t)}}for(var l=[0,0,0],u=[0,0,0],c=[0,0,0],h=[0,0,0],f=0;f<3;++f){c[f]=o.length/3|0,s(.5*(t[0][f]+t[1][f]),e[f],r),h[f]=(o.length/3|0)-c[f],l[f]=o.length/3|0;for(var p=0;p<i[f].length;++p)i[f][p].text&&s(i[f][p].x,i[f][p].text,i[f][p].font||a,i[f][p].fontSize||12);u[f]=(o.length/3|0)-l[f]}this.buffer.update(o),this.tickOffset=l,this.tickCount=u,this.labelOffset=c,this.labelCount=h};var s=[0,0,0];a.drawTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=s;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 l=[0,0,0];a.drawLabel=function(t,e,r,n,i){this.labelCount[t]&&(this.shader.uniforms.axis=l,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]))},a.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()}}).call(this,Pp);var mI={};function yI(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}mI.create=function(t,e){for(var r=[],n=0;n<3;++n){for(var i=[],a=(t[0][n],t[1][n],0);a*e[n]<=t[1][n];++a)i.push({x:a*e[n],text:yI(e[n],a)});for(var a=-1;a*e[n]>=t[0][n];--a)i.push({x:a*e[n],text:yI(e[n],a)});r.push(i)}return r},mI.equal=function(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};var xI=function(t,e){var r=new wI(t);return r.update(e),r},bI=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function _I(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function wI(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=NP(t)}var MI=wI.prototype;function AI(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}MI.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,l=!1;if(\"bounds\"in t)for(var u=t.bounds,c=0;c<2;++c)for(var h=0;h<3;++h)u[c][h]!==this.bounds[c][h]&&(l=!0),this.bounds[c][h]=u[c][h];if(\"ticks\"in t){r=t.ticks,s=!0,this.autoTicks=!1;for(c=0;c<3;++c)this.tickSpacing[c]=0}else n(\"tickSpacing\")&&(this.autoTicks=!0,l=!0);if(this._firstInit&&(\"ticks\"in t||\"tickSpacing\"in t||(this.autoTicks=!0),l=!0,s=!0,this._firstInit=!1),l&&this.autoTicks&&(r=mI.create(this.bounds,this.tickSpacing),s=!0),s){for(c=0;c<3;++c)r[c].sort(function(t,e){return t.x-e.x});mI.equal(r,this.ticks)?s=!1:this.ticks=r}i(\"tickEnable\"),a(\"tickFont\")&&(s=!0),n(\"tickSize\"),n(\"tickAngle\"),n(\"tickPad\"),o(\"tickColor\");var f=a(\"labels\");a(\"labelFont\")&&(f=!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&&(f||s)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=vI(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=aI(this.gl,this.bounds,this.ticks))};var kI=[new AI,new AI,new AI];function TI(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,p=o,d=l;u&1<<c&&(h=s,f=a,p=l,d=o),h[c]=r[0][c],f[c]=r[1][c],i[c]>0?(p[c]=-1,d[c]=0):(p[c]=0,d[c]=1)}}var SI=[0,0,0],EI={model:bI,view:bI,projection:bI};MI.isOpaque=function(){return!0},MI.isTransparent=function(){return!1},MI.drawTransparent=function(t){};var CI=[0,0,0],LI=[0,0,0],zI=[0,0,0];MI.draw=function(t){t=t||EI;for(var e=this.gl,r=t.model||bI,n=t.view||bI,i=t.projection||bI,a=this.bounds,o=YP(r,n,i,a),s=o.cubeEdges,l=o.axis,u=n[12],c=n[13],h=n[14],f=n[15],p=this.pixelRatio*(i[3]*u+i[7]*c+i[11]*h+i[15]*f)/e.drawingBufferHeight,d=0;d<3;++d)this.lastCubeProps.cubeEdges[d]=s[d],this.lastCubeProps.axis[d]=l[d];var g=kI;for(d=0;d<3;++d)TI(kI[d],d,this.bounds,s,l);e=this.gl;var v=SI;for(d=0;d<3;++d)this.backgroundEnable[d]?v[d]=l[d]:v[d]=0;this._background.draw(r,n,i,a,v,this.backgroundColor),this._lines.bind(r,n,i,this);for(d=0;d<3;++d){var m=[0,0,0];l[d]>0?m[d]=a[1][d]:m[d]=a[0][d];for(var y=0;y<2;++y){var x=(d+1+y)%3,b=(d+1+(1^y))%3;this.gridEnable[x]&&this._lines.drawGrid(x,b,this.bounds,m,this.gridColor[x],this.gridWidth[x]*this.pixelRatio)}for(y=0;y<2;++y){x=(d+1+y)%3,b=(d+1+(1^y))%3;this.zeroEnable[b]&&a[0][b]<=0&&a[1][b]>=0&&this._lines.drawZero(x,b,this.bounds,m,this.zeroLineColor[b],this.zeroLineWidth[b]*this.pixelRatio)}}for(d=0;d<3;++d){this.lineEnable[d]&&this._lines.drawAxisLine(d,this.bounds,g[d].primalOffset,this.lineColor[d],this.lineWidth[d]*this.pixelRatio),this.lineMirror[d]&&this._lines.drawAxisLine(d,this.bounds,g[d].mirrorOffset,this.lineColor[d],this.lineWidth[d]*this.pixelRatio);var _=_I(CI,g[d].primalMinor),w=_I(LI,g[d].mirrorMinor),M=this.lineTickLength;for(y=0;y<3;++y){var A=p/r[5*y];_[y]*=M[y]*A,w[y]*=M[y]*A}this.lineTickEnable[d]&&this._lines.drawAxisTicks(d,g[d].primalOffset,_,this.lineTickColor[d],this.lineTickWidth[d]*this.pixelRatio),this.lineTickMirror[d]&&this._lines.drawAxisTicks(d,g[d].mirrorOffset,w,this.lineTickColor[d],this.lineTickWidth[d]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio);for(d=0;d<3;++d){var k=g[d].primalMinor,T=_I(zI,g[d].primalOffset);for(y=0;y<3;++y)this.lineTickEnable[d]&&(T[y]+=p*k[y]*Math.max(this.lineTickLength[y],0)/r[5*y]);if(this.tickEnable[d]){for(y=0;y<3;++y)T[y]+=p*k[y]*this.tickPad[y]/r[5*y];this._text.drawTicks(d,this.tickSize[d],this.tickAngle[d],T,this.tickColor[d])}if(this.labelEnable[d]){for(y=0;y<3;++y)T[y]+=p*k[y]*this.labelPad[y]/r[5*y];T[d]+=.5*(a[0][d]+a[1][d]),this._text.drawLabel(d,this.labelSize[d],this.labelAngle[d],T,this.labelColor[d])}}this._text.unbind()},MI.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null};var PI=function(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]]]};var II=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};var DI=function(t,e,r,n,i){var a=e.model||OI,o=e.view||OI,s=e.projection||OI,l=t.bounds,u=(i=i||YP(a,o,s,l)).axis;i.edges;Dz(RI,o,a),Dz(RI,s,RI);for(var c=VI,h=0;h<3;++h)c[h].lo=1/0,c[h].hi=-1/0,c[h].pixelsPerDataUnit=1/0;var f=PI(Mz(RI,RI));Mz(RI,RI);for(var p=0;p<3;++p){var d=(p+1)%3,g=(p+2)%3,v=UI;t:for(var h=0;h<2;++h){var m=[];if(u[p]<0!=!!h){v[p]=l[h][p];for(var y=0;y<2;++y){v[d]=l[y^h][d];for(var x=0;x<2;++x)v[g]=l[x^y^h][g],m.push(v.slice())}for(var y=0;y<f.length;++y){if(0===m.length)continue t;m=HP.positive(m,f[y])}for(var y=0;y<m.length;++y)for(var g=m[y],b=jI(UI,RI,g,r,n),x=0;x<3;++x)c[x].lo=Math.min(c[x].lo,g[x]),c[x].hi=Math.max(c[x].hi,g[x]),x!==p&&(c[x].pixelsPerDataUnit=Math.min(c[x].pixelsPerDataUnit,Math.abs(b[x])))}}}return c},OI=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),RI=new Float32Array(16);function FI(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}var BI=[0,0,0,1],NI=[0,0,0,1];function jI(t,e,r,n,i){for(var a=0;a<3;++a){for(var o=BI,s=NI,l=0;l<3;++l)s[l]=o[l]=r[l];s[3]=o[3]=1,s[a]+=1,II(s,s,e),s[3]<0&&(t[a]=1/0),o[a]-=1,II(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}var VI=[new FI(1/0,-1/0,1/0),new FI(1/0,-1/0,1/0),new FI(1/0,-1/0,1/0)],UI=[0,0,0];var qI=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};var HI=E_([\"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}\"]),GI=E_([\"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}\"]),WI=function(t){return Bw(t,HI,GI,null,[{name:\"position\",type:\"vec2\"}])},YI=E_([\"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\"]),XI=E_([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  gl_FragColor = fragColor;\\n}\"]),ZI=function(t){return Bw(t,YI,XI,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec3\"},{name:\"weight\",type:\"float\"}])},JI=function(t,e){var r=[];function n(t,e,n,i,a,o){var s=[t,e,n,0,0,0,1];s[i+3]=1,s[i]=a,r.push.apply(r,s),s[6]=-1,r.push.apply(r,s),s[i]=o,r.push.apply(r,s),r.push.apply(r,s),s[6]=1,r.push.apply(r,s),s[i]=a,r.push.apply(r,s)}n(0,0,0,0,0,1),n(0,0,0,1,0,1),n(0,0,0,2,0,1),n(1,0,0,1,-1,1),n(1,0,0,2,-1,1),n(0,1,0,0,-1,1),n(0,1,0,2,-1,1),n(0,0,1,0,-1,1),n(0,0,1,1,-1,1);var i=S_(t,r),a=EP(t,[{type:t.FLOAT,buffer:i,size:3,offset:0,stride:28},{type:t.FLOAT,buffer:i,size:3,offset:12,stride:28},{type:t.FLOAT,buffer:i,size:1,offset:24,stride:28}]),o=ZI(t);o.attributes.position.location=0,o.attributes.color.location=1,o.attributes.weight.location=2;var s=new QI(t,i,a,o);return s.update(e),s},KI=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function QI(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}var $I=QI.prototype,tD=[0,0,0],eD=[0,0,0],rD=[0,0];$I.isTransparent=function(){return!1},$I.drawTransparent=function(t){},$I.draw=function(t){var e=this.gl,r=this.vao,n=this.shader;r.bind(),n.bind();var i,a=t.model||KI,o=t.view||KI,s=t.projection||KI;this.axes&&(i=this.axes.lastCubeProps.axis);for(var l=tD,u=eD,c=0;c<3;++c)i&&i[c]<0?(l[c]=this.bounds[0][c],u[c]=this.bounds[1][c]):(l[c]=this.bounds[1][c],u[c]=this.bounds[0][c]);rD[0]=e.drawingBufferWidth,rD[1]=e.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=o,n.uniforms.projection=s,n.uniforms.coordinates=[this.position,l,u],n.uniforms.colors=this.colors,n.uniforms.screenShape=rD;for(c=0;c<3;++c)n.uniforms.lineWidth=this.lineWidth[c]*this.pixelRatio,this.enabled[c]&&(r.draw(e.TRIANGLES,6,6*c),this.drawSides[c]&&r.draw(e.TRIANGLES,12,18+12*c));r.unbind()},$I.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))},$I.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};var nD=function(t){var e=!1,r=((t=t||{}).pixelRatio||parseFloat(window.devicePixelRatio),t.canvas);if(!r)if(r=document.createElement(\"canvas\"),t.container){var n=t.container;n.appendChild(r)}else document.body.appendChild(r);var i=t.gl;i||(i=function(t,e){var r=null;try{(r=t.getContext(\"webgl\",e))||(r=t.getContext(\"experimental-webgl\",e))}catch(t){return null}return r}(r,t.glOptions||{premultipliedAlpha:!0,antialias:!0}));if(!i)throw new Error(\"webgl not supported\");var a=t.bounds||[[-10,-10,-10],[10,10,10]],o=new function(){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},s=YE(i,[i.drawingBufferWidth,i.drawingBufferHeight],{preferFloat:!iD}),l=WI(i),u=t.camera||{eye:[2,0,0],center:[0,0,0],up:[0,1,0],zoomMin:.1,zoomMax:100,mode:\"turntable\"},c=t.axes||{},h=xI(i,c);h.enable=!c.disable;var f=t.spikes||{},p=JI(i,f),d=[],g=[],v=[],m=[],y=!0,x=!0,b=new Array(16),_=new Array(16),w={view:null,projection:b,model:_},x=!0,M=[i.drawingBufferWidth,i.drawingBufferHeight],A={gl:i,contextLost:!1,pixelRatio:t.pixelRatio||parseFloat(window.devicePixelRatio),canvas:r,selection:o,camera:_P(r,u),axes:h,axesPixels:null,spikes:p,bounds:a,objects:d,shape:M,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:oD(t.autoResize),autoBounds:oD(t.autoBounds),autoScale:!!t.autoScale,autoCenter:oD(t.autoCenter),clipToBounds:oD(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:w,oncontextloss:null,mouseListener:null},k=[i.drawingBufferWidth/A.pixelRatio|0,i.drawingBufferHeight/A.pixelRatio|0];function T(){if(!e&&A.autoResize){var t=r.parentNode,n=1,i=1;t&&t!==document.body?(n=t.clientWidth,i=t.clientHeight):(n=window.innerWidth,i=window.innerHeight);var a=0|Math.ceil(n*A.pixelRatio),o=0|Math.ceil(i*A.pixelRatio);if(a!==r.width||o!==r.height){r.width=a,r.height=o;var s=r.style;s.position=s.position||\"absolute\",s.left=\"0px\",s.top=\"0px\",s.width=n+\"px\",s.height=i+\"px\",y=!0}}}A.autoResize&&T();function S(){for(var t=d.length,e=m.length,r=0;r<e;++r)v[r]=0;t:for(var r=0;r<t;++r){var n=d[r],a=n.pickSlots;if(a){for(var o=0;o<e;++o)if(v[o]+a<255){g[r]=o,n.setPickBase(v[o]+1),v[o]+=a;continue t}var s=nC(i,M);g[r]=e,m.push(s),v.push(a),n.setPickBase(1),e+=1}else g[r]=-1}for(;e>0&&0===v[e-1];)v.pop(),m.pop().dispose()}window.addEventListener(\"resize\",T),A.update=function(t){e||(t=t||{},y=!0,x=!0)},A.add=function(t){e||(t.axes=h,d.push(t),g.push(-1),y=!0,x=!0,S())},A.remove=function(t){if(!e){var r=d.indexOf(t);r<0||(d.splice(r,1),g.pop(),y=!0,x=!0,S())}},A.dispose=function(){if(!e&&(e=!0,window.removeEventListener(\"resize\",T),r.removeEventListener(\"webglcontextlost\",L),A.mouseListener.enabled=!1,!A.contextLost)){h.dispose(),p.dispose();for(var t=0;t<d.length;++t)d[t].dispose();s.dispose();for(var t=0;t<m.length;++t)m[t].dispose();l.dispose(),i=null,h=null,p=null,d=[]}};var E=!1,C=0;function L(){if(A.contextLost)return!0;i.isContextLost()&&(A.contextLost=!0,A.mouseListener.enabled=!1,A.selection.object=null,A.oncontextloss&&A.oncontextloss())}A.mouseListener=CC(r,function(t,r,n){if(!e){var i=m.length,a=d.length,s=o.object;o.distance=1/0,o.mouse[0]=r,o.mouse[1]=n,o.object=null,o.screen=null,o.dataCoordinate=o.dataPosition=null;var l=!1;if(t&&C)E=!0;else{E&&(x=!0),E=!1;for(var u=0;u<i;++u){var c=m[u].query(r,k[1]-n-1,A.pickRadius);if(c){if(c.distance>o.distance)continue;for(var h=0;h<a;++h){var f=d[h];if(g[h]===u){var p=f.pick(c);p&&(o.buttons=t,o.screen=c.coord,o.distance=c.distance,o.object=f,o.index=p.distance,o.dataPosition=p.position,o.dataCoordinate=p.dataCoordinate,o.data=p,l=!0)}}}}}s&&s!==o.object&&(s.highlight&&s.highlight(null),y=!0),o.object&&(o.object.highlight&&o.object.highlight(o.data),y=!0),(l=l||o.object!==s)&&A.onselect&&A.onselect(o),1&t&&!(1&C)&&A.onclick&&A.onclick(o),C=t}}),r.addEventListener(\"webglcontextlost\",L);var z=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],P=[z[0].slice(),z[1].slice()];function I(){if(!L()){T();var t=A.camera.tick();w.view=A.camera.matrix,y=y||t,x=x||t,h.pixelRatio=A.pixelRatio,p.pixelRatio=A.pixelRatio;var e=d.length,r=z[0],n=z[1];r[0]=r[1]=r[2]=1/0,n[0]=n[1]=n[2]=-1/0;for(var a=0;a<e;++a){var u=d[a];u.pixelRatio=A.pixelRatio,u.axes=A.axes,y=y||!!u.dirty,x=x||!!u.dirty;var c=u.bounds;if(c)for(var f=c[0],v=c[1],S=0;S<3;++S)r[S]=Math.min(r[S],f[S]),n[S]=Math.max(n[S],v[S])}var E=A.bounds;if(A.autoBounds)for(var S=0;S<3;++S){if(n[S]<r[S])r[S]=-1,n[S]=1;else{r[S]===n[S]&&(r[S]-=1,n[S]+=1);var C=.05*(n[S]-r[S]);r[S]=r[S]-C,n[S]=n[S]+C}E[0][S]=r[S],E[1][S]=n[S]}for(var I=!1,S=0;S<3;++S)I=I||P[0][S]!==E[0][S]||P[1][S]!==E[1][S],P[0][S]=E[0][S],P[1][S]=E[1][S];if(x=x||I,y=y||I){if(I){for(var D=[0,0,0],a=0;a<3;++a)D[a]=aD((E[1][a]-E[0][a])/10);h.autoTicks?h.update({bounds:E,tickSpacing:D}):h.update({bounds:E})}var O=i.drawingBufferWidth,R=i.drawingBufferHeight;M[0]=O,M[1]=R,k[0]=0|Math.max(O/A.pixelRatio,1),k[1]=0|Math.max(R/A.pixelRatio,1),qI(b,A.fovy,O/R,A.zNear,A.zFar);for(var a=0;a<16;++a)_[a]=0;_[15]=1;for(var F=0,a=0;a<3;++a)F=Math.max(F,E[1][a]-E[0][a]);for(var a=0;a<3;++a)A.autoScale?_[5*a]=A.aspect[a]/(E[1][a]-E[0][a]):_[5*a]=1/F,A.autoCenter&&(_[12+a]=.5*-_[5*a]*(E[0][a]+E[1][a]));for(var a=0;a<e;++a){var u=d[a];u.axesBounds=E,A.clipToBounds&&(u.clipBounds=E)}o.object&&(A.snapToData?p.position=o.dataCoordinate:p.position=o.dataPosition,p.bounds=E),x&&(x=!1,function(){if(L())return;i.colorMask(!0,!0,!0,!0),i.depthMask(!0),i.disable(i.BLEND),i.enable(i.DEPTH_TEST);for(var t=d.length,e=m.length,r=0;r<e;++r){var n=m[r];n.shape=k,n.begin();for(var a=0;a<t;++a)if(g[a]===r){var o=d[a];o.drawPick&&(o.pixelRatio=1,o.drawPick(w))}n.end()}}()),A.axesPixels=DI(A.axes,w,O,R),A.onrender&&A.onrender(),i.bindFramebuffer(i.FRAMEBUFFER,null),i.viewport(0,0,O,R);var B=A.clearColor;i.clearColor(B[0],B[1],B[2],B[3]),i.clear(i.COLOR_BUFFER_BIT|i.DEPTH_BUFFER_BIT),i.depthMask(!0),i.colorMask(!0,!0,!0,!0),i.enable(i.DEPTH_TEST),i.depthFunc(i.LEQUAL),i.disable(i.BLEND),i.disable(i.CULL_FACE);var N=!1;h.enable&&(N=N||h.isTransparent(),h.draw(w)),p.axes=h,o.object&&p.draw(w),i.disable(i.CULL_FACE);for(var a=0;a<e;++a){var u=d[a];u.axes=h,u.pixelRatio=A.pixelRatio,u.isOpaque&&u.isOpaque()&&u.draw(w),u.isTransparent&&u.isTransparent()&&(N=!0)}if(N){s.shape=M,s.bind(),i.clear(i.DEPTH_BUFFER_BIT),i.colorMask(!1,!1,!1,!1),i.depthMask(!0),i.depthFunc(i.LESS),h.enable&&h.isTransparent()&&h.drawTransparent(w);for(var a=0;a<e;++a){var u=d[a];u.isOpaque&&u.isOpaque()&&u.draw(w)}i.enable(i.BLEND),i.blendEquation(i.FUNC_ADD),i.blendFunc(i.ONE,i.ONE_MINUS_SRC_ALPHA),i.colorMask(!0,!0,!0,!0),i.depthMask(!1),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),h.isTransparent()&&h.drawTransparent(w);for(var a=0;a<e;++a){var u=d[a];u.isTransparent&&u.isTransparent()&&u.drawTransparent(w)}i.bindFramebuffer(i.FRAMEBUFFER,null),i.blendFunc(i.ONE,i.ONE_MINUS_SRC_ALPHA),i.disable(i.DEPTH_TEST),l.bind(),s.color[0].bind(0),l.uniforms.accumBuffer=0,zP(i),i.disable(i.BLEND)}y=!1;for(var a=0;a<e;++a)d[a].dirty=!1}}}return function t(){e||A.contextLost||(requestAnimationFrame(t),I())}(),A.redraw=function(){e||(y=!0,I())},A},iD=function(t){t||\"undefined\"==typeof navigator||(t=navigator.userAgent);t&&t.headers&&\"string\"==typeof t.headers[\"user-agent\"]&&(t=t.headers[\"user-agent\"]);return\"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)))}();function aD(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){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function oD(t){return\"boolean\"!=typeof t||t}var sD=function(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=mP({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\"orbit\",distanceLimits:r}),i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],a=0,o=t.clientWidth,s=t.clientHeight,l={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=bP(),r=this.delay,l=e-2*r;n.idle(e-r),n.recalcMatrix(l),n.flush(e-(100+2*r));for(var u=!0,c=n.computedMatrix,h=0;h<16;++h)u=u&&i[h]===c[h],i[h]=c[h];var f=t.clientWidth===o&&t.clientHeight===s;return o=t.clientWidth,s=t.clientHeight,u?!f:(a=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(l,{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(),i=n.computedCenter.slice();if(n.setMode(t),\"turntable\"===t){var a=bP();n._active.lookAt(a,r,i,e),n._active.lookAt(a+500,r,i,[0,0,1]),n._active.flush(a)}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 a},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 u=0,c=0,h={shift:!1,control:!1,alt:!1,meta:!1};function f(e,r,i,o){var s=l.keyBindingMode;if(!1!==s){var f=\"rotate\"===s,p=\"pan\"===s,d=\"zoom\"===s,g=!!o.control,v=!!o.alt,m=!!o.shift,y=!!(1&e),x=!!(2&e),b=!!(4&e),_=1/t.clientHeight,w=_*(r-u),M=_*(i-c),A=l.flipX?1:-1,k=l.flipY?1:-1,T=bP(),S=Math.PI*l.rotateSpeed;if((f&&y&&!g&&!v&&!m||y&&!g&&!v&&m)&&n.rotate(T,A*S*w,-k*S*M,0),(p&&y&&!g&&!v&&!m||x||y&&g&&!v&&!m)&&n.pan(T,-l.translateSpeed*w*a,l.translateSpeed*M*a,0),d&&y&&!g&&!v&&!m||b||y&&!g&&v&&!m){var E=-l.zoomSpeed*M/window.innerHeight*(T-n.lastT())*100;n.pan(T,0,0,a*(Math.exp(E)-1))}return u=r,c=i,h=o,!0}}return l.mouseListener=CC(t,f),t.addEventListener(\"touchstart\",function(e){var r=La(e.changedTouches[0],t);f(0,r[0],r[1],h),f(1,r[0],r[1],h),e.preventDefault()},!!Ea&&{passive:!1}),t.addEventListener(\"touchmove\",function(e){var r=La(e.changedTouches[0],t);f(1,r[0],r[1],h),e.preventDefault()},!!Ea&&{passive:!1}),t.addEventListener(\"touchend\",function(t){f(0,u,c,h),t.preventDefault()},!!Ea&&{passive:!1}),l.wheelListener=OC(t,function(t,e){if(!1!==l.keyBindingMode){var r=l.flipX?1:-1,i=l.flipY?1:-1,o=bP();if(Math.abs(t)>Math.abs(e))n.rotate(o,0,0,-t*r*Math.PI*l.rotateSpeed/window.innerWidth);else{var s=-l.zoomSpeed*i*e/window.innerHeight*(o-n.lastT())/20;n.pan(o,0,0,a*(Math.exp(s)-1))}}},!0),l};var lD=[\"xaxis\",\"yaxis\",\"zaxis\"];function uD(){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=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}uD.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[lD[e]];r.visible?(this.labels[e]=AC(r.title),\"titlefont\"in r&&(r.titlefont.color&&(this.labelColor[e]=WC(r.titlefont.color)),r.titlefont.family&&(this.labelFont[e]=r.titlefont.family),r.titlefont.size&&(this.labelSize[e]=r.titlefont.size)),\"showline\"in r&&(this.lineEnable[e]=r.showline),\"linecolor\"in r&&(this.lineColor[e]=WC(r.linecolor)),\"linewidth\"in r&&(this.lineWidth[e]=r.linewidth),\"showgrid\"in r&&(this.gridEnable[e]=r.showgrid),\"gridcolor\"in r&&(this.gridColor[e]=WC(r.gridcolor)),\"gridwidth\"in r&&(this.gridWidth[e]=r.gridwidth),\"log\"===r.type?this.zeroEnable[e]=!1:\"zeroline\"in r&&(this.zeroEnable[e]=r.zeroline),\"zerolinecolor\"in r&&(this.zeroLineColor[e]=WC(r.zerolinecolor)),\"zerolinewidth\"in r&&(this.zeroLineWidth[e]=r.zerolinewidth),\"ticks\"in r&&r.ticks?this.lineTickEnable[e]=!0:this.lineTickEnable[e]=!1,\"ticklen\"in r&&(this.lineTickLength[e]=this._defaultLineTickLength[e]=r.ticklen),\"tickcolor\"in r&&(this.lineTickColor[e]=WC(r.tickcolor)),\"tickwidth\"in r&&(this.lineTickWidth[e]=r.tickwidth),\"tickangle\"in r&&(this.tickAngle[e]=\"auto\"===r.tickangle?0:Math.PI*-r.tickangle/180),\"showticklabels\"in r&&(this.tickEnable[e]=r.showticklabels),\"tickfont\"in r&&(r.tickfont.color&&(this.tickColor[e]=WC(r.tickfont.color)),r.tickfont.family&&(this.tickFont[e]=r.tickfont.family),r.tickfont.size&&(this.tickSize[e]=r.tickfont.size)),\"mirror\"in r?-1!==[\"ticks\",\"all\",\"allticks\"].indexOf(r.mirror)?(this.lineTickMirror[e]=!0,this.lineMirror[e]=!0):!0===r.mirror?(this.lineTickMirror[e]=!1,this.lineMirror[e]=!0):(this.lineTickMirror[e]=!1,this.lineMirror[e]=!1):this.lineMirror[e]=!1,\"showbackground\"in r&&!1!==r.showbackground?(this.backgroundEnable[e]=!0,this.backgroundColor[e]=WC(r.backgroundcolor)):this.backgroundEnable[e]=!1):(this.tickEnable[e]=!1,this.labelEnable[e]=!1,this.lineEnable[e]=!1,this.lineTickEnable[e]=!1,this.gridEnable[e]=!1,this.zeroEnable[e]=!1,this.backgroundEnable[e]=!1)}};var cD=function(t){var e=new uD;return e.merge(t),e},hD=[\"xaxis\",\"yaxis\",\"zaxis\"];function fD(){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]}fD.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[hD[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=WC(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}};var pD,dD,gD=function(t){var e=new fD;return e.merge(t),e},vD=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,n=t.fullSceneLayout,i=[[],[],[]],a=0;a<3;++a){var o=n[mD[a]];if(o._length=(r[a].hi-r[a].lo)*r[a].pixelsPerDataUnit/t.dataScale[a],Math.abs(o._length)===1/0)i[a]=[];else{o._input_range=o.range.slice(),o.range[0]=r[a].lo/t.dataScale[a],o.range[1]=r[a].hi/t.dataScale[a],o._m=1/(t.dataScale[a]*r[a].pixelsPerDataUnit),o.range[0]===o.range[1]&&(o.range[0]-=1,o.range[1]+=1);var s=o.tickmode;if(\"auto\"===o.tickmode){o.tickmode=\"linear\";var l=o.nticks||ne.constrain(o._length/40,4,9);ri.autoTicks(o,Math.abs(o.range[1]-o.range[0])/l)}for(var u=ri.calcTicks(o),c=0;c<u.length;++c)u[c].x=u[c].x*t.dataScale[a],u[c].text=AC(u[c].text);i[a]=u,o.tickmode=s}}e.ticks=i;for(var a=0;a<3;++a){yD[a]=.5*(t.glplot.bounds[0][a]+t.glplot.bounds[1][a]);for(var c=0;c<2;++c)e.bounds[c][a]=t.glplot.bounds[c][a]}t.contourLevels=function(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}(i)},mD=[\"xaxis\",\"yaxis\",\"zaxis\"],yD=[0,0,0];function xD(t,e,r,n){var i={canvas:r,gl:n,container:t.container,axes:t.axesOptions,spikes:t.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1};if(t.staticMode){if(!(dD||(pD=document.createElement(\"canvas\"),dD=_C({canvas:pD,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\"error creating static canvas/context for image server\");i.pixelRatio=t.pixelRatio,i.gl=dD,i.canvas=pD}try{t.glplot=nD(i)}catch(e){TC(t)}var a=function(t){if(!1!==t.fullSceneLayout.dragmode){var e={};e[t.id+\".camera\"]=kD(t.camera),t.saveCamera(t.graphDiv.layout),t.graphDiv.emit(\"plotly_relayout\",e)}};if(t.glplot.canvas.addEventListener(\"mouseup\",a.bind(null,t)),t.glplot.canvas.addEventListener(\"wheel\",a.bind(null,t),!!Ea&&{passive:!1}),t.staticMode||t.glplot.canvas.addEventListener(\"webglcontextlost\",function(t){ne.warn(\"Lost WebGL context.\"),t.preventDefault()}),!t.camera){var o=t.fullSceneLayout.camera;t.camera=sD(t.container,{center:[o.center.x,o.center.y,o.center.z],eye:[o.eye.x,o.eye.y,o.eye.z],up:[o.up.x,o.up.y,o.up.z],zoomMin:.1,zoomMax:100,mode:\"orbit\"})}return t.glplot.camera=t.camera,t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(t){var e,r=t.svgContainer,n=t.container.getBoundingClientRect(),i=n.width,a=n.height;r.setAttributeNS(null,\"viewBox\",\"0 0 \"+i+\" \"+a),r.setAttributeNS(null,\"width\",i),r.setAttributeNS(null,\"height\",a),vD(t),t.glplot.axes.update(t.axesOptions);for(var o,s=Object.keys(t.traces),l=null,u=t.glplot.selection,c=0;c<s.length;++c)\"skip\"!==(e=t.traces[s[c]]).data.hoverinfo&&e.handlePick(u)&&(l=e),e.setContourLevels&&e.setContourLevels();function h(e,r){var n=t.fullSceneLayout[e];return ri.tickText(n,n.d2l(r),\"hover\").text}if(null!==l){var f=gd(t.glplot.cameraParams,u.dataCoordinate);e=l.data;var p=u.index,d=yo.castHoverinfo(e,t.fullLayout,p),g=h(\"xaxis\",u.traceCoordinate[0]),v=h(\"yaxis\",u.traceCoordinate[1]),m=h(\"zaxis\",u.traceCoordinate[2]);if(\"all\"!==d){var y=d.split(\"+\");-1===y.indexOf(\"x\")&&(g=void 0),-1===y.indexOf(\"y\")&&(v=void 0),-1===y.indexOf(\"z\")&&(m=void 0),-1===y.indexOf(\"text\")&&(u.textLabel=void 0),-1===y.indexOf(\"name\")&&(l.name=void 0)}t.fullSceneLayout.hovermode&&yo.loneHover({x:(.5+.5*f[0]/f[3])*i,y:(.5-.5*f[1]/f[3])*a,xLabel:g,yLabel:v,zLabel:m,text:u.textLabel,name:l.name,color:yo.castHoverOption(e,p,\"bgcolor\")||l.color,borderColor:yo.castHoverOption(e,p,\"bordercolor\"),fontFamily:yo.castHoverOption(e,p,\"font.family\"),fontSize:yo.castHoverOption(e,p,\"font.size\"),fontColor:yo.castHoverOption(e,p,\"font.color\")},{container:r,gd:t.graphDiv});var x={x:u.traceCoordinate[0],y:u.traceCoordinate[1],z:u.traceCoordinate[2],data:e._input,fullData:e,curveNumber:e.index,pointNumber:p};yo.appendArrayPointValue(x,e,p);var b={points:[x]};u.buttons&&u.distance<5?t.graphDiv.emit(\"plotly_click\",b):t.graphDiv.emit(\"plotly_hover\",b),o=b}else yo.loneUnhover(r),t.graphDiv.emit(\"plotly_unhover\",o);t.drawAnnotations(t)}.bind(null,t),t.traces={},!0}function bD(t,e){var r=document.createElement(\"div\"),n=t.container;this.graphDiv=t.graphDiv;var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");i.style.position=\"absolute\",i.style.top=i.style.left=\"0px\",i.style.width=i.style.height=\"100%\",i.style[\"z-index\"]=20,i.style[\"pointer-events\"]=\"none\",r.appendChild(i),this.svgContainer=i,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=cD(e[this.id]),this.spikeOptions=gD(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=P.getComponentMethod(\"annotations3d\",\"convert\"),this.drawAnnotations=P.getComponentMethod(\"annotations3d\",\"draw\"),xD(this)}var _D=bD.prototype;_D.recoverContext=function(){var t=this,e=this.glplot.gl,r=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(function n(){e.isContextLost()?requestAnimationFrame(n):xD(t,t.fullLayout,r,e)?t.plot.apply(t,t.plotArgs):ne.error(\"Catastrophic and unrecoverable WebGL error. Context lost.\")})};var wD=[\"xaxis\",\"yaxis\",\"zaxis\"];function MD(t,e,r,n,i,a){var o;if(!ne.isArrayOrTypedArray(e))return i[0][n]=Math.min(i[0][n],0),void(i[1][n]=Math.max(i[1][n],r-1));for(var s=0;s<(r||e.length);++s)if(ne.isArrayOrTypedArray(e[s]))for(var l=0;l<e[s].length;++l)o=t.d2l(e[s][l],0,a),!isNaN(o)&&isFinite(o)&&(i[0][n]=Math.min(i[0][n],o),i[1][n]=Math.max(i[1][n],o));else o=t.d2l(e[s],0,a),!isNaN(o)&&isFinite(o)&&(i[0][n]=Math.min(i[0][n],o),i[1][n]=Math.max(i[1][n],o))}function AD(t,e,r){var n=t.fullSceneLayout;MD(n.xaxis,e.x,e._xlength,0,r,e.xcalendar),MD(n.yaxis,e.y,e._ylength,1,r,e.ycalendar),MD(n.zaxis,e.z,e._zlength,2,r,e.zcalendar)}function kD(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]}}}_D.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,i,a,o,s,l,u=e[this.id],c=r[this.id];u.bgcolor?this.glplot.clearColor=WC(u.bgcolor):this.glplot.clearColor=[0,0,0,0],this.glplot.snapToData=!0,this.fullLayout=e,this.fullSceneLayout=u,this.glplotLayout=u,this.axesOptions.merge(u),this.spikeOptions.merge(u),this.setCamera(u.camera),this.updateFx(u.dragmode,u.hovermode),this.glplot.update({}),this.setConvert(s),t?Array.isArray(t)||(t=[t]):t=[];var h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(a=0;a<t.length;++a)!0===(n=t[a]).visible&&AD(this,n,h);var f=[1,1,1];for(o=0;o<3;++o)h[0][o]>h[1][o]?f[o]=1:h[1][o]===h[0][o]?f[o]=1:f[o]=1/(h[1][o]-h[0][o]);for(this.dataScale=f,this.convertAnnotations(this),a=0;a<t.length;++a)!0===(n=t[a]).visible&&((i=this.traces[n.uid])?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]&&!0===t[o].visible)continue t;(i=this.traces[p[a]]).dispose(),delete this.traces[p[a]]}this.glplot.objects.sort(function(t,e){return t._trace.data.index-e._trace.data.index});var d=[[0,0,0],[0,0,0]],g=[],v={};for(a=0;a<3;++a){if((l=(s=u[wD[a]]).type)in v?(v[l].acc*=f[a],v[l].count+=1):v[l]={acc:f[a],count:1},s.autorange){d[0][a]=1/0,d[1][a]=-1/0;var m=this.glplot.objects,y=this.fullSceneLayout.annotations||[],x=s._name.charAt(0);for(o=0;o<m.length;o++){var b=m[o].bounds;d[0][a]=Math.min(d[0][a],b[0][a]/f[a]),d[1][a]=Math.max(d[1][a],b[1][a]/f[a])}for(o=0;o<y.length;o++){var _=y[o];if(_.visible){var w=s.r2l(_[x]);d[0][a]=Math.min(d[0][a],w),d[1][a]=Math.max(d[1][a],w)}}if(\"rangemode\"in s&&\"tozero\"===s.rangemode&&(d[0][a]=Math.min(d[0][a],0),d[1][a]=Math.max(d[1][a],0)),d[0][a]>d[1][a])d[0][a]=-1,d[1][a]=1;else{var M=d[1][a]-d[0][a];d[0][a]-=M/32,d[1][a]+=M/32}}else{var A=s.range;d[0][a]=s.r2l(A[0]),d[1][a]=s.r2l(A[1])}d[0][a]===d[1][a]&&(d[0][a]-=1,d[1][a]+=1),g[a]=d[1][a]-d[0][a],this.glplot.bounds[0][a]=d[0][a]*f[a],this.glplot.bounds[1][a]=d[1][a]*f[a]}var k=[1,1,1];for(a=0;a<3;++a){var T=v[l=(s=u[wD[a]]).type];k[a]=Math.pow(T.acc,1/T.count)/f[a]}var S;if(\"auto\"===u.aspectmode)S=Math.max.apply(null,k)/Math.min.apply(null,k)<=4?k:[1,1,1];else if(\"cube\"===u.aspectmode)S=[1,1,1];else if(\"data\"===u.aspectmode)S=k;else{if(\"manual\"!==u.aspectmode)throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");var E=u.aspectratio;S=[E.x,E.y,E.z]}u.aspectratio.x=c.aspectratio.x=S[0],u.aspectratio.y=c.aspectratio.y=S[1],u.aspectratio.z=c.aspectratio.z=S[2],this.glplot.aspect=S;var C=u.domain||null,L=e._size||null;if(C&&L){var z=this.container.style;z.position=\"absolute\",z.left=L.l+C.x[0]*L.w+\"px\",z.top=L.t+(1-C.y[1])*L.h+\"px\",z.width=L.w*(C.x[1]-C.x[0])+\"px\",z.height=L.h*(C.y[1]-C.y[0])+\"px\"}this.glplot.redraw()}},_D.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener(\"wheel\",this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},_D.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),kD(this.glplot.camera)},_D.setCamera=function(t){var e;this.glplot.camera.lookAt.apply(this,[[(e=t).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]])},_D.saveCamera=function(t){var e=this.getCamera(),r=ne.nestedProperty(t,this.id+\".camera\"),n=r.get(),i=!1;function a(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]]}if(void 0===n)i=!0;else for(var o=0;o<3;o++)for(var s=0;s<3;s++)if(!a(e,n,o,s)){i=!0;break}return i&&r.set(e),i},_D.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},_D.toImage=function(t){t||(t=\"png\"),this.staticMode&&this.container.appendChild(pD),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 c=document.createElement(\"canvas\");c.width=r,c.height=n;var h,f=c.getContext(\"2d\"),p=f.createImageData(r,n);switch(p.data.set(i),f.putImageData(p,0,0),t){case\"jpeg\":h=c.toDataURL(\"image/jpeg\");break;case\"webp\":h=c.toDataURL(\"image/webp\");break;default:h=c.toDataURL(\"image/png\")}return this.staticMode&&this.container.removeChild(pD),h},_D.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[wD[t]];ri.setConvert(e,this.fullLayout),e.setScale=ne.noop}};var TD=bD,SD={},ED=ye.overrideAll,CD=sa.getSubplotData;SD.name=\"gl3d\",SD.attr=\"scene\",SD.idRoot=\"scene\",SD.idRegex=SD.attrRegex=ne.counterRegex(\"scene\"),SD.attributes={scene:{valType:\"subplotid\",dflt:\"scene\",editType:\"calc+clearAxisTypes\"}},SD.layoutAttributes=lz,SD.baseLayoutAttrOverrides=ED({hoverlabel:mo.hoverlabel},\"plot\",\"nested\"),SD.supplyLayoutDefaults=function(t,e,r){var n=e._basePlotModules.length>1;Jc(t,e,0,{type:\"gl3d\",attributes:lz,handleDefaults:uz,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!n)return ne.validate(t[e],lz[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})},SD.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,i=0;i<n.length;i++){var a=n[i],o=CD(r,\"gl3d\",a),s=e[a],l=s._scene;l||(l=new TD({id:a,graphDiv:t,container:t.querySelector(\".gl-container\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),s._scene=l),l.cameraInitial||(l.cameraInitial=ne.extendDeep({},s.camera)),l.plot(o,e,t.layout)}},SD.clean=function(t,e,r,n){for(var i=n._subplots.gl3d||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(\".annotation-\"+o).remove())}},SD.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=e._size,i=0;i<r.length;i++){var a=e[r[i]],o=a.domain,s=a._scene,l=s.toImage(\"png\");e._glimages.append(\"svg:image\").attr({xmlns:$e.svg,\"xlink:href\":l,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"}),s.destroy()}},SD.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return\"1\"===e&&(e=\"\"),\"scene\"+e}},SD.updateFx=function(t){for(var e=t._subplots.gl3d,r=0;r<e.length;r++){t[e[r]]._scene.updateFx(t.dragmode,t.hovermode)}};var LD={},zD=m.extendFlat,PD=ye.overrideAll;function ID(t){return{show:{valType:\"boolean\",dflt:!1},project:{x:{valType:\"boolean\",dflt:!1},y:{valType:\"boolean\",dflt:!1},z:{valType:\"boolean\",dflt:!1}},color:{valType:\"color\",dflt:Oe.defaultLine},usecolormap:{valType:\"boolean\",dflt:!1},width:{valType:\"number\",min:1,max:16,dflt:2},highlight:{valType:\"boolean\",dflt:!0},highlightcolor:{valType:\"color\",dflt:Oe.defaultLine},highlightwidth:{valType:\"number\",min:1,max:16,dflt:2}}}var DD=LD=PD({z:{valType:\"data_array\"},x:{valType:\"data_array\"},y:{valType:\"data_array\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0},surfacecolor:{valType:\"data_array\"},cauto:Pe.zauto,cmin:Pe.zmin,cmax:Pe.zmax,colorscale:Pe.colorscale,autocolorscale:zD({},Pe.autocolorscale,{dflt:!1}),reversescale:Pe.reversescale,showscale:Pe.showscale,colorbar:ze,contours:{x:ID(),y:ID(),z:ID()},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:zD({},Pe.zauto,{}),zmin:zD({},Pe.zmin,{}),zmax:zD({},Pe.zmax,{})},hoverinfo:zD({},E.hoverinfo)},\"calc\",\"nested\");DD.x.editType=DD.y.editType=DD.z.editType=\"calc+clearAxisTypes\";var OD=m.extendFlat,RD=OD(De(0,\"calc\",!1),{x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},i:{valType:\"data_array\",editType:\"calc\"},j:{valType:\"data_array\",editType:\"calc\"},k:{valType:\"data_array\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},delaunayaxis:{valType:\"enumerated\",values:[\"x\",\"y\",\"z\"],dflt:\"z\",editType:\"calc\"},alphahull:{valType:\"number\",dflt:-1,editType:\"calc\"},intensity:{valType:\"data_array\",editType:\"calc\"},color:{valType:\"color\",editType:\"calc\"},vertexcolor:{valType:\"data_array\",editType:\"calc\"},facecolor:{valType:\"data_array\",editType:\"calc\"},opacity:LD.opacity,flatshading:{valType:\"boolean\",dflt:!1,editType:\"calc\"},contour:{show:OD({},LD.contours.x.show,{}),color:LD.contours.x.color,width:LD.contours.x.width,editType:\"calc\"},showscale:Pe.showscale,colorbar:ze,lightposition:{x:OD({},LD.lightposition.x,{dflt:1e5}),y:OD({},LD.lightposition.y,{dflt:1e5}),z:OD({},LD.lightposition.z,{dflt:0}),editType:\"calc\"},lighting:OD({vertexnormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-12,editType:\"calc\"},facenormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-6,editType:\"calc\"},editType:\"calc\"},LD.lighting),hoverinfo:OD({},E.hoverinfo,{editType:\"calc\"})}),FD=function(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],s=(r=a+o)-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,s=(r=a+o)-a,l=o-s;l&&(t[u++]=l)}return t[u++]=r,t.length=u,t};var BD={},ND=6;function jD(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 VD(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(\",VD(jD(t,r)),\",\",(n=r,1&n?\"-\":\"\"),t[0][r],\")\"].join(\"\"));return function t(e){if(1===e.length)return e[0];if(2===e.length)return[\"sum(\",e[0],\",\",e[1],\")\"].join(\"\");var r=e.length>>1;return[\"sum(\",t(e.slice(0,r)),\",\",t(e.slice(r)),\")\"].join(\"\")}(e);var n}function UD(t){return new Function(\"sum\",\"scale\",\"prod\",\"compress\",[\"function robustDeterminant\",t,\"(m){return compress(\",VD(function(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}(t)),\")};return robustDeterminant\",t].join(\"\"))(gM,pM,cM,FD)}var qD=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;qD.length<ND;)qD.push(UD(qD.length));for(var t=[],e=[\"function robustDeterminant(m){switch(m.length){\"],r=0;r<ND;++r)t.push(\"det\"+r),e.push(\"case \",r,\":return det\",r,\"(m);\");e.push(\"}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant\"),t.push(\"CACHE\",\"gen\",e.join(\"\"));var n=Function.apply(void 0,t);for(BD=n.apply(void 0,qD.concat([qD,UD])),r=0;r<qD.length;++r)BD[r]=qD[r]}();var HD={},GD=6;function WD(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?BD[t]:BD)}var YD=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];function XD(t,e){for(var r=0,n=t.length,i=0;i<n;++i)r+=t[i]*e[i];return r}function ZD(t){var e=t.length;if(0===e)return[];t[0].length;var r=b_([t.length+1,t.length+1],1),n=b_([t.length+1],1);r[e][e]=0;for(var i=0;i<e;++i){for(var a=0;a<=i;++a)r[a][i]=r[i][a]=2*XD(t[i],t[a]);n[i]=XD(t[i],t[i])}var o=HD(r,n),s=0,l=o[e+1];for(i=0;i<l.length;++i)s+=l[i];var u=new Array(e);for(i=0;i<e;++i){l=o[i];var c=0;for(a=0;a<l.length;++a)c+=l[a];u[i]=c/s}return u}function JD(t){if(0===t.length)return[];for(var e=t[0].length,r=b_([e]),n=ZD(t),i=0;i<t.length;++i)for(var a=0;a<e;++a)r[a]+=t[i][a]*n[i];return r}!function(){for(;YD.length<GD;)YD.push(WD(YD.length));for(var t=[],e=[\"function dispatchLinearSolve(A,b){switch(A.length){\"],r=0;r<GD;++r)t.push(\"s\"+r),e.push(\"case \",r,\":return s\",r,\"(A,b);\");e.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\",e.join(\"\"));var n=Function.apply(void 0,t);for(HD=n.apply(void 0,YD.concat([YD,WD])),r=0;r<GD;++r)HD[r]=YD[r]}(),JD.barycenetric=ZD;var KD=JD,QD=function(t){for(var e=KD(t),r=0,n=0;n<t.length;++n)for(var i=t[n],a=0;a<e.length;++a)r+=Math.pow(i[a]-e[a],2);return Math.sqrt(r/t.length)};var $D=function(t,e){var r=t.length;if(0===r)throw new Error(\"Must have at least d+1 points\");var n=t[0].length;if(r<=n)throw new Error(\"Must input at least d+1 points\");var i=t.slice(0,n+1),a=PM.apply(void 0,i);if(0===a)throw new Error(\"Input not in general position\");for(var o=new Array(n+1),s=0;s<=n;++s)o[s]=s;a<0&&(o[0]=1,o[1]=0);for(var l=new eO(o,new Array(n+1),!1),u=l.adjacent,c=new Array(n+2),s=0;s<=n;++s){for(var h=o.slice(),f=0;f<=n;++f)f===s&&(h[f]=-1);var p=h[0];h[0]=h[1],h[1]=p;var d=new eO(h,new Array(n+1),!0);u[s]=d,c[s]=d}c[n+1]=l;for(var s=0;s<=n;++s)for(var h=u[s].vertices,g=u[s].adjacent,f=0;f<=n;++f){var v=h[f];if(v<0)g[f]=l;else for(var m=0;m<=n;++m)u[m].vertices.indexOf(v)<0&&(g[f]=u[m])}for(var y=new aO(n,i,c),x=!!e,s=n+1;s<r;++s)y.insert(t[s],x);return y.boundary()},tO=gS.compareCells;function eO(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function rO(t,e,r){this.vertices=t,this.cell=e,this.index=r}function nO(t,e){return tO(t.vertices,e.vertices)}eO.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 iO=[];function aO(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=iO[t];i||(i=iO[t]=function(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=PM[t+1];return i||(i=PM),n(i)}(t)),this.orient=i}var oO=aO.prototype;oO.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()).vertices;for(var s=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 p=this.orient();if(p>0)return u;u.lastVisited=-n,0===p&&o.push(u)}}}return null},oO.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(c=0;c<=n;++c){var h=u[c];if(!(h.lastVisited>=r)){var f=a[c];a[c]=t;var p=this.orient();if(a[c]=f,p<0){s=h;continue t}h.boundary?h.lastVisited=-r:h.lastVisited=r}}return}return s},oO.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=this.interior,s=this.simplices,l=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,o.push(e);for(var u=[];l.length>0;){var c=(e=l.pop()).vertices,h=e.adjacent,f=c.indexOf(r);if(!(f<0))for(var p=0;p<=n;++p)if(p!==f){var d=h[p];if(d.boundary&&!(d.lastVisited>=r)){var g=d.vertices;if(d.lastVisited!==-r){for(var v=0,m=0;m<=n;++m)g[m]<0?(v=m,a[m]=t):a[m]=i[g[m]];if(this.orient()>0){g[v]=r,d.boundary=!1,o.push(d),l.push(d),d.lastVisited=r;continue}d.lastVisited=-r}var y=d.adjacent,x=c.slice(),b=h.slice(),_=new eO(x,b,!0);s.push(_);var w=y.indexOf(e);if(!(w<0)){y[w]=_,b[f]=d,x[p]=-1,b[p]=e,h[p]=_,_.flip();for(m=0;m<=n;++m){var M=x[m];if(!(M<0||M===r)){for(var A=new Array(n-1),k=0,T=0;T<=n;++T){var S=x[T];S<0||T===m||(A[k++]=S)}u.push(new rO(A,_,m))}}}}}}u.sort(nO);for(p=0;p+1<u.length;p+=2){var E=u[p],C=u[p+1],L=E.index,z=C.index;L<0||z<0||(E.cell.adjacent[E.index]=C.cell,C.cell.adjacent[C.index]=E.cell)}},oO.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)}},oO.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};var sO=function(t,e){var r=t.length;if(0===r)return[];var n=t[0].length;if(n<1)return[];if(1===n)return function(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]]}r&&i.push([-1,i[0][1]],[i[t-1][1],-1]);return i}(r,t,e);for(var i=new Array(r),a=1,o=0;o<r;++o){for(var s=t[o],l=new Array(n+1),u=0,c=0;c<n;++c){var h=s[c];l[c]=h,u+=h*h}l[n]=u,i[o]=new lO(l,o),a=Math.max(u,a)}Qx(i,uO),r=i.length;for(var f=new Array(r+n+1),p=new Array(r+n+1),d=(n+1)*(n+1)*a,g=new Array(n+1),o=0;o<=n;++o)g[o]=0;g[n]=d,f[0]=g.slice(),p[0]=-1;for(var o=0;o<=n;++o){var l=g.slice();l[o]=1,f[o+1]=l,p[o+1]=-1}for(var o=0;o<r;++o){var v=i[o];f[o+n+1]=v.point,p[o+n+1]=v.index}var m=$D(f,!1);m=e?m.filter(function(t){for(var e=0,r=0;r<=n;++r){var i=p[t[r]];if(i<0&&++e>=2)return!1;t[r]=i}return!0}):m.filter(function(t){for(var e=0;e<=n;++e){var r=p[t[e]];if(r<0)return!1;t[e]=r}return!0});if(1&n)for(var o=0;o<m.length;++o){var v=m[o],l=v[0];v[0]=v[1],v[1]=l}return m};function lO(t,e){this.point=t,this.index=e}function uO(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}var cO=function(t,e){return sO(e).filter(function(r){for(var n=new Array(r.length),i=0;i<r.length;++i)n[i]=e[r[i]];return QD(n)*t<1})};var hO=function(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};var fO=function(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};var pO=function(t,e){var r=t.length,n=t.length-e.length;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||dO(t[0],t[1])-dO(e[0],e[1]);case 3:var i=t[0]+t[1],a=e[0]+e[1];if(n=i+t[2]-(a+e[2]))return n;var o=dO(t[0],t[1]),s=dO(e[0],e[1]);return dO(o,t[2])-dO(s,e[2])||dO(o+t[2],i)-dO(s+e[2],a);case 4:var l=t[0],u=t[1],c=t[2],h=t[3],f=e[0],p=e[1],d=e[2],g=e[3];return l+u+c+h-(f+p+d+g)||dO(l,u,c,h)-dO(f,p,d,g,f)||dO(l+u,l+c,l+h,u+c,u+h,c+h)-dO(f+p,f+d,f+g,p+d,p+g,d+g)||dO(l+u+c,l+u+h,l+c+h,u+c+h)-dO(f+p+d,f+p+g,f+d+g,p+d+g);default:for(var v=t.slice().sort(gO),m=e.slice().sort(gO),y=0;y<r;++y)if(n=v[y]-m[y])return n;return 0}},dO=Math.min;function gO(t,e){return t-e}var vO=function(t,e){return pO(t,e)||fO(t)-fO(e)};var mO=function(t){t.sort(vO);for(var e=t.length,r=0,n=0;n<e;++n){var i=t[n],a=fO(i);if(0!==a){if(r>0){var o=t[r-1];if(0===pO(i,o)&&fO(o)!==a){r-=1;continue}}t[r++]=i}}return t.length=r,t};var yO=function(t){return mO(hO(t))};var xO=function(t,e){return yO(cO(t,e))};var bO=function(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]]};var _O=function(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 i=new Array(e),n=0;n<e;++n)i[n]=n;i.sort(function(e,r){var n=t[e][0]-t[r][0];return n||t[e][1]-t[r][1]});for(var a=[i[0],i[1]],o=[i[0],i[1]],n=2;n<e;++n){for(var s=i[n],l=t[s],u=a.length;u>1&&wO(t[a[u-2]],t[a[u-1]],l)<=0;)u-=1,a.pop();for(a.push(s),u=o.length;u>1&&wO(t[o[u-2]],t[o[u-1]],l)>=0;)u-=1,o.pop();o.push(s)}for(var r=new Array(o.length+a.length-2),c=0,n=0,h=a.length;n<h;++n)r[c++]=a[n];for(var f=o.length-2;f>0;--f)r[c++]=o[f];return r},wO=PM[3];var MO=function(t){var e=_O(t),r=e.length;if(r<=2)return[];for(var n=new Array(r),i=e[r-1],a=0;a<r;++a){var o=e[a];n[a]=[i,o],i=o}return n};var AO=function(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,n=[t[0]],i=[0],a=1;a<e;++a)if(n.push(t[a]),kO(n,r)){if(i.push(a),i.length===r+1)return i}else n.pop();return i};function kO(t,e){for(var r=new Array(e+1),n=0;n<t.length;++n)r[n]=t[n];for(n=0;n<=t.length;++n){for(var i=t.length;i<=e;++i){for(var a=new Array(e),o=0;o<e;++o)a[o]=Math.pow(i+1-n,o);r[i]=a}if(PM.apply(void 0,r))return!0}return!1}var TO=function(t,e){try{return $D(t,!0)}catch(a){var r=AO(t);if(r.length<=e)return[];var n=function(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}(t,r),i=$D(n,!0);return function(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}(i,r)}};var SO=function(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;if(0===r)return[];if(1===r)return bO(t);if(2===r)return MO(t);return TO(t,r)};var EO={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:1,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]}]};var CO=function(t,e,r){return t*(1-r)+e*r},LO=function(t){var e,r,n,i,a,o,s,l,u,c;t||(t={});l=(t.nshades||72)-1,s=t.format||\"hex\",(o=t.colormap)||(o=\"jet\");if(\"string\"==typeof o){if(o=o.toLowerCase(),!EO[o])throw Error(o+\" not a supported colorscale\");a=EO[o]}else{if(!Array.isArray(o))throw Error(\"unsupported colormap option\",o);a=o.slice()}if(a.length>l)throw new Error(o+\" map requires nshades to be at least size \"+a.length);u=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():\"number\"==typeof t.alpha?[t.alpha,t.alpha]:[1,1];e=a.map(function(t){return Math.round(t.index*l)}),u[0]=Math.min(Math.max(u[0],0),1),u[1]=Math.min(Math.max(u[1],0),1);var h=a.map(function(t,e){var r=a[e].index,n=a[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1?n:(n[3]=u[0]+(u[1]-u[0])*r,n)}),f=[];for(c=0;c<e.length-1;++c){i=e[c+1]-e[c],r=h[c],n=h[c+1];for(var p=0;p<i;p++){var d=p/i;f.push([Math.round(CO(r[0],n[0],d)),Math.round(CO(r[1],n[1],d)),Math.round(CO(r[2],n[2],d)),CO(r[3],n[3],d)])}}f.push(a[a.length-1].rgb.concat(u[1])),\"hex\"===s?f=f.map(PO):\"rgbaString\"===s?f=f.map(IO):\"float\"===s&&(f=f.map(zO));return f};function zO(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function PO(t){for(var e,r=\"#\",n=0;n<3;++n)r+=(\"00\"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function IO(t){return\"rgba(\"+t.join(\",\")+\")\"}var DO=function(t,e){for(var r=e.length,n=new Array(r+1),i=0;i<r;++i){for(var a=new Array(r+1),o=0;o<=r;++o)a[o]=t[o][i];n[i]=a}n[r]=new Array(r+1);for(var i=0;i<=r;++i)n[r][i]=1;for(var s=new Array(r+1),i=0;i<r;++i)s[i]=e[i];s[r]=1;var l=HD(n,s),u=OO(l[r+1]);0===u&&(u=1);for(var c=new Array(r+1),i=0;i<=r;++i)c[i]=OO(l[i])/u;return c};function OO(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}var RO=new Float64Array(4),FO=new Float64Array(4),BO=new Float64Array(4);var NO=function(t,e,r,n,i){RO.length<n.length&&(RO=new Float64Array(n.length),FO=new Float64Array(n.length),BO=new Float64Array(n.length));for(var a=0;a<n.length;++a)RO[a]=t[a]-n[a],FO[a]=e[a]-t[a],BO[a]=r[a]-t[a];var o=0,s=0,l=0,u=0,c=0,h=0;for(a=0;a<n.length;++a){var f=FO[a],p=BO[a],d=RO[a];o+=f*f,s+=f*p,l+=p*p,u+=d*f,c+=d*p,h+=d*d}var g,v,m,y,x,b=Math.abs(o*l-s*s),_=s*c-l*u,w=s*u-o*c;if(_+w<=b)if(_<0)w<0&&u<0?(w=0,-u>=o?(_=1,g=o+2*u+h):g=u*(_=-u/o)+h):(_=0,c>=0?(w=0,g=h):-c>=l?(w=1,g=l+2*c+h):g=c*(w=-c/l)+h);else if(w<0)w=0,u>=0?(_=0,g=h):-u>=o?(_=1,g=o+2*u+h):g=u*(_=-u/o)+h;else{var M=1/b;g=(_*=M)*(o*_+s*(w*=M)+2*u)+w*(s*_+l*w+2*c)+h}else _<0?(m=l+c)>(v=s+u)?(y=m-v)>=(x=o-2*s+l)?(_=1,w=0,g=o+2*u+h):g=(_=y/x)*(o*_+s*(w=1-_)+2*u)+w*(s*_+l*w+2*c)+h:(_=0,m<=0?(w=1,g=l+2*c+h):c>=0?(w=0,g=h):g=c*(w=-c/l)+h):w<0?(m=o+u)>(v=s+c)?(y=m-v)>=(x=o-2*s+l)?(w=1,_=0,g=l+2*c+h):g=(_=1-(w=y/x))*(o*_+s*w+2*u)+w*(s*_+l*w+2*c)+h:(w=0,m<=0?(_=1,g=o+2*u+h):u>=0?(_=0,g=h):g=u*(_=-u/o)+h):(y=l+c-s-u)<=0?(_=0,w=1,g=l+2*c+h):y>=(x=o-2*s+l)?(_=1,w=0,g=o+2*u+h):g=(_=y/x)*(o*_+s*(w=1-_)+2*u)+w*(s*_+l*w+2*c)+h;var A=1-_-w;for(a=0;a<n.length;++a)i[a]=A*t[a]+_*e[a]+w*r[a];return g<0?0:g},jO=function(t,e,r,n,i,a){if(1===t.length)return[0,t[0].slice()];for(var o=new Array(t.length),s=0;s<t.length;++s)o[s]=UO(t[s],r,n,i,a);for(var l=0,u=1/0,s=0;s<o.length;++s){for(var c=0,h=0;h<2;++h)c+=Math.pow(o[s][h]-e[h],2);c<u&&(u=c,l=s)}for(var f=function(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 NO(t[0],t[1],t[2],e,a),DO(t,a)}return[]}(o,e),p=0,s=0;s<3;++s){if(f[s]<-.001||f[s]>1.0001)return null;p+=f[s]}if(Math.abs(p-1)>.001)return null;return[l,function(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}(t,f),f]};function VO(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 UO(t,e,r,n,i){for(var a=VO(n,VO(r,VO(e,[t[0],t[1],t[2],1]))),o=0;o<3;++o)a[o]/=a[3];return[.5*i[0]*(1+a[0]),.5*i[1]*(1-a[1])]}var qO={},HO=E_([\"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}\"]),GO=E_([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(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\\nfloat cookTorranceSpecular(\\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(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\\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(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}\"]),WO=E_([\"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}\"]),YO=E_([\"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}\"]),XO=E_([\"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}\"]),ZO=E_([\"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}\"]),JO=E_([\"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}\"]),KO=E_([\"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}\"]),QO=E_([\"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}\"]),$O=E_([\"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}\"]),tR=E_([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3 contourColor;\\n\\nvoid main() {\\n  gl_FragColor = vec4(contourColor,1);\\n}\\n\"]);qO.meshShader={vertex:HO,fragment:GO,attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},qO.wireShader={vertex:WO,fragment:YO,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},qO.pointShader={vertex:XO,fragment:ZO,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},qO.pickShader={vertex:JO,fragment:KO,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},qO.pointPickShader={vertex:QO,fragment:KO,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},qO.contourShader={vertex:$O,fragment:tR,attributes:[{name:\"position\",type:\"vec3\"}]};var eR={};eR.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(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],p=e[u],d=e[c],g=new Array(3),v=0,m=new Array(3),y=0,x=0;x<3;++x)g[x]=f[x]-p[x],v+=g[x]*g[x],m[x]=d[x]-p[x],y+=m[x]*m[x];if(v*y>a){var b=i[u],_=1/Math.sqrt(v*y);for(x=0;x<3;++x){var w=(x+1)%3,M=(x+2)%3;b[x]+=_*(m[w]*g[M]-m[M]*g[w])}}}for(o=0;o<n;++o){b=i[o];var A=0;for(x=0;x<3;++x)A+=b[x]*b[x];if(A>a)for(_=1/Math.sqrt(A),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},eR.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]];var c=new Array(3),h=new Array(3);for(u=0;u<3;++u)c[u]=l[1][u]-l[0][u],h[u]=l[2][u]-l[0][u];var f=new Array(3),p=0;for(u=0;u<3;++u){var d=(u+1)%3,g=(u+2)%3;f[u]=c[d]*h[g]-c[g]*h[d],p+=f[u]*f[u]}p=p>a?1/Math.sqrt(p):0;for(u=0;u<3;++u)f[u]*=p;i[o]=f}return i};var rR=32;function nR(t){switch(t){case\"uint8\":return[__.mallocUint8,__.freeUint8];case\"uint16\":return[__.mallocUint16,__.freeUint16];case\"uint32\":return[__.mallocUint32,__.freeUint32];case\"int8\":return[__.mallocInt8,__.freeInt8];case\"int16\":return[__.mallocInt16,__.freeInt16];case\"int32\":return[__.mallocInt32,__.freeInt32];case\"float32\":return[__.mallocFloat,__.freeFloat];case\"float64\":return[__.mallocDouble,__.freeDouble];default:return null}}function iR(t){for(var e=[],r=0;r<t;++r)e.push(\"s\"+r);for(r=0;r<t;++r)e.push(\"n\"+r);for(r=1;r<t;++r)e.push(\"d\"+r);for(r=1;r<t;++r)e.push(\"e\"+r);for(r=1;r<t;++r)e.push(\"f\"+r);return e}var aR=function(t,e){var r=[\"'use strict'\"],n=[\"ndarraySortWrapper\",t.join(\"d\"),e].join(\"\");r.push([\"function \",n,\"(\",[\"array\"].join(\",\"),\"){\"].join(\"\"));for(var i=[\"data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride\"],a=0;a<t.length;++a)i.push([\"s\",a,\"=stride[\",a,\"]|0,n\",a,\"=shape[\",a,\"]|0\"].join(\"\"));var o=new Array(t.length),s=[];for(a=0;a<t.length;++a)0!==(c=t[a])&&(0===s.length?o[c]=\"1\":o[c]=s.join(\"*\"),s.push(\"n\"+c));var l=-1,u=-1;for(a=0;a<t.length;++a){var c,h=t[a];0!==h&&(l>0?i.push([\"d\",h,\"=s\",h,\"-d\",l,\"*n\",l].join(\"\")):i.push([\"d\",h,\"=s\",h].join(\"\")),l=h),0!=(c=t.length-1-a)&&(u>0?i.push([\"e\",c,\"=s\",c,\"-e\",u,\"*n\",u,\",f\",c,\"=\",o[c],\"-f\",u,\"*n\",u].join(\"\")):i.push([\"e\",c,\"=s\",c,\",f\",c,\"=\",o[c]].join(\"\")),u=c)}r.push(\"var \"+i.join(\",\"));var f=[\"0\",\"n0-1\",\"data\",\"offset\"].concat(iR(t.length));r.push([\"if(n0<=\",rR,\"){\",\"insertionSort(\",f.join(\",\"),\")}else{\",\"quickSort(\",f.join(\",\"),\")}\"].join(\"\")),r.push(\"}return \"+n);var p=new Function(\"insertionSort\",\"quickSort\",r.join(\"\\n\")),d=function(t,e){var r=[\"'use strict'\"],n=[\"ndarrayInsertionSort\",t.join(\"d\"),e].join(\"\"),i=[\"left\",\"right\",\"data\",\"offset\"].concat(iR(t.length)),a=nR(e),o=[\"i,j,cptr,ptr=left*s0+offset\"];if(t.length>1){for(var s=[],l=1;l<t.length;++l)o.push(\"i\"+l),s.push(\"n\"+l);a?o.push(\"scratch=malloc(\"+s.join(\"*\")+\")\"):o.push(\"scratch=new Array(\"+s.join(\"*\")+\")\"),o.push(\"dptr\",\"sptr\",\"a\",\"b\")}else o.push(\"scratch\");function u(t){return\"generic\"===e?[\"data.get(\",t,\")\"].join(\"\"):[\"data[\",t,\"]\"].join(\"\")}function c(t,r){return\"generic\"===e?[\"data.set(\",t,\",\",r,\")\"].join(\"\"):[\"data[\",t,\"]=\",r].join(\"\")}if(r.push([\"function \",n,\"(\",i.join(\",\"),\"){var \",o.join(\",\")].join(\"\"),\"for(i=left+1;i<=right;++i){\",\"j=i;ptr+=s0\",\"cptr=ptr\"),t.length>1){for(r.push(\"dptr=0;sptr=ptr\"),l=t.length-1;l>=0;--l)0!==(h=t[l])&&r.push([\"for(i\",h,\"=0;i\",h,\"<n\",h,\";++i\",h,\"){\"].join(\"\"));for(r.push(\"scratch[dptr++]=\",u(\"sptr\")),l=0;l<t.length;++l)0!==(h=t[l])&&r.push(\"sptr+=d\"+h,\"}\");for(r.push(\"__g:while(j--\\x3eleft){\",\"dptr=0\",\"sptr=cptr-s0\"),l=1;l<t.length;++l)1===l&&r.push(\"__l:\"),r.push([\"for(i\",l,\"=0;i\",l,\"<n\",l,\";++i\",l,\"){\"].join(\"\"));for(r.push([\"a=\",u(\"sptr\"),\"\\nb=scratch[dptr]\\nif(a<b){break __g}\\nif(a>b){break __l}\"].join(\"\")),l=t.length-1;l>=1;--l)r.push(\"sptr+=e\"+l,\"dptr+=f\"+l,\"}\");for(r.push(\"dptr=cptr;sptr=cptr-s0\"),l=t.length-1;l>=0;--l)0!==(h=t[l])&&r.push([\"for(i\",h,\"=0;i\",h,\"<n\",h,\";++i\",h,\"){\"].join(\"\"));for(r.push(c(\"dptr\",u(\"sptr\"))),l=0;l<t.length;++l)0!==(h=t[l])&&r.push([\"dptr+=d\",h,\";sptr+=d\",h].join(\"\"),\"}\");for(r.push(\"cptr-=s0\\n}\"),r.push(\"dptr=cptr;sptr=0\"),l=t.length-1;l>=0;--l)0!==(h=t[l])&&r.push([\"for(i\",h,\"=0;i\",h,\"<n\",h,\";++i\",h,\"){\"].join(\"\"));for(r.push(c(\"dptr\",\"scratch[sptr++]\")),l=0;l<t.length;++l){var h;0!==(h=t[l])&&r.push(\"dptr+=d\"+h,\"}\")}}else r.push(\"scratch=\"+u(\"ptr\"),\"while((j--\\x3eleft)&&(\"+u(\"cptr-s0\")+\">scratch)){\",c(\"cptr\",u(\"cptr-s0\")),\"cptr-=s0\",\"}\",c(\"cptr\",\"scratch\"));return r.push(\"}\"),t.length>1&&a&&r.push(\"free(scratch)\"),r.push(\"} return \"+n),a?new Function(\"malloc\",\"free\",r.join(\"\\n\"))(a[0],a[1]):new Function(r.join(\"\\n\"))()}(t,e);return p(d,function(t,e,r){var n=[\"'use strict'\"],i=[\"ndarrayQuickSort\",t.join(\"d\"),e].join(\"\"),a=[\"left\",\"right\",\"data\",\"offset\"].concat(iR(t.length)),o=nR(e),s=0;n.push([\"function \",i,\"(\",a.join(\",\"),\"){\"].join(\"\"));var l=[\"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 u=[],c=1;c<t.length;++c)u.push(\"n\"+c),l.push(\"i\"+c);for(c=0;c<8;++c)l.push(\"b_ptr\"+c);l.push(\"ptr3\",\"ptr4\",\"ptr5\",\"ptr6\",\"ptr7\",\"pivot_ptr\",\"ptr_shift\",\"elementSize=\"+u.join(\"*\")),o?l.push(\"pivot1=malloc(elementSize)\",\"pivot2=malloc(elementSize)\"):l.push(\"pivot1=new Array(elementSize),pivot2=new Array(elementSize)\")}else l.push(\"pivot1\",\"pivot2\");function h(t){return[\"(offset+\",t,\"*s0)\"].join(\"\")}function f(t){return\"generic\"===e?[\"data.get(\",t,\")\"].join(\"\"):[\"data[\",t,\"]\"].join(\"\")}function p(t,r){return\"generic\"===e?[\"data.set(\",t,\",\",r,\")\"].join(\"\"):[\"data[\",t,\"]=\",r].join(\"\")}function d(e,r,i){if(1===e.length)n.push(\"ptr0=\"+h(e[0]));else for(var a=0;a<e.length;++a)n.push([\"b_ptr\",a,\"=s0*\",e[a]].join(\"\"));for(r&&n.push(\"pivot_ptr=0\"),n.push(\"ptr_shift=offset\"),a=t.length-1;a>=0;--a)0!==(o=t[a])&&n.push([\"for(i\",o,\"=0;i\",o,\"<n\",o,\";++i\",o,\"){\"].join(\"\"));if(e.length>1)for(a=0;a<e.length;++a)n.push([\"ptr\",a,\"=b_ptr\",a,\"+ptr_shift\"].join(\"\"));for(n.push(i),r&&n.push(\"++pivot_ptr\"),a=0;a<t.length;++a){var o;0!==(o=t[a])&&(e.length>1?n.push(\"ptr_shift+=d\"+o):n.push(\"ptr0+=d\"+o),n.push(\"}\"))}}function g(e,r,i,a){if(1===r.length)n.push(\"ptr0=\"+h(r[0]));else{for(var o=0;o<r.length;++o)n.push([\"b_ptr\",o,\"=s0*\",r[o]].join(\"\"));n.push(\"ptr_shift=offset\")}for(i&&n.push(\"pivot_ptr=0\"),e&&n.push(e+\":\"),o=1;o<t.length;++o)n.push([\"for(i\",o,\"=0;i\",o,\"<n\",o,\";++i\",o,\"){\"].join(\"\"));if(r.length>1)for(o=0;o<r.length;++o)n.push([\"ptr\",o,\"=b_ptr\",o,\"+ptr_shift\"].join(\"\"));for(n.push(a),o=t.length-1;o>=1;--o)i&&n.push(\"pivot_ptr+=f\"+o),r.length>1?n.push(\"ptr_shift+=e\"+o):n.push(\"ptr0+=e\"+o),n.push(\"}\")}function v(){t.length>1&&o&&n.push(\"free(pivot1)\",\"free(pivot2)\")}function m(e,r){var i=\"el\"+e,a=\"el\"+r;if(t.length>1){var o=\"__l\"+ ++s;g(o,[i,a],!1,[\"comp=\",f(\"ptr0\"),\"-\",f(\"ptr1\"),\"\\n\",\"if(comp>0){tmp0=\",i,\";\",i,\"=\",a,\";\",a,\"=tmp0;break \",o,\"}\\n\",\"if(comp<0){break \",o,\"}\"].join(\"\"))}else n.push([\"if(\",f(h(i)),\">\",f(h(a)),\"){tmp0=\",i,\";\",i,\"=\",a,\";\",a,\"=tmp0}\"].join(\"\"))}function y(e,r){t.length>1?d([e,r],!1,p(\"ptr0\",f(\"ptr1\"))):n.push(p(h(e),f(h(r))))}function x(e,r,i){if(t.length>1){var a=\"__l\"+ ++s;g(a,[r],!0,[e,\"=\",f(\"ptr0\"),\"-pivot\",i,\"[pivot_ptr]\\n\",\"if(\",e,\"!==0){break \",a,\"}\"].join(\"\"))}else n.push([e,\"=\",f(h(r)),\"-pivot\",i].join(\"\"))}function b(e,r){t.length>1?d([e,r],!1,[\"tmp=\",f(\"ptr0\"),\"\\n\",p(\"ptr0\",f(\"ptr1\")),\"\\n\",p(\"ptr1\",\"tmp\")].join(\"\")):n.push([\"ptr0=\",h(e),\"\\n\",\"ptr1=\",h(r),\"\\n\",\"tmp=\",f(\"ptr0\"),\"\\n\",p(\"ptr0\",f(\"ptr1\")),\"\\n\",p(\"ptr1\",\"tmp\")].join(\"\"))}function _(e,r,i){t.length>1?(d([e,r,i],!1,[\"tmp=\",f(\"ptr0\"),\"\\n\",p(\"ptr0\",f(\"ptr1\")),\"\\n\",p(\"ptr1\",f(\"ptr2\")),\"\\n\",p(\"ptr2\",\"tmp\")].join(\"\")),n.push(\"++\"+r,\"--\"+i)):n.push([\"ptr0=\",h(e),\"\\n\",\"ptr1=\",h(r),\"\\n\",\"ptr2=\",h(i),\"\\n\",\"++\",r,\"\\n\",\"--\",i,\"\\n\",\"tmp=\",f(\"ptr0\"),\"\\n\",p(\"ptr0\",f(\"ptr1\")),\"\\n\",p(\"ptr1\",f(\"ptr2\")),\"\\n\",p(\"ptr2\",\"tmp\")].join(\"\"))}function w(t,e){b(t,e),n.push(\"--\"+e)}function M(e,r,i){t.length>1?d([e,r],!0,[p(\"ptr0\",f(\"ptr1\")),\"\\n\",p(\"ptr1\",[\"pivot\",i,\"[pivot_ptr]\"].join(\"\"))].join(\"\")):n.push(p(h(e),f(h(r))),p(h(r),\"pivot\"+i))}function A(e,r){n.push([\"if((\",r,\"-\",e,\")<=\",rR,\"){\\n\",\"insertionSort(\",e,\",\",r,\",data,offset,\",iR(t.length).join(\",\"),\")\\n\",\"}else{\\n\",i,\"(\",e,\",\",r,\",data,offset,\",iR(t.length).join(\",\"),\")\\n\",\"}\"].join(\"\"))}function k(e,r,i){t.length>1?(n.push([\"__l\",++s,\":while(true){\"].join(\"\")),d([e],!0,[\"if(\",f(\"ptr0\"),\"!==pivot\",r,\"[pivot_ptr]){break __l\",s,\"}\"].join(\"\")),n.push(i,\"}\")):n.push([\"while(\",f(h(e)),\"===pivot\",r,\"){\",i,\"}\"].join(\"\"))}return n.push(\"var \"+l.join(\",\")),m(1,2),m(4,5),m(1,3),m(2,3),m(1,4),m(3,4),m(2,5),m(2,3),m(4,5),t.length>1?d([\"el1\",\"el2\",\"el3\",\"el4\",\"el5\",\"index1\",\"index3\",\"index5\"],!0,[\"pivot1[pivot_ptr]=\",f(\"ptr1\"),\"\\n\",\"pivot2[pivot_ptr]=\",f(\"ptr3\"),\"\\n\",\"pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\\n\",\"x=\",f(\"ptr0\"),\"\\n\",\"y=\",f(\"ptr2\"),\"\\n\",\"z=\",f(\"ptr4\"),\"\\n\",p(\"ptr5\",\"x\"),\"\\n\",p(\"ptr6\",\"y\"),\"\\n\",p(\"ptr7\",\"z\")].join(\"\")):n.push([\"pivot1=\",f(h(\"el2\")),\"\\n\",\"pivot2=\",f(h(\"el4\")),\"\\n\",\"pivots_are_equal=pivot1===pivot2\\n\",\"x=\",f(h(\"el1\")),\"\\n\",\"y=\",f(h(\"el3\")),\"\\n\",\"z=\",f(h(\"el5\")),\"\\n\",p(h(\"index1\"),\"x\"),\"\\n\",p(h(\"index3\"),\"y\"),\"\\n\",p(h(\"index5\"),\"z\")].join(\"\")),y(\"index2\",\"left\"),y(\"index4\",\"right\"),n.push(\"if(pivots_are_equal){\"),n.push(\"for(k=less;k<=great;++k){\"),x(\"comp\",\"k\",1),n.push(\"if(comp===0){continue}\"),n.push(\"if(comp<0){\"),n.push(\"if(k!==less){\"),b(\"k\",\"less\"),n.push(\"}\"),n.push(\"++less\"),n.push(\"}else{\"),n.push(\"while(true){\"),x(\"comp\",\"great\",1),n.push(\"if(comp>0){\"),n.push(\"great--\"),n.push(\"}else if(comp<0){\"),_(\"k\",\"less\",\"great\"),n.push(\"break\"),n.push(\"}else{\"),w(\"k\",\"great\"),n.push(\"break\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}else{\"),n.push(\"for(k=less;k<=great;++k){\"),x(\"comp_pivot1\",\"k\",1),n.push(\"if(comp_pivot1<0){\"),n.push(\"if(k!==less){\"),b(\"k\",\"less\"),n.push(\"}\"),n.push(\"++less\"),n.push(\"}else{\"),x(\"comp_pivot2\",\"k\",2),n.push(\"if(comp_pivot2>0){\"),n.push(\"while(true){\"),x(\"comp\",\"great\",2),n.push(\"if(comp>0){\"),n.push(\"if(--great<k){break}\"),n.push(\"continue\"),n.push(\"}else{\"),x(\"comp\",\"great\",1),n.push(\"if(comp<0){\"),_(\"k\",\"less\",\"great\"),n.push(\"}else{\"),w(\"k\",\"great\"),n.push(\"}\"),n.push(\"break\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),M(\"left\",\"(less-1)\",1),M(\"right\",\"(great+1)\",2),A(\"left\",\"(less-2)\"),A(\"(great+2)\",\"right\"),n.push(\"if(pivots_are_equal){\"),v(),n.push(\"return\"),n.push(\"}\"),n.push(\"if(less<index1&&great>index5){\"),k(\"less\",1,\"++less\"),k(\"great\",2,\"--great\"),n.push(\"for(k=less;k<=great;++k){\"),x(\"comp_pivot1\",\"k\",1),n.push(\"if(comp_pivot1===0){\"),n.push(\"if(k!==less){\"),b(\"k\",\"less\"),n.push(\"}\"),n.push(\"++less\"),n.push(\"}else{\"),x(\"comp_pivot2\",\"k\",2),n.push(\"if(comp_pivot2===0){\"),n.push(\"while(true){\"),x(\"comp\",\"great\",2),n.push(\"if(comp===0){\"),n.push(\"if(--great<k){break}\"),n.push(\"continue\"),n.push(\"}else{\"),x(\"comp\",\"great\",1),n.push(\"if(comp<0){\"),_(\"k\",\"less\",\"great\"),n.push(\"}else{\"),w(\"k\",\"great\"),n.push(\"}\"),n.push(\"break\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),v(),A(\"less\",\"great\"),n.push(\"}return \"+i),t.length>1&&o?new Function(\"insertionSort\",\"malloc\",\"free\",n.join(\"\\n\"))(r,o[0],o[1]):new Function(\"insertionSort\",n.join(\"\\n\"))(r)}(t,e,d))},oR={};var sR=function(t){var e=t.order,r=t.dtype,n=[e,r].join(\":\"),i=oR[n];return i||(oR[n]=i=aR(e,r)),i(t),t},lR=function(t){for(var e=1<<t+1,r=new Array(e),n=0;n<e;++n)r[n]=cR(t,n);return r};function uR(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 cR(t,e){if(0===e||e===(1<<t+1)-1)return[];for(var r=[],n=[],i=0;i<=t;++i)if(e&1<<i){r.push(uR(t,i-1,i-1)),n.push(null);for(var a=0;a<=t;++a)~e&1<<a&&(r.push(uR(t,i-1,a-1)),n.push([i,a]))}var o=SO(r),s=[];t:for(i=0;i<o.length;++i){var l=o[i],u=[];for(a=0;a<l.length;++a){if(!n[l[a]])continue t;u.push(n[l[a]].slice())}s.push(u)}return s}var hR=function(t){var e=fR[t];e||(e=fR[t]=function(t){var e=0,r=new Array(t+1);r[0]=[[]];for(var n=1;n<=t;++n)for(var i=r[n]=lR(n),a=0;a<i.length;++a)e=Math.max(e,i[n].length);var o=[\"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;\"];function s(t){if(!(t.length<=0)){o.push(\"R.push(\");for(var e=0;e<t.length;++e){var r=t[e];e>0&&o.push(\",\"),o.push(\"[\");for(var n=0;n<r.length;++n){var i=r[n];n>0&&o.push(\",\"),o.push(\"B(C,E,c[\",i[0],\"],c[\",i[1],\"])\")}o.push(\"]\")}o.push(\");\")}}for(var n=t+1;n>1;--n){n<t+1&&o.push(\"else \"),o.push(\"if(l===\",n,\"){\");for(var l=[],a=0;a<n;++a)l.push(\"(S[c[\"+a+\"]]<<\"+a+\")\");o.push(\"var M=\",l.join(\"+\"),\";if(M===0||M===\",(1<<n)-1,\"){continue}switch(M){\");for(var i=r[n-1],a=0;a<i.length;++a)o.push(\"case \",a,\":\"),s(i[a]),o.push(\"break;\");o.push(\"}}\")}return o.push(\"}return R;};return getContour\",t,\"d\"),new Function(\"pool\",o.join(\"\"))(__)}(t));return e},fR={};var pR=function(t,e,r,n){r=r||0,void 0===n&&(n=function(t){for(var e=t.length,r=0,n=0;n<e;++n)r=0|Math.max(r,t[n].length);return r-1}(t));if(0===t.length||n<1)return{cells:[],vertexIds:[],vertexWeights:[]};var i=function(t,e){for(var r=t.length,n=__.mallocUint8(r),i=0;i<r;++i)n[i]=t[i]<e|0;return n}(e,+r),a=function(t,e){for(var r=t.length,n=e*(e+1)/2*r|0,i=__.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 c=s[u],h=s[l];i[a++]=0|Math.min(c,h),i[a++]=0|Math.max(c,h)}sR(wb(i,[a/2|0,2]));for(var f=2,o=2;o<a;o+=2)i[o-2]===i[o]&&i[o-1]===i[o+1]||(i[f++]=i[o],i[f++]=i[o+1]);return wb(i,[f/2|0,2])}(t,n),o=function(t,e,r,n){for(var i=t.data,a=t.shape[0],o=__.mallocDouble(a),s=0,l=0;l<a;++l){var u=i[2*l],c=i[2*l+1];if(r[u]!==r[c]){var h=e[u],f=e[c];i[2*s]=u,i[2*s+1]=c,o[s++]=(f-n)/(f-h)}}return t.shape[0]=s,wb(o,[s])}(a,e,i,+r),s=function(t,e){var r=__.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}}r[2*a+1]=n;for(;++a<e;)r[2*a]=r[2*a+1]=n;return r}(a,0|e.length),l=hR(n)(t,a.data,s,i),u=function(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}(a),c=[].slice.call(o.data,0,o.shape[0]);return __.free(i),__.free(a.data),__.free(o.data),__.free(s),{cells:l,vertexIds:u,vertexWeights:c}};var dR=qO.meshShader,gR=qO.wireShader,vR=qO.pointShader,mR=qO.pickShader,yR=qO.pointPickShader,xR=qO.contourShader,bR=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function _R(t,e,r,n,i,a,o,s,l,u,c,h,f,p,d,g,v,m,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=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=v,this.edgeUVs=m,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=bR,this._view=bR,this._projection=bR,this._resolution=[1,1]}var wR=_R.prototype;function MR(t){var e=Bw(t,vR.vertex,vR.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function AR(t){var e=Bw(t,mR.vertex,mR.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function kR(t){var e=Bw(t,yR.vertex,yR.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function TR(t){var e=Bw(t,xR.vertex,xR.fragment);return e.attributes.position.location=0,e}wR.isOpaque=function(){return this.opacity>=1},wR.isTransparent=function(){return this.opacity<1},wR.pickSlots=1,wR.setPickBase=function(t){this.pickId=t},wR.highlight=function(t){if(t&&this.contourEnable){for(var e=pR(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=__.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],p=n[h][1],d=i[h],g=1-d,v=this.positions[f],m=this.positions[p],y=0;y<3;++y)o[s++]=d*v[y]+g*m[y]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),__.free(o)}else this.contourCount=0},wR.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=zE(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(function(t){for(var e=LO({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 wb(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&&r){var i=[],a=[],o=[],s=[],l=[],u=[],c=[],h=[],f=[],p=[],d=[],g=[],v=[],m=[];this.cells=r,this.positions=n;var y=t.vertexNormals,x=t.cellNormals,b=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,_=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!x&&(x=eR.faceNormals(r,n,_)),x||y||(y=eR.vertexNormals(r,n,b));var w=t.vertexColors,M=t.cellColors,A=t.meshColor||[1,1,1,1],k=t.vertexUVs,T=t.vertexIntensity,S=t.cellUVs,E=t.cellIntensity,C=1/0,L=-1/0;if(!k&&!S)if(T)if(t.vertexIntensityBounds)C=+t.vertexIntensityBounds[0],L=+t.vertexIntensityBounds[1];else for(var z=0;z<T.length;++z){var P=T[z];C=Math.min(C,P),L=Math.max(L,P)}else if(E)for(z=0;z<E.length;++z){P=E[z];C=Math.min(C,P),L=Math.max(L,P)}else for(z=0;z<n.length;++z){P=n[z][2];C=Math.min(C,P),L=Math.max(L,P)}this.intensity=T||(E?function(t,e,r){for(var n=new Array(e),i=0;i<e;++i)n[i]=0;var a=t.length;for(i=0;i<a;++i)for(var o=t[i],s=0;s<o.length;++s)n[o[s]]=r[i];return n}(r,n.length,E):function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n));var I=t.pointSizes,D=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(z=0;z<n.length;++z)for(var O=n[z],R=0;R<3;++R)!isNaN(O[R])&&isFinite(O[R])&&(this.bounds[0][R]=Math.min(this.bounds[0][R],O[R]),this.bounds[1][R]=Math.max(this.bounds[1][R],O[R]));var F=0,B=0,N=0;t:for(z=0;z<r.length;++z){var j=r[z];switch(j.length){case 1:for(O=n[U=j[0]],R=0;R<3;++R)if(isNaN(O[R])||!isFinite(O[R]))continue t;p.push(O[0],O[1],O[2]),3===(q=w?w[U]:M?M[z]:A).length?d.push(q[0],q[1],q[2],1):d.push(q[0],q[1],q[2],q[3]),H=k?k[U]:T?[(T[U]-C)/(L-C),0]:S?S[z]:E?[(E[z]-C)/(L-C),0]:[(O[2]-C)/(L-C),0],g.push(H[0],H[1]),I?v.push(I[U]):v.push(D),m.push(z),N+=1;break;case 2:for(R=0;R<2;++R){O=n[U=j[R]];for(var V=0;V<3;++V)if(isNaN(O[V])||!isFinite(O[V]))continue t}for(R=0;R<2;++R){O=n[U=j[R]];u.push(O[0],O[1],O[2]),3===(q=w?w[U]:M?M[z]:A).length?c.push(q[0],q[1],q[2],1):c.push(q[0],q[1],q[2],q[3]),H=k?k[U]:T?[(T[U]-C)/(L-C),0]:S?S[z]:E?[(E[z]-C)/(L-C),0]:[(O[2]-C)/(L-C),0],h.push(H[0],H[1]),f.push(z)}B+=1;break;case 3:for(R=0;R<3;++R)for(O=n[U=j[R]],V=0;V<3;++V)if(isNaN(O[V])||!isFinite(O[V]))continue t;for(R=0;R<3;++R){var U,q,H,G;O=n[U=j[R]];i.push(O[0],O[1],O[2]),3===(q=w?w[U]:M?M[z]:A).length?a.push(q[0],q[1],q[2],1):a.push(q[0],q[1],q[2],q[3]),H=k?k[U]:T?[(T[U]-C)/(L-C),0]:S?S[z]:E?[(E[z]-C)/(L-C),0]:[(O[2]-C)/(L-C),0],s.push(H[0],H[1]),G=y?y[U]:x[z],o.push(G[0],G[1],G[2]),l.push(z)}F+=1}}this.pointCount=N,this.edgeCount=B,this.triangleCount=F,this.pointPositions.update(p),this.pointColors.update(d),this.pointUVs.update(g),this.pointSizes.update(v),this.pointIds.update(new Uint32Array(m)),this.edgePositions.update(u),this.edgeColors.update(c),this.edgeUVs.update(h),this.edgeIds.update(new Uint32Array(f)),this.trianglePositions.update(i),this.triangleColors.update(a),this.triangleUVs.update(s),this.triangleNormals.update(o),this.triangleIds.update(new Uint32Array(l))}},wR.drawTransparent=wR.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||bR,n=t.view||bR,i=t.projection||bR,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);Dz(l,s.view,s.model),Dz(l,s.projection,l),cz(l,l);for(o=0;o<3;++o)s.eyePosition[o]=l[12+o]/l[15];var u,c=l[15];for(o=0;o<3;++o)c+=this.lightPosition[o]*l[4*o+3];for(o=0;o<3;++o){for(var h=l[12+o],f=0;f<3;++f)h+=l[4*f+o]*this.lightPosition[f];s.lightPosition[o]=h/c}this.triangleCount>0&&((u=this.triShader).bind(),u.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((u=this.lineShader).bind(),u.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((u=this.pointShader).bind(),u.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((u=this.contourShader).bind(),u.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},wR.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||bR,n=t.view||bR,i=t.projection||bR,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,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,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)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},wR.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=jO(i,[t.coord[0],this._resolution[1]-t.coord[1]],this._model,this._view,this._projection,this._resolution);if(!o)return null;var s=o[2],l=0;for(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]]]}},wR.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()};var SR=function(t,e){1===arguments.length&&(t=(e=t).gl);var r=function(t){var e=Bw(t,dR.vertex,dR.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}(t),n=function(t){var e=Bw(t,gR.vertex,gR.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}(t),i=MR(t),a=AR(t),o=kR(t),s=TR(t),l=zE(t,wb(new Uint8Array([255,255,255,255]),[1,1,4]));l.generateMipmap(),l.minFilter=t.LINEAR_MIPMAP_LINEAR,l.magFilter=t.LINEAR;var u=S_(t),c=S_(t),h=S_(t),f=S_(t),p=S_(t),d=EP(t,[{buffer:u,type:t.FLOAT,size:3},{buffer:p,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:c,type:t.FLOAT,size:4},{buffer:h,type:t.FLOAT,size:2},{buffer:f,type:t.FLOAT,size:3}]),g=S_(t),v=S_(t),m=S_(t),y=S_(t),x=EP(t,[{buffer:g,type:t.FLOAT,size:3},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:v,type:t.FLOAT,size:4},{buffer:m,type:t.FLOAT,size:2}]),b=S_(t),_=S_(t),w=S_(t),M=S_(t),A=S_(t),k=EP(t,[{buffer:b,type:t.FLOAT,size:3},{buffer:A,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:_,type:t.FLOAT,size:4},{buffer:w,type:t.FLOAT,size:2},{buffer:M,type:t.FLOAT,size:1}]),T=S_(t),S=new _R(t,l,r,n,i,a,o,s,u,p,c,h,f,d,g,y,v,m,x,b,A,_,w,M,k,T,EP(t,[{buffer:T,type:t.FLOAT,size:3}]));return S.update(e),S};function ER(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=\"\",this.color=\"#fff\",this.data=null,this.showContour=!1}var CR=ER.prototype;function LR(t){return t.map(WC)}function zR(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}CR.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},CR.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map(function(e){return t.d2l(e,0,n)*r})}this.data=t;var i,a=zR(n(r.xaxis,t.x,e.dataScale[0],t.xcalendar),n(r.yaxis,t.y,e.dataScale[1],t.ycalendar),n(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k)i=zR(t.i,t.j,t.k);else if(0===t.alphahull)i=SO(a);else if(t.alphahull>0)i=xO(t.alphahull,a);else{var o=[\"x\",\"y\",\"z\"].indexOf(t.delaunayaxis);i=sO(a.map(function(t){return[t[(o+1)%3],t[(o+2)%3]]}))}var l={positions:a,cells:i,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:WC(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};t.intensity?(this.color=\"#fff\",l.vertexIntensity=t.intensity,l.vertexIntensityBounds=[t.cmin,t.cmax],l.colormap=t.colorscale.map(function(t){var e=t[0],r=s(t[1]).toRgb();return{index:e,rgb:[r.r,r.g,r.b,1]}})):t.vertexcolor?(this.color=t.vertexcolor[0],l.vertexColors=LR(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],l.cellColors=LR(t.facecolor)):(this.color=t.color,l.meshColor=WC(t.color)),this.mesh.update(l)},CR.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};var PR=function(t,e){var r=t.glplot.gl,n=SR({gl:r}),i=new ER(t,n,e.uid);return n._trace=i,i.update(e),t.glplot.add(n),i},IR={};IR.attributes=RD,IR.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,RD,r,n)}function a(t){var e=t.map(function(t){var e=i(t);return e&&ne.isArrayOrTypedArray(e)?e:null});return e.every(function(t){return t&&t.length===e[0].length})&&e}var o=a([\"x\",\"y\",\"z\"]),s=a([\"i\",\"j\",\"k\"]);o?(s&&s.forEach(function(t){for(var e=0;e<t.length;++e)t[e]|=0}),P.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],n),[\"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){i(t)}),\"intensity\"in t?(i(\"intensity\"),Ye(t,e,n,i,{prefix:\"\",cLetter:\"c\"})):(e.showscale=!1,\"facecolor\"in t?i(\"facecolor\"):\"vertexcolor\"in t?i(\"vertexcolor\"):i(\"color\",r)),i(\"text\")):e.visible=!1},IR.calc=function(t,e){e.intensity&&Ve(e,e.intensity,\"\",\"c\")},IR.colorbar=function(t,e){var n=e[0].trace,i=\"cb\"+n.uid,a=n.cmin,o=n.cmax,s=n.intensity||[];if(r(a)||(a=ne.aggNums(Math.min,null,s)),r(o)||(o=ne.aggNums(Math.max,null,s)),t._fullLayout._infolayer.selectAll(\".\"+i).remove(),n.showscale){var l=e[0].t.cb=ns(t,i),u=Je.makeColorScaleFunc(Je.extractScale(n.colorscale,a,o),{noNumericCheck:!0});l.fillcolor(u).filllevels({start:a,end:o,size:(o-a)/254}).options(n.colorbar)()}else _n.autoMargin(t,i)},IR.plot=PR,IR.moduleType=\"trace\",IR.name=\"mesh3d\",IR.basePlotModule=SD,IR.categories=[\"gl3d\"],IR.meta={};var DR=IR;function OR(t,e,r,n){Kl(t,e,r,n),r(n+\".line.color\"),r(n+\".line.width\",e.line.width),r(n+\".line.dash\",e.line.dash)}var RR={},FR=ne._;function BR(t,e,r){var n={type:\"scatter\",mode:\"lines\",connectgaps:!1,visible:t.visible,opacity:t.opacity,xaxis:t.xaxis,yaxis:t.yaxis,hoverinfo:function(t){var e=t.hoverinfo;if(\"all\"===e)return\"x+text+name\";var r=e.split(\"+\"),n=r.indexOf(\"y\"),i=r.indexOf(\"text\");-1!==n&&(r.splice(n,1),-1===i&&r.push(\"text\"));return r.join(\"+\")}(t),transforms:Ql.makeTransform(t,e,r)},i=t[r];return i&&ne.extendFlat(n,{x:t.x||[0],xcalendar:t.xcalendar,y:[].concat(t.low).concat(t.high),text:t.text,name:i.name,showlegend:i.showlegend,line:i.line}),n}RR.moduleType=\"transform\",RR.name=\"ohlc\",RR.attributes={},RR.supplyDefaults=function(t,e,r,n){return Ql.clearEphemeralTransformOpts(n),Ql.copyOHLC(t,e),t},RR.transform=function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n];\"ohlc\"===i.type?r.push(BR(i,e,\"increasing\"),BR(i,e,\"decreasing\")):r.push(i)}return Ql.addRangeSlider(r,e.layout),r},RR.calcTransform=function(t,e,n){var i,a=n.direction,o=Ql.getFilterFn(a),s=gn.getFromTrace(t,e,\"x\"),l=gn.getFromTrace(t,e,\"y\"),u=function(t,e,r){var n=r._fullInput,i=n.tickwidth,a=n._minDiff;if(!a){var o,s=t._fullData,l=[];for(a=1/0,o=0;o<s.length;o++){var u=s[o]._fullInput;if(\"ohlc\"===u.type&&!0===u.visible&&u.xaxis===e._id&&(l.push(u),u.x&&u.x.length>1)){var c=ne.simpleMap(u.x,e.d2c,0,r.xcalendar),h=ne.distinctVals(c).minDiff;a=Math.min(a,h)}}for(a===1/0&&(a=1),o=0;o<l.length;o++)l[o]._minDiff=a}return a*i}(t,s,e),c=e.open,h=e.high,f=e.low,p=e.close,d=e.text,g=FR(t,\"open:\")+\" \",v=FR(t,\"high:\")+\" \",m=FR(t,\"low:\")+\" \",y=FR(t,\"close:\")+\" \",x=c.length,b=[],_=[],w=[];i=e._fullInput.x?function(t){var r=e.x[t],n=e.xcalendar,i=s.d2c(r,0,n);b.push(s.c2d(i-u,0,n),r,r,r,r,s.c2d(i+u,0,n),null)}:function(t){b.push(t-u,t,t,t,t,t+u,null)};for(var M,A,k,T,S=function(t,e){return ri.tickText(t,t.c2l(e),\"hover\").text},E=e._fullInput.hoverinfo,C=E.split(\"+\"),L=\"all\"===E,z=L||-1!==C.indexOf(\"y\"),P=L||-1!==C.indexOf(\"text\"),I=Array.isArray(d)?function(t){return d[t]||\"\"}:function(){return d},D=function(t,e,r,n,i){var a=[];z&&(a.push(g+S(l,e)),a.push(v+S(l,r)),a.push(m+S(l,n)),a.push(y+S(l,i))),P&&a.push(I(t));var o=a.join(\"<br>\");w.push(o,o,o,o,o,o,null)},O=0;O<x;O++)o(c[O],p[O])&&r(h[O])&&r(f[O])&&(i(O),M=c[O],A=h[O],k=f[O],T=p[O],_.push(M,M,A,k,T,T,null),D(O,c[O],h[O],f[O],p[O]));e.x=b,e.y=_,e.text=w,e._length=b.length};var NR={moduleType:\"trace\",name:\"ohlc\",basePlotModule:ua,categories:[\"cartesian\",\"showLegend\"],meta:{},attributes:Yl,supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Yl,r,n)}Ql.pushDummyTransformOpts(t,e),0!==$l(t,e,i,n)?(i(\"line.width\"),i(\"line.dash\"),OR(t,e,i,\"increasing\"),OR(t,e,i,\"decreasing\"),i(\"text\"),i(\"tickwidth\")):e.visible=!1}};P.register(zx),P.register(RR);var jR,VR,UR=NR,qR=qc.attributes,HR=m.extendDeepAll,GR=m.extendFlat,WR={domain:qR({name:\"parcoords\",trace:!0,editType:\"calc\"}),labelfont:T({editType:\"calc\"}),tickfont:T({editType:\"calc\"}),rangefont:T({editType:\"calc\"}),dimensions:{_isLinkedToArray:\"dimension\",label:{valType:\"string\",editType:\"calc\"},tickvals:GR({},Ce.tickvals,{editType:\"calc\"}),ticktext:GR({},Ce.ticktext,{editType:\"calc\"}),tickformat:{valType:\"string\",dflt:\"3s\",editType:\"calc\"},visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},range:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},constraintrange:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},line:GR(HR(De(0,\"calc\"),{colorscale:{dflt:l.Viridis},autocolorscale:{dflt:!1}}),{showscale:{valType:\"boolean\",dflt:!1,editType:\"calc\"},colorbar:ze,editType:\"calc\"})},YR={exports:{}};function XR(t){return[t]}jR=this,VR=function(){function t(t,e){this.id=V++,this.type=t,this.data=e}function e(t){return\"[\"+function t(e){if(0===e.length)return[];var r=e.charAt(0),n=e.charAt(e.length-1);if(1<e.length&&r===n&&('\"'===r||\"'\"===r))return['\"'+e.substr(1,e.length-2).replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')+'\"'];if(r=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(e))return t(e.substr(0,r.index)).concat(t(r[1])).concat(t(e.substr(r.index+r[0].length)));if(1===(r=e.split(\".\")).length)return['\"'+e.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')+'\"'];for(e=[],n=0;n<r.length;++n)e=e.concat(t(r[n]));return e}(t).join(\"][\")+\"]\"}function r(t){return\"string\"==typeof t?t.split():t}function n(t){return\"string\"==typeof t?document.querySelector(t):t}function i(t){var e,i,a,o,s=t||{};t={};var l=[],u=[],c=\"undefined\"==typeof window?1:window.devicePixelRatio,h=!1,f=function(t){},p=function(){};if(\"string\"==typeof s?e=document.querySelector(s):\"object\"==typeof s&&(\"string\"==typeof s.nodeName&&\"function\"==typeof s.appendChild&&\"function\"==typeof s.getBoundingClientRect?e=s:\"function\"==typeof s.drawArrays||\"function\"==typeof s.drawElements?a=(o=s).canvas:(\"gl\"in s?o=s.gl:\"canvas\"in s?a=n(s.canvas):\"container\"in s&&(i=n(s.container)),\"attributes\"in s&&(t=s.attributes),\"extensions\"in s&&(l=r(s.extensions)),\"optionalExtensions\"in s&&(u=r(s.optionalExtensions)),\"onDone\"in s&&(f=s.onDone),\"profile\"in s&&(h=!!s.profile),\"pixelRatio\"in s&&(c=+s.pixelRatio))),e&&(\"canvas\"===e.nodeName.toLowerCase()?a=e:i=e),!o){if(!a){if(!(e=function(t,e,r){function n(){var e=window.innerWidth,n=window.innerHeight;t!==document.body&&(e=(n=t.getBoundingClientRect()).right-n.left,n=n.bottom-n.top),i.width=r*e,i.height=r*n,j(i.style,{width:e+\"px\",height:n+\"px\"})}var i=document.createElement(\"canvas\");return j(i.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(i),t===document.body&&(i.style.position=\"absolute\",j(t.style,{margin:0,padding:0})),window.addEventListener(\"resize\",n,!1),n(),{canvas:i,onDestroy:function(){window.removeEventListener(\"resize\",n),t.removeChild(i)}}}(i||document.body,0,c)))return null;a=e.canvas,p=e.onDestroy}o=function(t,e){function r(r){try{return t.getContext(r,e)}catch(t){return null}}return r(\"webgl\")||r(\"experimental-webgl\")||r(\"webgl-experimental\")}(a,t)}return o?{gl:o,canvas:a,container:i,extensions:l,optionalExtensions:u,pixelRatio:c,profile:h,onDone:f,onDestroy:p}:(p(),f(\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\"),null)}function a(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)||G(t.data))}function o(t,e){for(var r=Array(t),n=0;n<t;++n)r[n]=e(n);return r}function s(t){var e,r;return e=(65535<t)<<4,e|=r=(255<(t>>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function l(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=Y[s(t)>>2]).length?e.pop():new ArrayBuffer(t)}function u(t){Y[s(t.byteLength)>>2].push(t)}function c(t,e,r,n,i,a){for(var o=0;o<e;++o)for(var s=t[o],l=0;l<r;++l)for(var u=s[l],c=0;c<n;++c)i[a++]=u[c]}function h(t){return 0|J[Object.prototype.toString.call(t)]}function f(t,e){for(var r=0;r<e.length;++r)t[r]=e[r]}function p(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 d(t,e,r){function n(e){this.id=l++,this.buffer=t.createBuffer(),this.type=e,this.usage=35044,this.byteLength=0,this.dimension=1,this.dtype=5121,this.persistentData=null,r.profile&&(this.stats={size:0})}function i(e,r,n){e.byteLength=r.byteLength,t.bufferData(e.type,r,n)}function o(t,e,r,n,o,s){if(t.usage=r,Array.isArray(e)){if(t.dtype=n||5126,0<e.length)if(Array.isArray(e[0])){o=tt(e);for(var l=n=1;l<o.length;++l)n*=o[l];t.dimension=n,i(t,e=$(e,o,t.dtype),r),s?t.persistentData=e:X.freeType(e)}else\"number\"==typeof e[0]?(t.dimension=o,f(o=X.allocType(t.dtype,e.length),e),i(t,o,r),s?t.persistentData=o:X.freeType(o)):G(e[0])&&(t.dimension=e[0].length,t.dtype=n||h(e[0])||5126,i(t,e=$(e,[e.length,e[0].length],t.dtype),r),s?t.persistentData=e:X.freeType(e))}else if(G(e))t.dtype=n||h(e),t.dimension=o,i(t,e,r),s&&(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(a(e)){o=e.shape;var u=e.stride,c=(l=e.offset,0),d=0,g=0,v=0;1===o.length?(c=o[0],d=1,g=u[0],v=0):2===o.length&&(c=o[0],d=o[1],g=u[0],v=u[1]),t.dtype=n||h(e.data)||5126,t.dimension=d,p(o=X.allocType(t.dtype,c*d),e.data,c,d,g,v,l),i(t,o,r),s?t.persistentData=o:X.freeType(o)}}function s(r){e.bufferCount--,t.deleteBuffer(r.buffer),r.buffer=null,delete u[r.id]}var l=0,u={};n.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},n.prototype.destroy=function(){s(this)};var c=[];return r.profile&&(e.getTotalBufferSize=function(){var t=0;return Object.keys(u).forEach(function(e){t+=u[e].stats.size}),t}),{create:function(i,l,c,d){function g(e){var n=35044,i=null,s=0,l=0,u=1;return Array.isArray(e)||G(e)||a(e)?i=e:\"number\"==typeof e?s=0|e:e&&(\"data\"in e&&(i=e.data),\"usage\"in e&&(n=Q[e.usage]),\"type\"in e&&(l=K[e.type]),\"dimension\"in e&&(u=0|e.dimension),\"length\"in e&&(s=0|e.length)),v.bind(),i?o(v,i,n,l,u,d):(t.bufferData(v.type,s,n),v.dtype=l||5121,v.usage=n,v.dimension=u,v.byteLength=s),r.profile&&(v.stats.size=v.byteLength*et[v.dtype]),g}e.bufferCount++;var v=new n(l);return u[v.id]=v,c||g(i),g._reglType=\"buffer\",g._buffer=v,g.subdata=function(e,r){var n,i=0|(r||0);if(v.bind(),G(e))t.bufferSubData(v.type,i,e);else if(Array.isArray(e)){if(0<e.length)if(\"number\"==typeof e[0]){var o=X.allocType(v.dtype,e.length);f(o,e),t.bufferSubData(v.type,i,o),X.freeType(o)}else(Array.isArray(e[0])||G(e[0]))&&(n=tt(e),o=$(e,n,v.dtype),t.bufferSubData(v.type,i,o),X.freeType(o))}else if(a(e)){n=e.shape;var s=e.stride,l=o=0,u=0,c=0;1===n.length?(o=n[0],l=1,u=s[0],c=0):2===n.length&&(o=n[0],l=n[1],u=s[0],c=s[1]),n=Array.isArray(e.data)?v.dtype:h(e.data),p(n=X.allocType(n,o*l),e.data,o,l,u,c,e.offset),t.bufferSubData(v.type,i,n),X.freeType(n)}return g},r.profile&&(g.stats=v.stats),g.destroy=function(){s(v)},g},createStream:function(t,e){var r=c.pop();return r||(r=new n(t)),r.bind(),o(r,e,35040,0,1,!1),r},destroyStream:function(t){c.push(t)},clear:function(){W(u).forEach(s),c.forEach(s)},getBuffer:function(t){return t&&t._buffer instanceof n?t._buffer:null},restore:function(){W(u).forEach(function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)})},_initBuffer:o}}function g(t,e,r,n){function i(t){this.id=u++,l[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function o(n,i,o,s,l,u,c){if(n.buffer.bind(),i){var h=c;c||G(i)&&(!a(i)||G(i.data))||(h=e.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,i,o,h,3)}else t.bufferData(34963,u,o),n.buffer.dtype=h||5121,n.buffer.usage=o,n.buffer.dimension=3,n.buffer.byteLength=u;if(h=c,!c){switch(n.buffer.dtype){case 5121:case 5120:h=5121;break;case 5123:case 5122:h=5123;break;case 5125:case 5124:h=5125}n.buffer.dtype=h}n.type=h,0>(i=l)&&(i=n.buffer.byteLength,5123===h?i>>=1:5125===h&&(i>>=2)),n.vertCount=i,i=s,0>s&&(i=4,1===(s=n.buffer.dimension)&&(i=0),2===s&&(i=1),3===s&&(i=4)),n.primType=i}function s(t){n.elementsCount--,delete l[t.id],t.buffer.destroy(),t.buffer=null}var l={},u=0,c={uint8:5121,uint16:5123};e.oes_element_index_uint&&(c.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var h=[];return{create:function(t,e){function l(t){if(t)if(\"number\"==typeof t)u(t),h.primType=4,h.vertCount=0|t,h.type=5121;else{var e=null,r=35044,n=-1,i=-1,s=0,f=0;Array.isArray(t)||G(t)||a(t)?e=t:(\"data\"in t&&(e=t.data),\"usage\"in t&&(r=Q[t.usage]),\"primitive\"in t&&(n=rt[t.primitive]),\"count\"in t&&(i=0|t.count),\"type\"in t&&(f=c[t.type]),\"length\"in t?s=0|t.length:(s=i,5123===f||5122===f?s*=2:5125!==f&&5124!==f||(s*=4))),o(h,e,r,n,i,s,f)}else u(),h.primType=4,h.vertCount=0,h.type=5121;return l}var u=r.create(null,34963,!0),h=new i(u._buffer);return n.elementsCount++,l(t),l._reglType=\"elements\",l._elements=h,l.subdata=function(t,e){return u.subdata(t,e),l},l.destroy=function(){s(h)},l},createStream:function(t){var e=h.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),o(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){h.push(t)},getElements:function(t){return\"function\"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){W(l).forEach(s)}}}function v(t){for(var e=X.allocType(5123,t.length),r=0;r<t.length;++r)if(isNaN(t[r]))e[r]=65535;else if(1/0===t[r])e[r]=31744;else if(-1/0===t[r])e[r]=64512;else{nt[0]=t[r];var n=(a=it[0])>>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15<i?n+31744:n+(i+15<<10)+a}return e}function m(t){return Array.isArray(t)||G(t)}function y(t){return Array.isArray(t)&&(0===t.length||\"number\"==typeof t[0])}function x(t){return!(!Array.isArray(t)||0===t.length||!m(t[0]))}function b(t){return Object.prototype.toString.call(t)}function _(t){if(!t)return!1;var e=b(t);return 0<=lt.indexOf(e)||(y(t)||x(t)||a(t))}function w(t,e){36193===t.type?(t.data=v(e),X.freeType(e)):t.data=e}function M(t,e,r,n,i,a){if(t=void 0!==ct[t]?ct[t]:st[t]*ut[e],a&&(t*=6),i){for(n=0;1<=r;)n+=t*r*r,r/=2;return n}return t*r*n}function A(t,e,r,n,i,o,s){function l(){this.format=this.internalformat=6408,this.type=5121,this.flipY=this.premultiplyAlpha=this.compressed=!1,this.unpackAlignment=1,this.colorSpace=37444,this.channels=this.height=this.width=0}function u(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 c(t,e){if(\"object\"==typeof e&&e){\"premultiplyAlpha\"in e&&(t.premultiplyAlpha=e.premultiplyAlpha),\"flipY\"in e&&(t.flipY=e.flipY),\"alignment\"in e&&(t.unpackAlignment=e.alignment),\"colorSpace\"in e&&(t.colorSpace=U[e.colorSpace]),\"type\"in e&&(t.type=q[e.type]);var r=t.width,n=t.height,i=t.channels,a=!1;\"shape\"in e?(r=e.shape[0],n=e.shape[1],3===e.shape.length&&(i=e.shape[2],a=!0)):(\"radius\"in e&&(r=n=e.radius),\"width\"in e&&(r=e.width),\"height\"in e&&(n=e.height),\"channels\"in e&&(i=e.channels,a=!0)),t.width=0|r,t.height=0|n,t.channels=0|i,r=!1,\"format\"in e&&(r=e.format,n=t.internalformat=H[r],t.format=it[n],r in q&&!(\"type\"in e)&&(t.type=q[r]),r in Y&&(t.compressed=!0),r=!0),!a&&r?t.channels=st[t.format]:a&&!r&&t.channels!==ot[t.format]&&(t.format=t.internalformat=ot[t.channels])}}function h(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function f(){l.call(this),this.yOffset=this.xOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function p(t,e){var r=null;if(_(e)?r=e:e&&(c(t,e),\"x\"in e&&(t.xOffset=0|e.x),\"y\"in e&&(t.yOffset=0|e.y),_(e.data)&&(r=e.data)),e.copy){var n=i.viewportWidth,o=i.viewportHeight;t.width=t.width||n-t.xOffset,t.height=t.height||o-t.yOffset,t.needsCopy=!0}else if(r){if(G(r))t.channels=t.channels||4,t.data=r,\"type\"in e||5121!==t.type||(t.type=0|J[Object.prototype.toString.call(r)]);else if(y(r)){switch(t.channels=t.channels||4,o=(n=r).length,t.type){case 5121:case 5123:case 5125:case 5126:(o=X.allocType(t.type,o)).set(n),t.data=o;break;case 36193:t.data=v(n)}t.alignment=1,t.needsFree=!0}else if(a(r)){n=r.data,Array.isArray(n)||5121!==t.type||(t.type=0|J[Object.prototype.toString.call(n)]);o=r.shape;var s,l,u,h,f=r.stride;3===o.length?(u=o[2],h=f[2]):h=u=1,s=o[0],l=o[1],o=f[0],f=f[1],t.alignment=1,t.width=s,t.height=l,t.channels=u,t.format=t.internalformat=ot[u],t.needsFree=!0,s=h,r=r.offset,u=t.width,h=t.height,l=t.channels;for(var p=X.allocType(36193===t.type?5126:t.type,u*h*l),d=0,g=0;g<h;++g)for(var M=0;M<u;++M)for(var A=0;A<l;++A)p[d++]=n[o*M+f*g+s*A+r];w(t,p)}else if(\"[object HTMLCanvasElement]\"===b(r)||\"[object CanvasRenderingContext2D]\"===b(r))\"[object HTMLCanvasElement]\"===b(r)?t.element=r:t.element=r.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(\"[object HTMLImageElement]\"===b(r))t.element=r,t.width=r.naturalWidth,t.height=r.naturalHeight,t.channels=4;else if(\"[object HTMLVideoElement]\"===b(r))t.element=r,t.width=r.videoWidth,t.height=r.videoHeight,t.channels=4;else if(x(r)){for(n=t.width||r[0].length,o=t.height||r.length,f=t.channels,f=m(r[0][0])?f||r[0][0].length:f||1,s=Z.shape(r),u=1,h=0;h<s.length;++h)u*=s[h];u=X.allocType(36193===t.type?5126:t.type,u),Z.flatten(r,s,\"\",u),w(t,u),t.alignment=1,t.width=n,t.height=o,t.channels=f,t.format=t.internalformat=ot[f],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function d(e,r,i,a,o){var s=e.element,l=e.data,u=e.internalformat,c=e.format,f=e.type,p=e.width,d=e.height;h(e),s?t.texSubImage2D(r,o,i,a,c,f,s):e.compressed?t.compressedTexSubImage2D(r,o,i,a,u,p,d,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,i,a,e.xOffset,e.yOffset,p,d)):t.texSubImage2D(r,o,i,a,p,d,c,f,l)}function g(){return lt.pop()||new f}function A(t){t.needsFree&&X.freeType(t.data),f.call(t),lt.push(t)}function k(t,e,r){var n=t.images[0]=g();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function T(t,e){var r=null;if(_(e))u(r=t.images[0]=g(),t),p(r,e),t.mipmask=1;else if(c(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,i=0;i<n.length;++i)u(r=t.images[i]=g(),t),r.width>>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<<i;else u(r=t.images[0]=g(),t),p(r,e),t.mipmask=1;u(t,t.images[0])}function S(e,r){for(var i=e.images,a=0;a<i.length&&i[a];++a){var o=i[a],s=r,l=a,u=o.element,c=o.data,f=o.internalformat,p=o.format,d=o.type,g=o.width,v=o.height;h(o),u?t.texImage2D(s,l,p,p,d,u):o.compressed?t.compressedTexImage2D(s,l,f,g,v,0,c):o.needsCopy?(n(),t.copyTexImage2D(s,l,p,o.xOffset,o.yOffset,g,v,0)):t.texImage2D(s,l,p,g,v,0,p,d,c)}}function E(){var t=ut.pop()||new function(){l.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)};l.call(t);for(var e=t.mipmask=0;16>e;++e)t.images[e]=null;return t}function C(t){for(var e=t.images,r=0;r<e.length;++r)e[r]&&A(e[r]),e[r]=null;ut.push(t)}function L(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function z(t,e){\"min\"in e&&(t.minFilter=V[e.min],0<=at.indexOf(t.minFilter)&&(t.genMipmaps=!0)),\"mag\"in e&&(t.magFilter=N[e.mag]);var r=t.wrapS,n=t.wrapT;if(\"wrap\"in e){var i=e.wrap;\"string\"==typeof i?r=n=B[i]:Array.isArray(i)&&(r=B[i[0]],n=B[i[1]])}else\"wrapS\"in e&&(r=B[e.wrapS]),\"wrapT\"in e&&(n=B[e.wrapT]);if(t.wrapS=r,t.wrapT=n,\"anisotropic\"in e&&(t.anisotropic=e.anisotropic),\"mipmap\"in e){switch(r=!1,typeof e.mipmap){case\"string\":t.mipmapHint=F[e.mipmap],r=t.genMipmaps=!0;break;case\"boolean\":r=t.genMipmaps=e.mipmap;break;case\"object\":t.genMipmaps=!1,r=!0}!r||\"min\"in e||(t.minFilter=9984)}}function P(r,n){t.texParameteri(n,10241,r.minFilter),t.texParameteri(n,10240,r.magFilter),t.texParameteri(n,10242,r.wrapS),t.texParameteri(n,10243,r.wrapT),e.ext_texture_filter_anisotropic&&t.texParameteri(n,34046,r.anisotropic),r.genMipmaps&&(t.hint(33170,r.mipmapHint),t.generateMipmap(n))}function I(e){l.call(this),this.mipmask=0,this.internalformat=6408,this.id=ct++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new L,s.profile&&(this.stats={size:0})}function D(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function O(){var e=pt[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(3553,null)}function R(e){var r=e.texture,n=e.unit,i=e.target;0<=n&&(t.activeTexture(33984+n),t.bindTexture(i,null),pt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete ht[e.id],o.textureCount--}var F={\"don't care\":4352,\"dont care\":4352,nice:4354,fast:4353},B={repeat:10497,clamp:33071,mirror:33648},N={nearest:9728,linear:9729},V=j({mipmap:9987,\"nearest mipmap nearest\":9984,\"linear mipmap nearest\":9985,\"nearest mipmap linear\":9986,\"linear mipmap linear\":9987},N),U={none:0,browser:37444},q={uint8:5121,rgba4:32819,rgb565:33635,\"rgb5 a1\":32820},H={alpha:6406,luminance:6409,\"luminance alpha\":6410,rgb:6407,rgba:6408,rgba4:32854,\"rgb5 a1\":32855,rgb565:36194},Y={};e.ext_srgb&&(H.srgb=35904,H.srgba=35906),e.oes_texture_float&&(q.float32=q.float=5126),e.oes_texture_half_float&&(q.float16=q[\"half float\"]=36193),e.webgl_depth_texture&&(j(H,{depth:6402,\"depth stencil\":34041}),j(q,{uint16:5123,uint32:5125,\"depth stencil\":34042})),e.webgl_compressed_texture_s3tc&&j(Y,{\"rgb s3tc dxt1\":33776,\"rgba s3tc dxt1\":33777,\"rgba s3tc dxt3\":33778,\"rgba s3tc dxt5\":33779}),e.webgl_compressed_texture_atc&&j(Y,{\"rgb atc\":35986,\"rgba atc explicit alpha\":35987,\"rgba atc interpolated alpha\":34798}),e.webgl_compressed_texture_pvrtc&&j(Y,{\"rgb pvrtc 4bppv1\":35840,\"rgb pvrtc 2bppv1\":35841,\"rgba pvrtc 4bppv1\":35842,\"rgba pvrtc 2bppv1\":35843}),e.webgl_compressed_texture_etc1&&(Y[\"rgb etc1\"]=36196);var K=Array.prototype.slice.call(t.getParameter(34467));Object.keys(Y).forEach(function(t){var e=Y[t];0<=K.indexOf(e)&&(H[t]=e)});var Q=Object.keys(H);r.textureFormats=Q;var $=[];Object.keys(H).forEach(function(t){$[H[t]]=t});var tt=[];Object.keys(q).forEach(function(t){tt[q[t]]=t});var et=[];Object.keys(N).forEach(function(t){et[N[t]]=t});var rt=[];Object.keys(V).forEach(function(t){rt[V[t]]=t});var nt=[];Object.keys(B).forEach(function(t){nt[B[t]]=t});var it=Q.reduce(function(t,e){var r=H[e];return 6409===r||6406===r||6409===r||6410===r||6402===r||34041===r?t[r]=r:32855===r||0<=e.indexOf(\"rgba\")?t[r]=6408:t[r]=6407,t},{}),lt=[],ut=[],ct=0,ht={},ft=r.maxTextureUnits,pt=Array(ft).map(function(){return null});return j(I.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(0>e){for(var r=0;r<ft;++r){var n=pt[r];if(n){if(0<n.bindCount)continue;n.unit=-1}pt[r]=this,e=r;break}s.profile&&o.maxTextureUnits<e+1&&(o.maxTextureUnits=e+1),this.unit=e,t.activeTexture(33984+e),t.bindTexture(this.target,this.texture)}return e},unbind:function(){--this.bindCount},decRef:function(){0>=--this.refCount&&R(this)}}),s.profile&&(o.getTotalTextureSize=function(){var t=0;return Object.keys(ht).forEach(function(e){t+=ht[e].stats.size}),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;L.call(r);var a=E();return\"number\"==typeof t?k(a,0|t,\"number\"==typeof e?0|e:0|t):t?(z(r,t),T(a,t)):k(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,u(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,D(i),S(a,3553),P(r,3553),O(),C(a),s.profile&&(i.stats.size=M(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=$[i.internalformat],n.type=tt[i.type],n.mag=et[r.magFilter],n.min=rt[r.minFilter],n.wrapS=nt[r.wrapS],n.wrapT=nt[r.wrapT],n}var i=new I(3553);return ht[i.id]=i,o.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=g();return u(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,D(i),d(o,3553,e,r,a),O(),A(o),n},n.resize=function(e,r){var a=0|e,o=0|r||a;if(a===i.width&&o===i.height)return n;n.width=i.width=a,n.height=i.height=o,D(i);for(var l=0;i.mipmask>>l;++l)t.texImage2D(3553,l,i.format,a>>l,o>>l,0,i.format,i.type,null);return O(),s.profile&&(i.stats.size=M(i.internalformat,i.type,a,o,!1,!1)),n},n._reglType=\"texture2d\",n._texture=i,s.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,a,l){function h(t,e,r,n,i,a){var o,l=f.texInfo;for(L.call(l),o=0;6>o;++o)v[o]=E();if(\"number\"!=typeof t&&t){if(\"object\"==typeof t)if(e)T(v[0],t),T(v[1],e),T(v[2],r),T(v[3],n),T(v[4],i),T(v[5],a);else if(z(l,t),c(f,t),\"faces\"in t)for(t=t.faces,o=0;6>o;++o)u(v[o],f),T(v[o],t[o]);else for(o=0;6>o;++o)T(v[o],t)}else for(t=0|t||1,o=0;6>o;++o)k(v[o],t,t);for(u(f,v[0]),f.mipmask=l.genMipmaps?(v[0].width<<1)-1:v[0].mipmask,f.internalformat=v[0].internalformat,h.width=v[0].width,h.height=v[0].height,D(f),o=0;6>o;++o)S(v[o],34069+o);for(P(l,34067),O(),s.profile&&(f.stats.size=M(f.internalformat,f.type,h.width,h.height,l.genMipmaps,!0)),h.format=$[f.internalformat],h.type=tt[f.type],h.mag=et[l.magFilter],h.min=rt[l.minFilter],h.wrapS=nt[l.wrapS],h.wrapT=nt[l.wrapT],o=0;6>o;++o)C(v[o]);return h}var f=new I(34067);ht[f.id]=f,o.cubeCount++;var v=Array(6);return h(e,r,n,i,a,l),h.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=g();return u(a,f),a.width=0,a.height=0,p(a,e),a.width=a.width||(f.width>>i)-r,a.height=a.height||(f.height>>i)-n,D(f),d(a,34069+t,r,n,i),O(),A(a),h},h.resize=function(e){if((e|=0)!==f.width){h.width=f.width=e,h.height=f.height=e,D(f);for(var r=0;6>r;++r)for(var n=0;f.mipmask>>n;++n)t.texImage2D(34069+r,n,f.format,e>>n,e>>n,0,f.format,f.type,null);return O(),s.profile&&(f.stats.size=M(f.internalformat,f.type,h.width,h.height,!1,!0)),h}},h._reglType=\"textureCube\",h._texture=f,s.profile&&(h.stats=f.stats),h.destroy=function(){f.decRef()},h},clear:function(){for(var e=0;e<ft;++e)t.activeTexture(33984+e),t.bindTexture(3553,null),pt[e]=null;W(ht).forEach(R),o.cubeCount=0,o.textureCount=0},getTexture:function(t){return null},restore:function(){W(ht).forEach(function(e){e.texture=t.createTexture(),t.bindTexture(e.target,e.texture);for(var r=0;32>r;++r)if(0!=(e.mipmask&1<<r))if(3553===e.target)t.texImage2D(3553,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);P(e.texInfo,e.target)})}}}function k(t,e,r,n,i,a){function o(t,e,r){this.target=t,this.texture=e,this.renderbuffer=r;var n=t=0;e?(t=e.width,n=e.height):r&&(t=r.width,n=r.height),this.width=t,this.height=n}function s(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){t&&(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function u(e,r){r&&(r.texture?t.framebufferTexture2D(36160,e,r.target,r.texture._texture.texture,0):t.framebufferRenderbuffer(36160,e,36161,r.renderbuffer._renderbuffer.renderbuffer))}function c(t){var e=3553,r=null,n=null,i=t;return\"object\"==typeof t&&(i=t.data,\"target\"in t&&(e=0|t.target)),\"texture2d\"===(t=i._reglType)?r=i:\"textureCube\"===t?r=i:\"renderbuffer\"===t&&(n=i,e=36161),new o(e,r,n)}function h(t,e,r,a,s){return r?((t=n.create2D({width:t,height:e,format:a,type:s}))._texture.refCount=0,new o(3553,t,null)):((t=i.create({width:t,height:e,format:a}))._renderbuffer.refCount=0,new o(36161,null,t))}function f(t){return t&&(t.texture||t.renderbuffer)}function p(t,e,r){t&&(t.texture?t.texture.resize(e,r):t.renderbuffer&&t.renderbuffer.resize(e,r))}function d(){this.id=M++,A[this.id]=this,this.framebuffer=t.createFramebuffer(),this.height=this.width=0,this.colorAttachments=[],this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function g(t){t.colorAttachments.forEach(s),s(t.depthAttachment),s(t.stencilAttachment),s(t.depthStencilAttachment)}function v(e){t.deleteFramebuffer(e.framebuffer),e.framebuffer=null,a.framebufferCount--,delete A[e.id]}function m(e){var n;t.bindFramebuffer(36160,e.framebuffer);var i=e.colorAttachments;for(n=0;n<i.length;++n)u(36064+n,i[n]);for(n=i.length;n<r.maxColorAttachments;++n)t.framebufferTexture2D(36160,36064+n,3553,null,0);t.framebufferTexture2D(36160,33306,3553,null,0),t.framebufferTexture2D(36160,36096,3553,null,0),t.framebufferTexture2D(36160,36128,3553,null,0),u(36096,e.depthAttachment),u(36128,e.stencilAttachment),u(33306,e.depthStencilAttachment),t.checkFramebufferStatus(36160),t.bindFramebuffer(36160,x.next),x.cur=x.next,t.getError()}function y(t,e){function r(t,e){var i,a=0,o=0,s=!0,u=!0;i=null;var p=!0,d=\"rgba\",v=\"uint8\",y=1,x=null,w=null,M=null,A=!1;\"number\"==typeof t?(a=0|t,o=0|e||a):t?(\"shape\"in t?(a=(o=t.shape)[0],o=o[1]):(\"radius\"in t&&(a=o=t.radius),\"width\"in t&&(a=t.width),\"height\"in t&&(o=t.height)),(\"color\"in t||\"colors\"in t)&&(i=t.color||t.colors,Array.isArray(i)),i||(\"colorCount\"in t&&(y=0|t.colorCount),\"colorTexture\"in t&&(p=!!t.colorTexture,d=\"rgba4\"),\"colorType\"in t&&(v=t.colorType,!p)&&(\"half float\"===v||\"float16\"===v?d=\"rgba16f\":\"float\"!==v&&\"float32\"!==v||(d=\"rgba32f\")),\"colorFormat\"in t&&(d=t.colorFormat,0<=b.indexOf(d)?p=!0:0<=_.indexOf(d)&&(p=!1))),(\"depthTexture\"in t||\"depthStencilTexture\"in t)&&(A=!(!t.depthTexture&&!t.depthStencilTexture)),\"depth\"in t&&(\"boolean\"==typeof t.depth?s=t.depth:(x=t.depth,u=!1)),\"stencil\"in t&&(\"boolean\"==typeof t.stencil?u=t.stencil:(w=t.stencil,s=!1)),\"depthStencil\"in t&&(\"boolean\"==typeof t.depthStencil?s=u=t.depthStencil:(M=t.depthStencil,u=s=!1))):a=o=1;var k=null,T=null,S=null,E=null;if(Array.isArray(i))k=i.map(c);else if(i)k=[c(i)];else for(k=Array(y),i=0;i<y;++i)k[i]=h(a,o,p,d,v);for(a=a||k[0].width,o=o||k[0].height,x?T=c(x):s&&!u&&(T=h(a,o,A,\"depth\",\"uint32\")),w?S=c(w):u&&!s&&(S=h(a,o,!1,\"stencil\",\"uint8\")),M?E=c(M):!x&&!w&&u&&s&&(E=h(a,o,A,\"depth stencil\",\"depth stencil\")),s=null,i=0;i<k.length;++i)l(k[i]),k[i]&&k[i].texture&&(u=pt[k[i].texture._texture.format]*dt[k[i].texture._texture.type],null===s&&(s=u));return l(T),l(S),l(E),g(n),n.width=a,n.height=o,n.colorAttachments=k,n.depthAttachment=T,n.stencilAttachment=S,n.depthStencilAttachment=E,r.color=k.map(f),r.depth=f(T),r.stencil=f(S),r.depthStencil=f(E),r.width=n.width,r.height=n.height,m(n),r}var n=new d;return a.framebufferCount++,r(t,e),j(r,{resize:function(t,e){var i=0|t,a=0|e||i;if(i===n.width&&a===n.height)return r;for(var o=n.colorAttachments,s=0;s<o.length;++s)p(o[s],i,a);return p(n.depthAttachment,i,a),p(n.stencilAttachment,i,a),p(n.depthStencilAttachment,i,a),n.width=r.width=i,n.height=r.height=a,m(n),r},_reglType:\"framebuffer\",_framebuffer:n,destroy:function(){v(n),g(n)},use:function(t){x.setFBO({framebuffer:r},t)}})}var x={cur:null,next:null,dirty:!1,setFBO:null},b=[\"rgba\"],_=[\"rgba4\",\"rgb565\",\"rgb5 a1\"];e.ext_srgb&&_.push(\"srgba\"),e.ext_color_buffer_half_float&&_.push(\"rgba16f\",\"rgb16f\"),e.webgl_color_buffer_float&&_.push(\"rgba32f\");var w=[\"uint8\"];e.oes_texture_half_float&&w.push(\"half float\",\"float16\"),e.oes_texture_float&&w.push(\"float\",\"float32\");var M=0,A={};return j(x,{getFramebuffer:function(t){return\"function\"==typeof t&&\"framebuffer\"===t._reglType&&(t=t._framebuffer)instanceof d?t:null},create:y,createCube:function(t){function e(t){var i,a={color:null},o=0,s=null;i=\"rgba\";var l=\"uint8\",u=1;if(\"number\"==typeof t?o=0|t:t?(\"shape\"in t?o=t.shape[0]:(\"radius\"in t&&(o=0|t.radius),\"width\"in t?o=0|t.width:\"height\"in t&&(o=0|t.height)),(\"color\"in t||\"colors\"in t)&&(s=t.color||t.colors,Array.isArray(s)),s||(\"colorCount\"in t&&(u=0|t.colorCount),\"colorType\"in t&&(l=t.colorType),\"colorFormat\"in t&&(i=t.colorFormat)),\"depth\"in t&&(a.depth=t.depth),\"stencil\"in t&&(a.stencil=t.stencil),\"depthStencil\"in t&&(a.depthStencil=t.depthStencil)):o=1,s)if(Array.isArray(s))for(t=[],i=0;i<s.length;++i)t[i]=s[i];else t=[s];else for(t=Array(u),s={radius:o,format:i,type:l},i=0;i<u;++i)t[i]=n.createCube(s);for(a.color=Array(t.length),i=0;i<t.length;++i)u=t[i],o=o||u.width,a.color[i]={target:34069,data:t[i]};for(i=0;6>i;++i){for(u=0;u<t.length;++u)a.color[u].target=34069+i;0<i&&(a.depth=r[0].depth,a.stencil=r[0].stencil,a.depthStencil=r[0].depthStencil),r[i]?r[i](a):r[i]=y(a)}return j(e,{width:o,height:o,color:t})}var r=Array(6);return e(t),j(e,{faces:r,resize:function(t){var n=0|t;if(n===e.width)return e;var i=e.color;for(t=0;t<i.length;++t)i[t].resize(n);for(t=0;6>t;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:\"framebufferCube\",destroy:function(){r.forEach(function(t){t.destroy()})}})},clear:function(){W(A).forEach(v)},restore:function(){W(A).forEach(function(e){e.framebuffer=t.createFramebuffer(),m(e)})}})}function T(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function S(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){if(!(o=(i=35632===r?u:c)[n])){var a=e.str(n),o=t.createShader(r);t.shaderSource(o,a),t.compileShader(o),i[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;l=o(35632,r.fragId),u=o(35633,r.vertId);var c=r.program=t.createProgram();t.attachShader(c,l),t.attachShader(c,u),t.linkProgram(c);var h=t.getProgramParameter(c,35718);n.profile&&(r.stats.uniformsCount=h);var f=r.uniforms;for(l=0;l<h;++l)if(u=t.getActiveUniform(c,l))if(1<u.size)for(var p=0;p<u.size;++p){var d=u.name.replace(\"[0]\",\"[\"+p+\"]\");a(f,new i(d,e.id(d),t.getUniformLocation(c,d),u))}else a(f,new i(u.name,e.id(u.name),t.getUniformLocation(c,u.name),u));for(h=t.getProgramParameter(c,35721),n.profile&&(r.stats.attributesCount=h),f=r.attributes,l=0;l<h;++l)(u=t.getActiveAttrib(c,l))&&a(f,new i(u.name,e.id(u.name),t.getAttribLocation(c,u.name),u))}var u={},c={},h={},f=[],p=0;return n.profile&&(r.getMaxUniformsCount=function(){var t=0;return f.forEach(function(e){e.stats.uniformsCount>t&&(t=e.stats.uniformsCount)}),t},r.getMaxAttributesCount=function(){var t=0;return f.forEach(function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)}),t}),{clear:function(){var e=t.deleteShader.bind(t);W(u).forEach(e),u={},W(c).forEach(e),c={},f.forEach(function(e){t.deleteProgram(e.program)}),f.length=0,h={},r.shaderCount=0},program:function(t,e,n){var i=h[e];i||(i=h[e]={});var a=i[t];return a||(a=new s(e,t),r.shaderCount++,l(a),i[t]=a,f.push(a)),a},restore:function(){u={},c={};for(var t=0;t<f.length;++t)l(f[t])},shader:o,frag:-1,vert:-1}}function E(t,e,r,n,i,a){function o(i){var a;a=null===e.next?5121:e.next.colorAttachments[0].texture._texture.type;var o=0,s=0,l=n.framebufferWidth,u=n.framebufferHeight,c=null;return G(i)?c=i:i&&(o=0|i.x,s=0|i.y,l=0|(i.width||n.framebufferWidth-o),u=0|(i.height||n.framebufferHeight-s),c=i.data||null),r(),i=l*u*4,c||(5121===a?c=new Uint8Array(i):5126===a&&(c=c||new Float32Array(i))),t.pixelStorei(3333,4),t.readPixels(o,s,l,u,6408,a,c),c}return function(t){return t&&\"framebuffer\"in t?function(t){var r;return e.setFBO({framebuffer:t.framebuffer},function(){r=o(t)}),r}(t):o(t)}}function C(t){return Array.prototype.slice.call(t)}function L(t){return C(t).join(\"\")}function z(){function t(){var t=[],e=[];return j(function(){t.push.apply(t,C(arguments))},{def:function(){var n=\"v\"+r++;return e.push(n),0<arguments.length&&(t.push(n,\"=\"),t.push.apply(t,C(arguments)),t.push(\";\")),n},toString:function(){return L([0<e.length?\"var \"+e+\";\":\"\",L(t)])}})}function e(){function e(t,e){n(t,e,\"=\",r.def(t,e),\";\")}var r=t(),n=t(),i=r.toString,a=n.toString;return j(function(){r.apply(r,C(arguments))},{def:r.def,entry:r,exit:n,save:e,set:function(t,n,i){e(t,n),r(t,n,\"=\",i,\";\")},toString:function(){return i()+a()}})}var r=0,n=[],i=[],a=t(),o={};return{global:a,link:function(t){for(var e=0;e<i.length;++e)if(i[e]===t)return n[e];return e=\"g\"+r++,n.push(e),i.push(t),e},block:t,proc:function(t,r){function n(){var t=\"a\"+i.length;return i.push(t),t}var i=[];r=r||0;for(var a=0;a<r;++a)n();var s=(a=e()).toString;return o[t]=j(a,{arg:n,toString:function(){return L([\"function(\",i.join(),\"){\",s(),\"}\"])}})},scope:e,cond:function(){var t=L(arguments),r=e(),n=e(),i=r.toString,a=n.toString;return j(r,{then:function(){return r.apply(r,C(arguments)),this},else:function(){return n.apply(n,C(arguments)),this},toString:function(){var e=a();return e&&(e=\"else{\"+e+\"}\"),L([\"if(\",t,\"){\",i(),\"}\",e])}})},compile:function(){var t=['\"use strict\";',a,\"return {\"];Object.keys(o).forEach(function(e){t.push('\"',e,'\":',o[e].toString(),\",\")}),t.push(\"}\");var e=L(t).replace(/;/g,\";\\n\").replace(/}/g,\"}\\n\").replace(/{/g,\"{\\n\");return Function.apply(null,n.concat(e)).apply(null,i)}}}function P(t){return Array.isArray(t)||G(t)||a(t)}function I(t){return t.sort(function(t,e){return\"viewport\"===t?-1:\"viewport\"===e?1:t<e?-1:1})}function D(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function O(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function R(t){return new D(!1,!1,!1,t)}function F(t,e){var r=t.type;return 0===r?new D(!0,1<=(r=t.data.length),2<=r,e):4===r?new D((r=t.data).thisDep,r.contextDep,r.propDep,e):new D(3===r,2===r,1===r,e)}function B(t,e,r,n,i,a,s,l,u,c,h,f,p,d,g){function v(t){return t.replace(\".\",\"_\")}function y(t,e,r){var n=v(t);nt.push(t),et[n]=tt[n]=!!r,it[n]=e}function x(t,e,r){var n=v(t);nt.push(t),Array.isArray(r)?(tt[n]=r.slice(),et[n]=r.slice()):tt[n]=et[n]=r,at[n]=e}function b(){var t=z(),r=t.link,n=t.global;t.id=lt++,t.batchId=\"0\";var i=r(ot),a=t.shared={props:\"a0\"};Object.keys(ot).forEach(function(t){a[t]=n.def(i,\".\",t)});var o=t.next={},s=t.current={};Object.keys(at).forEach(function(t){Array.isArray(tt[t])&&(o[t]=n.def(a.next,\".\",t),s[t]=n.def(a.current,\".\",t))});var l=t.constants={};Object.keys(st).forEach(function(t){l[t]=n.def(JSON.stringify(st[t]))}),t.invoke=function(e,n){switch(n.type){case 0: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 1:return e.def(a.props,n.data);case 2:return e.def(a.context,n.data);case 3:return e.def(\"this\",n.data);case 4:return n.data.append(t,e),n.data.ref}},t.attribCache={};var u={};return t.scopeAttrib=function(t){if((t=e.id(t))in u)return u[t];var n=c.scope[t];return n||(n=c.scope[t]=new Z),u[t]=r(n)},t}function _(t,e){var r=t.static,n=t.dynamic;if(\"framebuffer\"in r){var i=r.framebuffer;return i?(i=l.getFramebuffer(i),R(function(t,e){var r=t.link(i),n=t.shared;return e.set(n.framebuffer,\".next\",r),n=n.context,e.set(n,\".framebufferWidth\",r+\".width\"),e.set(n,\".framebufferHeight\",r+\".height\"),r})):R(function(t,e){var r=t.shared;return e.set(r.framebuffer,\".next\",\"null\"),r=r.context,e.set(r,\".framebufferWidth\",r+\".drawingBufferWidth\"),e.set(r,\".framebufferHeight\",r+\".drawingBufferHeight\"),\"null\"})}if(\"framebuffer\"in n){var a=n.framebuffer;return F(a,function(t,e){var r=t.invoke(e,a),n=t.shared,i=n.framebuffer;r=e.def(i,\".getFramebuffer(\",r,\")\");return e.set(i,\".next\",r),n=n.context,e.set(n,\".framebufferWidth\",r+\"?\"+r+\".width:\"+n+\".drawingBufferWidth\"),e.set(n,\".framebufferHeight\",r+\"?\"+r+\".height:\"+n+\".drawingBufferHeight\"),r})}return null}function w(t){function r(t){if(t in n){var r=e.id(n[t]);return(t=R(function(){return r})).id=r,t}if(t in i){var a=i[t];return F(a,function(t,e){var r=t.invoke(e,a);return e.def(t.shared.strings,\".id(\",r,\")\")})}return null}var n=t.static,i=t.dynamic,a=r(\"frag\"),o=r(\"vert\"),s=null;return O(a)&&O(o)?(s=h.program(o.id,a.id),t=R(function(t,e){return t.link(s)})):t=new D(a&&a.thisDep||o&&o.thisDep,a&&a.contextDep||o&&o.contextDep,a&&a.propDep||o&&o.propDep,function(t,e){var r,n,i=t.shared.shader;return r=a?a.append(t,e):e.def(i,\".\",\"frag\"),n=o?o.append(t,e):e.def(i,\".\",\"vert\"),e.def(i+\".program(\"+n+\",\"+r+\")\")}),{frag:a,vert:o,progVar:t,program:s}}function M(t,e){function r(t,e){if(t in n){var r=0|n[t];return R(function(t,n){return e&&(t.OFFSET=r),r})}if(t in i){var a=i[t];return F(a,function(t,r){var n=t.invoke(r,a);return e&&(t.OFFSET=n),n})}return e&&o?R(function(t,e){return t.OFFSET=\"0\",0}):null}var n=t.static,i=t.dynamic,o=function(){if(\"elements\"in n){var t=n.elements;P(t)?t=a.getElements(a.create(t,!0)):t&&(t=a.getElements(t));var e=R(function(e,r){if(t){var n=e.link(t);return e.ELEMENTS=n}return e.ELEMENTS=null});return e.value=t,e}if(\"elements\"in i){var r=i.elements;return F(r,function(t,e){var n=(i=t.shared).isBufferArgs,i=i.elements,a=t.invoke(e,r),o=e.def(\"null\");n=e.def(n,\"(\",a,\")\"),a=t.cond(n).then(o,\"=\",i,\".createStream(\",a,\");\").else(o,\"=\",i,\".getElements(\",a,\");\");return e.entry(a),e.exit(t.cond(n).then(i,\".destroyStream(\",o,\");\")),t.ELEMENTS=o})}return null}(),s=r(\"offset\",!0);return{elements:o,primitive:function(){if(\"primitive\"in n){var t=n.primitive;return R(function(e,r){return rt[t]})}if(\"primitive\"in i){var e=i.primitive;return F(e,function(t,r){var n=t.constants.primTypes,i=t.invoke(r,e);return r.def(n,\"[\",i,\"]\")})}return o?O(o)?o.value?R(function(t,e){return e.def(t.ELEMENTS,\".primType\")}):R(function(){return 4}):new D(o.thisDep,o.contextDep,o.propDep,function(t,e){var r=t.ELEMENTS;return e.def(r,\"?\",r,\".primType:\",4)}):null}(),count:function(){if(\"count\"in n){var t=0|n.count;return R(function(){return t})}if(\"count\"in i){var e=i.count;return F(e,function(t,r){return t.invoke(r,e)})}return o?O(o)?o?s?new D(s.thisDep,s.contextDep,s.propDep,function(t,e){return e.def(t.ELEMENTS,\".vertCount-\",t.OFFSET)}):R(function(t,e){return e.def(t.ELEMENTS,\".vertCount\")}):R(function(){return-1}):new D(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\")}):null}(),instances:r(\"instances\",!1),offset:s}}function A(t,r){var n=t.static,a=t.dynamic,o={};return Object.keys(n).forEach(function(t){var r=n[t],a=e.id(t),s=new Z;if(P(r))s.state=1,s.buffer=i.getBuffer(i.create(r,34962,!1,!0)),s.type=0;else if(u=i.getBuffer(r))s.state=1,s.buffer=u,s.type=0;else if(r.constant){var l=r.constant;s.buffer=\"null\",s.state=2,\"number\"==typeof l?s.x=l:gt.forEach(function(t,e){e<l.length&&(s[t]=l[e])})}else{var u=P(r.buffer)?i.getBuffer(i.create(r.buffer,34962,!1,!0)):i.getBuffer(r.buffer),c=0|r.offset,h=0|r.stride,f=0|r.size,p=!!r.normalized,d=0;\"type\"in r&&(d=K[r.type]),r=0|r.divisor,s.buffer=u,s.state=1,s.size=f,s.normalized=p,s.type=d||u.dtype,s.offset=c,s.stride=h,s.divisor=r}o[t]=R(function(t,e){var r=t.attribCache;if(a in r)return r[a];var n={isStream:!1};return Object.keys(s).forEach(function(t){n[t]=s[t]}),s.buffer&&(n.buffer=t.link(s.buffer),n.type=n.type||n.buffer+\".dtype\"),r[a]=n})}),Object.keys(a).forEach(function(t){var e=a[t];o[t]=F(e,function(t,r){function n(t){r(l[t],\"=\",i,\".\",t,\"|0;\")}var i=t.invoke(r,e),a=t.shared,o=a.isBufferArgs,s=a.buffer,l={isStream:r.def(!1)},u=new Z;u.state=1,Object.keys(u).forEach(function(t){l[t]=r.def(\"\"+u[t])});var c=l.buffer,h=l.type;return r(\"if(\",o,\"(\",i,\")){\",l.isStream,\"=true;\",c,\"=\",s,\".createStream(\",34962,\",\",i,\");\",h,\"=\",c,\".dtype;\",\"}else{\",c,\"=\",s,\".getBuffer(\",i,\");\",\"if(\",c,\"){\",h,\"=\",c,\".dtype;\",'}else if(\"constant\" in ',i,\"){\",l.state,\"=\",2,\";\",\"if(typeof \"+i+'.constant === \"number\"){',l[gt[0]],\"=\",i,\".constant;\",gt.slice(1).map(function(t){return l[t]}).join(\"=\"),\"=0;\",\"}else{\",gt.map(function(t,e){return l[t]+\"=\"+i+\".constant.length>=\"+e+\"?\"+i+\".constant[\"+e+\"]:0;\"}).join(\"\"),\"}}else{\",\"if(\",o,\"(\",i,\".buffer)){\",c,\"=\",s,\".createStream(\",34962,\",\",i,\".buffer);\",\"}else{\",c,\"=\",s,\".getBuffer(\",i,\".buffer);\",\"}\",h,'=\"type\" in ',i,\"?\",a.glTypes,\"[\",i,\".type]:\",c,\".dtype;\",l.normalized,\"=!!\",i,\".normalized;\"),n(\"size\"),n(\"offset\"),n(\"stride\"),n(\"divisor\"),r(\"}}\"),r.exit(\"if(\",l.isStream,\"){\",s,\".destroyStream(\",c,\");\",\"}\"),l})}),o}function k(t,e,r,n,i){var a=_(t),s=function(t,e,r){function n(t){if(t in i){var r=i[t];t=!0;var n,o,s=0|r.x,l=0|r.y;return\"width\"in r?n=0|r.width:t=!1,\"height\"in r?o=0|r.height:t=!1,new D(!t&&e&&e.thisDep,!t&&e&&e.contextDep,!t&&e&&e.propDep,function(t,e){var i=t.shared.context,a=n;\"width\"in r||(a=e.def(i,\".\",\"framebufferWidth\",\"-\",s));var u=o;return\"height\"in r||(u=e.def(i,\".\",\"framebufferHeight\",\"-\",l)),[s,l,a,u]})}if(t in a){var u=a[t];return t=F(u,function(t,e){var r=t.invoke(e,u),n=t.shared.context,i=e.def(r,\".x|0\"),a=e.def(r,\".y|0\");return[i,a,e.def('\"width\" in ',r,\"?\",r,\".width|0:\",\"(\",n,\".\",\"framebufferWidth\",\"-\",i,\")\"),r=e.def('\"height\" in ',r,\"?\",r,\".height|0:\",\"(\",n,\".\",\"framebufferHeight\",\"-\",a,\")\")]}),e&&(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new D(e.thisDep,e.contextDep,e.propDep,function(t,e){var r=t.shared.context;return[0,0,e.def(r,\".\",\"framebufferWidth\"),e.def(r,\".\",\"framebufferHeight\")]}):null}var i=t.static,a=t.dynamic;if(t=n(\"viewport\")){var o=t;t=new D(t.thisDep,t.contextDep,t.propDep,function(t,e){var r=o.append(t,e),n=t.shared.context;return e.set(n,\".viewportWidth\",r[2]),e.set(n,\".viewportHeight\",r[3]),r})}return{viewport:t,scissor_box:n(\"scissor.box\")}}(t,a),l=M(t),u=function(t,e){var r=t.static,n=t.dynamic,i={};return nt.forEach(function(t){function e(e,o){if(t in r){var s=e(r[t]);i[a]=R(function(){return s})}else if(t in n){var l=n[t];i[a]=F(l,function(t,e){return o(t,e,t.invoke(e,l))})}}var a=v(t);switch(t){case\"cull.enable\":case\"blend.enable\":case\"dither\":case\"stencil.enable\":case\"depth.enable\":case\"scissor.enable\":case\"polygonOffset.enable\":case\"sample.alpha\":case\"sample.enable\":case\"depth.mask\":return e(function(t){return t},function(t,e,r){return r});case\"depth.func\":return e(function(t){return yt[t]},function(t,e,r){return e.def(t.constants.compareFuncs,\"[\",r,\"]\")});case\"depth.range\":return e(function(t){return t},function(t,e,r){return[e.def(\"+\",r,\"[0]\"),e=e.def(\"+\",r,\"[1]\")]});case\"blend.func\":return e(function(t){return[mt[\"srcRGB\"in t?t.srcRGB:t.src],mt[\"dstRGB\"in t?t.dstRGB:t.dst],mt[\"srcAlpha\"in t?t.srcAlpha:t.src],mt[\"dstAlpha\"in t?t.dstAlpha:t.dst]]},function(t,e,r){function n(t,n){return e.def('\"',t,n,'\" in ',r,\"?\",r,\".\",t,n,\":\",r,\".\",t)}t=t.constants.blendFuncs;var i=n(\"src\",\"RGB\"),a=n(\"dst\",\"RGB\"),o=(i=e.def(t,\"[\",i,\"]\"),e.def(t,\"[\",n(\"src\",\"Alpha\"),\"]\"));return[i,a=e.def(t,\"[\",a,\"]\"),o,t=e.def(t,\"[\",n(\"dst\",\"Alpha\"),\"]\")]});case\"blend.equation\":return e(function(t){return\"string\"==typeof t?[J[t],J[t]]:\"object\"==typeof t?[J[t.rgb],J[t.alpha]]:void 0},function(t,e,r){var n=t.constants.blendEquations,i=e.def(),a=e.def();return(t=t.cond(\"typeof \",r,'===\"string\"')).then(i,\"=\",a,\"=\",n,\"[\",r,\"];\"),t.else(i,\"=\",n,\"[\",r,\".rgb];\",a,\"=\",n,\"[\",r,\".alpha];\"),e(t),[i,a]});case\"blend.color\":return e(function(t){return o(4,function(e){return+t[e]})},function(t,e,r){return o(4,function(t){return e.def(\"+\",r,\"[\",t,\"]\")})});case\"stencil.mask\":return e(function(t){return 0|t},function(t,e,r){return e.def(r,\"|0\")});case\"stencil.func\":return e(function(t){return[yt[t.cmp||\"keep\"],t.ref||0,\"mask\"in t?t.mask:-1]},function(t,e,r){return[t=e.def('\"cmp\" in ',r,\"?\",t.constants.compareFuncs,\"[\",r,\".cmp]\",\":\",7680),e.def(r,\".ref|0\"),e=e.def('\"mask\" in ',r,\"?\",r,\".mask|0:-1\")]});case\"stencil.opFront\":case\"stencil.opBack\":return e(function(e){return[\"stencil.opBack\"===t?1029:1028,xt[e.fail||\"keep\"],xt[e.zfail||\"keep\"],xt[e.zpass||\"keep\"]]},function(e,r,n){function i(t){return r.def('\"',t,'\" in ',n,\"?\",a,\"[\",n,\".\",t,\"]:\",7680)}var a=e.constants.stencilOps;return[\"stencil.opBack\"===t?1029:1028,i(\"fail\"),i(\"zfail\"),i(\"zpass\")]});case\"polygonOffset.offset\":return e(function(t){return[0|t.factor,0|t.units]},function(t,e,r){return[e.def(r,\".factor|0\"),e=e.def(r,\".units|0\")]});case\"cull.face\":return e(function(t){var e=0;return\"front\"===t?e=1028:\"back\"===t&&(e=1029),e},function(t,e,r){return e.def(r,'===\"front\"?',1028,\":\",1029)});case\"lineWidth\":return e(function(t){return t},function(t,e,r){return r});case\"frontFace\":return e(function(t){return bt[t]},function(t,e,r){return e.def(r+'===\"cw\"?2304:2305')});case\"colorMask\":return e(function(t){return t.map(function(t){return!!t})},function(t,e,r){return o(4,function(t){return\"!!\"+r+\"[\"+t+\"]\"})});case\"sample.coverage\":return e(function(t){return[\"value\"in t?t.value:1,!!t.invert]},function(t,e,r){return[e.def('\"value\" in ',r,\"?+\",r,\".value:1\"),e=e.def(\"!!\",r,\".invert\")]})}}),i}(t),c=w(t),h=s.viewport;return h&&(u.viewport=h),(s=s[h=v(\"scissor.box\")])&&(u[h]=s),(a={framebuffer:a,draw:l,shader:c,state:u,dirty:s=0<Object.keys(u).length}).profile=function(t){var e,r=t.static;if(t=t.dynamic,\"profile\"in r){var n=!!r.profile;(e=R(function(t,e){return n})).enable=n}else if(\"profile\"in t){var i=t.profile;e=F(i,function(t,e){return t.invoke(e,i)})}return e}(t),a.uniforms=function(t,e){var r=t.static,n=t.dynamic,i={};return Object.keys(r).forEach(function(t){var e,n=r[t];if(\"number\"==typeof n||\"boolean\"==typeof n)e=R(function(){return n});else if(\"function\"==typeof n){var a=n._reglType;\"texture2d\"===a||\"textureCube\"===a?e=R(function(t){return t.link(n)}):\"framebuffer\"!==a&&\"framebufferCube\"!==a||(e=R(function(t){return t.link(n.color[0])}))}else m(n)&&(e=R(function(t){return t.global.def(\"[\",o(n.length,function(t){return n[t]}),\"]\")}));e.value=n,i[t]=e}),Object.keys(n).forEach(function(t){var e=n[t];i[t]=F(e,function(t,r){return t.invoke(r,e)})}),i}(r),a.attributes=A(e),a.context=function(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach(function(t){var r=e[t];n[t]=R(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]=F(e,function(t,r){return t.invoke(r,e)})}),n}(n),a}function T(t,e,r){var n=t.shared.context,i=t.scope();Object.keys(r).forEach(function(a){e.save(n,\".\"+a),i(n,\".\",a,\"=\",r[a].append(t,e),\";\")}),e(i)}function S(t,e,r,n){var i,a=(s=t.shared).gl,o=s.framebuffer;$&&(i=e.def(s.extensions,\".webgl_draw_buffers\"));var s=(l=t.constants).drawBuffer,l=l.backBuffer;t=r?r.append(t,e):e.def(o,\".next\"),n||e(\"if(\",t,\"!==\",o,\".cur){\"),e(\"if(\",t,\"){\",a,\".bindFramebuffer(\",36160,\",\",t,\".framebuffer);\"),$&&e(i,\".drawBuffersWEBGL(\",s,\"[\",t,\".colorAttachments.length]);\"),e(\"}else{\",a,\".bindFramebuffer(\",36160,\",null);\"),$&&e(i,\".drawBuffersWEBGL(\",l,\");\"),e(\"}\",o,\".cur=\",t,\";\"),n||e(\"}\")}function E(t,e,r){var n=t.shared,i=n.gl,a=t.current,s=t.next,l=n.current,u=n.next,c=t.cond(l,\".dirty\");nt.forEach(function(e){var n,h;if(!((e=v(e))in r.state))if(e in s){n=s[e],h=a[e];var f=o(tt[e].length,function(t){return c.def(n,\"[\",t,\"]\")});c(t.cond(f.map(function(t,e){return t+\"!==\"+h+\"[\"+e+\"]\"}).join(\"||\")).then(i,\".\",at[e],\"(\",f,\");\",f.map(function(t,e){return h+\"[\"+e+\"]=\"+t}).join(\";\"),\";\"))}else n=c.def(u,\".\",e),f=t.cond(n,\"!==\",l,\".\",e),c(f),e in it?f(t.cond(n).then(i,\".enable(\",it[e],\");\").else(i,\".disable(\",it[e],\");\"),l,\".\",e,\"=\",n,\";\"):f(i,\".\",at[e],\"(\",n,\");\",l,\".\",e,\"=\",n,\";\")}),0===Object.keys(r.state).length&&c(l,\".dirty=false;\"),e(c)}function C(t,e,r,n){var i=t.shared,a=t.current,o=i.current,s=i.gl;I(Object.keys(r)).forEach(function(i){var l=r[i];if(!n||n(l)){var u=l.append(t,e);if(it[i]){var c=it[i];O(l)?e(s,u?\".enable(\":\".disable(\",c,\");\"):e(t.cond(u).then(s,\".enable(\",c,\");\").else(s,\".disable(\",c,\");\")),e(o,\".\",i,\"=\",u,\";\")}else if(m(u)){var h=a[i];e(s,\".\",at[i],\"(\",u,\");\",u.map(function(t,e){return h+\"[\"+e+\"]=\"+t}).join(\";\"),\";\")}else e(s,\".\",at[i],\"(\",u,\");\",o,\".\",i,\"=\",u,\";\")}})}function L(t,e){Q&&(t.instancing=e.def(t.shared.extensions,\".angle_instanced_arrays\"))}function B(t,e,r,n,i){function a(){return\"undefined\"==typeof performance?\"Date.now()\":\"performance.now()\"}function o(t){t(u=e.def(),\"=\",a(),\";\"),\"string\"==typeof i?t(f,\".count+=\",i,\";\"):t(f,\".count++;\"),d&&(n?t(c=e.def(),\"=\",g,\".getNumPendingQueries();\"):t(g,\".beginQuery(\",f,\");\"))}function s(t){t(f,\".cpuTime+=\",a(),\"-\",u,\";\"),d&&(n?t(g,\".pushScopeStats(\",c,\",\",g,\".getNumPendingQueries(),\",f,\");\"):t(g,\".endQuery();\"))}function l(t){var r=e.def(p,\".profile\");e(p,\".profile=\",t,\";\"),e.exit(p,\".profile=\",r,\";\")}var u,c,h=t.shared,f=t.stats,p=h.current,g=h.timer;if(r=r.profile){if(O(r))return void(r.enable?(o(e),s(e.exit),l(\"true\")):l(\"false\"));l(r=r.append(t,e))}else r=e.def(p,\".profile\");o(h=t.block()),e(\"if(\",r,\"){\",h,\"}\"),s(t=t.block()),e.exit(\"if(\",r,\"){\",t,\"}\")}function N(t,e,r,n,i){function a(r,n,i){function a(){e(\"if(!\",c,\".buffer){\",l,\".enableVertexAttribArray(\",u,\");}\");var r,a=i.type;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(\",34962,\",\",h,\".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(\"\"),\"}\"),Q&&(a=i.divisor,e(\"if(\",c,\".divisor!==\",a,\"){\",t.instancing,\".vertexAttribDivisorANGLE(\",[u,a],\");\",c,\".divisor=\",a,\";}\"))}function s(){e(\"if(\",c,\".buffer){\",l,\".disableVertexAttribArray(\",u,\");\",\"}if(\",gt.map(function(t,e){return c+\".\"+t+\"!==\"+f[e]}).join(\"||\"),\"){\",l,\".vertexAttrib4f(\",u,\",\",f,\");\",gt.map(function(t,e){return c+\".\"+t+\"=\"+f[e]+\";\"}).join(\"\"),\"}\")}var l=o.gl,u=e.def(r,\".location\"),c=e.def(o.attributes,\"[\",u,\"]\");r=i.state;var h=i.buffer,f=[i.x,i.y,i.z,i.w],p=[\"buffer\",\"normalized\",\"offset\",\"stride\"];1===r?a():2===r?s():(e(\"if(\",r,\"===\",1,\"){\"),a(),e(\"}else{\"),s(),e(\"}\"))}var o=t.shared;n.forEach(function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(t,e)}else{if(!i(_t))return;var u=t.scopeAttrib(s);o={},Object.keys(new Z).forEach(function(t){o[t]=e.def(u,\".\",t)})}a(t.link(n),function(t){switch(t){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}(n.info.type),o)})}function j(t,r,n,i,a){for(var s,l=t.shared,u=l.gl,c=0;c<i.length;++c){var h,f=(g=i[c]).name,p=g.info.type,d=n.uniforms[f],g=t.link(g)+\".location\";if(d){if(!a(d))continue;if(O(d)){if(f=d.value,35678===p||35680===p)r(u,\".uniform1i(\",g,\",\",(p=t.link(f._texture||f.color[0]._texture))+\".bind());\"),r.exit(p,\".unbind();\");else if(35674===p||35675===p||35676===p)f=t.global.def(\"new Float32Array([\"+Array.prototype.slice.call(f)+\"])\"),d=2,35675===p?d=3:35676===p&&(d=4),r(u,\".uniformMatrix\",d,\"fv(\",g,\",false,\",f,\");\");else{switch(p){case 5126:s=\"1f\";break;case 35664:s=\"2f\";break;case 35665:s=\"3f\";break;case 35666:s=\"4f\";break;case 35670:case 5124:s=\"1i\";break;case 35671:case 35667:s=\"2i\";break;case 35672:case 35668:s=\"3i\";break;case 35673:s=\"4i\";break;case 35669:s=\"4i\"}r(u,\".uniform\",s,\"(\",g,\",\",m(f)?Array.prototype.slice.call(f):f,\");\")}continue}h=d.append(t,r)}else{if(!a(_t))continue;h=r.def(l.uniforms,\"[\",e.id(f),\"]\")}switch(35678===p?r(\"if(\",h,\"&&\",h,'._reglType===\"framebuffer\"){',h,\"=\",h,\".color[0];\",\"}\"):35680===p&&r(\"if(\",h,\"&&\",h,'._reglType===\"framebufferCube\"){',h,\"=\",h,\".color[0];\",\"}\"),f=1,p){case 35678:case 35680:r(u,\".uniform1i(\",g,\",\",p=r.def(h,\"._texture\"),\".bind());\"),r.exit(p,\".unbind();\");continue;case 5124:case 35670:s=\"1i\";break;case 35667:case 35671:s=\"2i\",f=2;break;case 35668:case 35672:s=\"3i\",f=3;break;case 35669:case 35673:s=\"4i\",f=4;break;case 5126:s=\"1f\";break;case 35664:s=\"2f\",f=2;break;case 35665:s=\"3f\",f=3;break;case 35666:s=\"4f\",f=4;break;case 35674:s=\"Matrix2fv\";break;case 35675:s=\"Matrix3fv\";break;case 35676:s=\"Matrix4fv\"}if(r(u,\".uniform\",s,\"(\",g,\",\"),\"M\"===s.charAt(0)){g=Math.pow(p-35674+2,2);var v=t.global.def(\"new Float32Array(\",g,\")\");r(\"false,(Array.isArray(\",h,\")||\",h,\" instanceof Float32Array)?\",h,\":(\",o(g,function(t){return v+\"[\"+t+\"]=\"+h+\"[\"+t+\"]\"}),\",\",v,\")\")}else r(1<f?o(f,function(t){return h+\"[\"+t+\"]\"}):h);r(\");\")}}function V(t,e,r,n){function i(i){var a=f[i];return a?a.contextDep&&n.contextDynamic||a.propDep?a.append(t,r):a.append(t,e):e.def(h,\".\",i)}function a(){function t(){r(l,\".drawElementsInstancedANGLE(\",[d,v,m,g+\"<<((\"+m+\"-5121)>>1)\",s],\");\")}function e(){r(l,\".drawArraysInstancedANGLE(\",[d,g,v,s],\");\")}p?y?t():(r(\"if(\",p,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}function o(){function t(){r(c+\".drawElements(\"+[d,v,m,g+\"<<((\"+m+\"-5121)>>1)\"]+\");\")}function e(){r(c+\".drawArrays(\"+[d,g,v]+\");\")}p?y?t():(r(\"if(\",p,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}var s,l,u=t.shared,c=u.gl,h=u.draw,f=n.draw,p=function(){var i=f.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(h,\".\",\"elements\"),i&&a(\"if(\"+i+\")\"+c+\".bindBuffer(34963,\"+i+\".buffer.buffer);\"),i}(),d=i(\"primitive\"),g=i(\"offset\"),v=function(){var i=f.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(h,\".\",\"count\"),i}();if(\"number\"==typeof v){if(0===v)return}else r(\"if(\",v,\"){\"),r.exit(\"}\");Q&&(s=i(\"instances\"),l=t.instancing);var m=p+\".type\",y=f.elements&&O(f.elements);Q&&(\"number\"!=typeof s||0<=s)?\"string\"==typeof s?(r(\"if(\",s,\">0){\"),a(),r(\"}else if(\",s,\"<0){\"),o(),r(\"}\")):a():o()}function q(t,e,r,n,i){return i=(e=b()).proc(\"body\",i),Q&&(e.instancing=i.def(e.shared.extensions,\".angle_instanced_arrays\")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){L(t,e),N(t,e,r,n.attributes,function(){return!0}),j(t,e,r,n.uniforms,function(){return!0}),V(t,e,e,r)}function G(t,e,r,n){function i(){return!0}t.batchId=\"a1\",L(t,e),N(t,e,r,n.attributes,i),j(t,e,r,n.uniforms,i),V(t,e,e,r)}function W(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}L(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();e(u.entry,\"for(\",s,\"=0;\",s,\"<\",\"a1\",\";++\",s,\"){\",l,\"=\",\"a0\",\"[\",s,\"];\",c,\"}\",u.exit),r.needsContext&&T(t,c,r.context),r.needsFramebuffer&&S(t,c,r.framebuffer),C(t,c,r.state,i),r.profile&&i(r.profile)&&B(t,c,r,!1,!0),n?(N(t,u,r,n.attributes,a),N(t,c,r,n.attributes,i),j(t,u,r,n.uniforms,a),j(t,c,r,n.uniforms,i),V(t,u,c,r)):(e=t.global.def(\"{}\"),n=r.shader.progVar.append(t,c),l=c.def(n,\".id\"),u=c.def(e,\"[\",l,\"]\"),c(t.shared.gl,\".useProgram(\",n,\".program);\",\"if(!\",u,\"){\",u,\"=\",e,\"[\",l,\"]=\",t.link(function(e){return q(G,t,r,e,2)}),\"(\",n,\");}\",u,\".call(this,a0[\",s,\"],\",s,\");\"))}function Y(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;T(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),I(Object.keys(r.state)).forEach(function(e){var n=r.state[e].append(t,i);m(n)?n.forEach(function(r,n){i.set(t.next[e],\"[\"+n+\"]\",r)}):i.set(a.next,\".\"+e,n)}),B(t,i,r,!0,!0),[\"elements\",\"offset\",\"count\",\"instances\",\"primitive\"].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 Z).forEach(function(t){i.set(a,\".\"+t,n[t])})}),n(\"vert\"),n(\"frag\"),0<Object.keys(r.state).length&&(i(o,\".dirty=true;\"),i.exit(o,\".dirty=true;\")),i(\"a1(\",t.shared.context,\",a0,\",t.batchId,\");\")}function X(t,e,r){var n=e.static[r];if(n&&function(t){if(\"object\"==typeof t&&!m(t)){for(var e=Object.keys(t),r=0;r<e.length;++r)if(U.isDynamic(t[e[r]]))return!0;return!1}}(n)){var i=t.global,a=Object.keys(n),o=!1,s=!1,l=!1,u=t.global.def(\"{}\");a.forEach(function(e){var r=n[e];if(U.isDynamic(r))\"function\"==typeof r&&(r=n[e]=U.unbox(r)),e=F(r,null),o=o||e.thisDep,l=l||e.propDep,s=s||e.contextDep;else{switch(i(u,\".\",e,\"=\"),typeof r){case\"number\":i(r);break;case\"string\":i('\"',r,'\"');break;case\"object\":Array.isArray(r)&&i(\"[\",r.join(),\"]\");break;default:i(t.link(r))}i(\";\")}}),e.dynamic[r]=new U.DynamicVariable(4,{thisDep:o,contextDep:s,propDep:l,ref:u,append:function(t,e){a.forEach(function(r){var i=n[r];U.isDynamic(i)&&(i=t.invoke(e,i),e(u,\".\",r,\"=\",i,\";\"))})}}),delete e.static[r]}}var Z=c.Record,J={add:32774,subtract:32778,\"reverse subtract\":32779};r.ext_blend_minmax&&(J.min=32775,J.max=32776);var Q=r.angle_instanced_arrays,$=r.webgl_draw_buffers,tt={dirty:!0,profile:g.profile},et={},nt=[],it={},at={};y(\"dither\",3024),y(\"blend.enable\",3042),x(\"blend.color\",\"blendColor\",[0,0,0,0]),x(\"blend.equation\",\"blendEquationSeparate\",[32774,32774]),x(\"blend.func\",\"blendFuncSeparate\",[1,0,1,0]),y(\"depth.enable\",2929,!0),x(\"depth.func\",\"depthFunc\",513),x(\"depth.range\",\"depthRange\",[0,1]),x(\"depth.mask\",\"depthMask\",!0),x(\"colorMask\",\"colorMask\",[!0,!0,!0,!0]),y(\"cull.enable\",2884),x(\"cull.face\",\"cullFace\",1029),x(\"frontFace\",\"frontFace\",2305),x(\"lineWidth\",\"lineWidth\",1),y(\"polygonOffset.enable\",32823),x(\"polygonOffset.offset\",\"polygonOffset\",[0,0]),y(\"sample.alpha\",32926),y(\"sample.enable\",32928),x(\"sample.coverage\",\"sampleCoverage\",[1,!1]),y(\"stencil.enable\",2960),x(\"stencil.mask\",\"stencilMask\",-1),x(\"stencil.func\",\"stencilFunc\",[519,0,-1]),x(\"stencil.opFront\",\"stencilOpSeparate\",[1028,7680,7680,7680]),x(\"stencil.opBack\",\"stencilOpSeparate\",[1029,7680,7680,7680]),y(\"scissor.enable\",3089),x(\"scissor.box\",\"scissor\",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),x(\"viewport\",\"viewport\",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var ot={gl:t,context:p,strings:e,next:et,current:tt,draw:f,elements:a,buffer:i,shader:h,attributes:c.state,uniforms:u,framebuffer:l,extensions:r,timer:d,isBufferArgs:P},st={primTypes:rt,compareFuncs:yt,blendFuncs:mt,blendEquations:J,stencilOps:xt,glTypes:K,orientationType:bt};$&&(st.backBuffer=[1029],st.drawBuffer=o(n.maxDrawbuffers,function(t){return 0===t?[0]:o(t,function(t){return 36064+t})}));var lt=0;return{next:et,current:tt,procs:function(){var e=b(),r=e.proc(\"poll\"),i=e.proc(\"refresh\"),a=e.block();r(a),i(a);var s=e.shared,l=s.gl,u=s.next,c=s.current;a(c,\".dirty=false;\"),S(e,r),S(e,i,null,!0);var h,f=t.getExtension(\"angle_instanced_arrays\");f&&(h=e.link(f));for(var p=0;p<n.maxAttributes;++p){var d=i.def(s.attributes,\"[\",p,\"]\"),g=e.cond(d,\".buffer\");g.then(l,\".enableVertexAttribArray(\",p,\");\",l,\".bindBuffer(\",34962,\",\",d,\".buffer.buffer);\",l,\".vertexAttribPointer(\",p,\",\",d,\".size,\",d,\".type,\",d,\".normalized,\",d,\".stride,\",d,\".offset);\").else(l,\".disableVertexAttribArray(\",p,\");\",l,\".vertexAttrib4f(\",p,\",\",d,\".x,\",d,\".y,\",d,\".z,\",d,\".w);\",d,\".buffer=null;\"),i(g),f&&i(h,\".vertexAttribDivisorANGLE(\",p,\",\",d,\".divisor);\")}return Object.keys(it).forEach(function(t){var n=it[t],o=a.def(u,\".\",t),s=e.block();s(\"if(\",o,\"){\",l,\".enable(\",n,\")}else{\",l,\".disable(\",n,\")}\",c,\".\",t,\"=\",o,\";\"),i(s),r(\"if(\",o,\"!==\",c,\".\",t,\"){\",s,\"}\")}),Object.keys(at).forEach(function(t){var n,s,h=at[t],f=tt[t],p=e.block();p(l,\".\",h,\"(\"),m(f)?(h=f.length,n=e.global.def(u,\".\",t),s=e.global.def(c,\".\",t),p(o(h,function(t){return n+\"[\"+t+\"]\"}),\");\",o(h,function(t){return s+\"[\"+t+\"]=\"+n+\"[\"+t+\"];\"}).join(\"\")),r(\"if(\",o(h,function(t){return n+\"[\"+t+\"]!==\"+s+\"[\"+t+\"]\"}).join(\"||\"),\"){\",p,\"}\")):(n=a.def(u,\".\",t),s=a.def(c,\".\",t),p(n,\");\",c,\".\",t,\"=\",n,\";\"),r(\"if(\",n,\"!==\",s,\"){\",p,\"}\")),i(p)}),e.compile()}(),compile:function(t,e,r,n,i){var a=b();return a.stats=a.link(i),Object.keys(e.static).forEach(function(t){X(a,e,t)}),vt.forEach(function(e){X(a,t,e)}),r=k(t,e,r,n),function(t,e){var r=t.proc(\"draw\",1);L(t,r),T(t,r,e.context),S(t,r,e.framebuffer),E(t,r,e),C(t,r,e.state),B(t,r,e,!1,!0);var n=e.shader.progVar.append(t,r);if(r(t.shared.gl,\".useProgram(\",n,\".program);\"),e.shader.program)H(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 q(H,t,e,r,1)}),\"(\",n,\");\",o,\".call(this,a0);\"))}0<Object.keys(e.state).length&&r(t.shared.current,\".dirty=true;\")}(a,r),Y(a,r),function(t,e){function r(t){return t.contextDep&&i||t.propDep}var n=t.proc(\"batch\",2);t.batchId=\"0\",L(t,n);var i=!1,a=!0;Object.keys(e.context).forEach(function(t){i=i||e.context[t].propDep}),i||(T(t,n,e.context),a=!1);var o=!1;if((s=e.framebuffer)?(s.propDep?i=o=!0:s.contextDep&&i&&(o=!0),o||S(t,n,s)):S(t,n,null),e.state.viewport&&e.state.viewport.propDep&&(i=!0),E(t,n,e),C(t,n,e.state,function(t){return!r(t)}),e.profile&&r(e.profile)||B(t,n,e,!1,\"a1\"),e.contextDep=i,e.needsContext=a,e.needsFramebuffer=o,(a=e.shader.progVar).contextDep&&i||a.propDep)W(t,n,e,null);else if(a=a.append(t,n),n(t.shared.gl,\".useProgram(\",a,\".program);\"),e.shader.program)W(t,n,e,e.shader.program);else{var s=t.global.def(\"{}\"),l=(o=n.def(a,\".id\"),n.def(s,\"[\",o,\"]\"));n(t.cond(l).then(l,\".call(this,a0,a1);\").else(l,\"=\",s,\"[\",o,\"]=\",t.link(function(r){return q(W,t,e,r,2)}),\"(\",a,\");\",l,\".call(this,a0,a1);\"))}0<Object.keys(e.state).length&&n(t.shared.current,\".dirty=true;\")}(a,r),a.compile()}}}function N(t,e){for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}var j=function(t,e){for(var r=Object.keys(e),n=0;n<r.length;++n)t[r[n]]=e[r[n]];return t},V=0,U={DynamicVariable:t,define:function(r,n){return new t(r,e(n+\"\"))},isDynamic:function(e){return\"function\"==typeof e&&!e._reglType||e instanceof t},unbox:function(e,r){return\"function\"==typeof e?new t(0,e):e},accessor:e},q={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},H=\"undefined\"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},G=function(t){return t instanceof Uint8Array||t instanceof Uint16Array||t instanceof Uint32Array||t instanceof Int8Array||t instanceof Int16Array||t instanceof Int32Array||t instanceof Float32Array||t instanceof Float64Array||t instanceof Uint8ClampedArray},W=function(t){return Object.keys(t).map(function(e){return t[e]})},Y=o(8,function(){return[]}),X={alloc:l,free:u,allocType:function(t,e){var r=null;switch(t){case 5120:r=new Int8Array(l(e),0,e);break;case 5121:r=new Uint8Array(l(e),0,e);break;case 5122:r=new Int16Array(l(2*e),0,e);break;case 5123:r=new Uint16Array(l(2*e),0,e);break;case 5124:r=new Int32Array(l(4*e),0,e);break;case 5125:r=new Uint32Array(l(4*e),0,e);break;case 5126:r=new Float32Array(l(4*e),0,e);break;default:return null}return r.length!==e?r.subarray(0,e):r},freeType:function(t){u(t.buffer)}},Z={shape:function(t){for(var e=[];t.length;t=t[0])e.push(t.length);return e},flatten:function(t,e,r,n){var i=1;if(e.length)for(var a=0;a<e.length;++a)i*=e[a];else i=0;switch(r=n||X.allocType(r,i),e.length){case 0:break;case 1:for(n=e[0],e=0;e<n;++e)r[e]=t[e];break;case 2:for(n=e[0],e=e[1],a=i=0;a<n;++a)for(var o=t[a],s=0;s<e;++s)r[i++]=o[s];break;case 3:c(t,e[0],e[1],e[2],r,0);break;default:!function t(e,r,n,i,a){for(var o=1,s=n+1;s<r.length;++s)o*=r[s];var l=r[n];if(4==r.length-n){var u=r[n+1],h=r[n+2];for(r=r[n+3],s=0;s<l;++s)c(e[s],u,h,r,i,a),a+=o}else for(s=0;s<l;++s)t(e[s],r,n+1,i,a),a+=o}(t,e,0,r,0)}return r}},J={\"[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},K={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},Q={dynamic:35048,stream:35040,static:35044},$=Z.flatten,tt=Z.shape,et=[];et[5120]=1,et[5122]=2,et[5124]=4,et[5121]=1,et[5123]=2,et[5125]=4,et[5126]=4;var rt={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,\"line loop\":2,\"line strip\":3,\"triangle strip\":5,\"triangle fan\":6},nt=new Float32Array(1),it=new Uint32Array(nt.buffer),at=[9984,9986,9985,9987],ot=[0,6409,6410,6407,6408],st={};st[6409]=st[6406]=st[6402]=1,st[34041]=st[6410]=2,st[6407]=st[35904]=3,st[6408]=st[35906]=4;var lt=Object.keys(J).concat([\"[object HTMLCanvasElement]\",\"[object CanvasRenderingContext2D]\",\"[object HTMLImageElement]\",\"[object HTMLVideoElement]\"]),ut=[];ut[5121]=1,ut[5126]=4,ut[36193]=2,ut[5123]=2,ut[5125]=4;var ct=[];ct[32854]=2,ct[32855]=2,ct[36194]=2,ct[34041]=4,ct[33776]=.5,ct[33777]=.5,ct[33778]=1,ct[33779]=1,ct[35986]=.5,ct[35987]=1,ct[34798]=1,ct[35840]=.5,ct[35841]=.25,ct[35842]=.5,ct[35843]=.25,ct[36196]=.5;var ht=[];ht[32854]=2,ht[32855]=2,ht[36194]=2,ht[33189]=2,ht[36168]=1,ht[34041]=4,ht[35907]=4,ht[34836]=16,ht[34842]=8,ht[34843]=6;var ft=function(t,e,r,n,i){function a(t){this.id=u++,this.refCount=1,this.renderbuffer=t,this.format=32854,this.height=this.width=0,i.profile&&(this.stats={size:0})}function o(e){var r=e.renderbuffer;t.bindRenderbuffer(36161,null),t.deleteRenderbuffer(r),e.renderbuffer=null,e.refCount=0,delete c[e.id],n.renderbufferCount--}var s={rgba4:32854,rgb565:36194,\"rgb5 a1\":32855,depth:33189,stencil:36168,\"depth stencil\":34041};e.ext_srgb&&(s.srgba=35907),e.ext_color_buffer_half_float&&(s.rgba16f=34842,s.rgb16f=34843),e.webgl_color_buffer_float&&(s.rgba32f=34836);var l=[];Object.keys(s).forEach(function(t){l[s[t]]=t});var u=0,c={};return a.prototype.decRef=function(){0>=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(c).forEach(function(e){t+=c[e].stats.size}),t}),{create:function(e,r){function o(e,r){var n=0,a=0,c=32854;if(\"object\"==typeof e&&e?(\"shape\"in e?(n=0|(a=e.shape)[0],a=0|a[1]):(\"radius\"in e&&(n=a=0|e.radius),\"width\"in e&&(n=0|e.width),\"height\"in e&&(a=0|e.height)),\"format\"in e&&(c=s[e.format])):\"number\"==typeof e?(n=0|e,a=\"number\"==typeof r?0|r:n):e||(n=a=1),n!==u.width||a!==u.height||c!==u.format)return o.width=u.width=n,o.height=u.height=a,u.format=c,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,c,n,a),i.profile&&(u.stats.size=ht[u.format]*u.width*u.height),o.format=l[u.format],o}var u=new a(t.createRenderbuffer());return c[u.id]=u,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===u.width&&a===u.height?o:(o.width=u.width=n,o.height=u.height=a,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,u.format,n,a),i.profile&&(u.stats.size=ht[u.format]*u.width*u.height),o)},o._reglType=\"renderbuffer\",o._renderbuffer=u,i.profile&&(o.stats=u.stats),o.destroy=function(){u.decRef()},o},clear:function(){W(c).forEach(o)},restore:function(){W(c).forEach(function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)}),t.bindRenderbuffer(36161,null)}}},pt=[];pt[6408]=4;var dt=[];dt[5121]=1,dt[5126]=4,dt[36193]=2;var gt=[\"x\",\"y\",\"z\",\"w\"],vt=\"blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset\".split(\" \"),mt={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},yt={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},xt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},bt={cw:2304,ccw:2305},_t=new D(!1,!1,!1,function(){});return function(t){function e(){if(0===X.length)w&&w.update(),Q=null;else{Q=q.next(e),h();for(var t=X.length-1;0<=t;--t){var r=X[t];r&&r(z,null,0)}v.flush(),w&&w.update()}}function r(){!Q&&0<X.length&&(Q=q.next(e))}function n(){Q&&(q.cancel(e),Q=null)}function a(t){t.preventDefault(),n(),Z.forEach(function(t){t()})}function o(t){v.getError(),y.restore(),O.restore(),I.restore(),R.restore(),F.restore(),V.restore(),w&&w.restore(),G.procs.refresh(),r(),J.forEach(function(t){t()})}function s(t){function e(t){var e={},r={};return Object.keys(t).forEach(function(n){var i=t[n];U.isDynamic(i)?r[n]=U.unbox(i,n):e[n]=i}),{dynamic:r,static:e}}var r=e(t.context||{}),n=e(t.uniforms||{}),i=e(t.attributes||{}),a=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=j({},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));t={gpuTime:0,cpuTime:0,count:0};var o=(r=G.compile(a,i,n,r,t)).draw,s=r.batch,l=r.scope,u=[];return j(function(t,e){var r;if(\"function\"==typeof t)return l.call(this,null,t,0);if(\"function\"==typeof e)if(\"number\"==typeof t)for(r=0;r<t;++r)l.call(this,null,e,r);else{if(!Array.isArray(t))return l.call(this,t,e,0);for(r=0;r<t.length;++r)l.call(this,t[r],e,r)}else if(\"number\"==typeof t){if(0<t)return s.call(this,function(t){for(;u.length<t;)u.push(null);return u}(0|t),0|t)}else{if(!Array.isArray(t))return o.call(this,t);if(t.length)return s.call(this,t,t.length)}},{stats:t})}function l(t,e){var r=0;G.procs.poll();var n=e.color;n&&(v.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=16384),\"depth\"in e&&(v.clearDepth(+e.depth),r|=256),\"stencil\"in e&&(v.clearStencil(0|e.stencil),r|=1024),v.clear(r)}function u(t){return X.push(t),r(),{cancel:function(){var e=N(X,t);X[e]=function t(){var e=N(X,t);X[e]=X[X.length-1],--X.length,0>=X.length&&n()}}}}function c(){var t=W.viewport,e=W.scissor_box;t[0]=t[1]=e[0]=e[1]=0,z.viewportWidth=z.framebufferWidth=z.drawingBufferWidth=t[2]=e[2]=v.drawingBufferWidth,z.viewportHeight=z.framebufferHeight=z.drawingBufferHeight=t[3]=e[3]=v.drawingBufferHeight}function h(){z.tick+=1,z.time=p(),c(),G.procs.poll()}function f(){c(),G.procs.refresh(),w&&w.update()}function p(){return(H()-M)/1e3}if(!(t=i(t)))return null;var v=t.gl,m=v.getContextAttributes();v.isContextLost();var y=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}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 Error(\"(regl): error restoring extension \"+t)})}}}(v,t);if(!y)return null;var x=function(){var t={\"\":0},e=[\"\"];return{id:function(r){var n=t[r];return n||(n=t[r]=e.length,e.push(r),n)},str:function(t){return e[t]}}}(),b={bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},_=y.extensions,w=function(t,e){function r(t,e,r){var n=o.pop()||new function(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null};n.startQueryIndex=t,n.endQueryIndex=e,n.sum=0,n.stats=r,s.push(n)}var n=e.ext_disjoint_timer_query;if(!n)return null;var i=[],a=[],o=[],s=[],l=[],u=[];return{beginQuery:function(t){var e=i.pop()||n.createQueryEXT();n.beginQueryEXT(35007,e),a.push(e),r(a.length-1,a.length,t)},endQuery:function(){n.endQueryEXT(35007)},pushScopeStats:r,update:function(){var t,e;if(0!==(t=a.length)){u.length=Math.max(u.length,t+1),l.length=Math.max(l.length,t+1),l[0]=0;var r=u[0]=0;for(e=t=0;e<a.length;++e){var c=a[e];n.getQueryObjectEXT(c,34919)?(r+=n.getQueryObjectEXT(c,34918),i.push(c)):a[t++]=c,l[e+1]=r,u[e+1]=t}for(a.length=t,e=t=0;e<s.length;++e){var h=(r=s[e]).startQueryIndex;c=r.endQueryIndex,r.sum+=l[c]-l[h],h=u[h],(c=u[c])===h?(r.stats.gpuTime+=r.sum/1e6,o.push(r)):(r.startQueryIndex=h,r.endQueryIndex=c,s[t++]=r)}s.length=t}},getNumPendingQueries:function(){return a.length},clear:function(){i.push.apply(i,a);for(var t=0;t<i.length;t++)n.deleteQueryEXT(i[t]);a.length=0,i.length=0},restore:function(){a.length=0,i.length=0}}}(0,_),M=H(),C=v.drawingBufferWidth,L=v.drawingBufferHeight,z={tick:0,time:0,viewportWidth:C,viewportHeight:L,framebufferWidth:C,framebufferHeight:L,drawingBufferWidth:C,drawingBufferHeight:L,pixelRatio:t.pixelRatio},P=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)}}(v,_),I=d(v,b,t),D=g(v,_,I,b),O=(C=function(t,e,r,n,i){for(t=r.maxAttributes,e=Array(t),r=0;r<t;++r)e[r]=new T;return{Record:T,scope:{},state:e}}(v,_,P),S(v,x,b,t)),R=A(v,_,P,function(){G.procs.poll()},z,b,t),F=ft(v,_,0,b,t),V=k(v,_,P,R,F,b),G=B(v,x,_,P,I,D,0,V,{},C,O,{elements:null,primitive:4,count:-1,offset:0,instances:-1},z,w,t),W=(x=E(v,V,G.procs.poll,z),G.next),Y=v.canvas,X=[],Z=[],J=[],K=[t.onDestroy],Q=null;Y&&(Y.addEventListener(\"webglcontextlost\",a,!1),Y.addEventListener(\"webglcontextrestored\",o,!1));var $=V.setFBO=s({framebuffer:U.define.call(null,1,\"framebuffer\")});return f(),m=j(s,{clear:function(t){if(\"framebuffer\"in t)if(t.framebuffer&&\"framebufferCube\"===t.framebuffer_reglType)for(var e=0;6>e;++e)$(j({framebuffer:t.framebuffer.faces[e]},t),l);else $(t,l);else l(0,t)},prop:U.define.bind(null,1),context:U.define.bind(null,2),this:U.define.bind(null,3),draw:s({}),buffer:function(t){return I.create(t,34962,!1,!1)},elements:function(t){return D.create(t,!1)},texture:R.create2D,cube:R.createCube,renderbuffer:F.create,framebuffer:V.create,framebufferCube:V.createCube,attributes:m,frame:u,on:function(t,e){var r;switch(t){case\"frame\":return u(e);case\"lost\":r=Z;break;case\"restore\":r=J;break;case\"destroy\":r=K}return r.push(e),{cancel:function(){for(var t=0;t<r.length;++t)if(r[t]===e){r[t]=r[r.length-1],r.pop();break}}}},limits:P,hasExtension:function(t){return 0<=P.extensions.indexOf(t.toLowerCase())},read:x,destroy:function(){X.length=0,n(),Y&&(Y.removeEventListener(\"webglcontextlost\",a),Y.removeEventListener(\"webglcontextrestored\",o)),O.clear(),V.clear(),F.clear(),R.clear(),D.clear(),I.clear(),w&&w.clear(),K.forEach(function(t){t()})},_gl:v,_refresh:f,poll:function(){h(),w&&w.update()},now:p,stats:b}),t.onDone(null,m),m}},\"object\"==typeof YR.exports?YR.exports=VR():jR.createREGL=VR(),YR=YR.exports;var ZR={keyFun:function(t){return t.key},repeat:XR,descend:Nt,wrap:XR,unwrap:function(t){return t[0]}},JR={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,capturewidth:10,fillcolor:\"magenta\",fillopacity:1,strokecolor:\"white\",strokeopacity:1,strokewidth:1,handleheight:16,handleopacity:1,handleoverlap:0},cn:{axisExtentText:\"axis-extent-text\",parcoordsLineLayers:\"parcoords-line-layers\",parcoordsLineLayer:\"parcoords-lines\",parcoords:\"parcoords\",parcoordsControlView:\"parcoords-control-view\",yAxis:\"y-axis\",axisOverlays:\"axis-overlays\",axis:\"axis\",axisHeading:\"axis-heading\",axisTitle:\"axis-title\",axisExtent:\"axis-extent\",axisExtentTop:\"axis-extent-top\",axisExtentTopText:\"axis-extent-top-text\",axisExtentBottom:\"axis-extent-bottom\",axisExtentBottomText:\"axis-extent-bottom-text\",axisBrush:\"axis-brush\"},id:{filterBarPattern:\"filter-bar-pattern\"}},KR=E_([\"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\"]),QR=E_([\"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\"]),$R=E_([\"precision lowp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n    gl_FragColor = fragColor;\\n}\\n\"]),tF=1e-6,eF=64,rF=2,nF=4,iF=[119,119,119],aF=new Uint8Array(4),oF=new Uint8Array(4);function sF(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 lF(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:aF})}(t),r.drawCompleted=!0),function s(l){var u;u=Math.min(n,i-l*n),a.offset=rF*l*n,a.count=rF*u,0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],sF(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(e(a),l*n+u<i&&(r.currentRafs[o]=window.requestAnimationFrame(function(){s(l+1)})),r.drawCompleted=!1)}(0)}function uF(t,e){return(t>>>8*e)%256/255}function cF(t,e){var r={};return[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15].map(function(r){return function(t,e,r){var n,i,a,o=[];for(i=0;i<t;i++)for(a=0;a<rF;a++)for(n=0;n<nF;n++)o.push(e[i*eF+r*nF+n]),r*nF+n===eF-1&&a%2==0&&(o[o.length-1]*=-1);return o}(t,e,r)}).forEach(function(t,e){r[\"p\"+e.toString(16)]=t}),r}function hF(t,e,r){return t+e<=r}var fF=function(t,e,r){var n=e.model,i=e.viewModel,a=n.domain,o=n.lines,s=n.canvasWidth,l=n.canvasHeight,u=i.dimensions,c=i.panels,h=n.unitToColor,f=e.context,p=e.pick,d={currentRafs:{},drawCompleted:!0,clearOnly:!1},g=u.slice(),v=g.length,m=g[0]?g[0].values.length:0,y=f,x=p?o.color.map(function(t,e){return e/o.color.length}):o.color,b=Math.max(1/255,Math.pow(1/x.length,1/3)),_=o.canvasOverdrag,w=c.length,M=function(t,e,r,n){for(var i,a=[],o=0;o<t;o++)for(var s=0;s<eF;s++)a.push(s<e?r[s].paddedUnitValues[o]:s===eF-1?(i=n[o],Math.max(tF,Math.min(1-tF,i))):s>=eF-4?uF(o,eF-2-s):.5);return a}(m,v,g,x),A=cF(m,M),k=e.regl,T=k.texture({shape:[256,1],format:\"rgba\",type:\"uint8\",mag:\"nearest\",min:\"nearest\",data:function(t,e,r){for(var n=[],i=0;i<256;i++){var a=t(i/255);n.push((e?iF:a).concat(r))}return n}(h,f,Math.round(255*(f?b:1)))}),S=k({profile:!1,blend:{enable:y,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:!y,mask:!0,func:\"less\",range:[0,1]},cull:{enable:!0,face:\"back\"},scissor:{enable:!0,box:{x:k.prop(\"scissorX\"),y:k.prop(\"scissorY\"),width:k.prop(\"scissorWidth\"),height:k.prop(\"scissorHeight\")}},viewport:{x:k.prop(\"viewportX\"),y:k.prop(\"viewportY\"),width:k.prop(\"viewportWidth\"),height:k.prop(\"viewportHeight\")},dither:!1,vert:p?QR:KR,frag:$R,primitive:\"lines\",lineWidth:1,attributes:A,uniforms:{resolution:k.prop(\"resolution\"),viewBoxPosition:k.prop(\"viewBoxPosition\"),viewBoxSize:k.prop(\"viewBoxSize\"),dim1A:k.prop(\"dim1A\"),dim2A:k.prop(\"dim2A\"),dim1B:k.prop(\"dim1B\"),dim2B:k.prop(\"dim2B\"),dim1C:k.prop(\"dim1C\"),dim2C:k.prop(\"dim2C\"),dim1D:k.prop(\"dim1D\"),dim2D:k.prop(\"dim2D\"),loA:k.prop(\"loA\"),hiA:k.prop(\"hiA\"),loB:k.prop(\"loB\"),hiB:k.prop(\"hiB\"),loC:k.prop(\"loC\"),hiC:k.prop(\"hiC\"),loD:k.prop(\"loD\"),hiD:k.prop(\"hiD\"),palette:T,colorClamp:k.prop(\"colorClamp\"),scatter:k.prop(\"scatter\")},offset:k.prop(\"offset\"),count:k.prop(\"count\")}),E=[0,1];var C=[];function L(t,e,r,i,o,u,c,h,p,d,v){var m,y,x,b,M=[t,e],A=JR.verticalPadding/u,k=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})}),T=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(m=0;m<2;m++)for(b=M[m],y=0;y<4;y++)for(x=0;x<16;x++){var S=x+16*y;k[m][y][x]=x+16*y===b?1:0,T[m][y][x]=(!f&&hF(x,16*y,w)?g[0===S?0:1+(S-1)%(g.length-1)].filter[m]:m)+(2*m-1)*A}return{key:c,resolution:[s,l],viewBoxPosition:[r+_,i],viewBoxSize:[o,u],i:t,ii:e,dim1A:k[0][0],dim1B:k[0][1],dim1C:k[0][2],dim1D:k[0][3],dim2A:k[1][0],dim2B:k[1][1],dim2C:k[1][2],dim2D:k[1][3],loA:T[0][0],loB:T[0][1],loC:T[0][2],loD:T[0][3],hiA:T[1][0],hiB:T[1][1],hiC:T[1][2],hiD:T[1][3],colorClamp:E,scatter:h||0,scissorX:(p===d?0:r+_)+(n.pad.l-_)+n.layoutWidth*a.x[0],scissorWidth:(p===v?s-r+_:o+.5)+(p===d?r+_:0),scissorY:i+n.pad.b+n.layoutHeight*a.y[0],scissorHeight:u,viewportX:n.pad.l-_+n.layoutWidth*a.x[0],viewportY:n.pad.b+n.layoutHeight*a.y[0],viewportWidth:s,viewportHeight:l}}return{setColorDomain:function(t){E[0]=t[0],E[1]=t[1]},render:function(t,e,n){var i,a,u,c=1/0,h=-1/0;for(i=0;i<w;i++)t[i].dim2.canvasX>h&&(h=t[i].dim2.canvasX,u=i),t[i].dim1.canvasX<c&&(c=t[i].dim1.canvasX,a=i);for(0===w&&sF(k,0,0,s,l),i=0;i<w;i++){var f=t[i],p=f.dim1,g=p.crossfilterDimensionIndex,v=f.canvasX,y=f.canvasY,x=f.dim2.crossfilterDimensionIndex,b=f.panelSizeX,_=f.panelSizeY,M=v+b;if(e||!C[g]||C[g][0]!==v||C[g][1]!==M){C[g]=[v,M];var A=L(g,x,v,y,b,_,p.crossfilterDimensionIndex,r||p.scatter?1:0,i,a,u);d.clearOnly=n,lF(k,S,d,e?o.blockLineCount:m,m,A)}}},readPixel:function(t,e){return k.read({x:t,y:e,width:1,height:1,data:oF}),oF},readPixels:function(t,e,r,n){var i=new Uint8Array(4*r*n);return k.read({x:t,y:e,width:r,height:n,data:i}),i},destroy:function(){t.style[\"pointer-events\"]=\"none\",T.destroy()}}},pF=ZR.keyFun,dF=ZR.repeat,gF=ZR.unwrap;function vF(t){return!(\"visible\"in t)||t.visible}function mF(t){var e=t.range?t.range[0]:ne.aggNums(Math.min,null,t.values,t._length),r=t.range?t.range[1]:ne.aggNums(Math.max,null,t.values,t._length);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 yF(t,e){var r,n,i,a,o;for(r=0,i=1/0,a=(n=t.range())[0];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 xF(t){return e.scale.linear().domain(mF(t))}function bF(t,r,n){var i=gF(r),a=i.trace,o=i.lineColor,s=i.cscale,l=a.line,u=a.domain,c=a.dimensions,h=t.width,f=a.labelfont,p=a.tickfont,d=a.rangefont,g=ne.extendDeep({},l,{color:o.map(xF({values:o,range:[l.cmin,l.cmax],_length:a._commonLength})),blockLineCount:JR.blockLineCount,canvasOverdrag:JR.overdrag*JR.canvasPixelRatio}),v=Math.floor(h*(u.x[1]-u.x[0])),m=Math.floor(t.height*(u.y[1]-u.y[0])),y=t.margin||{l:80,r:80,t:100,b:80},x=v,b=m;return{key:n,colCount:c.filter(vF).length,dimensions:c,tickDistance:JR.tickDistance,unitToColor:function(t){var r=t.map(function(t){return t[0]}),n=t.map(function(t){return t[1]}).map(function(t){return e.rgb(t)}),i=\"rgb\".split(\"\").map(function(t){return e.scale.linear().clamp(!0).domain(r).range(n.map((i=t,function(t){return t[i]})));var i});return function(t){return i.map(function(e){return e(t)})}}(s),lines:g,labelFont:f,tickFont:p,rangeFont:d,layoutWidth:h,layoutHeight:t.height,domain:u,translateX:u.x[0]*h,translateY:t.height-u.y[1]*t.height,pad:y,canvasWidth:x*JR.canvasPixelRatio+2*g.canvasOverdrag,canvasHeight:b*JR.canvasPixelRatio,width:x,height:b,canvasPixelRatio:JR.canvasPixelRatio}}function _F(t){var r=t.width,n=t.height,i=t.dimensions,a=t.canvasPixelRatio,o=function(e){return r*e/Math.max(1,t.colCount-1)},s=JR.verticalPadding/(n*a),l=1-2*s,u=function(t){return s+l*t},c={key:t.key,xScale:o,model:t},h={};return c.dimensions=i.filter(vF).map(function(r,i){var s=xF(r),l=h[r.label];h[r.label]=(l||0)+1;var f=r.label+(l?\"__\"+l:\"\"),p=r.values;return p.length>r._length&&(p=p.slice(0,r._length)),{key:f,label:r.label,tickFormat:r.tickformat,tickvals:r.tickvals,ticktext:r.ticktext,ordinal:!!r.tickvals,scatter:JR.scatter||r.scatter,xIndex:i,crossfilterDimensionIndex:i,visibleIndex:r._index,height:n,values:p,paddedUnitValues:p.map(s).map(u),xScale:o,x:o(i),canvasX:o(i)*a,unitScale:function(t,r){return e.scale.linear().range([t-r,r])}(n,JR.verticalPadding),domainScale:function(t,r,n){var i=mF(n),a=n.ticktext;return n.tickvals?e.scale.ordinal().domain(n.tickvals.map(function(t,e){return function(r,n){if(e){var i=e[n];return null===i||void 0===i?t(r):i}return t(r)}}(e.format(n.tickformat),a))).range(n.tickvals.map(function(t){return(t-i[0])/(i[1]-i[0])}).map(function(e){return t-r+e*(r-(t-r))})):e.scale.linear().domain(i).range([t-r,r])}(n,JR.verticalPadding,r),ordinalScale:function(t){var r=mF(t);return t.tickvals&&e.scale.ordinal().domain(t.tickvals).range(t.tickvals.map(function(t){return(t-r[0])/(r[1]-r[0])}))}(r),domainToUnitScale:s,filter:r.constraintrange?r.constraintrange.map(s):[0,1],parent:c,model:t}}),c}function wF(t){t.classed(JR.cn.axisExtentText,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"default\").style(\"user-select\",\"none\")}var MF={};(function(t){\"use strict\";MF=function(r,n){var i=r._fullLayout,a=i._toppaper,o=(i._paperdiv,i._glcontainer);i._glcanvas.each(function(e){e.regl||(e.regl=YR({canvas:this,attributes:{antialias:!e.pick,preserveDrawingBuffer:!0},pixelRatio:r._context.plotGlPixelRatio||t.devicePixelRatio}))});var s={},l={},u=i._size;n.forEach(function(t,e){s[e]=r.data[e].dimensions,l[e]=r.data[e].dimensions.slice()});!function(t,r,n,i,a,o){var s=!1,l=!0;var u=i.filter(function(t){return gF(t).trace.visible}).map(bF.bind(0,a)).map(_F);n.each(function(t,e){return ne.extendFlat(t,u[e])});var c=n.selectAll(\".gl-canvas\").each(function(t){t.viewModel=u[0],t.model=t.viewModel?t.viewModel.model:null}),h={renderers:[],dimensions:[]},f=null;c.filter(function(t){return t.pick}).style(\"pointer-events\",\"auto\").on(\"mousemove\",function(t){if(l&&t.lineLayer&&o&&o.hover){var r=e.event,n=this.width,i=this.height,a=e.mouse(this),s=a[0],u=a[1];if(s<0||u<0||s>=n||u>=i)return;var c=t.lineLayer.readPixel(s,i-1-u),h=0!==c[3],p=h?c[2]+256*(c[1]+256*c[0]):null,d={x:s,y:u,clientX:r.clientX,clientY:r.clientY,dataIndex:t.model.key,curveNumber:p};p!==f&&(h?o.hover(d):o.unhover&&o.unhover(d),f=p)}}),c.style(\"opacity\",function(t){return t.pick?.01:1}),r.style(\"background\",\"rgba(255, 255, 255, 0)\");var p=r.selectAll(\".\"+JR.cn.parcoords).data(u,pF);p.exit().remove(),p.enter().append(\"g\").classed(JR.cn.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(function(t){var e=t.selectAll(\"defs\").data(dF,pF);e.enter().append(\"defs\");var r=e.selectAll(\"#\"+JR.id.filterBarPattern).data(dF,pF);r.enter().append(\"pattern\").attr(\"id\",JR.id.filterBarPattern).attr(\"patternUnits\",\"userSpaceOnUse\"),r.attr(\"x\",-JR.bar.width).attr(\"width\",JR.bar.capturewidth).attr(\"height\",function(t){return t.model.height});var n=r.selectAll(\"rect\").data(dF,pF);n.enter().append(\"rect\").attr(\"shape-rendering\",\"crispEdges\"),n.attr(\"height\",function(t){return t.model.height}).attr(\"width\",JR.bar.width).attr(\"x\",JR.bar.width/2).attr(\"fill\",JR.bar.fillcolor).attr(\"fill-opacity\",JR.bar.fillopacity).attr(\"stroke\",JR.bar.strokecolor).attr(\"stroke-opacity\",JR.bar.strokeopacity).attr(\"stroke-width\",JR.bar.strokewidth)}),p.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 d=p.selectAll(\".\"+JR.cn.parcoordsControlView).data(dF,pF);d.enter().append(\"g\").classed(JR.cn.parcoordsControlView,!0).style(\"box-sizing\",\"content-box\"),d.attr(\"transform\",function(t){return\"translate(\"+t.model.pad.l+\",\"+t.model.pad.t+\")\"});var g=d.selectAll(\".\"+JR.cn.yAxis).data(function(t){return t.dimensions},pF);function v(t){return t.dimensions.some(function(t){return 0!==t.filter[0]||1!==t.filter[1]})}function m(t,e){return(JR.scatter?function(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(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}})(t,e)}g.enter().append(\"g\").classed(JR.cn.yAxis,!0).each(function(t){h.dimensions.push(t)}),d.each(function(t){m(g,t)}),c.filter(function(t){return!!t.viewModel}).each(function(t){t.lineLayer=fF(this,t,JR.scatter),t.viewModel[t.key]=t.lineLayer,h.renderers.push(function(){t.lineLayer.render(t.viewModel.panels,!0)}),t.lineLayer.render(t.viewModel.panels,!t.context)}),g.attr(\"transform\",function(t){return\"translate(\"+t.xScale(t.xIndex)+\", 0)\"}),g.call(e.behavior.drag().origin(function(t){return t}).on(\"drag\",function(t){var r=t.parent;l=!1,s||(t.x=Math.max(-JR.overdrag,Math.min(t.model.width+JR.overdrag,e.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,g.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}),m(g,r),g.filter(function(e){return 0!==Math.abs(t.xIndex-e.xIndex)}).attr(\"transform\",function(t){return\"translate(\"+t.xScale(t.xIndex)+\", 0)\"}),e.select(this).attr(\"transform\",\"translate(\"+t.x+\", 0)\"),g.each(function(e,n,i){i===t.parent.key&&(r.dimensions[n]=e)}),r.contextLayer&&r.contextLayer.render(r.panels,!1,!v(r)),r.focusLayer.render&&r.focusLayer.render(r.panels))}).on(\"dragend\",function(t){var r=t.parent;s?\"ending\"===s&&(s=!1):(t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,m(g,r),e.select(this).attr(\"transform\",function(t){return\"translate(\"+t.x+\", 0)\"}),r.contextLayer&&r.contextLayer.render(r.panels,!1,!v(r)),r.focusLayer&&r.focusLayer.render(r.panels),r.pickLayer&&r.pickLayer.render(r.panels,!0),l=!0,o&&o.axesMoved&&o.axesMoved(r.key,r.dimensions.map(function(t){return t.crossfilterDimensionIndex})))})),g.exit().remove();var y=g.selectAll(\".\"+JR.cn.axisOverlays).data(dF,pF);y.enter().append(\"g\").classed(JR.cn.axisOverlays,!0),y.selectAll(\".\"+JR.cn.axis).remove();var x=y.selectAll(\".\"+JR.cn.axis).data(dF,pF);x.enter().append(\"g\").classed(JR.cn.axis,!0),x.each(function(t){var r=t.model.height/t.model.tickDistance,n=t.domainScale,i=n.domain();e.select(this).call(e.svg.axis().orient(\"left\").tickSize(4).outerTickSize(2).ticks(r,t.tickFormat).tickValues(t.ordinal?i:null).tickFormat(t.ordinal?function(t){return t}:null).scale(n)),Sr.font(x.selectAll(\"text\"),t.model.tickFont)}),x.selectAll(\".domain, .tick>line\").attr(\"fill\",\"none\").attr(\"stroke\",\"black\").attr(\"stroke-opacity\",.25).attr(\"stroke-width\",\"1px\"),x.selectAll(\"text\").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 b=y.selectAll(\".\"+JR.cn.axisHeading).data(dF,pF);b.enter().append(\"g\").classed(JR.cn.axisHeading,!0);var _=b.selectAll(\".\"+JR.cn.axisTitle).data(dF,pF);_.enter().append(\"text\").classed(JR.cn.axisTitle,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"ew-resize\").style(\"user-select\",\"none\").style(\"pointer-events\",\"auto\"),_.attr(\"transform\",\"translate(0,\"+-JR.axisTitleOffset+\")\").text(function(t){return t.label}).each(function(t){Sr.font(_,t.model.labelFont)});var w=y.selectAll(\".\"+JR.cn.axisExtent).data(dF,pF);w.enter().append(\"g\").classed(JR.cn.axisExtent,!0);var M=w.selectAll(\".\"+JR.cn.axisExtentTop).data(dF,pF);M.enter().append(\"g\").classed(JR.cn.axisExtentTop,!0),M.attr(\"transform\",\"translate(0,\"+-JR.axisExtentOffset+\")\");var A=M.selectAll(\".\"+JR.cn.axisExtentTopText).data(dF,pF);function k(t){return t.ordinal?function(){return\"\"}:e.format(t.tickFormat)}A.enter().append(\"text\").classed(JR.cn.axisExtentTopText,!0).call(wF),A.text(function(t){return k(t)(t.domainScale.domain().slice(-1)[0])}).each(function(t){Sr.font(A,t.model.rangeFont)});var T=w.selectAll(\".\"+JR.cn.axisExtentBottom).data(dF,pF);T.enter().append(\"g\").classed(JR.cn.axisExtentBottom,!0),T.attr(\"transform\",function(t){return\"translate(0,\"+(t.model.height+JR.axisExtentOffset)+\")\"});var S=T.selectAll(\".\"+JR.cn.axisExtentBottomText).data(dF,pF);S.enter().append(\"text\").classed(JR.cn.axisExtentBottomText,!0).attr(\"dy\",\"0.75em\").call(wF),S.text(function(t){return k(t)(t.domainScale.domain()[0])}).each(function(t){Sr.font(S,t.model.rangeFont)});var E=y.selectAll(\".\"+JR.cn.axisBrush).data(dF,pF),C=E.enter().append(\"g\").classed(JR.cn.axisBrush,!0);E.each(function(t){t.brush||(t.brush=e.svg.brush().y(t.unitScale).on(\"brushstart\",P).on(\"brush\",I).on(\"brushend\",D),0===t.filter[0]&&1===t.filter[1]||t.brush.extent(t.filter),e.select(this).call(t.brush))}),C.selectAll(\"rect\").attr(\"x\",-JR.bar.capturewidth/2).attr(\"width\",JR.bar.capturewidth),C.selectAll(\"rect.extent\").attr(\"fill\",\"url(#\"+JR.id.filterBarPattern+\")\").style(\"cursor\",\"ns-resize\").filter(function(t){return 0===t.filter[0]&&1===t.filter[1]}).attr(\"y\",-100),C.selectAll(\".resize rect\").attr(\"height\",JR.bar.handleheight).attr(\"opacity\",0).style(\"visibility\",\"visible\"),C.selectAll(\".resize.n rect\").style(\"cursor\",\"n-resize\").attr(\"y\",JR.bar.handleoverlap-JR.bar.handleheight),C.selectAll(\".resize.s rect\").style(\"cursor\",\"s-resize\").attr(\"y\",JR.bar.handleoverlap);var L=!1,z=!1;function P(){L=!0,s=!0}function I(t){l=!1;var r=t.parent,n=t.brush.extent(),i=r.dimensions,a=i[t.xIndex].filter,o=L&&n[0]===n[1];o&&(t.brush.clear(),e.select(this).select(\"rect.extent\").attr(\"y\",-100));var s=o?[0,1]:n.slice();if(s[0]!==a[0]||s[1]!==a[1]){i[t.xIndex].filter=s,r.focusLayer&&r.focusLayer.render(r.panels,!0);var u=v(r);!z&&u?(r.contextLayer&&r.contextLayer.render(r.panels,!0),z=!0):z&&!u&&(r.contextLayer&&r.contextLayer.render(r.panels,!0,!0),z=!1)}L=!1}function D(t){var r=t.parent,n=t.brush.extent(),i=n[0]===n[1],a=r.dimensions[t.xIndex].filter;if(!i&&t.ordinal&&(a[0]=yF(t.ordinalScale,a[0]),a[1]=yF(t.ordinalScale,a[1]),a[0]===a[1]&&(a[0]=Math.max(0,a[0]-.05),a[1]=Math.min(1,a[1]+.05)),e.select(this).transition().duration(150).call(t.brush.extent(a)),r.focusLayer.render(r.panels,!0)),r.pickLayer&&r.pickLayer.render(r.panels,!0),l=!0,s=\"ending\",o&&o.filterChanged){var u=t.domainToUnitScale.invert,c=a.map(u);o.filterChanged(r.key,t.visibleIndex,c)}}}(0,a,o,n,{width:u.w,height:u.h,margin:{t:u.t,r:u.r,b:u.b,l:u.l}},{filterChanged:function(t,e,n){var i=l[t][e],a=i.constraintrange;a&&2===a.length||(a=i.constraintrange=[]),a[0]=n[0],a[1]=n[1],r.emit(\"plotly_restyle\")},hover:function(t){r.emit(\"plotly_hover\",t)},unhover:function(t){r.emit(\"plotly_unhover\",t)},axesMoved:function(t,e){function n(t){return!(\"visible\"in t)||t.visible}function i(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}var a=function(t){return function(r,n){return i(e,t,r)-i(e,t,n)}}(l[t].filter(n));s[t].sort(a),l[t].filter(function(t){return!n(t)}).sort(function(e){return l[t].indexOf(e)}).forEach(function(e){s[t].splice(s[t].indexOf(e),1),s[t].splice(l[t].indexOf(e),0,e)}),r.emit(\"plotly_restyle\")}})}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{});var AF={},kF=sa.getModuleCalcData;AF.name=\"parcoords\",AF.plot=function(t){var e=kF(t.calcdata,\"parcoords\");e.length&&MF(t,e)},AF.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\").remove(),n._glimages.selectAll(\"*\").remove())},AF.toSVG=function(t){var r=t._fullLayout._glimages,n=e.select(t).selectAll(\".svg-container\");n.filter(function(t,e){return e===n.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\").each(function(){var t=this.toDataURL(\"image/png\");r.append(\"svg:image\").attr({xmlns:$e.svg,\"xlink:href\":t,preserveAspectRatio:\"none\",x:0,y:0,width:this.width,height:this.height})}),window.setTimeout(function(){e.selectAll(\"#filterBarPattern\").attr(\"id\",\"filterBarPattern\")},60)};var TF=ZR.wrap;var SF=JR.maxDimensionCount,EF=qc.defaults;var CF={};CF.attributes=WR,CF.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,WR,r,n)}var a=function(t,e){var r,n,i,a=t.dimensions||[],o=e.dimensions=[],s=1/0;function l(t,e){return ne.coerce(r,n,WR.dimensions,t,e)}for(a.length>SF&&(ne.log(\"parcoords traces support up to \"+SF+\" dimensions at the moment\"),a.splice(SF)),i=0;i<a.length;i++)if(r=a[i],n={},ne.isPlainObject(r)){var u=l(\"values\"),c=l(\"visible\");u&&u.length||(c=n.visible=!1),c&&(l(\"label\"),l(\"tickvals\"),l(\"ticktext\"),l(\"tickformat\"),l(\"range\"),l(\"constraintrange\"),s=Math.min(s,u.length)),n._index=i,o.push(n)}return e._commonLength=s,o}(t,e);!function(t,e,r,n,i){var a=i(\"line.color\",r);Xe(t,\"line\")&&ne.isArrayOrTypedArray(a)&&(a.length?(i(\"line.colorscale\"),Ye(t,e,n,i,{prefix:\"line.\",cLetter:\"c\"}),e._commonLength=Math.min(e._commonLength,a.length)):e.line.color=r)}(t,e,r,n,i),EF(e,n,i),Array.isArray(a)&&a.length||(e.visible=!1);for(var o=0;o<a.length;o++)a[o].visible&&(a[o]._length=e._commonLength);var s={family:n.font.family,size:Math.round(n.font.size/1.2),color:n.font.color};ne.coerceFont(i,\"labelfont\",s),ne.coerceFont(i,\"tickfont\",s),ne.coerceFont(i,\"rangefont\",s)},CF.calc=function(t,e){var r=!!e.line.colorscale&&ne.isArrayOrTypedArray(e.line.color),n=r?e.line.color:function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=.5;return e}(e._commonLength),i=r?e.line.colorscale:[[0,e.line.color],[1,e.line.color]];return Xe(e,\"line\")&&Ve(e,n,\"line\",\"c\"),TF({lineColor:n,cscale:i})},CF.plot=MF,CF.colorbar=function(t,e){var n=e[0].trace,i=n.line,a=\"cb\"+n.uid;if(t._fullLayout._infolayer.selectAll(\".\"+a).remove(),void 0!==i&&i.showscale){var o=i.color,s=i.cmin,l=i.cmax;r(s)||(s=ne.aggNums(Math.min,null,o)),r(l)||(l=ne.aggNums(Math.max,null,o));var u=e[0].t.cb=ns(t,a),c=Je.makeColorScaleFunc(Je.extractScale(i.colorscale,s,l),{noNumericCheck:!0});u.fillcolor(c).filllevels({start:s,end:l,size:(l-s)/254}).options(i.colorbar)()}else _n.autoMargin(t,a)},CF.moduleType=\"trace\",CF.name=\"parcoords\",CF.basePlotModule=AF,CF.categories=[\"gl\",\"regl\",\"noOpacity\"],CF.meta={};var LF=CF,zF=qc.attributes,PF=m.extendFlat,IF=T({editType:\"calc\",colorEditType:\"style\"}),DF={labels:{valType:\"data_array\",editType:\"calc\"},label0:{valType:\"number\",dflt:0,editType:\"calc\"},dlabel:{valType:\"number\",dflt:1,editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},marker:{colors:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:C.defaultLine,arrayOk:!0,editType:\"style\"},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},editType:\"calc\"},text:{valType:\"data_array\",editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"percent\"],extras:[\"none\"],editType:\"calc\"},hoverinfo:PF({},E.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"calc\"},textfont:PF({},IF,{}),insidetextfont:PF({},IF,{}),outsidetextfont:PF({},IF,{}),domain:zF({name:\"pie\",trace:!0,editType:\"calc\"}),hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},sort:{valType:\"boolean\",dflt:!0,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"number\",min:-360,max:360,dflt:0,editType:\"calc\"},pull:{valType:\"number\",min:0,max:1,dflt:0,arrayOk:!0,editType:\"calc\"}},OF={};OF.name=\"pie\",OF.plot=function(t){var e=P.getModule(\"pie\"),r=function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a._module===e&&!0===a.visible&&r.push(i)}return r}(t.calcdata,e);r.length&&e.plot(t,r)},OF.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()};var RF,FF=ne.isArrayOrTypedArray;function BF(t,e){if(!RF){var r=Oe.defaults;RF=NF(r)}var n=e||RF;return n[t%n.length]}function NF(t){var e,r=t.slice();for(e=0;e<t.length;e++)r.push(s(t[e]).lighten(20).toHexString());for(e=0;e<t.length;e++)r.push(s(t[e]).darken(20).toHexString());return r}var jF=qc.defaults,VF={hiddenlabels:{valType:\"data_array\",editType:\"calc\"}},UF=Ya.appendArrayMultiPointValues,qF=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),UF(r,e,t.pts),r};function HF(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 GF(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}}var WF={};WF.attributes=DF,WF.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,DF,r,n)}var a=ne.coerceFont,o=i(\"values\"),s=i(\"labels\");if(!Array.isArray(s)){if(!ne.isArrayOrTypedArray(o)||!o.length)return void(e.visible=!1);i(\"label0\"),i(\"dlabel\")}i(\"marker.line.width\")&&i(\"marker.line.color\"),i(\"marker.colors\"),i(\"scalegroup\");var l=i(\"text\"),u=i(\"textinfo\",Array.isArray(l)?\"text+percent\":\"percent\");if(i(\"hovertext\"),u&&\"none\"!==u){var c=i(\"textposition\"),h=Array.isArray(c)||\"auto\"===c,f=h||\"inside\"===c,p=h||\"outside\"===c;if(f||p){var d=a(i,\"textfont\",n.font);f&&a(i,\"insidetextfont\",d),p&&a(i,\"outsidetextfont\",d)}}jF(e,n,i),i(\"hole\"),i(\"sort\"),i(\"direction\"),i(\"rotation\"),i(\"pull\")},WF.supplyLayoutDefaults=function(t,e){var r,n;r=\"hiddenlabels\",ne.coerce(t,e,VF,r,n)},WF.layoutAttributes=VF,WF.calc=function(t,e){var n,i,a,o,l,u=e.values,c=FF(u)&&u.length,h=e.labels,f=e.marker.colors||[],p=[],d=t._fullLayout,g=d.colorway,v=d._piecolormap,m={},y=0,x=d.hiddenlabels||[];if(d._piecolorway||g===Oe.defaults||(d._piecolorway=NF(g)),e.dlabel)for(h=new Array(u.length),n=0;n<u.length;n++)h[n]=String(e.label0+n*e.dlabel);function b(t,e){return!!t&&!!(t=s(t)).isValid()&&(t=Oe.addOpacity(t,t.getAlpha()),v[e]||(v[e]=t),t)}var _=(c?u:h).length;for(n=0;n<_;n++){if(c){if(i=u[n],!r(i))continue;if((i=+i)<0)continue}else i=1;void 0!==(a=h[n])&&\"\"!==a||(a=n);var w=m[a=String(a)];void 0===w?(m[a]=p.length,(o=-1!==x.indexOf(a))||(y+=i),p.push({v:i,label:a,color:b(f[n]),i:n,pts:[n],hidden:o})):((l=p[w]).v+=i,l.pts.push(n),l.hidden||(y+=i),!1===l.color&&f[n]&&(l.color=b(f[n],a)))}for(e.sort&&p.sort(function(t,e){return e.v-t.v}),n=0;n<p.length;n++)!1===(l=p[n]).color&&(v[l.label]?l.color=v[l.label]:(v[l.label]=l.color=BF(d._piedefaultcolorcount,d._piecolorway),d._piedefaultcolorcount++));if(p[0]&&(p[0].vTotal=y),e.textinfo&&\"none\"!==e.textinfo){var M,A=-1!==e.textinfo.indexOf(\"label\"),k=-1!==e.textinfo.indexOf(\"text\"),T=-1!==e.textinfo.indexOf(\"value\"),S=-1!==e.textinfo.indexOf(\"percent\"),E=d.separators;for(n=0;n<p.length;n++){if(l=p[n],M=A?[l.label]:[],k){var C=Gd.getFirstFilled(e.text,l.pts);C&&M.push(C)}T&&M.push(Gd.formatPieValue(l.v,E)),S&&M.push(Gd.formatPiePercent(l.v/y,E)),l.text=M.join(\"<br>\")}}return p},WF.plot=function(t,r){var n=t._fullLayout;!function(t,e){var r,n,i,a,o,s,l,u,c,h=[];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.pull,Array.isArray(l))for(l=0,a=0;a<s.pull.length;a++)s.pull[a]>l&&(l=s.pull[a]);o.r=Math.min(r,n)/(2+2*l),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&&-1===h.indexOf(s.scalegroup)&&h.push(s.scalegroup)}for(a=0;a<h.length;a++){for(c=1/0,u=h[a],i=0;i<t.length;i++)(o=t[i][0]).trace.scalegroup===u&&(c=Math.min(c,o.r*o.r/o.vTotal));for(i=0;i<t.length;i++)(o=t[i][0]).trace.scalegroup===u&&(o.r=Math.sqrt(c*o.vTotal))}}(r,n._size);var i=n._pielayer.selectAll(\"g.trace\").data(r);i.enter().append(\"g\").attr({\"stroke-linejoin\":\"round\",class:\"trace\"}),i.exit().remove(),i.order(),i.each(function(r){var i=e.select(this),a=r[0],o=a.trace;!function(t){var e,r,n,i=t[0],a=i.trace,o=a.rotation*Math.PI/180,s=2*Math.PI/i.vTotal,l=\"px0\",u=\"px1\";if(\"counterclockwise\"===a.direction){for(e=0;e<t.length&&t[e].hidden;e++);if(e===t.length)return;o+=s*t[e].v,s*=-1,l=\"px1\",u=\"px0\"}function c(t){return[i.r*Math.sin(t),-i.r*Math.cos(t)]}for(n=c(o),e=0;e<t.length;e++)(r=t[e]).hidden||(r[l]=n,o+=s*r.v/2,r.pxmid=c(o),r.midangle=o,o+=s*r.v/2,n=c(o),r[u]=n,r.largeArc=r.v>i.vTotal/2?1:0)}(r),i.each(function(){var i=e.select(this).selectAll(\"g.slice\").data(r);i.enter().append(\"g\").classed(\"slice\",!0),i.exit().remove();var s=[[[],[]],[[],[]]],l=!1;i.each(function(r){if(r.hidden)e.select(this).selectAll(\"path,g\").remove();else{r.pointNumber=r.i,r.curveNumber=o.index,s[r.pxmid[1]<0?0:1][r.pxmid[0]<0?0:1].push(r);var i=a.cx,u=a.cy,c=e.select(this),h=c.selectAll(\"path.surface\").data([r]),f=!1,p=!1;if(h.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":\"all\"}),c.select(\"path.textline\").remove(),c.on(\"mouseover\",function(){var s=t._fullLayout,l=t._fullData[o.index];if(!t._dragging&&!1!==s.hovermode){var c=l.hoverinfo;if(Array.isArray(c)&&(c=yo.castHoverinfo({hoverinfo:[Gd.castOption(c,r.pts)],_module:o._module},s,0)),\"all\"===c&&(c=\"label+text+value+percent+name\"),\"none\"!==c&&\"skip\"!==c&&c){var h=HF(r,a),d=i+r.pxmid[0]*(1-h),g=u+r.pxmid[1]*(1-h),v=n.separators,m=[];if(-1!==c.indexOf(\"label\")&&m.push(r.label),-1!==c.indexOf(\"text\")){var y=Gd.castOption(l.hovertext||l.text,r.pts);y&&m.push(y)}-1!==c.indexOf(\"value\")&&m.push(Gd.formatPieValue(r.v,v)),-1!==c.indexOf(\"percent\")&&m.push(Gd.formatPiePercent(r.v/a.vTotal,v));var x=o.hoverlabel,b=x.font;yo.loneHover({x0:d-h*a.r,x1:d+h*a.r,y:g,text:m.join(\"<br>\"),name:-1!==c.indexOf(\"name\")?l.name:void 0,idealAlign:r.pxmid[0]<0?\"left\":\"right\",color:Gd.castOption(x.bgcolor,r.pts)||r.color,borderColor:Gd.castOption(x.bordercolor,r.pts),fontFamily:Gd.castOption(b.family,r.pts),fontSize:Gd.castOption(b.size,r.pts),fontColor:Gd.castOption(b.color,r.pts)},{container:s._hoverlayer.node(),outerContainer:s._paper.node(),gd:t}),f=!0}t.emit(\"plotly_hover\",{points:[qF(r,l)],event:e.event}),p=!0}}).on(\"mouseout\",function(n){var i=t._fullLayout,a=t._fullData[o.index];p&&(n.originalEvent=e.event,t.emit(\"plotly_unhover\",{points:[qF(r,a)],event:e.event}),p=!1),f&&(yo.loneUnhover(i._hoverlayer.node()),f=!1)}).on(\"click\",function(){var n=t._fullLayout,i=t._fullData[o.index];t._dragging||!1===n.hovermode||(t._hoverdata=[qF(r,i)],yo.click(t,e.event))}),o.pull){var d=+Gd.castOption(o.pull,r.pts)||0;d>0&&(i+=d*r.pxmid[0],u+=d*r.pxmid[1])}r.cxFinal=i,r.cyFinal=u;var g=o.hole;if(r.v===a.vTotal){var v=\"M\"+(i+r.px0[0])+\",\"+(u+r.px0[1])+_(r.px0,r.pxmid,!0,1)+_(r.pxmid,r.px0,!0,1)+\"Z\";g?h.attr(\"d\",\"M\"+(i+g*r.px0[0])+\",\"+(u+g*r.px0[1])+_(r.px0,r.pxmid,!1,g)+_(r.pxmid,r.px0,!1,g)+\"Z\"+v):h.attr(\"d\",v)}else{var m=_(r.px0,r.px1,!0,1);if(g){var y=1-g;h.attr(\"d\",\"M\"+(i+g*r.px1[0])+\",\"+(u+g*r.px1[1])+_(r.px1,r.px0,!1,g)+\"l\"+y*r.px0[0]+\",\"+y*r.px0[1]+m+\"Z\")}else h.attr(\"d\",\"M\"+i+\",\"+u+\"l\"+r.px0[0]+\",\"+r.px0[1]+m+\"Z\")}var x=Gd.castOption(o.textposition,r.pts),b=c.selectAll(\"g.slicetext\").data(r.text&&\"none\"!==x?[0]:[]);b.enter().append(\"g\").classed(\"slicetext\",!0),b.exit().remove(),b.each(function(){var n=e.select(this).selectAll(\"text\").data([0]);n.enter().append(\"text\").attr(\"data-notex\",1),n.exit().remove(),n.text(r.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(Sr.font,\"outside\"===x?o.outsidetextfont:o.insidetextfont).call(er.convertToTspans,t);var s,c=Sr.bBox(n.node());\"outside\"===x?s=GF(c,r):(s=function(t,e,r){var n=Math.sqrt(t.width*t.width+t.height*t.height),i=t.width/t.height,a=Math.PI*Math.min(e.v/r.vTotal,.5),o=1-r.trace.hole,s=HF(e,r),l={scale:s*r.r*2/n,rCenter:1-s,rotate:0};if(l.scale>=1)return l;var u=i+1/(2*Math.tan(a)),c=r.r*Math.min(1/(Math.sqrt(u*u+.5)+u),o/(Math.sqrt(i*i+o/2)+i)),h={scale:2*c/t.height,rCenter:Math.cos(c/r.r)-c*i/r.r,rotate:(180/Math.PI*e.midangle+720)%180-90},f=1/i,p=f+1/(2*Math.tan(a)),d=r.r*Math.min(1/(Math.sqrt(p*p+.5)+p),o/(Math.sqrt(f*f+o/2)+f)),g={scale:2*d/t.width,rCenter:Math.cos(d/r.r)-d/i/r.r,rotate:(180/Math.PI*e.midangle+810)%180-90},v=g.scale>h.scale?g:h;return l.scale<1&&v.scale>l.scale?v:l}(c,r,a),\"auto\"===x&&s.scale<1&&(n.call(Sr.font,o.outsidetextfont),o.outsidetextfont.family===o.insidetextfont.family&&o.outsidetextfont.size===o.insidetextfont.size||(c=Sr.bBox(n.node())),s=GF(c,r)));var h=i+r.pxmid[0]*s.rCenter+(s.x||0),f=u+r.pxmid[1]*s.rCenter+(s.y||0);s.outside&&(r.yLabelMin=f-c.height/2,r.yLabelMid=f,r.yLabelMax=f+c.height/2,r.labelExtraX=0,r.labelExtraY=0,l=!0),n.attr(\"transform\",\"translate(\"+h+\",\"+f+\")\"+(s.scale<1?\"scale(\"+s.scale+\")\":\"\")+(s.rotate?\"rotate(\"+s.rotate+\")\":\"\")+\"translate(\"+-(c.left+c.right)/2+\",\"+-(c.top+c.bottom)/2+\")\")})}function _(t,e,n,i){return\"a\"+i*a.r+\",\"+i*a.r+\" 0 \"+r.largeArc+(n?\" 1 \":\" 0 \")+i*(e[0]-t[0])+\",\"+i*(e[1]-t[1])}}),l&&function(t,e){var r,n,i,a,o,s,l,u,c,h,f,p,d;function g(t,e){return t.pxmid[1]-e.pxmid[1]}function v(t,e){return e.pxmid[1]-t.pxmid[1]}function m(t,r){r||(r={});var i,u,c,f,p,d,g=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),v=n?t.yLabelMin:t.yLabelMax,m=n?t.yLabelMax:t.yLabelMin,y=t.cyFinal+o(t.px0[1],t.px1[1]),x=g-v;if(x*l>0&&(t.labelExtraY=x),Array.isArray(e.pull))for(u=0;u<h.length;u++)(c=h[u])===t||(Gd.castOption(e.pull,t.pts)||0)>=(Gd.castOption(e.pull,c.pts)||0)||((t.pxmid[1]-c.pxmid[1])*l>0?(f=c.cyFinal+o(c.px0[1],c.px1[1]),(x=f-v-t.labelExtraY)*l>0&&(t.labelExtraY+=x)):(m+t.labelExtraY-y)*l>0&&(i=3*s*Math.abs(u-h.indexOf(t)),p=c.cxFinal+a(c.px0[0],c.px1[0]),(d=p+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=d)))}for(n=0;n<2;n++)for(i=n?g:v,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(u=t[n][r]).sort(i),c=t[1-n][r],h=c.concat(u),p=[],f=0;f<u.length;f++)void 0!==u[f].yLabelMid&&p.push(u[f]);for(d=!1,f=0;n&&f<c.length;f++)if(void 0!==c[f].yLabelMid){d=c[f];break}for(f=0;f<p.length;f++){var y=f&&p[f-1];d&&!f&&(y=d),m(p[f],y)}}}(s,o),i.each(function(t){if(t.labelExtraX||t.labelExtraY){var r=e.select(this),n=r.select(\"g.slicetext text\");n.attr(\"transform\",\"translate(\"+t.labelExtraX+\",\"+t.labelExtraY+\")\"+n.attr(\"transform\"));var i=t.cxFinal+t.pxmid[0],a=\"M\"+i+\",\"+(t.cyFinal+t.pxmid[1]),s=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]<0?-1:1)/4;if(t.labelExtraX){var l=t.labelExtraX*t.pxmid[1]/t.pxmid[0],u=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(l)>Math.abs(u)?a+=\"l\"+u*t.pxmid[0]/t.pxmid[1]+\",\"+u+\"H\"+(i+t.labelExtraX+s):a+=\"l\"+t.labelExtraX+\",\"+l+\"v\"+(u-l)+\"h\"+s}else a+=\"V\"+(t.yLabelMid+t.labelExtraY)+\"h\"+s;r.append(\"path\").classed(\"textline\",!0).call(Oe.stroke,o.outsidetextfont.color).attr({\"stroke-width\":Math.min(2,o.outsidetextfont.size/8),d:a,fill:\"none\"})}})})}),setTimeout(function(){i.selectAll(\"tspan\").each(function(){var t=e.select(this);t.attr(\"dy\")&&t.attr(\"dy\",t.attr(\"dy\"))})},0)},WF.style=function(t){t._fullLayout._pielayer.selectAll(\".trace\").each(function(t){var r=t[0].trace,n=e.select(this);n.style({opacity:r.opacity}),n.selectAll(\"path.surface\").each(function(t){e.select(this).call(Yd,t,r)})})},WF.styleOne=Yd,WF.moduleType=\"trace\",WF.name=\"pie\",WF.basePlotModule=OF,WF.categories=[\"pie\",\"showLegend\"],WF.meta={};var YF=WF,XF={x:Zr.x,y:Zr.y,xy:{valType:\"data_array\",editType:\"calc\"},indices:{valType:\"data_array\",editType:\"calc\"},xbounds:{valType:\"data_array\",editType:\"calc\"},ybounds:{valType:\"data_array\",editType:\"calc\"},text:Zr.text,marker:{color:{valType:\"color\",arrayOk:!1,editType:\"calc\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,arrayOk:!1,editType:\"calc\"},blend:{valType:\"boolean\",dflt:null,editType:\"calc\"},sizemin:{valType:\"number\",min:.1,max:2,dflt:.5,editType:\"calc\"},sizemax:{valType:\"number\",min:.1,dflt:20,editType:\"calc\"},border:{color:{valType:\"color\",arrayOk:!1,editType:\"calc\"},arearatio:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"}},ZF={};ZF.pointVertex=E_([\"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}\"]),ZF.pointFragment=E_([\"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\"]),ZF.pickVertex=E_([\"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\"]),ZF.pickFragment=E_([\"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\"]);var JF=function(t,e){var r=t.gl,n=S_(r),i=S_(r),a=Bw(r,ZF.pointVertex,ZF.pointFragment),o=Bw(r,ZF.pickVertex,ZF.pickFragment),s=new KF(t,n,i,a,o);return s.update(e),t.addObject(s),s};function KF(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}var QF=KF.prototype;QF.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},QF.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r(\"sizeMin\",.5),this.sizeMax=r(\"sizeMax\",20),this.color=r(\"color\",[1,0,0,1]).slice(),this.areaRatio=r(\"areaRatio\",1),this.borderColor=r(\"borderColor\",[0,0,0,1]).slice(),this.blend=r(\"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:__.mallocFloat32(o.length),l=a?t.idToIndex:__.mallocInt32(n);if(i||s.set(o),!a)for(s.set(o),e=0;e<n;e++)l[e]=e;this.points=o,this.offsetBuffer.update(s),this.pickBuffer.update(l),i||__.free(s),a||__.free(l),this.pointCount=n,this.pickOffset=0},QF.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,i=n?this.pickShader:this.shader,a=this.plot.gl,o=this.plot.dataBox;if(0===this.pointCount)return r;var s=o[2]-o[0],l=o[3]-o[1],u=function(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}(this.points,o),c=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(u,.33333)));t[0]=2/s,t[4]=2/l,t[6]=-2*o[0]/s-1,t[7]=-2*o[1]/l-1,this.offsetBuffer.bind(),i.bind(),i.attributes.position.pointer(),i.uniforms.matrix=t,i.uniforms.color=this.color,i.uniforms.borderColor=this.borderColor,i.uniforms.pointCloud=c<5,i.uniforms.pointSize=c,i.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(),i.attributes.pickId.pointer(a.UNSIGNED_BYTE),i.uniforms.pickOffset=e,this.pickOffset=r);var h=a.getParameter(a.BLEND),f=a.getParameter(a.DITHER);return h&&!this.blend&&a.disable(a.BLEND),f&&a.disable(a.DITHER),a.drawArrays(a.POINTS,0,this.pointCount),h&&!this.blend&&a.enable(a.BLEND),f&&a.enable(a.DITHER),r+this.pointCount}}(),QF.draw=QF.unifiedDraw,QF.drawPick=QF.unifiedDraw,QF.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]]}};var $F=jn;function tB(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=JF(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var eB=tB.prototype;eB.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}},eB.update=function(t){this.index=t.index,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=mx(t,{})},eB.updateFast=function(t){var e,r,n,i,a,o,s=this.xData=this.pickXData=t.x,l=this.yData=this.pickYData=t.y,u=this.pickXYData=t.xy,c=t.xbounds&&t.ybounds,h=t.indices,f=this.bounds;if(u){if(n=u,e=u.length>>>1,c)f[0]=t.xbounds[0],f[2]=t.xbounds[1],f[1]=t.ybounds[0],f[3]=t.ybounds[1];else for(o=0;o<e;o++)i=n[2*o],a=n[2*o+1],i<f[0]&&(f[0]=i),i>f[2]&&(f[2]=i),a<f[1]&&(f[1]=a),a>f[3]&&(f[3]=a);if(h)r=h;else for(r=new Int32Array(e),o=0;o<e;o++)r[o]=o}else for(e=s.length,n=new Float32Array(2*e),r=new Int32Array(e),o=0;o<e;o++)i=s[o],a=l[o],r[o]=o,n[2*o]=i,n[2*o+1]=a,i<f[0]&&(f[0]=i),i>f[2]&&(f[2]=i),a<f[1]&&(f[1]=a),a>f[3]&&(f[3]=a);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var p=WC(t.marker.color),d=WC(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=s.length<100||l.length<100}this.pointcloudOptions.blend=v,d[3]*=g,this.pointcloudOptions.borderColor=d;var m=t.marker.sizemin,y=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=m,this.pointcloudOptions.sizeMax=y,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions),this.expandAxesFast(f,y/2)},eB.expandAxesFast=function(t,e){var r=e||.5;$F(this.scene.xaxis,[t[0],t[2]],{ppad:r}),$F(this.scene.yaxis,[t[1],t[3]],{ppad:r})},eB.dispose=function(){this.pointcloud.dispose()};var rB=function(t,e){var r=new tB(t,e.uid);return r.update(e),r},nB=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return dh(r,e),ex(e),r},iB={};iB.attributes=XF,iB.supplyDefaults=function(t,e,r){function n(r,n){return ne.coerce(t,e,XF,r,n)}n(\"x\"),n(\"y\"),n(\"xbounds\"),n(\"ybounds\"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),n(\"text\"),n(\"marker.color\",r),n(\"marker.opacity\"),n(\"marker.blend\"),n(\"marker.sizemin\"),n(\"marker.sizemax\"),n(\"marker.border.color\",r),n(\"marker.border.arearatio\")},iB.calc=nB,iB.plot=rB,iB.moduleType=\"trace\",iB.name=\"pointcloud\",iB.basePlotModule=sL,iB.categories=[\"gl\",\"gl2d\",\"showLegend\"],iB.meta={};var aB=iB,oB=qc.attributes,sB=m.extendFlat,lB=(0,ye.overrideAll)({hoverinfo:sB({},E.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hoverlabel:S.hoverlabel,domain:oB({name:\"sankey\",trace:!0}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\"},valueformat:{valType:\"string\",dflt:\".3s\"},valuesuffix:{valType:\"string\",dflt:\"\"},arrangement:{valType:\"enumerated\",values:[\"snap\",\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"snap\"},textfont:T({}),node:{label:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},line:{color:{valType:\"color\",dflt:C.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:.5,arrayOk:!0}},pad:{valType:\"number\",arrayOk:!1,min:0,dflt:20},thickness:{valType:\"number\",arrayOk:!1,min:1,dflt:20}},link:{label:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},line:{color:{valType:\"color\",dflt:C.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0}},source:{valType:\"data_array\",dflt:[]},target:{valType:\"data_array\",dflt:[]},value:{valType:\"data_array\",dflt:[]}}},\"calc\",\"nested\"),uB={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:\"cubic-in-out\",cn:{sankey:\"sankey\",sankeyLinks:\"sankey-links\",sankeyLink:\"sankey-link\",sankeyNodeSet:\"sankey-node-set\",sankeyNode:\"sankey-node\",nodeRect:\"node-rect\",nodeCapture:\"node-capture\",nodeCentered:\"node-entered\",nodeLabelGuide:\"node-label-guide\",nodeLabel:\"node-label\",nodeLabelTextPath:\"node-label-text-path\"}},cB={exports:{}};!function(t,e){\"object\"==typeof cB.exports?e(cB.exports):e(t.d3=t.d3||{})}(this,function(t){\"use strict\";var e=function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN},r=function(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,i){for(null==n&&(n=0),null==i&&(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(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}};var n=r(e),i=n.right,a=n.left;function o(t,e){return[t,e]}var s=function(t){return null===t?NaN:+t},l=function(t,e){var r,n,i=t.length,a=0,o=-1,l=0,u=0;if(null==e)for(;++o<i;)isNaN(r=s(t[o]))||(u+=(n=r-l)*(r-(l+=n/++a)));else for(;++o<i;)isNaN(r=s(e(t[o],o,t)))||(u+=(n=r-l)*(r-(l+=n/++a)));if(a>1)return u/(a-1)},u=function(t,e){var r=l(t,e);return r?Math.sqrt(r):r},c=function(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o<a;)if(null!=(r=t[o])&&r>=r)for(n=i=r;++o<a;)null!=(r=t[o])&&(n>r&&(n=r),i<r&&(i=r))}else for(;++o<a;)if(null!=(r=e(t[o],o,t))&&r>=r)for(n=i=r;++o<a;)null!=(r=e(t[o],o,t))&&(n>r&&(n=r),i<r&&(i=r));return[n,i]},h=Array.prototype,f=h.slice,p=h.map,d=function(t){return function(){return t}},g=function(t){return t},v=function(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n<i;)a[n]=t+n*r;return a},m=Math.sqrt(50),y=Math.sqrt(10),x=Math.sqrt(2);function b(t,e,r){var n=(e-t)/Math.max(0,r),i=Math.floor(Math.log(n)/Math.LN10),a=n/Math.pow(10,i);return i>=0?(a>=m?10:a>=y?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=m?10:a>=y?5:a>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=m?i*=10:a>=y?i*=5:a>=x&&(i*=2),e<t?-i:i}var w=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},M=function(t,e,r){if(null==r&&(r=s),n=t.length){if((e=+e)<=0||n<2)return+r(t[0],0,t);if(e>=1)return+r(t[n-1],n-1,t);var n,i=(n-1)*e,a=Math.floor(i),o=+r(t[a],a,t);return o+(+r(t[a+1],a+1,t)-o)*(i-a)}},A=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&n>r&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&n>r&&(n=r);return n},k=function(t){if(!(i=t.length))return[];for(var e=-1,r=A(t,T),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};function T(t){return t.length}t.bisect=i,t.bisectRight=i,t.bisectLeft=a,t.ascending=e,t.bisector=r,t.cross=function(t,e,r){var n,i,a,s,l=t.length,u=e.length,c=new Array(l*u);for(null==r&&(r=o),n=a=0;n<l;++n)for(s=t[n],i=0;i<u;++i,++a)c[a]=r(s,e[i]);return c},t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.deviation=u,t.extent=c,t.histogram=function(){var t=g,e=c,r=w;function n(n){var a,o,s=n.length,l=new Array(s);for(a=0;a<s;++a)l[a]=t(n[a],a,n);var u=e(l),c=u[0],h=u[1],f=r(l,c,h);Array.isArray(f)||(f=_(c,h,f),f=v(Math.ceil(c/f)*f,Math.floor(h/f)*f,f));for(var p=f.length;f[0]<=c;)f.shift(),--p;for(;f[p-1]>h;)f.pop(),--p;var d,g=new Array(p+1);for(a=0;a<=p;++a)(d=g[a]=[]).x0=a>0?f[a-1]:c,d.x1=a<p?f[a]:h;for(a=0;a<s;++a)c<=(o=l[a])&&o<=h&&g[i(f,o,0,p)].push(n[a]);return g}return n.value=function(e){return arguments.length?(t=\"function\"==typeof e?e:d(e),n):t},n.domain=function(t){return arguments.length?(e=\"function\"==typeof t?t:d([t[0],t[1]]),n):e},n.thresholds=function(t){return arguments.length?(r=\"function\"==typeof t?t:Array.isArray(t)?d(f.call(t)):d(t),n):r},n},t.thresholdFreedmanDiaconis=function(t,r,n){return t=p.call(t,s).sort(e),Math.ceil((n-r)/(2*(M(t,.75)-M(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,e,r){return Math.ceil((r-e)/(3.5*u(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=w,t.max=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&r>n&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&r>n&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a<n;)isNaN(r=s(t[a]))?--i:o+=r;else for(;++a<n;)isNaN(r=s(e(t[a],a,t)))?--i:o+=r;if(i)return o/i},t.median=function(t,r){var n,i=t.length,a=-1,o=[];if(null==r)for(;++a<i;)isNaN(n=s(t[a]))||o.push(n);else for(;++a<i;)isNaN(n=s(r(t[a],a,t)))||o.push(n);return M(o.sort(e),.5)},t.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(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r},t.min=A,t.pairs=function(t,e){null==e&&(e=o);for(var 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},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.quantile=M,t.range=v,t.scan=function(t,r){if(n=t.length){var n,i,a=0,o=0,s=t[o];for(null==r&&(r=e);++a<n;)(r(i=t[a],s)<0||0!==r(s,s))&&(s=i,o=a);return 0===r(s,s)?o:void 0}},t.shuffle=function(t,e,r){for(var n,i,a=(null==r?t.length:r)-(e=null==e?0:+e);a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},t.sum=function(t,e){var r,n=t.length,i=-1,a=0;if(null==e)for(;++i<n;)(r=+t[i])&&(a+=r);else for(;++i<n;)(r=+e(t[i],i,t))&&(a+=r);return a},t.ticks=function(t,e,r){var n,i,a,o,s=-1;if(r=+r,(t=+t)==(e=+e)&&r>0)return[t];if((n=e<t)&&(i=t,t=e,e=i),0===(o=b(t,e,r))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s<i;)a[s]=(t+s)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++s<i;)a[s]=(t-s)/o;return n&&a.reverse(),a},t.tickIncrement=b,t.tickStep=_,t.transpose=k,t.variance=l,t.zip=function(){return k(arguments)},Object.defineProperty(t,\"__esModule\",{value:!0})}),cB=cB.exports;var hB={exports:{}};!function(t,e){\"object\"==typeof hB.exports?e(hB.exports):e(t.d3=t.d3||{})}(this,function(t){\"use strict\";function e(){}function r(t,r){var n=new e;if(t instanceof e)t.each(function(t,e){n.set(e,t)});else if(Array.isArray(t)){var i,a=-1,o=t.length;if(null==r)for(;++a<o;)n.set(a,t[a]);else for(;++a<o;)n.set(r(i=t[a],a,t),i)}else if(t)for(var s in t)n.set(s,t[s]);return n}e.prototype=r.prototype={constructor:e,has:function(t){return\"$\"+t in this},get:function(t){return this[\"$\"+t]},set:function(t,e){return this[\"$\"+t]=e,this},remove:function(t){var e=\"$\"+t;return e in this&&delete this[e]},clear:function(){for(var t in this)\"$\"===t[0]&&delete this[t]},keys:function(){var t=[];for(var e in this)\"$\"===e[0]&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)\"$\"===e[0]&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)\"$\"===e[0]&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)\"$\"===e[0]&&++t;return t},empty:function(){for(var t in this)if(\"$\"===t[0])return!1;return!0},each:function(t){for(var e in this)\"$\"===e[0]&&t(this[e],e.slice(1),this)}};function n(){return{}}function i(t,e,r){t[e]=r}function a(){return r()}function o(t,e,r){t.set(e,r)}function s(){}var l=r.prototype;function u(t,e){var r=new s;if(t instanceof s)t.each(function(t){r.add(t)});else if(t){var n=-1,i=t.length;if(null==e)for(;++n<i;)r.add(t[n]);else for(;++n<i;)r.add(e(t[n],n,t))}return r}s.prototype=u.prototype={constructor:s,has:l.has,add:function(t){return this[\"$\"+(t+=\"\")]=t,this},remove:l.remove,clear:l.clear,values:l.keys,size:l.size,empty:l.empty,each:l.each};t.nest=function(){var t,e,s,l=[],u=[];function c(n,i,a,o){if(i>=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,u,h,f=-1,p=n.length,d=l[i++],g=r(),v=a();++f<p;)(h=g.get(s=d(u=n[f])+\"\"))?h.push(u):g.set(s,[u]);return g.each(function(t,e){o(v,e,c(t,i,a,o))}),v}return s={object:function(t){return c(t,0,n,i)},map:function(t){return c(t,0,a,o)},entries:function(t){return function t(r,n){if(++n>l.length)return r;var i,a=u[n-1];return null!=e&&n>=l.length?i=r.entries():(i=[],r.each(function(e,r){i.push({key:r,values:t(e,n)})})),null!=a?i.sort(function(t,e){return a(t.key,e.key)}):i}(c(t,0,a,o),0)},key:function(t){return l.push(t),s},sortKeys:function(t){return u[l.length-1]=t,s},sortValues:function(e){return t=e,s},rollup:function(t){return e=t,s}}},t.set=u,t.map=r,t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Object.defineProperty(t,\"__esModule\",{value:!0})}),hB=hB.exports;var fB={exports:{}};!function(t,e){\"object\"==typeof fB.exports?e(fB.exports):e(t.d3=t.d3||{})}(this,function(t){\"use strict\";var e=function(t,e,r){t.prototype=e.prototype=r,r.constructor=t};function r(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function n(){}var i=\"\\\\s*([+-]?\\\\d+)\\\\s*\",a=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",o=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",s=/^#([0-9a-f]{3})$/,l=/^#([0-9a-f]{6})$/,u=new RegExp(\"^rgb\\\\(\"+[i,i,i]+\"\\\\)$\"),c=new RegExp(\"^rgb\\\\(\"+[o,o,o]+\"\\\\)$\"),h=new RegExp(\"^rgba\\\\(\"+[i,i,i,a]+\"\\\\)$\"),f=new RegExp(\"^rgba\\\\(\"+[o,o,o,a]+\"\\\\)$\"),p=new RegExp(\"^hsl\\\\(\"+[a,o,o]+\"\\\\)$\"),d=new RegExp(\"^hsla\\\\(\"+[a,o,o,a]+\"\\\\)$\"),g={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};function v(t){var e;return t=(t+\"\").trim().toLowerCase(),(e=s.exec(t))?new _((e=parseInt(e[1],16))>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=l.exec(t))?m(parseInt(e[1],16)):(e=u.exec(t))?new _(e[1],e[2],e[3],1):(e=c.exec(t))?new _(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=h.exec(t))?y(e[1],e[2],e[3],e[4]):(e=f.exec(t))?y(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=p.exec(t))?w(e[1],e[2]/100,e[3]/100,1):(e=d.exec(t))?w(e[1],e[2]/100,e[3]/100,e[4]):g.hasOwnProperty(t)?m(g[t]):\"transparent\"===t?new _(NaN,NaN,NaN,0):null}function m(t){return new _(t>>16&255,t>>8&255,255&t,1)}function y(t,e,r,n){return n<=0&&(t=e=r=NaN),new _(t,e,r,n)}function x(t){return t instanceof n||(t=v(t)),t?new _((t=t.rgb()).r,t.g,t.b,t.opacity):new _}function b(t,e,r,n){return 1===arguments.length?x(t):new _(t,e,r,null==n?1:n)}function _(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function w(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new A(t,e,r,n)}function M(t,e,r,i){return 1===arguments.length?function(t){if(t instanceof A)return new A(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=v(t)),!t)return new A;if(t instanceof A)return t;var e=(t=t.rgb()).r/255,r=t.g/255,i=t.b/255,a=Math.min(e,r,i),o=Math.max(e,r,i),s=NaN,l=o-a,u=(o+a)/2;return l?(s=e===o?(r-i)/l+6*(r<i):r===o?(i-e)/l+2:(e-r)/l+4,l/=u<.5?o+a:2-o-a,s*=60):l=u>0&&u<1?0:s,new A(s,l,u,t.opacity)}(t):new A(t,e,r,null==i?1:i)}function A(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function k(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}e(n,v,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+\"\"}}),e(_,b,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?\"rgb(\":\"rgba(\")+Math.max(0,Math.min(255,Math.round(this.r)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.g)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?\")\":\", \"+t+\")\")}})),e(A,M,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new A(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new A(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new _(k(t>=240?t-240:t+120,i,n),k(t,i,n),k(t<120?t+240:t-120,i,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var T=Math.PI/180,S=180/Math.PI,E=.95047,C=1,L=1.08883,z=4/29,P=6/29,I=3*P*P,D=P*P*P;function O(t){if(t instanceof F)return new F(t.l,t.a,t.b,t.opacity);if(t instanceof q){var e=t.h*T;return new F(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof _||(t=x(t));var r=V(t.r),n=V(t.g),i=V(t.b),a=B((.4124564*r+.3575761*n+.1804375*i)/E),o=B((.2126729*r+.7151522*n+.072175*i)/C);return new F(116*o-16,500*(a-o),200*(o-B((.0193339*r+.119192*n+.9503041*i)/L)),t.opacity)}function R(t,e,r,n){return 1===arguments.length?O(t):new F(t,e,r,null==n?1:n)}function F(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function B(t){return t>D?Math.pow(t,1/3):t/I+z}function N(t){return t>P?t*t*t:I*(t-z)}function j(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function V(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function U(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof q)return new q(t.h,t.c,t.l,t.opacity);t instanceof F||(t=O(t));var e=Math.atan2(t.b,t.a)*S;return new q(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new q(t,e,r,null==n?1:n)}function q(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}e(F,R,r(n,{brighter:function(t){return new F(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new F(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return t=C*N(t),new _(j(3.2404542*(e=E*N(e))-1.5371385*t-.4985314*(r=L*N(r))),j(-.969266*e+1.8760108*t+.041556*r),j(.0556434*e-.2040259*t+1.0572252*r),this.opacity)}})),e(q,U,r(n,{brighter:function(t){return new q(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new q(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return O(this).rgb()}}));var H=-.14861,G=1.78277,W=-.29227,Y=-.90649,X=1.97294,Z=X*Y,J=X*G,K=G*W-Y*H;function Q(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof $)return new $(t.h,t.s,t.l,t.opacity);t instanceof _||(t=x(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=(K*n+Z*e-J*r)/(K+Z-J),a=n-i,o=(X*(r-i)-W*a)/Y,s=Math.sqrt(o*o+a*a)/(X*i*(1-i)),l=s?Math.atan2(o,a)*S-120:NaN;return new $(l<0?l+360:l,s,i,t.opacity)}(t):new $(t,e,r,null==n?1:n)}function $(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e($,Q,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new $(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new $(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*T,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new _(255*(e+r*(H*n+G*i)),255*(e+r*(W*n+Y*i)),255*(e+r*(X*n)),this.opacity)}})),t.color=v,t.rgb=b,t.hsl=M,t.lab=R,t.hcl=U,t.cubehelix=Q,Object.defineProperty(t,\"__esModule\",{value:!0})}),fB=fB.exports;var pB={exports:{}};!function(t,e){\"object\"==typeof pB.exports?e(pB.exports,fB):e(t.d3=t.d3||{},t.d3)}(this,function(t,e){\"use strict\";function r(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}var n=function(t){var e=t.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i>0?t[i-1]:2*a-o,l=i<e-1?t[i+2]:2*o-a;return r((n-i/e)*e,s,a,o,l)}},i=function(t){var e=t.length;return function(n){var i=Math.floor(((n%=1)<0?++n:n)*e),a=t[(i+e-1)%e],o=t[i%e],s=t[(i+1)%e],l=t[(i+2)%e];return r((n-i/e)*e,a,o,s,l)}},a=function(t){return function(){return t}};function o(t,e){return function(r){return t+r*e}}function s(t,e){var r=e-t;return r?o(t,r>180||r<-180?r-360*Math.round(r/360):r):a(isNaN(t)?e:t)}function l(t){return 1==(t=+t)?u:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):a(isNaN(e)?r:e)}}function u(t,e){var r=e-t;return r?o(t,r):a(isNaN(t)?e:t)}var c=function t(r){var n=l(r);function i(t,r){var i=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=n(t.g,r.g),o=n(t.b,r.b),s=u(t.opacity,r.opacity);return function(e){return t.r=i(e),t.g=a(e),t.b=o(e),t.opacity=s(e),t+\"\"}}return i.gamma=t,i}(1);function h(t){return function(r){var n,i,a=r.length,o=new Array(a),s=new Array(a),l=new Array(a);for(n=0;n<a;++n)i=e.rgb(r[n]),o[n]=i.r||0,s[n]=i.g||0,l[n]=i.b||0;return o=t(o),s=t(s),l=t(l),i.opacity=1,function(t){return i.r=o(t),i.g=s(t),i.b=l(t),i+\"\"}}}var f=h(n),p=h(i),d=function(t,e){var r,n=e?e.length:0,i=t?Math.min(n,t.length):0,a=new Array(i),o=new Array(n);for(r=0;r<i;++r)a[r]=k(t[r],e[r]);for(;r<n;++r)o[r]=e[r];return function(t){for(r=0;r<i;++r)o[r]=a[r](t);return o}},g=function(t,e){var r=new Date;return e-=t=+t,function(n){return r.setTime(t+e*n),r}},v=function(t,e){return e-=t=+t,function(r){return t+e*r}},m=function(t,e){var r,n={},i={};for(r in null!==t&&\"object\"==typeof t||(t={}),null!==e&&\"object\"==typeof e||(e={}),e)r in t?n[r]=k(t[r],e[r]):i[r]=e[r];return function(t){for(r in n)i[r]=n[r](t);return i}},y=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,x=new RegExp(y.source,\"g\");var b,_,w,M,A=function(t,e){var r,n,i,a=y.lastIndex=x.lastIndex=0,o=-1,s=[],l=[];for(t+=\"\",e+=\"\";(r=y.exec(t))&&(n=x.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:v(r,n)})),a=x.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?function(t){return function(e){return t(e)+\"\"}}(l[0].x):function(t){return function(){return t}}(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(\"\")})},k=function(t,r){var n,i=typeof r;return null==r||\"boolean\"===i?a(r):(\"number\"===i?v:\"string\"===i?(n=e.color(r))?(r=n,c):A:r instanceof e.color?c:r instanceof Date?g:Array.isArray(r)?d:\"function\"!=typeof r.valueOf&&\"function\"!=typeof r.toString||isNaN(r)?m:v)(t,r)},T=180/Math.PI,S={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},E=function(t,e,r,n,i,a){var o,s,l;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(l=t*r+e*n)&&(r-=t*l,n-=e*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),t*n<e*r&&(t=-t,e=-e,l=-l,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(e,t)*T,skewX:Math.atan(l)*T,scaleX:o,scaleY:s}};function C(t,e,r,n){function i(t){return t.length?t.pop()+\" \":\"\"}return function(a,o){var s=[],l=[];return a=t(a),o=t(o),function(t,n,i,a,o,s){if(t!==i||n!==a){var l=o.push(\"translate(\",null,e,null,r);s.push({i:l-4,x:v(t,i)},{i:l-2,x:v(n,a)})}else(i||a)&&o.push(\"translate(\"+i+e+a+r)}(a.translateX,a.translateY,o.translateX,o.translateY,s,l),function(t,e,r,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:r.push(i(r)+\"rotate(\",null,n)-2,x:v(t,e)})):e&&r.push(i(r)+\"rotate(\"+e+n)}(a.rotate,o.rotate,s,l),function(t,e,r,a){t!==e?a.push({i:r.push(i(r)+\"skewX(\",null,n)-2,x:v(t,e)}):e&&r.push(i(r)+\"skewX(\"+e+n)}(a.skewX,o.skewX,s,l),function(t,e,r,n,a,o){if(t!==r||e!==n){var s=a.push(i(a)+\"scale(\",null,\",\",null,\")\");o.push({i:s-4,x:v(t,r)},{i:s-2,x:v(e,n)})}else 1===r&&1===n||a.push(i(a)+\"scale(\"+r+\",\"+n+\")\")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=o=null,function(t){for(var e,r=-1,n=l.length;++r<n;)s[(e=l[r]).i]=e.x(t);return s.join(\"\")}}}var L=C(function(t){return\"none\"===t?S:(b||(b=document.createElement(\"DIV\"),_=document.documentElement,w=document.defaultView),b.style.transform=t,t=w.getComputedStyle(_.appendChild(b),null).getPropertyValue(\"transform\"),_.removeChild(b),t=t.slice(7,-1).split(\",\"),E(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},\"px, \",\"px)\",\"deg)\"),z=C(function(t){return null==t?S:(M||(M=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\")),M.setAttribute(\"transform\",t),(t=M.transform.baseVal.consolidate())?(t=t.matrix,E(t.a,t.b,t.c,t.d,t.e,t.f)):S)},\", \",\")\",\")\"),P=Math.SQRT2;function I(t){return((t=Math.exp(t))+1/t)/2}function D(t){return function(r,n){var i=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),a=u(r.s,n.s),o=u(r.l,n.l),s=u(r.opacity,n.opacity);return function(t){return r.h=i(t),r.s=a(t),r.l=o(t),r.opacity=s(t),r+\"\"}}}var O=D(s),R=D(u);function F(t){return function(r,n){var i=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),a=u(r.c,n.c),o=u(r.l,n.l),s=u(r.opacity,n.opacity);return function(t){return r.h=i(t),r.c=a(t),r.l=o(t),r.opacity=s(t),r+\"\"}}}var B=F(s),N=F(u);function j(t){return function r(n){function i(r,i){var a=t((r=e.cubehelix(r)).h,(i=e.cubehelix(i)).h),o=u(r.s,i.s),s=u(r.l,i.l),l=u(r.opacity,i.opacity);return function(t){return r.h=a(t),r.s=o(t),r.l=s(Math.pow(t,n)),r.opacity=l(t),r+\"\"}}return n=+n,i.gamma=r,i}(1)}var V=j(s),U=j(u);t.interpolate=k,t.interpolateArray=d,t.interpolateBasis=n,t.interpolateBasisClosed=i,t.interpolateDate=g,t.interpolateNumber=v,t.interpolateObject=m,t.interpolateRound=function(t,e){return e-=t=+t,function(r){return Math.round(t+e*r)}},t.interpolateString=A,t.interpolateTransformCss=L,t.interpolateTransformSvg=z,t.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<1e-12)n=Math.log(u/o)/P,r=function(t){return[i+t*c,a+t*h,o*Math.exp(P*t*n)]};else{var p=Math.sqrt(f),d=(u*u-o*o+4*f)/(2*o*2*p),g=(u*u-o*o-4*f)/(2*u*2*p),v=Math.log(Math.sqrt(d*d+1)-d),m=Math.log(Math.sqrt(g*g+1)-g);n=(m-v)/P,r=function(t){var e,r=t*n,s=I(v),l=o/(2*p)*(s*(e=P*r+v,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(v));return[i+l*c,a+l*h,o*s/I(P*r+v)]}}return r.duration=1e3*n,r},t.interpolateRgb=c,t.interpolateRgbBasis=f,t.interpolateRgbBasisClosed=p,t.interpolateHsl=O,t.interpolateHslLong=R,t.interpolateLab=function(t,r){var n=u((t=e.lab(t)).l,(r=e.lab(r)).l),i=u(t.a,r.a),a=u(t.b,r.b),o=u(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=i(e),t.b=a(e),t.opacity=o(e),t+\"\"}},t.interpolateHcl=B,t.interpolateHclLong=N,t.interpolateCubehelix=V,t.interpolateCubehelixLong=U,t.quantize=function(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t(n/(e-1));return r},Object.defineProperty(t,\"__esModule\",{value:!0})}),pB=pB.exports;var dB={exports:{}};!function(t,e){\"object\"==typeof dB.exports?e(dB.exports,cB,hB,pB):e(t.d3=t.d3||{},t.d3,t.d3,t.d3)}(this,function(t,e,r,n){\"use strict\";t.sankey=function(){var t={},i=24,a=8,o=[1,1],s=[],l=[];function u(){function t(t,e){return t.source.y-e.source.y||t.originalIndex-e.originalIndex}function e(t,e){return t.target.y-e.target.y||t.originalIndex-e.originalIndex}s.forEach(function(r){r.sourceLinks.sort(e),r.targetLinks.sort(t)}),s.forEach(function(t){var e=0,r=0;t.sourceLinks.forEach(function(t){t.sy=e,e+=t.dy}),t.targetLinks.forEach(function(t){t.ty=r,r+=t.dy})})}function c(t){return t.y+t.dy/2}function h(t){return t.value}return t.nodeWidth=function(e){return arguments.length?(i=+e,t):i},t.nodePadding=function(e){return arguments.length?(a=+e,t):a},t.nodes=function(e){return arguments.length?(s=e,t):s},t.links=function(e){return arguments.length?(l=e,t):l},t.size=function(e){return arguments.length?(o=e,t):o},t.layout=function(n){return s.forEach(function(t){t.sourceLinks=[],t.targetLinks=[]}),l.forEach(function(t,e){var r=t.source,n=t.target;\"number\"==typeof r&&(r=t.source=s[t.source]),\"number\"==typeof n&&(n=t.target=s[t.target]),t.originalIndex=e,r.sourceLinks.push(t),n.targetLinks.push(t)}),s.forEach(function(t){t.value=Math.max(e.sum(t.sourceLinks,h),e.sum(t.targetLinks,h))}),function(){for(var t,e,r=s,n=0;r.length;)t=[],r.forEach(function(e){e.x=n,e.dx=i,e.sourceLinks.forEach(function(e){t.indexOf(e.target)<0&&t.push(e.target)})}),r=t,++n;(function(t){s.forEach(function(e){e.sourceLinks.length||(e.x=t-1)})})(n),e=(o[0]-i)/(n-1),s.forEach(function(t){t.x*=e})}(),function(t){var n,i=r.nest().key(function(t){return t.x}).sortKeys(e.ascending).entries(s).map(function(t){return t.values});n=e.min(i,function(t){return(o[1]-(t.length-1)*a)/e.sum(t,h)}),i.forEach(function(t){t.forEach(function(t,e){t.y=e,t.dy=t.value*n})}),l.forEach(function(t){t.dy=t.value*n}),d();for(var u=1;t>0;--t)p(u*=.99),d(),f(u),d();function f(t){function r(t){return c(t.source)*t.value}i.forEach(function(n){n.forEach(function(n){if(n.targetLinks.length){var i=e.sum(n.targetLinks,r)/e.sum(n.targetLinks,h);n.y+=(i-c(n))*t}})})}function p(t){function r(t){return c(t.target)*t.value}i.slice().reverse().forEach(function(n){n.forEach(function(n){if(n.sourceLinks.length){var i=e.sum(n.sourceLinks,r)/e.sum(n.sourceLinks,h);n.y+=(i-c(n))*t}})})}function d(){i.forEach(function(t){var e,r,n,i=0,s=t.length;for(t.sort(g),n=0;n<s;++n)e=t[n],(r=i-e.y)>0&&(e.y+=r),i=e.y+e.dy+a;if((r=i-a-o[1])>0)for(i=e.y-=r,n=s-2;n>=0;--n)e=t[n],(r=e.y+e.dy+a-i)>0&&(e.y-=r),i=e.y})}function g(t,e){return t.y-e.y}}(n),u(),t},t.relayout=function(){return u(),t},t.link=function(){var t=.5;function e(e){var r=e.source.x+e.source.dx,i=e.target.x,a=n.interpolateNumber(r,i),o=a(t),s=a(1-t),l=e.source.y+e.sy,u=l+e.dy,c=e.target.y+e.ty,h=c+e.dy;return\"M\"+r+\",\"+l+\"C\"+o+\",\"+l+\" \"+s+\",\"+c+\" \"+i+\",\"+c+\"L\"+i+\",\"+h+\"C\"+s+\",\"+h+\" \"+o+\",\"+u+\" \"+r+\",\"+u+\"Z\"}return e.curvature=function(r){return arguments.length?(t=+r,e):t},e},t},Object.defineProperty(t,\"__esModule\",{value:!0})}),dB=dB.exports;var gB={exports:{}};!function(t,e){\"object\"==typeof gB.exports?e(gB.exports):e(t.d3=t.d3||{})}(this,function(t){\"use strict\";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,i={};e<r;++e){if(!(t=arguments[e]+\"\")||t in i)throw new Error(\"illegal type: \"+t);i[t]=[]}return new n(i)}function n(t){this._=t}function i(t,e){for(var r,n=0,i=t.length;n<i;++n)if((r=t[n]).name===e)return r.value}function a(t,r,n){for(var i=0,a=t.length;i<a;++i)if(t[i].name===r){t[i]=e,t=t.slice(0,i).concat(t.slice(i+1));break}return null!=n&&t.push({name:r,value:n}),t}n.prototype=r.prototype={constructor:n,on:function(t,e){var r,n,o=this._,s=(n=o,(t+\"\").trim().split(/^|\\s+/).map(function(t){var e=\"\",r=t.indexOf(\".\");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);return{type:t,name:e}})),l=-1,u=s.length;if(!(arguments.length<2)){if(null!=e&&\"function\"!=typeof e)throw new Error(\"invalid callback: \"+e);for(;++l<u;)if(r=(t=s[l]).type)o[r]=a(o[r],t.name,e);else if(null==e)for(r in o)o[r]=a(o[r],t.name,null);return this}for(;++l<u;)if((r=(t=s[l]).type)&&(r=i(o[r],t.name)))return r},copy:function(){var t={},e=this._;for(var r in e)t[r]=e[r].slice();return new n(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var r,n,i=new Array(r),a=0;a<r;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);for(a=0,r=(n=this._[t]).length;a<r;++a)n[a].value.apply(e,i)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);for(var n=this._[t],i=0,a=n.length;i<a;++i)n[i].value.apply(e,r)}},t.dispatch=r,Object.defineProperty(t,\"__esModule\",{value:!0})}),gB=gB.exports;var vB={exports:{}};!function(t,e){\"object\"==typeof vB.exports?e(vB.exports):e(t.d3=t.d3||{})}(this,function(t){\"use strict\";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var i,a,o,s,l,u,c,h,f,p=t._root,d={data:n},g=t._x0,v=t._y0,m=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((u=e>=(a=(g+m)/2))?g=a:m=a,(c=r>=(o=(v+y)/2))?v=o:y=o,i=p,!(p=p[h=c<<1|u]))return i[h]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,i?i[h]=d:t._root=d,t;do{i=i?i[h]=new Array(4):t._root=new Array(4),(u=e>=(a=(g+m)/2))?g=a:m=a,(c=r>=(o=(v+y)/2))?v=o:y=o}while((h=c<<1|u)==(f=(l>=o)<<1|s>=a));return i[f]=p,i[h]=d,t}var r=function(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i};function n(t){return t[0]}function i(t){return t[1]}function a(t,e,r){var a=new o(null==e?n:e,null==r?i:r,NaN,NaN,NaN,NaN);return null==t?a:a.addAll(t)}function o(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function s(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var l=a.prototype=o.prototype;l.copy=function(){var t,e,r=new o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=s(n),r;for(t=[{source:n,target:r._root=new Array(4)}];n=t.pop();)for(var i=0;i<4;++i)(e=n.source[i])&&(e.length?t.push({source:e,target:n.target[i]=new Array(4)}):n.target[i]=s(e));return r},l.add=function(t){var r=+this._x.call(null,t),n=+this._y.call(null,t);return e(this.cover(r,n),r,n,t)},l.addAll=function(t){var r,n,i,a,o=t.length,s=new Array(o),l=new Array(o),u=1/0,c=1/0,h=-1/0,f=-1/0;for(n=0;n<o;++n)isNaN(i=+this._x.call(null,r=t[n]))||isNaN(a=+this._y.call(null,r))||(s[n]=i,l[n]=a,i<u&&(u=i),i>h&&(h=i),a<c&&(c=a),a>f&&(f=a));for(h<u&&(u=this._x0,h=this._x1),f<c&&(c=this._y0,f=this._y1),this.cover(u,c).cover(h,f),n=0;n<o;++n)e(this,s[n],l[n],t[n]);return this},l.cover=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var r=this._x0,n=this._y0,i=this._x1,a=this._y1;if(isNaN(r))i=(r=Math.floor(t))+1,a=(n=Math.floor(e))+1;else{if(!(r>t||t>i||n>e||e>a))return this;var o,s,l=i-r,u=this._root;switch(s=(e<(n+a)/2)<<1|t<(r+i)/2){case 0:do{(o=new Array(4))[s]=u,u=o}while(a=n+(l*=2),t>(i=r+l)||e>a);break;case 1:do{(o=new Array(4))[s]=u,u=o}while(a=n+(l*=2),(r=i-l)>t||e>a);break;case 2:do{(o=new Array(4))[s]=u,u=o}while(n=a-(l*=2),t>(i=r+l)||n>e);break;case 3:do{(o=new Array(4))[s]=u,u=o}while(n=a-(l*=2),(r=i-l)>t||n>e)}this._root&&this._root.length&&(this._root=u)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,this},l.data=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},l.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l.find=function(t,e,n){var i,a,o,s,l,u,c,h=this._x0,f=this._y0,p=this._x1,d=this._y1,g=[],v=this._root;for(v&&g.push(new r(v,h,f,p,d)),null==n?n=1/0:(h=t-n,f=e-n,p=t+n,d=e+n,n*=n);u=g.pop();)if(!(!(v=u.node)||(a=u.x0)>p||(o=u.y0)>d||(s=u.x1)<h||(l=u.y1)<f))if(v.length){var m=(a+s)/2,y=(o+l)/2;g.push(new r(v[3],m,y,s,l),new r(v[2],a,y,m,l),new r(v[1],m,o,s,y),new r(v[0],a,o,m,y)),(c=(e>=y)<<1|t>=m)&&(u=g[g.length-1],g[g.length-1]=g[g.length-1-c],g[g.length-1-c]=u)}else{var x=t-+this._x.call(null,v.data),b=e-+this._y.call(null,v.data),_=x*x+b*b;if(_<n){var w=Math.sqrt(n=_);h=t-w,f=e-w,p=t+w,d=e+w,i=v.data}}return i},l.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,r,n,i,a,o,s,l,u,c,h,f,p=this._root,d=this._x0,g=this._y0,v=this._x1,m=this._y1;if(!p)return this;if(p.length)for(;;){if((u=a>=(s=(d+v)/2))?d=s:v=s,(c=o>=(l=(g+m)/2))?g=l:m=l,e=p,!(p=p[h=c<<1|u]))return this;if(!p.length)break;(e[h+1&3]||e[h+2&3]||e[h+3&3])&&(r=e,f=h)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[h]=i:delete e[h],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[f]=p:this._root=p),this):(this._root=i,this)},l.removeAll=function(t){for(var e=0,r=t.length;e<r;++e)this.remove(t[e]);return this},l.root=function(){return this._root},l.size=function(){var t=0;return this.visit(function(e){if(!e.length)do{++t}while(e=e.next)}),t},l.visit=function(t){var e,n,i,a,o,s,l=[],u=this._root;for(u&&l.push(new r(u,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(u=e.node,i=e.x0,a=e.y0,o=e.x1,s=e.y1)&&u.length){var c=(i+o)/2,h=(a+s)/2;(n=u[3])&&l.push(new r(n,c,h,o,s)),(n=u[2])&&l.push(new r(n,i,h,c,s)),(n=u[1])&&l.push(new r(n,c,a,o,h)),(n=u[0])&&l.push(new r(n,i,a,c,h))}return this},l.visitAfter=function(t){var e,n=[],i=[];for(this._root&&n.push(new r(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var a=e.node;if(a.length){var o,s=e.x0,l=e.y0,u=e.x1,c=e.y1,h=(s+u)/2,f=(l+c)/2;(o=a[0])&&n.push(new r(o,s,l,h,f)),(o=a[1])&&n.push(new r(o,h,l,u,f)),(o=a[2])&&n.push(new r(o,s,f,h,c)),(o=a[3])&&n.push(new r(o,h,f,u,c))}i.push(e)}for(;e=i.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},l.x=function(t){return arguments.length?(this._x=t,this):this._x},l.y=function(t){return arguments.length?(this._y=t,this):this._y},t.quadtree=a,Object.defineProperty(t,\"__esModule\",{value:!0})}),vB=vB.exports;var mB={exports:{}};!function(t,e){\"object\"==typeof mB.exports?e(mB.exports):e(t.d3=t.d3||{})}(this,function(t){\"use strict\";var e,r,n=0,i=0,a=0,o=1e3,s=0,l=0,u=0,c=\"object\"==typeof performance&&performance.now?performance:Date,h=\"object\"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function f(){return l||(h(p),l=c.now()+u)}function p(){l=0}function d(){this._call=this._time=this._next=null}function g(t,e,r){var n=new d;return n.restart(t,e,r),n}function v(){f(),++n;for(var t,r=e;r;)(t=l-r._time)>=0&&r._call.call(null,t),r=r._next;--n}function m(){l=(s=c.now())+u,n=i=0;try{v()}finally{n=0,function(){var t,n,i=e,a=1/0;for(;i;)i._call?(a>i._time&&(a=i._time),t=i,i=i._next):(n=i._next,i._next=null,i=t?t._next=n:e=n);r=t,x(a)}(),l=0}}function y(){var t=c.now(),e=t-s;e>o&&(u-=e,s=t)}function x(t){n||(i&&(i=clearTimeout(i)),t-l>24?(t<1/0&&(i=setTimeout(m,t-c.now()-u)),a&&(a=clearInterval(a))):(a||(s=c.now(),a=setInterval(y,o)),n=1,h(m)))}d.prototype=g.prototype={constructor:d,restart:function(t,n,i){if(\"function\"!=typeof t)throw new TypeError(\"callback is not a function\");i=(null==i?f():+i)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=i,x()},stop:function(){this._call&&(this._call=null,this._time=1/0,x())}};t.now=f,t.timer=g,t.timerFlush=v,t.timeout=function(t,e,r){var n=new d;return e=null==e?0:+e,n.restart(function(r){n.stop(),t(r+e)},e,r),n},t.interval=function(t,e,r){var n=new d,i=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?f():+r,n.restart(function a(o){o+=i,n.restart(a,i+=e,r),t(o)},e,r),n)},Object.defineProperty(t,\"__esModule\",{value:!0})}),mB=mB.exports;var yB={exports:{}};!function(t,e){\"object\"==typeof yB.exports?e(yB.exports,vB,hB,gB,mB):e(t.d3=t.d3||{},t.d3,t.d3,t.d3,t.d3)}(this,function(t,e,r,n,i){\"use strict\";var a=function(t){return function(){return t}},o=function(){return 1e-6*(Math.random()-.5)};function s(t){return t.x+t.vx}function l(t){return t.y+t.vy}function u(t){return t.index}function c(t,e){var r=t.get(e);if(!r)throw new Error(\"missing: \"+e);return r}function h(t){return t.x}function f(t){return t.y}var p=10,d=Math.PI*(3-Math.sqrt(5));t.forceCenter=function(t,e){var r;function n(){var n,i,a=r.length,o=0,s=0;for(n=0;n<a;++n)o+=(i=r[n]).x,s+=i.y;for(o=o/a-t,s=s/a-e,n=0;n<a;++n)(i=r[n]).x-=o,i.y-=s}return null==t&&(t=0),null==e&&(e=0),n.initialize=function(t){r=t},n.x=function(e){return arguments.length?(t=+e,n):t},n.y=function(t){return arguments.length?(e=+t,n):e},n},t.forceCollide=function(t){var r,n,i=1,u=1;function c(){for(var t,a,c,f,p,d,g,v=r.length,m=0;m<u;++m)for(a=e.quadtree(r,s,l).visitAfter(h),t=0;t<v;++t)c=r[t],d=n[c.index],g=d*d,f=c.x+c.vx,p=c.y+c.vy,a.visit(y);function y(t,e,r,n,a){var s=t.data,l=t.r,u=d+l;if(!s)return e>f+u||n<f-u||r>p+u||a<p-u;if(s.index>c.index){var h=f-s.x-s.vx,v=p-s.y-s.vy,m=h*h+v*v;m<u*u&&(0===h&&(m+=(h=o())*h),0===v&&(m+=(v=o())*v),m=(u-(m=Math.sqrt(m)))/m*i,c.vx+=(h*=m)*(u=(l*=l)/(g+l)),c.vy+=(v*=m)*u,s.vx-=h*(u=1-u),s.vy-=v*u)}}}function h(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function f(){if(r){var e,i,a=r.length;for(n=new Array(a),e=0;e<a;++e)i=r[e],n[i.index]=+t(i,e,r)}}return\"function\"!=typeof t&&(t=a(null==t?1:+t)),c.initialize=function(t){r=t,f()},c.iterations=function(t){return arguments.length?(u=+t,c):u},c.strength=function(t){return arguments.length?(i=+t,c):i},c.radius=function(e){return arguments.length?(t=\"function\"==typeof e?e:a(+e),f(),c):t},c},t.forceLink=function(t){var e,n,i,s,l,h=u,f=function(t){return 1/Math.min(s[t.source.index],s[t.target.index])},p=a(30),d=1;function g(r){for(var i=0,a=t.length;i<d;++i)for(var s,u,c,h,f,p,g,v=0;v<a;++v)u=(s=t[v]).source,h=(c=s.target).x+c.vx-u.x-u.vx||o(),f=c.y+c.vy-u.y-u.vy||o(),h*=p=((p=Math.sqrt(h*h+f*f))-n[v])/p*r*e[v],f*=p,c.vx-=h*(g=l[v]),c.vy-=f*g,u.vx+=h*(g=1-g),u.vy+=f*g}function v(){if(i){var a,o,u=i.length,f=t.length,p=r.map(i,h);for(a=0,s=new Array(u);a<f;++a)(o=t[a]).index=a,\"object\"!=typeof o.source&&(o.source=c(p,o.source)),\"object\"!=typeof o.target&&(o.target=c(p,o.target)),s[o.source.index]=(s[o.source.index]||0)+1,s[o.target.index]=(s[o.target.index]||0)+1;for(a=0,l=new Array(f);a<f;++a)o=t[a],l[a]=s[o.source.index]/(s[o.source.index]+s[o.target.index]);e=new Array(f),m(),n=new Array(f),y()}}function m(){if(i)for(var r=0,n=t.length;r<n;++r)e[r]=+f(t[r],r,t)}function y(){if(i)for(var e=0,r=t.length;e<r;++e)n[e]=+p(t[e],e,t)}return null==t&&(t=[]),g.initialize=function(t){i=t,v()},g.links=function(e){return arguments.length?(t=e,v(),g):t},g.id=function(t){return arguments.length?(h=t,g):h},g.iterations=function(t){return arguments.length?(d=+t,g):d},g.strength=function(t){return arguments.length?(f=\"function\"==typeof t?t:a(+t),m(),g):f},g.distance=function(t){return arguments.length?(p=\"function\"==typeof t?t:a(+t),y(),g):p},g},t.forceManyBody=function(){var t,r,n,i,s=a(-30),l=1,u=1/0,c=.81;function p(i){var a,o=t.length,s=e.quadtree(t,h,f).visitAfter(g);for(n=i,a=0;a<o;++a)r=t[a],s.visit(v)}function d(){if(t){var e,r,n=t.length;for(i=new Array(n),e=0;e<n;++e)r=t[e],i[r.index]=+s(r,e,t)}}function g(t){var e,r,n,a,o,s=0,l=0;if(t.length){for(n=a=o=0;o<4;++o)(e=t[o])&&(r=Math.abs(e.value))&&(s+=e.value,l+=r,n+=r*e.x,a+=r*e.y);t.x=n/l,t.y=a/l}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=i[e.data.index]}while(e=e.next)}t.value=s}function v(t,e,a,s){if(!t.value)return!0;var h=t.x-r.x,f=t.y-r.y,p=s-e,d=h*h+f*f;if(p*p/c<d)return d<u&&(0===h&&(d+=(h=o())*h),0===f&&(d+=(f=o())*f),d<l&&(d=Math.sqrt(l*d)),r.vx+=h*t.value*n/d,r.vy+=f*t.value*n/d),!0;if(!(t.length||d>=u)){(t.data!==r||t.next)&&(0===h&&(d+=(h=o())*h),0===f&&(d+=(f=o())*f),d<l&&(d=Math.sqrt(l*d)));do{t.data!==r&&(p=i[t.data.index]*n/d,r.vx+=h*p,r.vy+=f*p)}while(t=t.next)}}return p.initialize=function(e){t=e,d()},p.strength=function(t){return arguments.length?(s=\"function\"==typeof t?t:a(+t),d(),p):s},p.distanceMin=function(t){return arguments.length?(l=t*t,p):Math.sqrt(l)},p.distanceMax=function(t){return arguments.length?(u=t*t,p):Math.sqrt(u)},p.theta=function(t){return arguments.length?(c=t*t,p):Math.sqrt(c)},p},t.forceRadial=function(t,e,r){var n,i,o,s=a(.1);function l(t){for(var a=0,s=n.length;a<s;++a){var l=n[a],u=l.x-e||1e-6,c=l.y-r||1e-6,h=Math.sqrt(u*u+c*c),f=(o[a]-h)*i[a]*t/h;l.vx+=u*f,l.vy+=c*f}}function u(){if(n){var e,r=n.length;for(i=new Array(r),o=new Array(r),e=0;e<r;++e)o[e]=+t(n[e],e,n),i[e]=isNaN(o[e])?0:+s(n[e],e,n)}}return\"function\"!=typeof t&&(t=a(+t)),null==e&&(e=0),null==r&&(r=0),l.initialize=function(t){n=t,u()},l.strength=function(t){return arguments.length?(s=\"function\"==typeof t?t:a(+t),u(),l):s},l.radius=function(e){return arguments.length?(t=\"function\"==typeof e?e:a(+e),u(),l):t},l.x=function(t){return arguments.length?(e=+t,l):e},l.y=function(t){return arguments.length?(r=+t,l):r},l},t.forceSimulation=function(t){var e,a=1,o=.001,s=1-Math.pow(o,1/300),l=0,u=.6,c=r.map(),h=i.timer(g),f=n.dispatch(\"tick\",\"end\");function g(){v(),f.call(\"tick\",e),a<o&&(h.stop(),f.call(\"end\",e))}function v(){var e,r,n=t.length;for(a+=(l-a)*s,c.each(function(t){t(a)}),e=0;e<n;++e)null==(r=t[e]).fx?r.x+=r.vx*=u:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=u:(r.y=r.fy,r.vy=0)}function m(){for(var e,r=0,n=t.length;r<n;++r){if((e=t[r]).index=r,isNaN(e.x)||isNaN(e.y)){var i=p*Math.sqrt(r),a=r*d;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function y(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),m(),e={tick:v,restart:function(){return h.restart(g),e},stop:function(){return h.stop(),e},nodes:function(r){return arguments.length?(t=r,m(),c.each(y),e):t},alpha:function(t){return arguments.length?(a=+t,e):a},alphaMin:function(t){return arguments.length?(o=+t,e):o},alphaDecay:function(t){return arguments.length?(s=+t,e):+s},alphaTarget:function(t){return arguments.length?(l=+t,e):l},velocityDecay:function(t){return arguments.length?(u=1-t,e):1-u},force:function(t,r){return arguments.length>1?(null==r?c.remove(t):c.set(t,y(r)),e):c.get(t)},find:function(e,r,n){var i,a,o,s,l,u=0,c=t.length;for(null==n?n=1/0:n*=n,u=0;u<c;++u)(o=(i=e-(s=t[u]).x)*i+(a=r-s.y)*a)<n&&(l=s,n=o);return l},on:function(t,r){return arguments.length>1?(f.on(t,r),e):f.on(t)}}},t.forceX=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vx+=(n[a]-i.x)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return\"function\"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i=\"function\"==typeof t?t:a(+t),s(),o):i},o.x=function(e){return arguments.length?(t=\"function\"==typeof e?e:a(+e),s(),o):t},o},t.forceY=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vy+=(n[a]-i.y)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return\"function\"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i=\"function\"==typeof t?t:a(+t),s(),o):i},o.y=function(e){return arguments.length?(t=\"function\"==typeof e?e:a(+e),s(),o):t},o},Object.defineProperty(t,\"__esModule\",{value:!0})}),yB=yB.exports;var xB=dB.sankey,bB=ZR.keyFun,_B=ZR.repeat,wB=ZR.unwrap;function MB(t){t.lastDraggedX=t.x,t.lastDraggedY=t.y}function AB(t){return function(e){return e.node.originalX===t.node.originalX}}function kB(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y+t[e].dy/2}function TB(t){t.attr(\"transform\",function(t){return\"translate(\"+t.node.x.toFixed(3)+\", \"+(t.node.y-t.node.dy/2).toFixed(3)+\")\"})}function SB(t){var e=t.sankey.nodes();!function(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y-t[e].dy/2}(e);var r=t.sankey.link()(t.link);return kB(e),r}function EB(t){t.call(TB)}function CB(t,e){t.call(EB),e.attr(\"d\",SB)}function LB(t){t.attr(\"width\",function(t){return t.visibleWidth}).attr(\"height\",function(t){return t.visibleHeight})}function zB(t){return t.link.dy>1||t.linkLineWidth>0}function PB(t){return\"translate(\"+t.translateX+\",\"+t.translateY+\")\"+(t.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\")}function IB(t){return\"translate(\"+(t.horizontal?0:t.labelY)+\" \"+(t.horizontal?t.labelY:0)+\")\"}function DB(t){return e.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+uB.nodeTextOffsetHorizontal:uB.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-uB.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-uB.nodeTextOffsetHorizontal,0]])}function OB(t){return t.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\"}function RB(t){return t.horizontal?\"scale(1 1)\":\"scale(-1 1)\"}function FB(t){return t.darkBackground&&!t.horizontal?\"rgb(255,255,255)\":\"rgb(0,0,0)\"}function BB(t){return t.horizontal&&t.left?\"100%\":\"0%\"}function NB(t,e,r){t.on(\".basic\",null).on(\"mouseover.basic\",function(t){t.interactionState.dragInProgress||(r.hover(this,t,e),t.interactionState.hovered=[this,t])}).on(\"mousemove.basic\",function(t){t.interactionState.dragInProgress||(r.follow(this,t),t.interactionState.hovered=[this,t])}).on(\"mouseout.basic\",function(t){t.interactionState.dragInProgress||(r.unhover(this,t,e),t.interactionState.hovered=!1)}).on(\"click.basic\",function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||r.select(this,t,e)})}function jB(t,r,n){var i=e.behavior.drag().origin(function(t){return t.node}).on(\"dragstart\",function(e){if(\"fixed\"!==e.arrangement&&(ne.raiseToTop(this),e.interactionState.dragInProgress=e.node,MB(e.node),e.interactionState.hovered&&(n.nodeEvents.unhover.apply(0,e.interactionState.hovered),e.interactionState.hovered=!1),\"snap\"===e.arrangement)){var i=e.traceId+\"|\"+Math.floor(e.node.originalX);e.forceLayouts[i]?e.forceLayouts[i].alpha(1):function(t,e,r){var n=r.sankey.nodes().filter(function(t){return t.originalX===r.node.originalX});r.forceLayouts[e]=yB.forceSimulation(n).alphaDecay(0).force(\"collide\",yB.forceCollide().radius(function(t){return t.dy/2+r.nodePad/2}).strength(1).iterations(uB.forceIterations)).force(\"constrain\",function(t,e,r,n){return function(){for(var t=0,i=0;i<r.length;i++){var a=r[i];a===n.interactionState.dragInProgress?(a.x=a.lastDraggedX,a.y=a.lastDraggedY):(a.vx=(a.originalX-a.x)/uB.forceTicksPerFrame,a.y=Math.min(n.size-a.dy/2,Math.max(a.dy/2,a.y))),t=Math.max(t,Math.abs(a.vx),Math.abs(a.vy))}!n.interactionState.dragInProgress&&t<.1&&n.forceLayouts[e].alpha()>0&&n.forceLayouts[e].alpha(0)}}(0,e,n,r)).stop()}(0,i,e),function(t,e,r,n){window.requestAnimationFrame(function i(){for(var a=0;a<uB.forceTicksPerFrame;a++)r.forceLayouts[n].tick();r.sankey.relayout(),CB(t.filter(AB(r)),e),r.forceLayouts[n].alpha()>0&&window.requestAnimationFrame(i)})}(t,r,e,i)}}).on(\"drag\",function(n){if(\"fixed\"!==n.arrangement){var i=e.event.x,a=e.event.y;\"snap\"===n.arrangement?(n.node.x=i,n.node.y=a):(\"freeform\"===n.arrangement&&(n.node.x=i),n.node.y=Math.max(n.node.dy/2,Math.min(n.size-n.node.dy/2,a))),MB(n.node),\"snap\"!==n.arrangement&&(n.sankey.relayout(),CB(t.filter(AB(n)),r))}}).on(\"dragend\",function(t){t.interactionState.dragInProgress=!1});t.on(\".drag\",null).call(i)}var VB=function(t,e,r,n){var i=t.selectAll(\".\"+uB.cn.sankey).data(e.filter(function(t){return wB(t).trace.visible}).map(function(t,e,r){for(var n,i=wB(e).trace,a=i.domain,o=i.node,s=i.link,l=i.arrangement,u=\"h\"===i.orientation,c=i.node.pad,h=i.node.thickness,f=i.node.line.color,p=i.node.line.width,d=i.link.line.color,g=i.link.line.width,v=i.valueformat,m=i.valuesuffix,y=i.textfont,x=t.width*(a.x[1]-a.x[0]),b=t.height*(a.y[1]-a.y[0]),_=o.label.map(function(t,e){return{pointNumber:e,label:t,color:ne.isArrayOrTypedArray(o.color)?o.color[e]:o.color}}),w=s.value.map(function(t,e){return{pointNumber:e,label:s.label[e],color:ne.isArrayOrTypedArray(s.color)?s.color[e]:s.color,source:s.source[e],target:s.target[e],value:t}}),M=xB().size(u?[x,b]:[b,x]).nodeWidth(h).nodePadding(c).nodes(_).links(w).layout(uB.sankeyIterations),A=M.nodes(),k=0;k<A.length;k++)(n=A[k]).width=x,n.height=b;return kB(_),{key:r,trace:i,guid:Math.floor(1e12*(1+Math.random())),horizontal:u,width:x,height:b,nodePad:c,nodeLineColor:f,nodeLineWidth:p,linkLineColor:d,linkLineWidth:g,valueFormat:v,valueSuffix:m,textFont:y,translateX:a.x[0]*x+t.margin.l,translateY:t.height-a.y[1]*t.height+t.margin.t,dragParallel:u?b:x,dragPerpendicular:u?x:b,nodes:_,links:w,arrangement:l,sankey:M,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}.bind(null,r)),bB);i.exit().remove(),i.enter().append(\"g\").classed(uB.cn.sankey,!0).style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"shape-rendering\",\"geometricPrecision\").style(\"pointer-events\",\"auto\").style(\"box-sizing\",\"content-box\").attr(\"transform\",PB),i.transition().ease(uB.ease).duration(uB.duration).attr(\"transform\",PB);var a=i.selectAll(\".\"+uB.cn.sankeyLinks).data(_B,bB);a.enter().append(\"g\").classed(uB.cn.sankeyLinks,!0).style(\"fill\",\"none\");var o=a.selectAll(\".\"+uB.cn.sankeyLink).data(function(t){return t.sankey.links().filter(function(t){return t.value}).map(function(t,e,r){var n=s(r.color),i=r.source.label+\"|\"+r.target.label,a=t[i];t[i]=(a||0)+1;var o=i+\"__\"+t[i];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:o,traceId:e.key,link:r,tinyColorHue:Oe.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,interactionState:e.interactionState}}.bind(null,{},t))},bB);o.enter().append(\"path\").classed(uB.cn.sankeyLink,!0).attr(\"d\",SB).call(NB,i,n.linkEvents),o.style(\"stroke\",function(t){return zB(t)?Oe.tinyRGB(s(t.linkLineColor)):t.tinyColorHue}).style(\"stroke-opacity\",function(t){return zB(t)?Oe.opacity(t.linkLineColor):t.tinyColorAlpha}).style(\"stroke-width\",function(t){return zB(t)?t.linkLineWidth:1}).style(\"fill\",function(t){return t.tinyColorHue}).style(\"fill-opacity\",function(t){return t.tinyColorAlpha}),o.transition().ease(uB.ease).duration(uB.duration).attr(\"d\",SB),o.exit().transition().ease(uB.ease).duration(uB.duration).style(\"opacity\",0).remove();var l=i.selectAll(\".\"+uB.cn.sankeyNodeSet).data(_B,bB);l.enter().append(\"g\").classed(uB.cn.sankeyNodeSet,!0),l.style(\"cursor\",function(t){switch(t.arrangement){case\"fixed\":return\"default\";case\"perpendicular\":return\"ns-resize\";default:return\"move\"}});var u=l.selectAll(\".\"+uB.cn.sankeyNode).data(function(t){var e=t.sankey.nodes();return function(t){var e,r=[];for(e=0;e<t.length;e++)t[e].originalX=t[e].x,t[e].originalY=t[e].y,-1===r.indexOf(t[e].x)&&r.push(t[e].x);for(r.sort(function(t,e){return t-e}),e=0;e<t.length;e++)t[e].originalLayerIndex=r.indexOf(t[e].originalX),t[e].originalLayer=t[e].originalLayerIndex/(r.length-1)}(e),e.filter(function(t){return t.value}).map(function(t,e,r){var n=s(r.color),i=uB.nodePadAcross,a=e.nodePad/2,o=r.dx,l=Math.max(.5,r.dy),u=r.label,c=t[u];t[u]=(c||0)+1;var h=u+\"__\"+t[u];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:h,traceId:e.key,node:r,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(o),visibleHeight:l,zoneX:-i,zoneY:-a,zoneWidth:o+2*i,zoneHeight:l+2*a,labelY:e.horizontal?r.dy/2+1:r.dx/2+1,left:1===r.originalLayer,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:n.getBrightness()<=128,tinyColorHue:Oe.tinyRGB(n),tinyColorAlpha:n.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,h].join(\" \"),interactionState:e.interactionState}}.bind(null,{},t))},bB);u.enter().append(\"g\").classed(uB.cn.sankeyNode,!0).call(TB).call(NB,i,n.nodeEvents),u.call(jB,o,n),u.transition().ease(uB.ease).duration(uB.duration).call(TB),u.exit().transition().ease(uB.ease).duration(uB.duration).style(\"opacity\",0).remove();var c=u.selectAll(\".\"+uB.cn.nodeRect).data(_B);c.enter().append(\"rect\").classed(uB.cn.nodeRect,!0).call(LB),c.style(\"stroke-width\",function(t){return t.nodeLineWidth}).style(\"stroke\",function(t){return Oe.tinyRGB(s(t.nodeLineColor))}).style(\"stroke-opacity\",function(t){return Oe.opacity(t.nodeLineColor)}).style(\"fill\",function(t){return t.tinyColorHue}).style(\"fill-opacity\",function(t){return t.tinyColorAlpha}),c.transition().ease(uB.ease).duration(uB.duration).call(LB);var h=u.selectAll(\".\"+uB.cn.nodeCapture).data(_B);h.enter().append(\"rect\").classed(uB.cn.nodeCapture,!0).style(\"fill-opacity\",0),h.attr(\"x\",function(t){return t.zoneX}).attr(\"y\",function(t){return t.zoneY}).attr(\"width\",function(t){return t.zoneWidth}).attr(\"height\",function(t){return t.zoneHeight});var f=u.selectAll(\".\"+uB.cn.nodeCentered).data(_B);f.enter().append(\"g\").classed(uB.cn.nodeCentered,!0).attr(\"transform\",IB),f.transition().ease(uB.ease).duration(uB.duration).attr(\"transform\",IB);var p=f.selectAll(\".\"+uB.cn.nodeLabelGuide).data(_B);p.enter().append(\"path\").classed(uB.cn.nodeLabelGuide,!0).attr(\"id\",function(t){return t.uniqueNodeLabelPathId}).attr(\"d\",DB).attr(\"transform\",OB),p.transition().ease(uB.ease).duration(uB.duration).attr(\"d\",DB).attr(\"transform\",OB);var d=f.selectAll(\".\"+uB.cn.nodeLabel).data(_B);d.enter().append(\"text\").classed(uB.cn.nodeLabel,!0).attr(\"transform\",RB).style(\"user-select\",\"none\").style(\"cursor\",\"default\").style(\"fill\",\"black\"),d.style(\"text-shadow\",function(t){return t.horizontal?\"-1px 1px 1px #fff, 1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff\":\"none\"}).each(function(t){Sr.font(d,t.textFont)}),d.transition().ease(uB.ease).duration(uB.duration).attr(\"transform\",RB);var g=d.selectAll(\".\"+uB.cn.nodeLabelTextPath).data(_B);g.enter().append(\"textPath\").classed(uB.cn.nodeLabelTextPath,!0).attr(\"alignment-baseline\",\"middle\").attr(\"xlink:href\",function(t){return\"#\"+t.uniqueNodeLabelPathId}).attr(\"startOffset\",BB).style(\"fill\",FB),g.text(function(t){return t.horizontal||t.node.dy>5?t.node.label:\"\"}).attr(\"text-anchor\",function(t){return t.horizontal&&t.left?\"end\":\"start\"}),g.transition().ease(uB.ease).duration(uB.duration).attr(\"startOffset\",BB).style(\"fill\",FB)},UB=uB.cn,qB=ne._;function HB(t){return\"\"!==t}function GB(t,e){return t.filter(function(t){return t.key===e.traceId})}function WB(t,r){e.select(t).select(\"path\").style(\"fill-opacity\",r),e.select(t).select(\"rect\").style(\"fill-opacity\",r)}function YB(t){e.select(t).select(\"text.name\").style(\"fill\",\"black\")}function XB(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function ZB(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function JB(t,e,r){e&&r&&GB(r,e).selectAll(\".\"+UB.sankeyLink).filter(XB(e)).call(QB.bind(0,e,r,!1))}function KB(t,e,r){e&&r&&GB(r,e).selectAll(\".\"+UB.sankeyLink).filter(XB(e)).call($B.bind(0,e,r,!1))}function QB(t,e,r,n){var i=n.datum().link.label;n.style(\"fill-opacity\",.4),i&&GB(e,t).selectAll(\".\"+UB.sankeyLink).filter(function(t){return t.link.label===i}).style(\"fill-opacity\",.4),r&&GB(e,t).selectAll(\".\"+UB.sankeyNode).filter(ZB(t)).call(JB)}function $B(t,e,r,n){var i=n.datum().link.label;n.style(\"fill-opacity\",function(t){return t.tinyColorAlpha}),i&&GB(e,t).selectAll(\".\"+UB.sankeyLink).filter(function(t){return t.link.label===i}).style(\"fill-opacity\",function(t){return t.tinyColorAlpha}),r&&GB(e,t).selectAll(UB.sankeyNode).filter(ZB(t)).call(KB)}function tN(t,e){var r=t.hoverlabel||{},n=ne.nestedProperty(r,e).get();return!Array.isArray(n)&&n}var eN=function(t,r){var n=t._fullLayout,i=n._paper,a=n._size,o=qB(t,\"source:\")+\" \",s=qB(t,\"target:\")+\" \",l=qB(t,\"incoming flow count:\")+\" \",u=qB(t,\"outgoing flow count:\")+\" \";VB(i,r,{width:a.w,height:a.h,margin:{t:a.t,r:a.r,b:a.b,l:a.l}},{linkEvents:{hover:function(r,n,i){e.select(r).call(QB.bind(0,n,i,!0)),t.emit(\"plotly_hover\",{event:e.event,points:[n.link]})},follow:function(r,i){var a=i.link.trace,l=t._fullLayout._paperdiv.node().getBoundingClientRect(),u=r.getBoundingClientRect(),c=u.left+u.width/2,h=u.top+u.height/2,f=yo.loneHover({x:c-l.left,y:h-l.top,name:e.format(i.valueFormat)(i.link.value)+i.valueSuffix,text:[i.link.label||\"\",o+i.link.source.label,s+i.link.target.label].filter(HB).join(\"<br>\"),color:tN(a,\"bgcolor\")||Oe.addOpacity(i.tinyColorHue,1),borderColor:tN(a,\"bordercolor\"),fontFamily:tN(a,\"font.family\"),fontSize:tN(a,\"font.size\"),fontColor:tN(a,\"font.color\"),idealAlign:e.event.x<c?\"right\":\"left\"},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t});WB(f,.65),YB(f)},unhover:function(r,i,a){e.select(r).call($B.bind(0,i,a,!0)),t.emit(\"plotly_unhover\",{event:e.event,points:[i.link]}),yo.loneUnhover(n._hoverlayer.node())},select:function(r,n){var i=n.link;i.originalEvent=e.event,t._hoverdata=[i],yo.click(t,{target:!0})}},nodeEvents:{hover:function(r,n,i){e.select(r).call(JB,n,i),t.emit(\"plotly_hover\",{event:e.event,points:[n.node]})},follow:function(r,i){var a=i.node.trace,o=e.select(r).select(\".\"+UB.nodeRect),s=t._fullLayout._paperdiv.node().getBoundingClientRect(),c=o.node().getBoundingClientRect(),h=c.left-2-s.left,f=c.right+2-s.left,p=c.top+c.height/4-s.top,d=yo.loneHover({x0:h,x1:f,y:p,name:e.format(i.valueFormat)(i.node.value)+i.valueSuffix,text:[i.node.label,l+i.node.targetLinks.length,u+i.node.sourceLinks.length].filter(HB).join(\"<br>\"),color:tN(a,\"bgcolor\")||i.tinyColorHue,borderColor:tN(a,\"bordercolor\"),fontFamily:tN(a,\"font.family\"),fontSize:tN(a,\"font.size\"),fontColor:tN(a,\"font.color\"),idealAlign:\"left\"},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t});WB(d,.85),YB(d)},unhover:function(r,i,a){e.select(r).call(KB,i,a),t.emit(\"plotly_unhover\",{event:e.event,points:[i.node]}),yo.loneUnhover(n._hoverlayer.node())},select:function(r,n,i){var a=n.node;a.originalEvent=e.event,t._hoverdata=[a],e.select(r).call(KB,n,i),yo.click(t,{target:!0})}}})},rN={},nN=ye.overrideAll,iN=sa.getModuleCalcData;rN.name=\"sankey\",rN.baseLayoutAttrOverrides=nN({hoverlabel:mo.hoverlabel},\"plot\",\"nested\"),rN.plot=function(t){var e=iN(t.calcdata,\"sankey\");eN(t,e)},rN.clean=function(t,e,r,n){var i=n._has&&n._has(\"sankey\"),a=e._has&&e._has(\"sankey\");i&&!a&&n._paperdiv.selectAll(\".sankey\").remove()};var aN=function(t){for(var e=t.length,r=new Array(e),n=new Array(e),i=new Array(e),a=new Array(e),o=new Array(e),s=new Array(e),l=0;l<e;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];var u,c=0,h=[],f=[];function p(e){var l=[e],u=[e];for(r[e]=n[e]=c,i[e]=!0,c+=1;u.length>0;){e=u[u.length-1];var p=t[e];if(a[e]<p.length){for(var d=a[e];d<p.length;++d){var g=p[d];if(r[g]<0){r[g]=n[g]=c,i[g]=!0,c+=1,l.push(g),u.push(g);break}i[g]&&(n[e]=0|Math.min(n[e],n[g])),o[g]>=0&&s[e].push(o[g])}a[e]=d}else{if(n[e]===r[e]){for(var v=[],m=[],y=0,d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,v.push(x),m.push(s[x]),y+=s[x].length,o[x]=h.length,x===e){l.length=d;break}}h.push(v);for(var b=new Array(y),d=0;d<m.length;d++)for(var _=0;_<m[d].length;_++)b[--y]=m[d][_];f.push(b)}u.pop()}}}for(var l=0;l<e;++l)r[l]<0&&p(l);for(var l=0;l<f.length;l++){var d=f[l];if(0!==d.length){d.sort(function(t,e){return t-e}),u=[d[0]];for(var g=1;g<d.length;g++)d[g]!==d[g-1]&&u.push(d[g]);f[l]=u}}return{components:h,adjacencyList:f}};var oN=ZR.wrap;var sN=qc.defaults,lN={};lN.attributes=lB,lN.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,lB,r,n)}i(\"node.label\"),i(\"node.pad\"),i(\"node.thickness\"),i(\"node.line.color\"),i(\"node.line.width\");var a=n.colorway;i(\"node.color\",e.node.label.map(function(t,e){return Oe.addOpacity(function(t){return a[t%a.length]}(e),.8)})),i(\"link.label\"),i(\"link.source\"),i(\"link.target\"),i(\"link.value\"),i(\"link.line.color\"),i(\"link.line.width\"),i(\"link.color\",e.link.value.map(function(){return s(n.paper_bgcolor).getLuminance()<.333?\"rgba(255, 255, 255, 0.6)\":\"rgba(0, 0, 0, 0.2)\"})),sN(e,n,i),i(\"orientation\"),i(\"valueformat\"),i(\"valuesuffix\"),i(\"arrangement\"),ne.coerceFont(i,\"textfont\",ne.extendFlat({},n.font));e.node.label.some(function(t,r){return-1===e.link.source.indexOf(r)&&-1===e.link.target.indexOf(r)})&&ne.warn(\"Some of the nodes are neither sources nor targets, they will not be displayed.\")},lN.calc=function(t,e){return function(t,e,r){for(var n=t.map(function(){return[]}),i=0;i<Math.min(e.length,r.length);i++){if(e[i]===r[i])return!0;n[e[i]].push(r[i])}return aN(n).components.some(function(t){return t.length>1})}(e.node.label,e.link.source,e.link.target)&&(ne.error(\"Circularity is present in the Sankey data. Removing all nodes and links.\"),e.link.label=[],e.link.source=[],e.link.target=[],e.link.value=[],e.link.color=[],e.node.label=[],e.node.color=[]),oN({link:e.link,node:e.node})},lN.plot=eN,lN.moduleType=\"trace\",lN.name=\"sankey\",lN.basePlotModule=rN,lN.categories=[\"noOpacity\"],lN.meta={};var uN=lN,cN={circle:\"\\u25cf\",\"circle-open\":\"\\u25cb\",square:\"\\u25a0\",\"square-open\":\"\\u25a1\",diamond:\"\\u25c6\",\"diamond-open\":\"\\u25c7\",cross:\"+\",x:\"\\u274c\"},hN={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]},fN={},pN=m.extendFlat,dN=ye.overrideAll,gN=Zr.line,vN=Zr.marker,mN=vN.line;var yN=fN=dN({x:Zr.x,y:Zr.y,z:{valType:\"data_array\"},text:pN({},Zr.text,{}),hovertext:pN({},Zr.hovertext,{}),mode:pN({},Zr.mode,{dflt:\"lines+markers\"}),surfaceaxis:{valType:\"enumerated\",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:\"color\"},projection:{x:{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}},y:{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}},z:{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}}},connectgaps:Zr.connectgaps,line:pN({width:gN.width,dash:{valType:\"enumerated\",values:Object.keys(hN),dflt:\"solid\"},showscale:{valType:\"boolean\",dflt:!1}},De()),marker:pN({symbol:{valType:\"enumerated\",values:Object.keys(cN),dflt:\"circle\",arrayOk:!0},size:pN({},vN.size,{dflt:8}),sizeref:vN.sizeref,sizemin:vN.sizemin,sizemode:vN.sizemode,opacity:pN({},vN.opacity,{arrayOk:!1}),showscale:vN.showscale,colorbar:vN.colorbar,line:pN({width:pN({},mN.width,{arrayOk:!1})},De())},De()),textposition:pN({},Zr.textposition,{dflt:\"top center\"}),textfont:Zr.textfont,hoverinfo:pN({},E.hoverinfo)},\"calc\",\"nested\");yN.x.editType=yN.y.editType=yN.z.editType=\"calc+clearAxisTypes\";var xN=E_([\"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}\"]),bN=E_([\"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}\"]),_N=function(t){return Bw(t,xN,bN,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"offset\",type:\"vec3\"}])},wN=function(t){var e=t.gl,r=S_(e),n=EP(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}]),i=_N(e);i.attributes.position.location=0,i.attributes.color.location=1,i.attributes.offset.location=2;var a=new AN(e,r,n,i);return a.update(t),a},MN=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function AN(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}var kN=AN.prototype;function TN(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])}kN.isOpaque=function(){return this.opacity>=1},kN.isTransparent=function(){return this.opacity<1},kN.drawTransparent=kN.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||MN,i=r.projection=t.projection||MN;r.model=t.model||MN,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 c=0;c<3;++c)e.lineWidth(this.lineWidth[c]),r.capSize=this.capSize[c]*u,this.lineCount[c]&&e.drawArrays(e.LINES,this.lineOffset[c],this.lineCount[c]);this.vao.unbind()};var SN=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=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function EN(t,e,r,n){for(var i=SN[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}kN.update=function(t){\"lineWidth\"in(t=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 i=[],a=r.length,o=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var s=0;s<3;++s){this.lineOffset[s]=o;t:for(var l=0;l<a;++l){for(var u=r[l],c=0;c<3;++c)if(isNaN(u[c])||!isFinite(u[c]))continue t;var h=n[l],f=e[s];if(Array.isArray(f[0])&&(f=e[l]),3===f.length&&(f=[f[0],f[1],f[2],1]),!isNaN(h[0][s])&&!isNaN(h[1][s])){var p;if(h[0][s]<0)(p=u.slice())[s]+=h[0][s],i.push(u[0],u[1],u[2],f[0],f[1],f[2],f[3],0,0,0,p[0],p[1],p[2],f[0],f[1],f[2],f[3],0,0,0),TN(this.bounds,p),o+=2+EN(i,p,f,s);if(h[1][s]>0)(p=u.slice())[s]+=h[1][s],i.push(u[0],u[1],u[2],f[0],f[1],f[2],f[3],0,0,0,p[0],p[1],p[2],f[0],f[1],f[2],f[3],0,0,0),TN(this.bounds,p),o+=2+EN(i,p,f,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},kN.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()};var CN={},LN=E_([\"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\"]),zN=E_([\"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\"]),PN=E_([\"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_1540259130(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\\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_1540259130(pixelArcLength).xyz);\\n}\"]),IN=[{name:\"position\",type:\"vec3\"},{name:\"nextPosition\",type:\"vec3\"},{name:\"arcLength\",type:\"float\"},{name:\"lineWidth\",type:\"float\"},{name:\"color\",type:\"vec4\"}];CN.createShader=function(t){return Bw(t,LN,zN,null,IN)},CN.createPickShader=function(t){return Bw(t,LN,PN,null,IN)};var DN=function(t,e,r,n){return ON[0]=n,ON[1]=r,ON[2]=e,ON[3]=t,RN[0]},ON=new Uint8Array(4),RN=new Float32Array(ON.buffer);var FN=function(t){var e=t.gl||t.scene&&t.scene.gl,r=BN(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=NN(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=S_(e),a=EP(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}]),o=wb(new Array(1024),[256,1,4]),s=0;s<1024;++s)o.data[s]=255;var l=zE(e,o);l.wrap=e.REPEAT;var u=new HN(e,r,n,i,a,l);return u.update(t),u},BN=CN.createShader,NN=CN.createPickShader,jN=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function VN(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 UN(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 qN(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function HN(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}var GN=HN.prototype;GN.isTransparent=function(){return this.opacity<1},GN.isOpaque=function(){return this.opacity>=1},GN.pickSlots=1,GN.setPickBase=function(t){this.pickId=t},GN.drawTransparent=GN.draw=function(t){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||jN,view:t.view||jN,projection:t.projection||jN,clipBounds:UN(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),n.unbind()},GN.drawPick=function(t){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||jN,view:t.view||jN,projection:t.projection||jN,pickId:this.pickId,clipBounds:UN(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()},GN.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;\"dashScale\"in t&&(this.dashScale=t.dashScale),\"opacity\"in t&&(this.opacity=+t.opacity);var i=t.position||t.positions;if(i){var a=t.color||t.colors||[0,0,0,1],o=t.lineWidth||1,s=[],l=[],u=[],c=0,h=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],p=!1;t:for(e=1;e<i.length;++e){var d,g,v,m=i[e-1],y=i[e];for(l.push(c),u.push(m.slice()),r=0;r<3;++r){if(isNaN(m[r])||isNaN(y[r])||!isFinite(m[r])||!isFinite(y[r])){if(!n&&s.length>0){for(var x=0;x<24;++x)s.push(s[s.length-12]);h+=2,p=!0}continue t}f[0][r]=Math.min(f[0][r],m[r],y[r]),f[1][r]=Math.max(f[1][r],m[r],y[r])}Array.isArray(a[0])?(d=a[e-1],g=a[e]):d=g=a,3===d.length&&(d=[d[0],d[1],d[2],1]),3===g.length&&(g=[g[0],g[1],g[2],1]),v=Array.isArray(o)?o[e-1]:o;var b=c;if(c+=VN(m,y),p){for(r=0;r<2;++r)s.push(m[0],m[1],m[2],y[0],y[1],y[2],b,v,d[0],d[1],d[2],d[3]);h+=2,p=!1}s.push(m[0],m[1],m[2],y[0],y[1],y[2],b,v,d[0],d[1],d[2],d[3],m[0],m[1],m[2],y[0],y[1],y[2],b,-v,d[0],d[1],d[2],d[3],y[0],y[1],y[2],m[0],m[1],m[2],c,-v,g[0],g[1],g[2],g[3],y[0],y[1],y[2],m[0],m[1],m[2],c,v,g[0],g[1],g[2],g[3]),h+=4}if(this.buffer.update(s),l.push(c),u.push(i[i.length-1].slice()),this.bounds=f,this.vertexCount=h,this.points=u,this.arcLength=l,\"dashes\"in t){var _=t.dashes.slice();for(_.unshift(0),e=1;e<_.length;++e)_[e]=_[e-1]+_[e];var w=wb(new Array(1024),[256,1,4]);for(e=0;e<256;++e){for(r=0;r<4;++r)w.set(e,0,r,0);1&wT.le(_,_[_.length-1]*e/255)?w.set(e,0,0,0):w.set(e,0,0,255)}this.texture.setPixels(w)}}},GN.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},GN.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=DN(t.value[0],t.value[1],t.value[2],0),r=wT.le(this.arcLength,e);if(r<0)return null;if(r===this.arcLength.length-1)return new qN(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)],a=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),o=1-a,s=[0,0,0],l=0;l<3;++l)s[l]=o*n[l]+a*i[l];var u=Math.min(a<.5?r:r+1,this.points.length-1);return new qN(e,s,u,this.points[u])};var WN=function(t,e){var r=YN[e];r||(r=YN[e]={});if(t in r)return r[t];for(var n=ME(t,{textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:e}),i=ME(t,{triangles:!0,textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:e}),a=[[1/0,1/0],[-1/0,-1/0]],o=0;o<n.positions.length;++o)for(var s=n.positions[o],l=0;l<2;++l)a[0][l]=Math.min(a[0][l],s[l]),a[1][l]=Math.max(a[1][l],s[l]);return r[t]=[i,n,a]},YN={};var XN={},ZN=E_([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\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}\"]),JN=E_([\"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}\"]),KN=E_([\"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\"]),QN=E_([\"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\"]),$N=E_([\"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}\"]),tj=[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"glyph\",type:\"vec2\"},{name:\"id\",type:\"vec4\"}],ej={vertex:ZN,fragment:QN,attributes:tj},rj={vertex:JN,fragment:QN,attributes:tj},nj={vertex:KN,fragment:QN,attributes:tj},ij={vertex:ZN,fragment:$N,attributes:tj},aj={vertex:JN,fragment:$N,attributes:tj},oj={vertex:KN,fragment:$N,attributes:tj};function sj(t,e){var r=Bw(t,e),n=r.attributes;return n.position.location=0,n.color.location=1,n.glyph.location=2,n.id.location=3,r}XN.createPerspective=function(t){return sj(t,ej)},XN.createOrtho=function(t){return sj(t,rj)},XN.createProject=function(t){return sj(t,nj)},XN.createPickPerspective=function(t){return sj(t,ij)},XN.createPickOrtho=function(t){return sj(t,aj)},XN.createPickProject=function(t){return sj(t,oj)};var lj=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],uj=function(t){var e=t.gl,r=XN.createPerspective(e),n=XN.createOrtho(e),i=XN.createProject(e),a=XN.createPickPerspective(e),o=XN.createPickOrtho(e),s=XN.createPickProject(e),l=S_(e),u=S_(e),c=S_(e),h=S_(e),f=EP(e,[{buffer:l,size:3,type:e.FLOAT},{buffer:u,size:4,type:e.FLOAT},{buffer:c,size:2,type:e.FLOAT},{buffer:h,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),p=new fj(e,r,n,i,l,u,c,h,f,a,o,s);return p.update(t),p};function cj(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 hj(t,e,r,n){return cj(n,n),cj(n,n),cj(n,n)}function fj(t,e,r,n,i,a,o,s,l,u,c,h){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,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=u,this.pickOrthoShader=c,this.pickProjectShader=h,this.points=[],this._selectResult=new function(t,e){this.index=t,this.dataCoordinate=this.position=e}(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}var pj=fj.prototype;pj.pickSlots=1,pj.setPickBase=function(t){this.pickId=t},pj.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},pj.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 dj=[0,0],gj=[0,0,0],vj=[0,0,0],mj=[0,0,0,1],yj=[0,0,0,1],xj=lj.slice(),bj=[0,0,0],_j=[[0,0,0],[0,0,0]];function wj(t){return t[0]=t[1]=t[2]=0,t}function Mj(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function Aj(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function kj(t,e,r,n,i){var a,o=e.axesProject,s=e.gl,l=t.uniforms,u=r.model||lj,c=r.view||lj,h=r.projection||lj,f=e.axesBounds,p=function(t){for(var e=_j,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}(e.clipBounds);a=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],dj[0]=2/s.drawingBufferWidth,dj[1]=2/s.drawingBufferHeight,t.bind(),l.view=c,l.projection=h,l.screenSize=dj,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=p,l.pickGroup=e.pickId/255,l.pixelRatio=e.pixelRatio;for(var d=0;d<3;++d)if(o[d]&&e.projectOpacity[d]<1===n){l.scale=e.projectScale[d],l.opacity=e.projectOpacity[d];for(var g=xj,v=0;v<16;++v)g[v]=0;for(v=0;v<4;++v)g[5*v]=1;g[5*d]=0,a[d]<0?g[12+d]=f[0][d]:g[12+d]=f[1][d],Dz(g,u,g),l.model=g;var m=(d+1)%3,y=(d+2)%3,x=wj(gj),b=wj(vj);x[m]=1,b[y]=1;var _=hj(0,0,0,Mj(mj,x)),w=hj(0,0,0,Mj(yj,b));if(Math.abs(_[1])>Math.abs(w[1])){var M=_;_=w,w=M,M=x,x=b,b=M;var A=m;m=y,y=A}_[0]<0&&(x[m]=-1),w[1]>0&&(b[y]=-1);var k=0,T=0;for(v=0;v<4;++v)k+=Math.pow(u[4*m+v],2),T+=Math.pow(u[4*y+v],2);x[m]/=Math.sqrt(k),b[y]/=Math.sqrt(T),l.axes[0]=x,l.axes[1]=b,l.fragClipBounds[0]=Aj(bj,p[0],d,-1e8),l.fragClipBounds[1]=Aj(bj,p[1],d,1e8),e.vao.draw(s.TRIANGLES,e.vertexCount),e.lineWidth>0&&(s.lineWidth(e.lineWidth),e.vao.draw(s.LINES,e.lineVertexCount,e.vertexCount))}}var Tj=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function Sj(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||lj,s.view=n.view||lj,s.projection=n.projection||lj,dj[0]=2/o.drawingBufferWidth,dj[1]=2/o.drawingBufferHeight,s.screenSize=dj,s.highlightId=r.highlightId,s.highlightScale=r.highlightScale,s.fragClipBounds=Tj,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))}kj(e,r,n,i),r.vao.unbind()}pj.draw=function(t){Sj(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!1,!1)},pj.drawTransparent=function(t){Sj(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!0,!1)},pj.drawPick=function(t){Sj(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,!1,!0)},pj.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},pj.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]},pj.update=function(t){if(\"perspective\"in(t=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{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,p=0,d=0,g=0,v=n.length;t:for(var m=0;m<v;++m){for(var y=n[m],x=0;x<3;++x)if(isNaN(y[x])||!isFinite(y[x]))continue t;var b=(O=Array.isArray(l)?WN(l[m],i):WN(l||\"\\u25cf\",i))[0],_=O[1],w=O[2];d+=3*b.cells.length,g+=2*_.edges.length}var M=d+g,A=__.mallocFloat(3*M),k=__.mallocFloat(4*M),T=__.mallocFloat(2*M),S=__.mallocUint32(M),E=[0,a[1]],C=0,L=d,z=[0,0,0,1],P=[0,0,0,1],I=Array.isArray(u)&&Array.isArray(u[0]),D=Array.isArray(f)&&Array.isArray(f[0]);t:for(m=0;m<v;++m){var O;for(y=n[m],x=0;x<3;++x){if(isNaN(y[x])||!isFinite(y[x])){p+=1;continue t}s[x]=Math.max(s[x],y[x]),o[x]=Math.min(o[x],y[x])}var R;b=(O=Array.isArray(l)?WN(l[m],i):WN(l||\"\\u25cf\",i))[0],_=O[1],w=O[2];if(Array.isArray(u)){if(3===(R=I?u[m]:u).length){for(x=0;x<3;++x)z[x]=R[x];z[3]=1}else if(4===R.length)for(x=0;x<4;++x)z[x]=R[x]}else z[0]=z[1]=z[2]=0,z[3]=1;if(Array.isArray(f)){if(3===(R=D?f[m]:f).length){for(x=0;x<3;++x)P[x]=R[x];P[x]=1}else if(4===R.length)for(x=0;x<4;++x)P[x]=R[x]}else P[0]=P[1]=P[2]=0,P[3]=1;var F=.5;Array.isArray(c)?F=+c[m]:c?F=+c:this.useOrtho&&(F=12);var B=0;Array.isArray(h)?B=+h[m]:h&&(B=+h);var N=Math.cos(B),j=Math.sin(B);for(y=n[m],x=0;x<3;++x)s[x]=Math.max(s[x],y[x]),o[x]=Math.min(o[x],y[x]);a[0]<0?E[0]=a[0]*(1+w[1][0]):a[0]>0&&(E[0]=-a[0]*(1+w[0][0]));var V=b.cells,U=b.positions;for(x=0;x<V.length;++x)for(var q=V[x],H=0;H<3;++H){for(var G=0;G<3;++G)A[3*C+G]=y[G];for(G=0;G<4;++G)k[4*C+G]=z[G];S[C]=p;var W=U[q[H]];T[2*C]=F*(N*W[0]-j*W[1]+E[0]),T[2*C+1]=F*(j*W[0]+N*W[1]+E[1]),C+=1}for(V=_.edges,U=_.positions,x=0;x<V.length;++x)for(q=V[x],H=0;H<2;++H){for(G=0;G<3;++G)A[3*L+G]=y[G];for(G=0;G<4;++G)k[4*L+G]=P[G];S[L]=p;W=U[q[H]];T[2*L]=F*(N*W[0]-j*W[1]+E[0]),T[2*L+1]=F*(j*W[0]+N*W[1]+E[1]),L+=1}p+=1}this.vertexCount=d,this.lineVertexCount=g,this.pointBuffer.update(A),this.colorBuffer.update(k),this.glyphBuffer.update(T),this.idBuffer.update(new Uint32Array(S)),__.free(A),__.free(k),__.free(T),__.free(S),this.bounds=[o,s],this.points=n,this.pointCount=n.length}},pj.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()};var Ej=C.defaultLine,Cj=GC(Ej),Lj=1;function zj(t,e){var r=t;return r[3]*=e,r}function Pj(t){if(r(t))return Cj;var e=GC(t);return e.length?e:Cj}function Ij(t){return r(t)?t:Lj}var Dj=function(t,e,r){var n,i,a,o,s,l=t.color,u=Array.isArray(l),c=Array.isArray(e),h=[];if(n=void 0!==t.colorscale?Je.makeColorScaleFunc(Je.extractScale(t.colorscale,t.cmin,t.cmax)):Pj,i=u?function(t,e){return void 0===t[e]?Cj:GC(n(t[e]))}:Pj,a=c?function(t,e){return void 0===t[e]?Lj:Ij(t[e])}:Ij,u||c)for(var f=0;f<r;f++)o=i(l,f),s=a(e,f),h[f]=zj(o,s);else h=zj(GC(l),e);return h};function Oj(t,e,r){if(!e||!e.visible)return null;for(var n=bd(e),i=new Array(t.length),a=0;a<t.length;a++){var o=n(+t[a],a);i[a]=[-o[0]*r,o[1]*r]}return i}var Rj=function(t,e){var r=[Oj(t.x,t.error_x,e[0]),Oj(t.y,t.error_y,e[1]),Oj(t.z,t.error_z,e[2])],n=function(t){for(var e=0;e<t.length;e++)if(t[e])return t[e].length;return 0}(r);if(0===n)return null;for(var i=new Array(n),a=0;a<n;a++){for(var o=[[0,0,0],[0,0,0]],s=0;s<3;s++)if(r[s])for(var l=0;l<2;l++)o[l][s]=r[s][a][l];i[a]=o}return i};function Fj(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}var Bj=Fj.prototype;function Nj(t,e){return e(4*t)}function jj(t){return cN[t]}function Vj(t,e,r,n,i){var a=null;if(ne.isArrayOrTypedArray(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,ne.identity);return a}function Uj(t,e){var r,n,i,a,o,s,l,u,c=[],h=t.fullSceneLayout,f=t.dataScale,p=h.xaxis,d=h.yaxis,g=h.zaxis,v=e.marker,m=e.line,y=e.x||[],x=e.y||[],b=e.z||[],_=y.length,w=e.xcalendar,M=e.ycalendar,A=e.zcalendar;for(n=0;n<_;n++)i=p.d2l(y[n],0,w)*f[0],a=d.d2l(x[n],0,M)*f[1],o=g.d2l(b[n],0,A)*f[2],c[n]=[i,a,o];if(Array.isArray(e.text))s=e.text;else if(void 0!==e.text)for(s=new Array(_),n=0;n<_;n++)s[n]=e.text;if(r={position:c,mode:e.mode,text:s},\"line\"in e&&(r.lineColor=Dj(m,1,_),r.lineWidth=m.width,r.lineDashes=m.dash),\"marker\"in e){var k=kr(e);r.scatterColor=Dj(v,1,_),r.scatterSize=Vj(v.size,_,Nj,20,k),r.scatterMarker=Vj(v.symbol,_,jj,\"\\u25cf\"),r.scatterLineWidth=v.line.width,r.scatterLineColor=Dj(v.line,1,_),r.scatterAngle=0}\"textposition\"in e&&(r.textOffset=(l=e.textposition,u=[0,0],Array.isArray(l)?[0,-1]:(l.indexOf(\"bottom\")>=0&&(u[1]+=1),l.indexOf(\"top\")>=0&&(u[1]-=1),l.indexOf(\"left\")>=0&&(u[0]-=1),l.indexOf(\"right\")>=0&&(u[0]+=1),u)),r.textColor=Dj(e.textfont,1,_),r.textSize=Vj(e.textfont.size,_,ne.identity,12),r.textFont=e.textfont.family,r.textAngle=0);var T=[\"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 S=e.projection[T[n]];(r.project[n]=S.show)&&(r.projectOpacity[n]=S.opacity,r.projectScale[n]=S.scale)}r.errorBounds=Rj(e,f);var E=function(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&&!1!==a.copy_zstyle&&(a=t[2]),a&&(e[i]=a.width/2,r[i]=WC(a.color),n=a.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return r.errorColor=E.color,r.errorLineWidth=E.lineWidth,r.errorCapSize=E.capSize,r.delaunayAxis=e.surfaceaxis,r.delaunayColor=WC(e.surfacecolor),r}function qj(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}Bj.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=this.textLabels:t.textLabel=\"\";var e=t.index=t.data.index;return t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},Bj.update=function(t){var e,r,n,i,a=this.scene.glplot.gl,o=hN.solid;this.data=t;var s=Uj(this.scene,t);\"mode\"in s&&(this.mode=s.mode),\"lineDashes\"in s&&s.lineDashes in hN&&(o=hN[s.lineDashes]),this.color=qj(s.scatterColor)||qj(s.lineColor),this.dataPoints=s.position,e={gl:a,position:s.position,color:s.lineColor,lineWidth:s.lineWidth||1,dashes:o[0],dashScale:o[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf(\"lines\")?this.linePlot?this.linePlot.update(e):(this.linePlot=FN(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 l=t.opacity;if(t.marker&&t.marker.opacity&&(l*=t.marker.opacity),r={gl:a,position:s.position,color:s.scatterColor,size:s.scatterSize,glyph:s.scatterMarker,opacity:l,orthographic:!0,lineWidth:s.scatterLineWidth,lineColor:s.scatterLineColor,project:s.project,projectScale:s.projectScale,projectOpacity:s.projectOpacity},-1!==this.mode.indexOf(\"markers\")?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=uj(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),i={gl:a,position:s.position,glyph:s.text,color:s.textColor,size:s.textSize,angle:s.textAngle,alignment:s.textOffset,font:s.textFont,orthographic:!0,lineWidth:0,project:!1,opacity:t.opacity},this.textLabels=t.hovertext||t.text,-1!==this.mode.indexOf(\"text\")?this.textMarkers?this.textMarkers.update(i):(this.textMarkers=uj(i),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:a,position:s.position,color:s.errorColor,error:s.errorBounds,lineWidth:s.errorLineWidth,capSize:s.errorCapSize,opacity:t.opacity},this.errorBars?s.errorBounds?this.errorBars.update(n):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):s.errorBounds&&(this.errorBars=wN(n),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),s.delaunayAxis>=0){var u=function(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=sO(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}}(s.position,s.delaunayColor,s.delaunayAxis);u.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(u):(u.gl=a,this.delaunayMesh=SR(u),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)},Bj.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())};var Hj=function(t,e){var r=new Fj(t,e.uid);return r.update(e),r};var Gj={};Gj.plot=Hj,Gj.attributes=fN,Gj.markerSymbols=cN,Gj.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,fN,r,n)}if(function(t,e,r,n){var i=0,a=r(\"x\"),o=r(\"y\"),s=r(\"z\");return P.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],n),a&&o&&s&&(i=Math.min(a.length,o.length,s.length),e._xlength=e._ylength=e._zlength=i),i}(t,e,i,n)){i(\"text\"),i(\"hovertext\"),i(\"mode\"),Tr.hasLines(e)&&(i(\"connectgaps\"),px(t,e,r,n,i)),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{noSelect:!0}),Tr.hasText(e)&&vx(0,0,n,i,{noSelect:!0});var a=(e.line||{}).color,o=(e.marker||{}).color;i(\"surfaceaxis\")>=0&&i(\"surfacecolor\",a||o);for(var s=[\"x\",\"y\",\"z\"],l=0;l<3;++l){var u=\"projection.\"+s[l];i(u+\".show\")&&(i(u+\".opacity\"),i(u+\".scale\"))}var c=P.getComponentMethod(\"errorbars\",\"supplyDefaults\");c(t,e,r,{axis:\"z\"}),c(t,e,r,{axis:\"y\",inherit:\"z\"}),c(t,e,r,{axis:\"x\",inherit:\"z\"})}else e.visible=!1},Gj.colorbar=is,Gj.calc=nB,Gj.moduleType=\"trace\",Gj.name=\"scatter3d\",Gj.basePlotModule=SD,Gj.categories=[\"gl3d\",\"symbols\",\"markerColorscale\",\"showLegend\"],Gj.meta={};var Wj=Gj,Yj=m.extendFlat,Xj=Zr.marker,Zj=Zr.line,Jj=Xj.line,Kj={carpet:{valType:\"string\",editType:\"calc\"},a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},mode:Yj({},Zr.mode,{dflt:\"markers\"}),text:Yj({},Zr.text,{}),line:{color:Zj.color,width:Zj.width,dash:Zj.dash,shape:Yj({},Zj.shape,{values:[\"linear\",\"spline\"]}),smoothing:Zj.smoothing,editType:\"calc\"},connectgaps:Zr.connectgaps,fill:Yj({},Zr.fill,{values:[\"none\",\"toself\",\"tonext\"]}),fillcolor:Zr.fillcolor,marker:Yj({symbol:Xj.symbol,opacity:Xj.opacity,maxdisplayed:Xj.maxdisplayed,size:Xj.size,sizeref:Xj.sizeref,sizemin:Xj.sizemin,sizemode:Xj.sizemode,line:Yj({width:Jj.width,editType:\"calc\"},De()),gradient:Xj.gradient,editType:\"calc\"},De(),{showscale:Xj.showscale,colorbar:ze}),textfont:Zr.textfont,textposition:Zr.textposition,selected:Zr.selected,unselected:Zr.unselected,hoverinfo:Yj({},E.hoverinfo,{flags:[\"a\",\"b\",\"text\",\"name\"]}),hoveron:Zr.hoveron},Qj=sx,$j={};$j.attributes=Kj,$j.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Kj,r,n)}i(\"carpet\"),e.xaxis=\"x\",e.yaxis=\"y\";var a,o=i(\"a\"),s=i(\"b\");if(a=Math.min(o.length,s.length)){o&&a<o.length&&(e.a=o.slice(0,a)),s&&a<s.length&&(e.b=s.slice(0,a)),i(\"text\"),i(\"mode\",a<Wr.PTS_LINESONLY?\"lines+markers\":\"lines\"),Tr.hasLines(e)&&(px(t,e,r,n,i),dx(0,0,i),i(\"connectgaps\")),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{gradient:!0}),Tr.hasText(e)&&vx(0,0,n,i);var l=[];(Tr.hasMarkers(e)||Tr.hasText(e))&&(i(\"marker.maxdisplayed\"),l.push(\"points\")),i(\"fill\"),\"none\"!==e.fill&&(hx(0,e,r,i),Tr.hasLines(e)||dx(0,0,i)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||l.push(\"fills\"),i(\"hoveron\",l.join(\"+\")||\"points\"),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},$j.colorbar=is,$j.calc=function(t,e){var n=e.carpetTrace=mp(t,e);if(n&&n.visible&&\"legendonly\"!==n.visible){var i;e.xaxis=n.xaxis,e.yaxis=n.yaxis;var a,o,s=e.a.length,l=new Array(s),u=!1;for(i=0;i<s;i++)if(a=e.a[i],o=e.b[i],r(a)&&r(o)){var c=n.ab2xy(+a,+o,!0),h=n.isVisible(+a,+o);h||(u=!0),l[i]={x:c[0],y:c[1],a:a,b:o,vis:h}}else l[i]={x:!1,y:!1};return e._needsCull=u,l[0].carpet=n,l[0].trace=e,Qj(e,s),ex(e),dh(l,e),Ma(l,e),l}},$j.plot=function(t,e,r){var n,i,a,o=r[0][0].carpet,s={xaxis:ri.getFromId(t,o.xaxis||\"x\"),yaxis:ri.getFromId(t,o.yaxis||\"y\"),plot:e.plot};for(kx(t,s,r),n=0;n<r.length;n++)i=r[n][0].trace,a=s.plot.selectAll(\"g.trace\"+i.uid+\" .js-line\"),Sr.setClipUrl(a,o._clipPathId)},$j.style=Cx.style,$j.hoverPoints=function(t,e,r,n){var i=yx(t,e,r,n);if(i&&!1!==i[0].index){var a=i[0];if(void 0===a.index){var o=1-a.y0/t.ya._length,s=t.xa._length,l=s*o/2,u=s-l;return a.x0=Math.max(Math.min(a.x0,u),l),a.x1=Math.max(Math.min(a.x1,u),l),i}var c=a.cd[a.index];a.a=c.a,a.b=c.b,a.xLabelVal=void 0,a.yLabelVal=void 0;var h=a.trace,f=h._carpet,p=(c.hi||h.hoverinfo).split(\"+\"),d=[];-1!==p.indexOf(\"all\")&&(p=[\"a\",\"b\"]),-1!==p.indexOf(\"a\")&&_(f.aaxis,c.a),-1!==p.indexOf(\"b\")&&_(f.baxis,c.b);var g=f.ab2ij([c.a,c.b]),v=Math.floor(g[0]),m=g[0]-v,y=Math.floor(g[1]),x=g[1]-y,b=f.evalxy([],v,y,m,x);return d.push(\"y: \"+b[1].toFixed(3)),a.extraText=d.join(\"<br>\"),i}function _(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,\"\"):t._hovertitle,d.push(r+\": \"+e.toFixed(3)+t.labelsuffix)}},$j.selectPoints=Sx,$j.eventData=function(t,e,r,n,i){var a=n[i];return t.a=a.a,t.b=a.b,t},$j.moduleType=\"trace\",$j.name=\"scattercarpet\",$j.basePlotModule=ua,$j.categories=[\"carpet\",\"symbols\",\"markerColorscale\",\"showLegend\",\"carpetDependent\"],$j.meta={};var tV=$j,eV=t.BADNUM,rV=ne._,nV=function(t,e){for(var n=Array.isArray(e.locations),i=n?e.locations.length:e._length,a=new Array(i),o=0;o<i;o++){var s=a[o]={};if(n){var l=e.locations[o];s.loc=\"string\"==typeof l?l:null}else{var u=e.lon[o],c=e.lat[o];r(u)&&r(c)?s.lonlat=[+u,+c]:s.lonlat=[eV,eV]}}return dh(a,e),ex(e),Ma(a,e),i&&(a[0].t={labels:{lat:rV(t,\"lat:\")+\" \",lon:rV(t,\"lon:\")+\" \"}}),a};var iV=t.BADNUM;var aV={},oV=t.BADNUM;aV.calcTraceToLineCoords=function(t){for(var e=t[0].trace.connectgaps,r=[],n=[],i=0;i<t.length;i++){var a=t[i].lonlat;a[0]!==oV?n.push(a):!e&&n.length>0&&(r.push(n),n=[])}return n.length>0&&r.push(n),r},aV.makeLine=function(t){return 1===t.length?{type:\"LineString\",coordinates:t[0]}:{type:\"MultiLineString\",coordinates:t}},aV.makePolygon=function(t){if(1===t.length)return{type:\"Polygon\",coordinates:t};for(var e=new Array(t.length),r=0;r<t.length;r++)e[r]=[t[r]];return{type:\"MultiPolygon\",coordinates:e}},aV.makeBlank=function(){return{type:\"Point\",coordinates:[]}};var sV=Cx.stylePoints,lV=function(t,r){r&&function(t,r){var n=r[0].trace,i=r[0].node3;i.style(\"opacity\",r[0].trace.opacity),sV(i,n,t),i.selectAll(\"path.js-line\").style(\"fill\",\"none\").each(function(t){var r=e.select(this),n=t.trace,i=n.line||{};r.call(Oe.stroke,i.color).call(Sr.dashLine,i.dash||\"\",i.width||0),\"none\"!==n.fill&&r.call(Oe.fill,n.fillcolor)})}(t,r)};var uV=t.BADNUM,cV=Xu.getTopojsonFeatures,hV=mh.locationToFeature;function fV(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=cV(r,e),i=r.locationmode,a=0;a<t.length;a++){var o=t[a],s=hV(i,o.loc,n);o.lonlat=s?s.properties.ct:[uV,uV]}}var pV={};pV.attributes=uh,pV.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,uh,r,n)}!function(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),e._length=a,a)}(0,e,i)?e.visible=!1:(i(\"text\"),i(\"hovertext\"),i(\"mode\"),Tr.hasLines(e)&&(px(t,e,r,n,i),i(\"connectgaps\")),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{gradient:!0}),Tr.hasText(e)&&vx(0,0,n,i),i(\"fill\"),\"none\"!==e.fill&&hx(0,e,r,i))},pV.colorbar=is,pV.calc=nV,pV.plot=function(t,r,n){for(var i=0;i<n.length;i++)fV(n[i],r.topojson);function a(t,r){t.lonlat[0]===uV&&e.select(r).remove()}var o=r.layers.frontplot.select(\".scatterlayer\").selectAll(\"g.trace.scattergeo\").data(n,function(t){return t[0].trace.uid});o.enter().append(\"g\").attr(\"class\",\"trace scattergeo\"),o.exit().remove(),o.selectAll(\"*\").remove(),o.each(function(r){var n=r[0].node3=e.select(this),i=r[0].trace;if(Tr.hasLines(i)||\"none\"!==i.fill){var o=aV.calcTraceToLineCoords(r),s=\"none\"!==i.fill?aV.makePolygon(o):aV.makeLine(o);n.selectAll(\"path.js-line\").data([{geojson:s,trace:i}]).enter().append(\"path\").classed(\"js-line\",!0).style(\"stroke-miterlimit\",2)}Tr.hasMarkers(i)&&n.selectAll(\"path.point\").data(ne.identity).enter().append(\"path\").classed(\"point\",!0).each(function(t){a(t,this)}),Tr.hasText(i)&&n.selectAll(\"g\").data(ne.identity).enter().append(\"g\").append(\"text\").each(function(t){a(t,this)}),lV(t,r)})},pV.style=lV,pV.hoverPoints=function(t,e,r){var n=t.cd,i=n[0].trace,a=t.xa,o=t.ya,s=t.subplot,l=s.projection.isLonLatOverEdges,u=s.project;if(yo.getClosest(n,function(t){var n=t.lonlat;if(n[0]===iV)return 1/0;if(l(n))return 1/0;var i=u(n),a=u([e,r]),o=Math.abs(i[0]-a[0]),s=Math.abs(i[1]-a[1]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(o*o+s*s)-c,1-3/c)},t),!1!==t.index){var c=n[t.index],h=c.lonlat,f=[a.c2p(h),o.c2p(h)],p=c.mrc||1;return t.x0=f[0]-p,t.x1=f[0]+p,t.y0=f[1]-p,t.y1=f[1]+p,t.loc=c.loc,t.lon=h[0],t.lat=h[1],t.color=mx(i,c),t.extraText=function(t,e,r,n){var i=e.hi||t.hoverinfo,a=\"all\"===i?uh.hoverinfo.flags:i.split(\"+\"),o=-1!==a.indexOf(\"location\")&&Array.isArray(t.locations),s=-1!==a.indexOf(\"lon\"),l=-1!==a.indexOf(\"lat\"),u=-1!==a.indexOf(\"text\"),c=[];function h(t){return ri.tickText(r,r.c2l(t),\"hover\").text+\"\\xb0\"}return o?c.push(e.loc):s&&l?c.push(\"(\"+h(e.lonlat[0])+\", \"+h(e.lonlat[1])+\")\"):s?c.push(n.lon+h(e.lonlat[0])):l&&c.push(n.lat+h(e.lonlat[1])),u&&xo(e,t,c),c.join(\"<br>\")}(i,c,s.mockAxis,n[0].t.labels),[t]}},pV.eventData=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null,t},pV.selectPoints=function(t,e){var r,n,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[],h=s[0].trace;if(!Tr.hasMarkers(h)&&!Tr.hasText(h))return[];if(!1===e)for(o=0;o<s.length;o++)s[o].selected=0;else for(o=0;o<s.length;o++)n=(r=s[o]).lonlat,i=l.c2p(n),a=u.c2p(n),e.contains([i,a])?(c.push({pointNumber:o,lon:n[0],lat:n[1]}),r.selected=1):r.selected=0;return c},pV.moduleType=\"trace\",pV.name=\"scattergeo\",pV.basePlotModule=$c,pV.categories=[\"geo\",\"symbols\",\"markerColorscale\",\"showLegend\",\"scatter-like\"],pV.meta={};var dV=pV,gV=function(t,e){var r=\"number\"==typeof t,n=\"number\"==typeof e;r&&!n?(e=t,t=0):r||n||(t=0,e=0);var i=(e|=0)-(t|=0);if(i<0)throw new Error(\"array length must be positive\");for(var a=new Array(i),o=0,s=t;o<i;o++,s++)a[o]=s;return a},vV=mV;function mV(t,e){if(!(this instanceof mV))return new mV(t,e);this.nodeSize=e||64,this.coords=t.slice();var r=Math.floor(t.length/2);this.ids=Array(r);for(var n=0;n<r;n++)this.ids[n]=n;!function t(e,r,n,i,a,o){if(a-i<=n)return;var s=Math.floor((i+a)/2);!function t(e,r,n,i,a,o){for(;a>i;){if(a-i>600){var s=a-i+1,l=n-i+1,u=Math.log(s),c=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*c*(s-c)/s)*(l-s/2<0?-1:1),f=Math.max(i,Math.floor(n-l*c/s+h)),p=Math.min(a,Math.floor(n+(s-l)*c/s+h));t(e,r,n,f,p,o)}var d=r[2*n+o],g=i,v=a;for(xV(e,r,i,n),r[2*a+o]>d&&xV(e,r,i,a);g<v;){for(xV(e,r,g,v),g++,v--;r[2*g+o]<d;)g++;for(;r[2*v+o]>d;)v--}r[2*i+o]===d?xV(e,r,i,v):xV(e,r,++v,a),v<=n&&(i=v+1),n<=v&&(a=v-1)}}(e,r,s,i,a,o%2);t(e,r,n,i,s-1,o+1);t(e,r,n,s+1,a,o+1)}(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function yV(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}function xV(t,e,r,n){bV(t,r,n),bV(e,2*r,2*n),bV(e,2*r+1,2*n+1)}function bV(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}mV.prototype.range=function(t,e,r,n){for(var i,a,o=this.ids,s=this.coords,l=this.nodeSize,u=[0,o.length-1,0],c=[];u.length;){var h=u.pop(),f=u.pop(),p=u.pop();if(f-p<=l)for(var d=p;d<=f;d++)i=s[2*d],a=s[2*d+1],i>=t&&i<=r&&a>=e&&a<=n&&c.push(o[d]);else{var g=Math.floor((p+f)/2);i=s[2*g],a=s[2*g+1],i>=t&&i<=r&&a>=e&&a<=n&&c.push(o[g]);var v=(h+1)%2;(0===h?t<=i:e<=a)&&(u.push(p),u.push(g-1),u.push(v)),(0===h?r>=i:n>=a)&&(u.push(g+1),u.push(f),u.push(v))}}return c},mV.prototype.within=function(t,e,r){for(var n=this.ids,i=this.coords,a=this.nodeSize,o=[0,n.length-1,0],s=[],l=r*r;o.length;){var u=o.pop(),c=o.pop(),h=o.pop();if(c-h<=a)for(var f=h;f<=c;f++)yV(i[2*f],i[2*f+1],t,e)<=l&&s.push(n[f]);else{var p=Math.floor((h+c)/2),d=i[2*p],g=i[2*p+1];yV(d,g,t,e)<=l&&s.push(n[p]);var v=(u+1)%2;(0===u?t-r<=d:e-r<=g)&&(o.push(h),o.push(p-1),o.push(v)),(0===u?t+r>=d:e+r>=g)&&(o.push(p+1),o.push(c),o.push(v))}}return s};var _V=function(t,e){if(!t||null==t.length)throw Error(\"Argument should be an array\");e=null==e?1:Math.floor(e);for(var r=Array(2*e),n=0;n<e;n++){for(var i=-1/0,a=1/0,o=n,s=t.length;o<s;o+=e)t[o]>i&&(i=t[o]),t[o]<a&&(a=t[o]);r[n]=a,r[e+n]=i}return r};var wV=function(t,e,r){if(!t)throw new TypeError(\"must specify data as first parameter\");if(r=0|+(r||0),Array.isArray(t)&&Array.isArray(t[0])){var n=t[0].length,i=t.length*n;e&&\"string\"!=typeof e||(e=new(HC(e||\"float32\"))(i+r));var a=e.length-r;if(i!==a)throw new Error(\"source length \"+i+\" (\"+n+\"x\"+t.length+\") does not match destination length \"+a);for(var o=0,s=r;o<t.length;o++)for(var l=0;l<n;l++)e[s++]=t[o][l]}else if(e&&\"string\"!=typeof e)e.set(t,r);else{var u=HC(e||\"float32\");0===r?e=new u(t):(e=new u(t.length+r)).set(t,r)}return e};var MV=function(t,e,r){var n,i,a={};if(\"string\"==typeof e&&(e=kV(e)),Array.isArray(e)){var o={};for(i=0;i<e.length;i++)o[e[i]]=!0;e=o}for(n in e)e[n]=kV(e[n]);var s={};for(n in e){var l=e[n];if(Array.isArray(l))for(i=0;i<l.length;i++){var u=l[i];if(r&&(s[u]=!0),u in t){if(a[n]=t[u],r)for(var c=i;c<l.length;c++)s[l[c]]=!0;break}}else n in t&&(e[n]&&(a[n]=t[n]),r&&(s[n]=!0))}if(r)for(n in t)s[n]||(a[n]=t[n]);return a},AV={};function kV(t){return AV[t]?AV[t]:(\"string\"==typeof t&&(t=AV[t]=t.split(/\\s*,\\s*|\\s+/)),t)}var TV={};function SV(t){if(t instanceof Float32Array)return t;if(\"number\"==typeof t)return new Float32Array([t])[0];var e=new Float32Array(t);return e.set(t),e}(TV=SV).float32=TV.float=SV,TV.fract32=TV.fract=function(t){if(\"number\"==typeof t)return SV(t-SV(t));for(var e=SV(t),r=0,n=e.length;r<n;r++)e[r]=t[r]-e[r];return e};var EV=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n<i;n++){var a=r[n];for(var o in a)if((void 0===e[o]||Array.isArray(e[o])||t[o]!==e[o])&&o in e){var s;if(!0===a[o])s=e[o];else{if(!1===a[o])continue;if(\"function\"==typeof a[o]&&void 0===(s=a[o](e[o],t,e)))continue}t[o]=s}}return t},CV=TV.float32,LV=TV.fract32,zV=function(t,e){\"function\"==typeof t?(e||(e={}),e.regl=t):e=t;e.length&&(e.positions=e);if(!(t=e.regl).hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");var r,n,i,a,o,s,l=t._gl,u={color:\"black\",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},c=[];return a=t.buffer({usage:\"dynamic\",type:\"uint8\",data:null}),n=t.buffer({usage:\"dynamic\",type:\"float\",data:null}),i=t.buffer({usage:\"dynamic\",type:\"float\",data:null}),o=t.buffer({usage:\"dynamic\",type:\"float\",data:null}),s=t.buffer({usage:\"static\",type:\"float\",data:PV}),d(e),r=t({vert:\"\\n\\t\\tprecision highp float;\\n\\n\\t\\tattribute vec2 position, positionFract;\\n\\t\\tattribute vec4 error;\\n\\t\\tattribute vec4 color;\\n\\n\\t\\tattribute vec2 direction, lineOffset, capOffset;\\n\\n\\t\\tuniform vec4 viewport;\\n\\t\\tuniform float lineWidth, capSize;\\n\\t\\tuniform vec2 scale, scaleFract, translate, translateFract;\\n\\n\\t\\tvarying vec4 fragColor;\\n\\n\\t\\tvoid main() {\\n\\t\\t\\tfragColor = color / 255.;\\n\\n\\t\\t\\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\\n\\n\\t\\t\\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\\n\\n\\t\\t\\tvec2 position = position + dxy;\\n\\n\\t\\t\\tvec2 pos = (position + translate) * scale\\n\\t\\t\\t\\t+ (positionFract + translateFract) * scale\\n\\t\\t\\t\\t+ (position + translate) * scaleFract\\n\\t\\t\\t\\t+ (positionFract + translateFract) * scaleFract;\\n\\n\\t\\t\\tpos += pixelOffset / viewport.zw;\\n\\n\\t\\t\\tgl_Position = vec4(pos * 2. - 1., 0, 1);\\n\\t\\t}\\n\\t\\t\",frag:\"\\n\\t\\tprecision mediump float;\\n\\n\\t\\tvarying vec4 fragColor;\\n\\n\\t\\tuniform float opacity;\\n\\n\\t\\tvoid main() {\\n\\t\\t\\tgl_FragColor = fragColor;\\n\\t\\t\\tgl_FragColor.a *= opacity;\\n\\t\\t}\\n\\t\\t\",uniforms:{range:t.prop(\"range\"),lineWidth:t.prop(\"lineWidth\"),capSize:t.prop(\"capSize\"),opacity:t.prop(\"opacity\"),scale:t.prop(\"scale\"),translate:t.prop(\"translate\"),scaleFract:t.prop(\"scaleFract\"),translateFract:t.prop(\"translateFract\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{color:{buffer:a,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:n,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:i,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:o,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:s,stride:24,offset:0},lineOffset:{buffer:s,stride:24,offset:8},capOffset:{buffer:s,stride:24,offset:16}},primitive:\"triangles\",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(\"viewport\")},viewport:t.prop(\"viewport\"),stencil:!1,instances:t.prop(\"count\"),count:PV.length}),Us(h,{update:d,draw:f,destroy:g,regl:t,gl:l,canvas:l.canvas,groups:c}),h;function h(t){t?d(t):null===t&&g(),f()}function f(e){if(\"number\"==typeof e)return p(e);e&&!Array.isArray(e)&&(e=[e]),t._refresh(),c.forEach(function(t,r){t&&(e&&(e[r]?t.draw=!0:t.draw=!1),t.draw?p(r):t.draw=!0)})}function p(t){\"number\"==typeof t&&(t=c[t]),null!=t&&t&&t.count&&t.color&&t.opacity&&t.positions&&t.positions.length>1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function d(t){if(t){null!=t.length?\"number\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(c=t.map(function(t,n){var i=c[n];return t?(\"function\"==typeof t?t={after:t}:\"number\"==typeof t[0]&&(t={positions:t}),t=MV(t,{color:\"color colors fill\",capSize:\"capSize cap capsize cap-size\",lineWidth:\"lineWidth line-width width line thickness\",opacity:\"opacity alpha\",range:\"range dataBox\",viewport:\"viewport viewBox\",errors:\"errors error\",positions:\"positions position data points\"}),i||(c[n]=i={id:n,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=Us({},u,t)),EV(i,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=wV(t),r+=t.length,t},positions:function(t,r){return t=wV(t,\"float64\"),r.count=Math.floor(t.length/2),r.bounds=_V(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t=\"transparent\"),!Array.isArray(t)||\"number\"==typeof t[0]){var n=t;t=Array(r);for(var i=0;i<r;i++)t[i]=n}if(t.length<r)throw Error(\"Not enough colors\");for(var a=new Uint8Array(4*r),o=0;o<r;o++){var s=GC(t[o],\"uint8\");a.set(s,4*o)}return a},range:function(t,e,r){var n=e.bounds;return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=LV(e.scale),e.translateFract=LV(e.translate),t},viewport:function(t){var e;return Array.isArray(t)?e={x:t[0],y:t[1],width:t[2]-t[0],height:t[3]-t[1]}:t?(e={x:t.x||t.left||0,y:t.y||t.top||0},t.right?e.width=t.right-e.x:e.width=t.w||t.width||0,t.bottom?e.height=t.bottom-e.y:e.height=t.h||t.height||0):e={x:0,y:0,width:l.drawingBufferWidth,height:l.drawingBufferHeight},e}}]),i):i}),e||r){var s=c.reduce(function(t,e,r){return t+(e?e.count:0)},0),h=new Float64Array(2*s),f=new Uint8Array(4*s),p=new Float32Array(4*s);c.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset,a=t.color,o=t.errors;n&&(f.set(a,4*i),p.set(o,4*i),h.set(r,2*i))}}),n(CV(h)),i(LV(h)),a(f),o(p)}}}function g(){n.destroy(),i.destroy(),a.destroy(),o.destroy(),s.destroy()}},PV=[[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]];var IV=function(t,e,r){if(!t||null==t.length)throw Error(\"Argument should be an array\");null==e&&(e=1);null==r&&(r=_V(t,e));for(var n=0;n<e;n++){var i=r[e+n],a=r[n],o=n,s=t.length;if(i===1/0&&a===-1/0)for(o=n;o<s;o+=e)t[o]=t[o]===i?1:t[o]===a?0:.5;else if(i===1/0)for(o=n;o<s;o+=e)t[o]=t[o]===i?1:0;else if(a===-1/0)for(o=n;o<s;o+=e)t[o]=t[o]===a?0:1;else{var l=i-a;for(o=n;o<s;o+=e)t[o]=0===l?.5:(t[o]-a)/l}}return t};var DV={};function OV(t,e,r){r=r||2;var n,i,a,o,s,l,u,c=e&&e.length,h=c?e[0]*r:t.length,f=RV(t,0,h,r,!0),p=[];if(!f)return p;if(c&&(f=function(t,e,r,n){var i,a,o,s,l,u=[];for(i=0,a=e.length;i<a;i++)o=e[i]*n,s=i<a-1?e[i+1]*n:t.length,(l=RV(t,o,s,n,!1))===l.next&&(l.steiner=!0),u.push(WV(l));for(u.sort(qV),i=0;i<u.length;i++)HV(u[i],r),r=FV(r,r.next);return r}(t,e,f,r)),t.length>80*r){n=a=t[0],i=o=t[1];for(var d=r;d<h;d+=r)s=t[d],l=t[d+1],s<n&&(n=s),l<i&&(i=l),s>a&&(a=s),l>o&&(o=l);u=0!==(u=Math.max(a-n,o-i))?1/u:0}return BV(f,p,r,n,i,u),p}function RV(t,e,r,n,i){var a,o;if(i===nU(t,e,r,n)>0)for(a=e;a<r;a+=n)o=tU(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=tU(a,t[a],t[a+1],o);return o&&JV(o,o.next)&&(eU(o),o=o.next),o}function FV(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!JV(n,n.next)&&0!==ZV(n.prev,n,n.next))n=n.next;else{if(eU(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function BV(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=GV(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,function(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&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,u=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?jV(t,n,i,a):NV(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),eU(t),t=l.next,u=l.next;else if((t=l)===u){o?1===o?BV(t=VV(t,e,r),e,r,n,i,a,2):2===o&&UV(t,e,r,n,i,a):BV(FV(t),e,r,n,i,a,1);break}}}function NV(t){var e=t.prev,r=t,n=t.next;if(ZV(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(YV(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&ZV(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function jV(t,e,r,n){var i=t.prev,a=t,o=t.next;if(ZV(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=GV(s,l,e,r,n),f=GV(u,c,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=h&&d&&d.z<=f;){if(p!==t.prev&&p!==t.next&&YV(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ZV(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&YV(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ZV(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=h;){if(p!==t.prev&&p!==t.next&&YV(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ZV(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=f;){if(d!==t.prev&&d!==t.next&&YV(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ZV(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function VV(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!JV(i,a)&&KV(i,n,n.next,a)&&QV(i,a)&&QV(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),eU(n),eU(n.next),n=t=a),n=n.next}while(n!==t);return n}function UV(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&XV(o,s)){var l=$V(o,s);return o=FV(o,o.next),l=FV(l,l.next),BV(o,e,r,n,i,a),void BV(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function qV(t,e){return t.x-e.x}function HV(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.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;n=r.next;for(;n!==u;)i>=n.x&&n.x>=c&&i!==n.x&&YV(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)&&QV(n,t)&&(r=n,f=l),n=n.next;return r}(t,e)){var r=$V(e,t);FV(r,r.next)}}function GV(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function WV(t){var e=t,r=t;do{e.x<r.x&&(r=e),e=e.next}while(e!==t);return r}function YV(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 XV(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(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&&KV(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&QV(t,e)&&QV(e,t)&&function(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&&r.next.y!==r.y&&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}(t,e)}function ZV(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function JV(t,e){return t.x===e.x&&t.y===e.y}function KV(t,e,r,n){return!!(JV(t,e)&&JV(r,n)||JV(t,n)&&JV(r,e))||ZV(t,e,r)>0!=ZV(t,e,n)>0&&ZV(r,n,t)>0!=ZV(r,n,e)>0}function QV(t,e){return ZV(t.prev,t,t.next)<0?ZV(t,e,t.next)>=0&&ZV(t,t.prev,e)>=0:ZV(t,e,t.prev)<0||ZV(t,t.next,e)<0}function $V(t,e){var r=new rU(t.i,t.x,t.y),n=new rU(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 tU(t,e,r,n){var i=new rU(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 eU(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 rU(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 nU(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}(DV=OV).default=OV,OV.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(nU(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(nU(t,u,c,r))}var h=0;for(s=0;s<n.length;s+=3){var f=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;h+=Math.abs((t[f]-t[d])*(t[p+1]-t[f+1])-(t[f]-t[p])*(t[d+1]-t[f+1]))}return 0===o&&0===h?0:Math.abs((h-o)/o)},OV.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};var iU=function(t,e){\"function\"==typeof t?(e||(e={}),e.regl=t):e=t;e.length&&(e.positions=e);if(!(t=e.regl).hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");var r,n,i,a,o,s,l,u,c=t._gl,h={positions:[],dashes:null,join:null,miterLimit:1,thickness:10,cap:\"square\",color:\"black\",opacity:1,overlay:!1,viewport:null,range:null,close:null,fill:null},f=[],p=2,d=3e6,g=1e4;a=t.buffer({usage:\"dynamic\",type:\"uint8\",data:null}),o=t.buffer({usage:\"static\",type:\"float\",data:[0,1,0,0,1,1,1,0]}),s=t.buffer({usage:\"dynamic\",type:\"float\",data:null}),l=t.buffer({usage:\"dynamic\",type:\"float\",data:null}),u=t.texture({channels:1,data:new Uint8Array(524288),width:256,height:2048,mag:\"linear\",min:\"linear\"}),b(e);var v={primitive:\"triangle strip\",instances:t.prop(\"count\"),count:4,offset:0,uniforms:{miterMode:function(t,e){return\"round\"===e.join?2:1},miterLimit:t.prop(\"miterLimit\"),scale:t.prop(\"scale\"),scaleFract:t.prop(\"scaleFract\"),translateFract:t.prop(\"translateFract\"),translate:t.prop(\"translate\"),thickness:t.prop(\"thickness\"),dashPattern:u,dashLength:t.prop(\"dashLength\"),dashShape:[256,2048],opacity:t.prop(\"opacity\"),pixelRatio:t.context(\"pixelRatio\"),id:t.prop(\"id\"),scaleRatio:t.prop(\"scaleRatio\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:function(t,e){return!e.overlay}},scissor:{enable:!0,box:t.prop(\"viewport\")},stencil:!1,viewport:t.prop(\"viewport\")};function m(t){t?b(t):null===t&&_(),y()}function y(t){if(\"number\"==typeof t)return x(t);t&&!Array.isArray(t)&&(t=[t]),f.forEach(function(t,e){x(e)})}function x(e){\"number\"==typeof e&&(e=f[e]),e&&e.count&&e.opacity&&e.positions&&e.positions.length>2&&(t._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&i(e),e.thickness&&e.color&&(e.scaleRatio=[e.scale[0]*e.viewport.width,e.scale[1]*e.viewport.height],e.scaleRatio[0]>d||e.scaleRatio[1]>d?n(e):\"rect\"===e.join||!e.join&&(e.thickness<=2||e.positions.length>=g)?n(e):r(e),e.after&&e.after(e)))}function b(t){if(t){null!=t.length?\"number\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0;if(m.lines=f=t.map(function(t,r){var n=f[r];return void 0===t?n:(null===t?t={positions:null}:\"function\"==typeof t?t={after:t}:\"number\"==typeof t[0]&&(t={positions:t}),null===(t=MV(t,{positions:\"positions points data coords\",thickness:\"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth\",join:\"lineJoin linejoin join type mode\",miterLimit:\"miterlimit miterLimit\",dashes:\"dash dashes dasharray dash-array dashArray\",color:\"color stroke colors stroke-color strokeColor\",fill:\"fill fill-color fillColor\",opacity:\"alpha opacity\",overlay:\"overlay crease overlap intersect\",close:\"closed close closed-path closePath\",range:\"range dataBox\",viewport:\"viewport viewBox\",hole:\"holes hole hollow\",after:\"after callback done pass\"})).positions&&(t.positions=[]),n||(f[r]=n={id:r,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,offset:0,dashLength:0,hole:!0},t=Us({},h,t)),EV(n,t,[{thickness:parseFloat,opacity:parseFloat,miterLimit:parseFloat,overlay:Boolean,join:function(t){return t},after:function(t){return t},hole:function(t){return t||[]},positions:function(t,r,n){t=wV(t,\"float64\");var i=Math.floor(t.length/2),a=_V(t,2);return r.range||n.range||(n.range=a),r.count=i,r.bounds=a,e+=i,t},fill:function(t){return t?GC(t,\"uint8\"):null},dashes:function(t,e,r){var n,i=e.dashLength;if(!t||t.length<2)i=1,n=new Uint8Array([255,255,255,255,255,255,255,255]);else{i=0;for(var a=0;a<t.length;++a)i+=t[a];n=new Uint8Array(i*p);for(var o=0,s=255,l=0;l<2;l++)for(var c=0;c<t.length;++c){for(var h=0,f=t[c]*p*.5;h<f;++h)n[o++]=s;s^=255}}return u.subimage({data:n,width:n.length,height:1},0,e.id),e.dashLength=i,n}},{close:function(t,e,r){return null!=t?t:e.positions.length>=4&&e.positions[0]===e.positions[e.positions.length-2]&&e.positions[1]===e.positions[e.positions.length-1]},positions:function(t,e,r){if(e.fill&&t.length){for(var n=[],i={},a=0,o=0,s=0,l=e.count;o<l;o++){var u=e.positions[2*o],c=e.positions[2*o+1];Number.isNaN(u)||Number.isNaN(c)?(u=e.positions[2*a],c=e.positions[2*a+1],i[o]=a):a=o,n[s++]=u,n[s++]=c}for(var h=DV(n,e.hole),f=0,p=h.length;f<p;f++)null!=i[h[f]]&&(h[f]=i[h[f]]);e.triangles=h}return e.positions},color:function(t,e,r){var n=e.count;if(t||(t=\"transparent\"),!Array.isArray(t)||\"number\"==typeof t[0]){var i=t;t=Array(n);for(var a=0;a<n;a++)t[a]=i}if(t.length<n)throw Error(\"Not enough colors\");for(var o=new Uint8Array(4*n+4),s=0;s<n;s++){var l=GC(t[s],\"uint8\");o.set(l,4*s)}return o},range:function(t,e,r){if(!e.count)return null;var n=e.bounds;t||(t=n);var i=n[2]-n[0],a=n[3]-n[1],o=t[2]-t[0],s=t[3]-t[1];return e.scale=[i/o,a/s],e.translate=[-t[0]/o+n[0]/o||0,-t[1]/s+n[1]/s||0],e.scaleFract=aU(e.scale),e.translateFract=aU(e.translate),t},viewport:function(t){var e;return Array.isArray(t)?e={x:t[0],y:t[1],width:t[2]-t[0],height:t[3]-t[1]}:t?(e={x:t.x||t.left||0,y:t.y||t.top||0},t.right?e.width=t.right-e.x:e.width=t.w||t.width||0,t.bottom?e.height=t.bottom-e.y:e.height=t.h||t.height||0):e={x:0,y:0,width:c.drawingBufferWidth,height:c.drawingBufferHeight},e}}]),n)}),e){var r=2*e+6*f.length,n=new Float64Array(r),i=0,o=new Uint8Array(2*r);f.forEach(function(t,e){if(t){var r=t.positions,a=t.count,s=t.color;if(t.offset=i,a){var l=new Float64Array(r.length);l.set(r),IV(l,2,t.bounds),t.close?r[0]===r[2*a-2]&&r[1]===r[2*a-1]?(n[2*i+0]=l[2*a-4],n[2*i+1]=l[2*a-3]):(n[2*i+0]=l[2*a-2],n[2*i+1]=l[2*a-1]):(n[2*i+0]=l[0],n[2*i+1]=l[1]),o[4*i+0]=s[0],o[4*i+1]=s[1],o[4*i+2]=s[2],o[4*i+3]=s[3],n.set(l,2*i+2),o.set(s,4*i+4),t.close?r[0]===r[2*a-2]&&r[1]===r[2*a-1]?(n[2*i+2*a+2]=l[2],n[2*i+2*a+3]=l[3],i+=a+2,t.count-=1):(n[2*i+2*a+2]=l[0],n[2*i+2*a+3]=l[1],n[2*i+2*a+4]=l[2],n[2*i+2*a+5]=l[3],i+=a+3):(n[2*i+2*a+2]=l[2*a-2],n[2*i+2*a+3]=l[2*a-1],n[2*i+2*a+4]=l[2*a-2],n[2*i+2*a+5]=l[2*a-1],i+=a+3)}}}),a(o),s(function(t){if(t instanceof Float32Array)return t;var e=new Float32Array(t);return e.set(t),e}(n)),l(aU(n))}return m}}function _(){f.length=0,a.destroy(),o.destroy(),s.destroy(),u.destroy()}return r=t(Us({cull:{enable:!0,face:\"back\"},vert:E_([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aCoord, bCoord, nextCoord, prevCoord;\\nattribute vec4 aColor, bColor;\\nattribute float lineEnd, lineTop;\\n\\nuniform vec2 scale, translate, scaleRatio;\\nuniform float thickness, pixelRatio, id;\\nuniform vec4 viewport;\\nuniform float miterLimit, dashLength, miterMode;\\n\\nvarying vec4 fragColor;\\nvarying vec4 startCutoff, endCutoff;\\nvarying vec2 tangent;\\nvarying vec2 startCoord, endCoord;\\nvarying float enableStartMiter, enableEndMiter;\\n\\nconst float MAX_LINES = 256.;\\nconst float REVERSE_THRESHOLD = -.875;\\nconst float MIN_DIST = 1.;\\n\\n//TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\\n//TODO: precalculate dot products, normalize things beforehead etc.\\n\\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\\n\\tvec2 diff = b - a;\\n\\tvec2 perp = normalize(vec2(-diff.y, diff.x));\\n\\treturn dot(p - a, perp);\\n}\\n\\nbool isNaN( float val ){\\n  return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\\n}\\n\\nvoid main() {\\n\\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\\n\\tvec2 normalWidth = thickness / scaleRatio;\\n\\n\\tfloat lineStart = 1. - lineEnd;\\n\\tfloat lineBot = 1. - lineTop;\\n\\tfloat depth = (MAX_LINES - 1. - id) / MAX_LINES;\\n\\n\\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\\n\\n\\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\\n\\n\\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\\n\\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\\n\\n\\tvec2 prevDiff = aCoord - prevCoord;\\n\\tvec2 currDiff = bCoord - aCoord;\\n\\tvec2 nextDiff = nextCoord - bCoord;\\n\\n\\tvec2 prevDirection = normalize(prevDiff);\\n\\tvec2 currDirection = normalize(currDiff);\\n\\tvec2 nextDirection = normalize(nextDiff);\\n\\n\\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\\n\\tvec2 currTangent = normalize(currDiff * scaleRatio);\\n\\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\\n\\n\\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\\n\\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\\n\\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\\n\\n\\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\\n\\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\\n\\n\\t//collapsed/unidirectional segment cases\\n\\tif (prevDirection == currDirection) {\\n\\t\\tstartJoinDirection = currNormal;\\n\\t}\\n\\tif (nextDirection == currDirection) {\\n\\t\\tendJoinDirection = currNormal;\\n\\t}\\n\\tif (aCoord == bCoord) {\\n\\t\\tendJoinDirection = startJoinDirection;\\n\\t\\tcurrNormal = prevNormal;\\n\\t\\tcurrTangent = prevTangent;\\n\\t}\\n\\n\\ttangent = currTangent;\\n\\n\\t//calculate join shifts relative to normals\\n\\tfloat startJoinShift = dot(currNormal, startJoinDirection);\\n\\tfloat endJoinShift = dot(currNormal, endJoinDirection);\\n\\n\\tfloat startMiterRatio = abs(1. / startJoinShift);\\n\\tfloat endMiterRatio = abs(1. / endJoinShift);\\n\\n\\tvec2 startJoin = startJoinDirection * startMiterRatio;\\n\\tvec2 endJoin = endJoinDirection * endMiterRatio;\\n\\n\\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\\n\\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\\n\\tstartBotJoin = -startTopJoin;\\n\\n\\tendTopJoin = sign(endJoinShift) * endJoin * .5;\\n\\tendBotJoin = -endTopJoin;\\n\\n\\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\\n\\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\\n\\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\\n\\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\\n\\n\\t//miter anti-clipping\\n\\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\\n\\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\\n\\n\\t//prevent close to reverse direction switch\\n\\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) <  length(normalWidth * currNormal);\\n\\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) <  length(normalWidth * currNormal);\\n\\n\\tif (prevReverse) {\\n\\t\\t//make join rectangular\\n\\t\\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\\n\\t\\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\\n\\t\\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\\n\\t\\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\\n\\t}\\n\\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\tbTopCoord -= normalWidth * endTopJoin;\\n\\t\\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\\n\\t}\\n\\n\\tif (nextReverse) {\\n\\t\\t//make join rectangular\\n\\t\\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\\n\\t\\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\\n\\t\\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\\n\\t\\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\\n\\t}\\n\\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\taBotCoord -= normalWidth * startBotJoin;\\n\\t\\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\\n\\t}\\n\\n\\tvec2 aTopPosition = (aTopCoord) * scale + translate;\\n\\tvec2 aBotPosition = (aBotCoord) * scale + translate;\\n\\n\\tvec2 bTopPosition = (bTopCoord) * scale + translate;\\n\\tvec2 bBotPosition = (bBotCoord) * scale + translate;\\n\\n\\t//position is normalized 0..1 coord on the screen\\n\\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\\n\\n\\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\n\\tgl_Position = vec4(position  * 2.0 - 1.0, depth, 1);\\n\\n\\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\\n\\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\\n\\n\\t//bevel miter cutoffs\\n\\tif (miterMode == 1.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n\\n\\t//round miter cutoffs\\n\\telse if (miterMode == 2.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n}\\n\"]),frag:E_([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D dashPattern;\\nuniform vec2 dashShape;\\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\nvarying vec4 startCutoff, endCutoff;\\nvarying vec2 startCoord, endCoord;\\nvarying float enableStartMiter, enableEndMiter;\\n\\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\\n\\tvec2 diff = b - a;\\n\\tvec2 perp = normalize(vec2(-diff.y, diff.x));\\n\\treturn dot(p - a, perp);\\n}\\n\\nvoid main() {\\n\\tfloat alpha = 1., distToStart, distToEnd;\\n\\tfloat cutoff = thickness * .5;\\n\\n\\t//bevel miter\\n\\tif (miterMode == 1.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\\n\\t\\t\\tif (distToStart < -1.) {\\n\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\talpha *= min(max(distToStart + 1., 0.), 1.);\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\\n\\t\\t\\tif (distToEnd < -1.) {\\n\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\talpha *= min(max(distToEnd + 1., 0.), 1.);\\n\\t\\t}\\n\\t}\\n\\n\\t// round miter\\n\\telse if (miterMode == 2.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\\n\\t\\t\\tif (distToStart < 0.) {\\n\\t\\t\\t\\tfloat radius = length(gl_FragCoord.xy - startCoord);\\n\\n\\t\\t\\t\\tif(radius > cutoff + .5) {\\n\\t\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\\n\\t\\t\\tif (distToEnd < 0.) {\\n\\t\\t\\t\\tfloat radius = length(gl_FragCoord.xy - endCoord);\\n\\n\\t\\t\\t\\tif(radius > cutoff + .5) {\\n\\t\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\\n\\tfloat dash = texture2D(dashPattern, vec2(t * dashLength * 2. / dashShape.x, (id + .5) / dashShape.y)).r;\\n\\n\\tgl_FragColor = fragColor * dash;\\n\\tgl_FragColor.a *= alpha * opacity * dash;\\n}\\n\"]),attributes:{lineEnd:{buffer:o,divisor:0,stride:8,offset:0},lineTop:{buffer:o,divisor:0,stride:8,offset:4},aColor:{buffer:a,stride:4,offset:function(t,e){return 4*e.offset},divisor:1},bColor:{buffer:a,stride:4,offset:function(t,e){return 4*e.offset+4},divisor:1},prevCoord:{buffer:s,stride:8,offset:function(t,e){return 8*e.offset},divisor:1},aCoord:{buffer:s,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoord:{buffer:s,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},nextCoord:{buffer:s,stride:8,offset:function(t,e){return 24+8*e.offset},divisor:1}}},v)),n=t(Us({vert:E_([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\\nattribute vec4 color;\\nattribute float lineEnd, lineTop;\\n\\nuniform vec2 scale, scaleFract, translate, translateFract, scaleRatio;\\nuniform float thickness, pixelRatio, id;\\nuniform vec4 viewport;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\n\\nconst float MAX_LINES = 256.;\\n\\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\\n\\t// the order is important\\n\\treturn position * scale + translate\\n       + positionFract * scale + translateFract\\n       + position * scaleFract\\n       + positionFract * scaleFract;\\n}\\n\\nvoid main() {\\n\\t// vec2 scaleRatio = scale * viewport.zw;\\n\\tvec2 normalWidth = thickness / scaleRatio;\\n\\n\\tfloat lineStart = 1. - lineEnd;\\n\\tfloat lineOffset = lineTop * 2. - 1.;\\n\\tfloat depth = (MAX_LINES - 1. - id) / (MAX_LINES);\\n\\n\\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\\n\\ttangent = normalize(diff * scaleRatio);\\n\\tvec2 normal = vec2(-tangent.y, tangent.x);\\n\\n\\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\\n\\t\\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\\n\\n\\t\\t+ thickness * normal * .5 * lineOffset / viewport.zw;\\n\\n\\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\\n\\n\\tfragColor = color / 255.;\\n}\\n\"]),frag:E_([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D dashPattern;\\nuniform vec2 dashShape;\\nuniform float dashLength, pixelRatio, thickness, opacity, id;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\n\\nvoid main() {\\n\\tfloat alpha = 1.;\\n\\n\\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\\n\\tfloat dash = texture2D(dashPattern, vec2(t * dashLength * 2. / dashShape.x, (id + .5) / dashShape.y)).r;\\n\\n\\tgl_FragColor = fragColor * dash;\\n\\tgl_FragColor.a *= alpha * opacity * dash;\\n}\\n\"]),attributes:{lineEnd:{buffer:o,divisor:0,stride:8,offset:0},lineTop:{buffer:o,divisor:0,stride:8,offset:4},aCoord:{buffer:s,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoord:{buffer:s,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},aCoordFract:{buffer:l,stride:8,offset:function(t,e){return 8+8*e.offset},divisor:1},bCoordFract:{buffer:l,stride:8,offset:function(t,e){return 16+8*e.offset},divisor:1},color:{buffer:a,stride:4,offset:function(t,e){return 4*e.offset},divisor:1}}},v)),i=t({primitive:\"triangle\",elements:function(t,e){return e.triangles},offset:0,vert:E_([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position, positionFract;\\n\\nuniform vec4 color;\\nuniform vec2 scale, scaleFract, translate, translateFract, scaleRatio;\\nuniform float pixelRatio, id;\\nuniform vec4 viewport;\\n\\nvarying vec4 fragColor;\\n\\nconst float MAX_LINES = 256.;\\n\\nvoid main() {\\n\\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\\n\\n\\tvec2 position = position * scale + translate\\n       + positionFract * scale + translateFract\\n       + position * scaleFract\\n       + positionFract * scaleFract;\\n\\n\\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\\n\\n\\tfragColor = color / 255.;\\n}\\n\"]),frag:E_([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform float opacity;\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n\\tgl_FragColor = fragColor;\\n\\tgl_FragColor.a *= opacity;\\n}\\n\"]),uniforms:{scale:t.prop(\"scale\"),color:t.prop(\"fill\"),scaleFract:t.prop(\"scaleFract\"),translateFract:t.prop(\"translateFract\"),translate:t.prop(\"translate\"),opacity:t.prop(\"opacity\"),pixelRatio:t.context(\"pixelRatio\"),id:t.prop(\"id\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:s,stride:8,offset:function(t,e){return 8+8*e.offset}},positionFract:{buffer:l,stride:8,offset:function(t,e){return 8+8*e.offset}}},blend:v.blend,depth:{enable:!1},scissor:v.scissor,stencil:v.stencil,viewport:v.viewport}),Us(m,{update:b,draw:y,destroy:_,regl:t,gl:c,canvas:c.canvas,lines:f}),m};function aU(t){var e=new Float32Array(t.length);e.set(t);for(var r=0,n=e.length;r<n;r++)e[r]=t[r]-e[r];return e}var oU={};function sU(t,e){null==e&&(e=!0);var r=t[0],n=t[1],i=t[2],a=t[3];return null==a&&(a=e?1:255),e&&(r*=255,n*=255,i*=255,a*=255),16777216*(r=255&FC(r,0,255))+((n=255&FC(n,0,255))<<16)+((i=255&FC(i,0,255))<<8)+(a=255&FC(a,0,255))}(oU=sU).to=sU,oU.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]};var lU=\"undefined\"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion)),uU=function(t){var e;arguments.length>1&&(t=arguments);\"string\"==typeof t&&(t=t.split(/\\s/).map(parseFloat));t.length&&\"number\"==typeof t[0]?e=2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(t=MV(t,{left:\"x l left Left\",top:\"y t top Top\",width:\"w width\",height:\"h height\",bottom:\"b bottom\",right:\"r right\"}),e={x:t.left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height);return e};function cU(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 hU(t,e,r,n){return new Function([cU(\"A\",\"x\"+t+\"y\",e,[\"y\"],n),cU(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],n),\"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(\"\"))()}var fU={ge:hU(\">=\",!1,\"GE\"),gt:hU(\">\",!1,\"GT\"),lt:hU(\"<\",!0,\"LT\"),le:hU(\"<=\",!0,\"LE\"),eq:hU(\"-\",!0,\"EQ\",!0)},pU=function(t,e,r,n,i){i<=4*dU?gU(0,i-1,t,e,r,n):function t(e,r,n,i,a,o){var s=(r-e+1)/6|0,l=e+s,u=r-s,c=e+r>>1,h=c-s,f=c+s,p=l,d=h,g=c,v=f,m=u,y=e+1,x=r-1,b=0;bU(p,d,n,i,a)&&(b=p,p=d,d=b);bU(v,m,n,i,a)&&(b=v,v=m,m=b);bU(p,g,n,i,a)&&(b=p,p=g,g=b);bU(d,g,n,i,a)&&(b=d,d=g,g=b);bU(p,v,n,i,a)&&(b=p,p=v,v=b);bU(g,v,n,i,a)&&(b=g,g=v,v=b);bU(d,m,n,i,a)&&(b=d,d=m,m=b);bU(d,g,n,i,a)&&(b=d,d=g,g=b);bU(v,m,n,i,a)&&(b=v,v=m,m=b);var _=n[d];var w=i[2*d];var M=i[2*d+1];var A=a[d];var k=o[d];var T=n[v];var S=i[2*v];var E=i[2*v+1];var C=a[v];var L=o[v];var z=p;var P=g;var I=m;var D=l;var O=c;var R=u;var F=n[z];var B=n[P];var N=n[I];n[D]=F;n[O]=B;n[R]=N;for(var j=0;j<2;++j){var V=i[2*z+j],U=i[2*P+j],q=i[2*I+j];i[2*D+j]=V,i[2*O+j]=U,i[2*R+j]=q}var H=a[z];var G=a[P];var W=a[I];a[D]=H;a[O]=G;a[R]=W;var Y=o[z];var X=o[P];var Z=o[I];o[D]=Y;o[O]=X;o[R]=Z;mU(h,e,n,i,a,o);mU(f,r,n,i,a,o);for(var J=y;J<=x;++J)if(_U(J,_,w,M,A,n,i,a))J!==y&&vU(J,y,n,i,a,o),++y;else if(!_U(J,T,S,E,C,n,i,a))for(;;){if(_U(x,T,S,E,C,n,i,a)){_U(x,_,w,M,A,n,i,a)?(yU(J,y,x,n,i,a,o),++y,--x):(vU(J,x,n,i,a,o),--x);break}if(--x<J)break}xU(e,y-1,_,w,M,A,k,n,i,a,o);xU(r,x+1,T,S,E,C,L,n,i,a,o);y-2-e<=dU?gU(e,y-2,n,i,a,o):t(e,y-2,n,i,a,o);r-(x+2)<=dU?gU(x+2,r,n,i,a,o):t(x+2,r,n,i,a,o);x-y<=dU?gU(y,x,n,i,a,o):t(y,x,n,i,a,o)}(0,i-1,t,e,r,n)},dU=32;function gU(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 p=r[f-1],d=n[2*(f-1)];if((p-s||l-d)>=0)break;r[f]=p,n[2*f]=d,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 vU(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 mU(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 yU(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 xU(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 bU(t,e,r,n,i){return(r[t]-r[e]||n[2*e]-n[2*t]||i[t]-i[e])<0}function _U(t,e,r,n,i,a,o,s){return(e-a[t]||o[2*t]-r||i-s[t])<0}var wU=function(t,e,r,n){var i=t.length>>>1;if(i<1)return[];e||(e=Array(i));r||(r=Array(i));n||(n=[]);for(var a=0;a<i;++a)e[a]=a;if(!n.length||n.length<4||n[0]>=n[2]||n[1]>=n[3]){var o=_V(t,2);o[0]===o[2]&&(o[2]+=1),o[1]===o[3]&&(o[3]+=1),n[0]=o[0],n[1]=o[1],n[2]=o[2],n[3]=o[3]}var s=n[0],l=n[1],u=n[2],c=n[3],h=1/(u-s),f=1/(c-l),p=Math.max(u-s,c-l),d=new Int32Array(i),g=0;(function n(i,a,o,s,l,u){var c=.5*o;var h=s+1;var f=l-s;r[g]=f;d[g++]=u;for(var p=0;p<2;++p)for(var v=0;v<2;++v){var m=i+p*c,y=a+v*c,x=MU(t,e,h,l,m,y,m+c,y+c);if(x!==h){if(x-h>=Math.max(.9*f,32)){var b=l+s>>>1;n(m,y,c,h,b,u+1),h=b}n(m,y,c,h,x,u+1),h=x}}})(s,l,p,0,i,0),pU(d,t,e,r,i);for(var v=[],m=0,y=i,g=i-1;g>=0;--g){t[2*g]=(t[2*g]-s)*h,t[2*g+1]=(t[2*g+1]-l)*f;var x=d[g];x!==m&&(v.push(new AU(p*Math.pow(.5,x),g+1,y-(g+1))),y=g+1,m=x)}return v.push(new AU(p*Math.pow(.5,x+1),0,y)),v};function MU(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 AU(t,e,r){this.pixelSize=t,this.offset=e,this.count=r}var kU=TV.float32,TU=TV.fract32,SU=function(t,e){\"function\"==typeof t?(e||(e={}),e.regl=t):(e=t,t=null);e&&e.length&&(e.positions=e);var r,n,i,a,o,s,l,u=(t=e.regl)._gl,c=[],h={},f={color:\"black\",borderColor:\"transparent\",borderSize:1,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,offset:0,count:0,bounds:null,positions:[],snap:1e4},p=[],d=[null],g=[null],v=4096,m=100;l=t.texture({data:new Uint8Array(4*v),width:v,height:1,type:\"uint8\",format:\"rgba\",wrapS:\"clamp\",wrapT:\"clamp\",mag:\"nearest\",min:\"nearest\"}),i=t.buffer({usage:\"dynamic\",type:\"float\",data:null}),s=t.buffer({usage:\"dynamic\",type:\"uint16\",data:null}),a=t.buffer({usage:\"dynamic\",type:\"float\",data:null}),o=t.buffer({usage:\"dynamic\",type:\"float\",data:null}),e.clone?(p=e.clone.groups.map(function(e){return(e=Us({},e)).markerIds&&(e.markerIds=e.markerIds.map(function(e){var r=e.slice();return r.lod=e.lod,r.snap=e.snap,r.data=e.data,r.id=e.id,r.x=e.x,r.w=e.w,r.elements=t.elements({primitive:\"points\",type:\"uint32\",data:e.data}),r})),e}),e.clone.markers.forEach(function(t){S(t)}),C(e.clone.palette),T({point:!0,color:!0,size:!0})):k(e);var y={uniforms:{pixelRatio:t.context(\"pixelRatio\"),palette:l,paletteSize:function(t,e){return[v,l.height]},scale:t.prop(\"scale\"),scaleFract:t.prop(\"scaleFract\"),translate:t.prop(\"translate\"),translateFract:t.prop(\"translateFract\"),opacity:t.prop(\"opacity\"),marker:t.prop(\"marker\")},attributes:{position:a,positionFract:o,size:function(t,e){return e.size.length?{buffer:i,stride:2,offset:0}:{constant:[Math.round(255*e.size/m)]}},borderSize:function(t,e){return e.borderSize.length?{buffer:i,stride:2,offset:1}:{constant:[Math.round(255*e.borderSize/m)]}},colorId:function(t,e){return e.color.length?{buffer:s,stride:8,offset:0}:{constant:[e.color]}},borderColorId:function(t,e){return e.borderColor.length?{buffer:s,stride:8,offset:4}:{constant:[e.borderColor]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},scissor:{enable:!0,box:t.prop(\"viewport\")},viewport:t.prop(\"viewport\"),stencil:{enable:!1},depth:{enable:!1},elements:t.prop(\"elements\"),count:t.prop(\"count\"),offset:t.prop(\"offset\"),primitive:\"points\"};if(lU)n=t(Us({},y,{frag:E_([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color, borderColor;\\nuniform float opacity;\\nvarying float fragBorderRadius, fragWidth, fragBorderSize, fragSize;\\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\\n  float centerFraction = fragBorderSize == 0. ? 2. : fragSize / (fragSize + fragBorderSize + 1.25);\\n\\n  vec4 baseColor = mix(borderColor, color, smoothStep(radius, centerFraction));\\n  float alpha = 1.0 - pow(1.0 - baseColor.a, 1.);\\n  gl_FragColor = vec4(baseColor.rgb * alpha, alpha);\\n}\\n\"]),vert:E_([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position, positionFract;\\nattribute float size, borderSize;\\n\\nuniform vec2 scale, scaleFract, translate, translateFract;\\nuniform float pixelRatio;\\n\\nconst float maxSize = 100.;\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragBorderRadius, fragWidth, fragBorderSize, fragSize;\\n\\nvoid main() {\\n  float size = size * maxSize / 255.;\\n  float borderSize = borderSize * maxSize / 255.;\\n  fragBorderSize = borderSize;\\n  fragSize = size;\\n\\n  gl_PointSize = (size + borderSize) * pixelRatio;\\n\\n  vec2 pos = (position + translate) * scale\\n\\t\\t\\t+ (positionFract + translateFract) * scale\\n\\t\\t\\t+ (position + translate) * scaleFract\\n\\t\\t\\t+ (positionFract + translateFract) * scaleFract;\\n\\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\\n\\n  fragBorderRadius = borderSize == 0. ? 2. : 1. - 2. * borderSize / (size + borderSize);\\n  fragWidth = 1. / gl_PointSize;\\n}\\n\"]),uniforms:{color:function(t,e){var r=e.color.length?e.color[0]:e.color;return c.slice(4*r,4*r+4).map(function(t){return t/255})},borderColor:function(t,e){var r=e.borderColor.length?e.borderColor[0]:e.borderColor;return c.slice(4*r,4*r+4).map(function(t){return t/255})},pixelRatio:t.context(\"pixelRatio\"),palette:l,paletteSize:function(t,e){return[v,l.height]},scale:t.prop(\"scale\"),scaleFract:t.prop(\"scaleFract\"),translate:t.prop(\"translate\"),translateFract:t.prop(\"translateFract\"),opacity:t.prop(\"opacity\"),marker:t.prop(\"marker\")},attributes:{position:a,positionFract:o,size:y.attributes.size,borderSize:y.attributes.borderSize}}));else{var x=Us({},y);x.frag=E_([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\\n\\nuniform sampler2D marker;\\nuniform float pixelRatio, opacity;\\n\\nfloat smoothStep(float x, float y) {\\n  return 1.0 / (1.0 + exp(50.0*(x - y)));\\n}\\n\\nvoid main() {\\n  float dist = texture2D(marker, gl_PointCoord).r, delta = fragWidth;\\n\\n  //max-distance alpha\\n  if (dist < 0.003) discard;\\n\\n  //null-border case\\n  if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\\n    float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\\n    gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a);\\n    return;\\n  }\\n\\n  float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\\n  float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\\n\\n  vec4 color = fragBorderColor;\\n  color.a *= borderColorAmt;\\n  color = mix(color, fragColor, colorAmt);\\n  color.a *= opacity;\\n\\n  gl_FragColor = color;\\n}\\n\"]),x.vert=E_([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position, positionFract;\\nattribute float size, borderSize;\\nattribute vec2 colorId, borderColorId;\\n\\nuniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\\nuniform float pixelRatio;\\nuniform sampler2D palette;\\n\\nconst float maxSize = 100.;\\nconst float borderLevel = .5;\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragPointSize, fragBorderRadius,\\n\\t\\tfragWidth, fragBorderColorLevel, fragColorLevel;\\n\\nvec2 paletteCoord(float id) {\\n  return vec2(\\n    (mod(id, paletteSize.x) + .5) / paletteSize.x,\\n    (floor(id / paletteSize.x) + .5) / paletteSize.y\\n  );\\n}\\nvec2 paletteCoord(vec2 id) {\\n  return vec2(\\n    (id.x + .5) / paletteSize.x,\\n    (id.y + .5) / paletteSize.y\\n  );\\n}\\n\\nvoid main() {\\n  vec4 color = texture2D(palette, paletteCoord(colorId));\\n  vec4 borderColor = texture2D(palette, paletteCoord(borderColorId));\\n\\n  float size = size * maxSize / 255.;\\n  float borderSize = borderSize * maxSize / 255.;\\n\\n  gl_PointSize = 2. * size * pixelRatio;\\n  fragPointSize = size * pixelRatio;\\n\\n  vec2 pos = (position + translate) * scale\\n      + (positionFract + translateFract) * scale\\n      + (position + translate) * scaleFract\\n      + (positionFract + translateFract) * scaleFract;\\n\\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\\n\\n  fragColor = color;\\n  fragBorderColor = borderColor;\\n  fragWidth = 1. / gl_PointSize;\\n\\n  fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\\n  fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\\n}\\n\"]),r=t(x);var b=Us({},y);b.frag=E_([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor, fragBorderColor;\\n\\nuniform float opacity;\\nvarying float fragBorderRadius, fragWidth;\\n\\nvoid main() {\\n\\tfloat radius, alpha = 1.0, delta = fragWidth;\\n\\n\\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\\n\\n\\tif(radius > 1.0 + delta) {\\n\\t\\tdiscard;\\n\\t\\treturn;\\n\\t}\\n\\n\\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\\n\\n\\tfloat borderRadius = fragBorderRadius;\\n\\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\\n\\tvec4 color = mix(fragColor, fragBorderColor, ratio);\\n\\tcolor.a *= alpha * opacity;\\n\\tgl_FragColor = color;\\n}\\n\"]),b.vert=E_([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position, positionFract;\\nattribute float size, borderSize;\\nattribute vec2 colorId, borderColorId;\\n\\nuniform vec2 scale, scaleFract, translate, translateFract;\\nuniform float pixelRatio;\\nuniform sampler2D palette;\\nuniform vec2 paletteSize;\\n\\nconst float maxSize = 100.;\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragBorderRadius, fragWidth;\\n\\nvec2 paletteCoord(float id) {\\n  return vec2(\\n    (mod(id, paletteSize.x) + .5) / paletteSize.x,\\n    (floor(id / paletteSize.x) + .5) / paletteSize.y\\n  );\\n}\\nvec2 paletteCoord(vec2 id) {\\n  return vec2(\\n    (id.x + .5) / paletteSize.x,\\n    (id.y + .5) / paletteSize.y\\n  );\\n}\\n\\nvoid main() {\\n  vec4 color = texture2D(palette, paletteCoord(colorId));\\n  vec4 borderColor = texture2D(palette, paletteCoord(borderColorId));\\n\\n  float size = size * maxSize / 255.;\\n  float borderSize = borderSize * maxSize / 255.;\\n\\n  gl_PointSize = (size + borderSize) * pixelRatio;\\n\\n  vec2 pos = (position + translate) * scale\\n\\t\\t\\t+ (positionFract + translateFract) * scale\\n\\t\\t\\t+ (position + translate) * scaleFract\\n\\t\\t\\t+ (positionFract + translateFract) * scaleFract;\\n\\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\\n\\n  fragBorderRadius = borderSize == 0. ? 2. : 1. - 2. * borderSize / (size + borderSize);\\n  fragColor = color;\\n  fragBorderColor = borderColor;\\n  fragWidth = 1. / gl_PointSize;\\n}\\n\"]),n=t(b)}function _(t){t?k(t):null===t&&L(),w()}function w(t){if(\"number\"==typeof t)return M(t);Array.isArray(t)?t.forEach(function(t,e){if(null!=t)return t.length?M(t,e):M(t)}):p.forEach(function(t,e){t&&M(e)})}function M(e,i){var a;if(\"number\"==typeof e&&(e=p[e]),Array.isArray(e)&&(a=e,e=p[i]),e&&e.count&&e.opacity){var o;if(a){o=Array(e.count);for(var s=0;s<a.length;s++)o[a[s]]=!0}if(e.markerIds[0]){t._refresh();var l=A(e.markerIds[0],e,o);n(l)}for(var u=[],c=1;c<e.markerIds.length;c++){var h=e.markerIds[c];h&&h.length&&[].push.apply(u,A(h,e,o))}u.length&&(t._refresh(),r(u))}}function A(t,e,r){var n=e.range,i=e.offset;if(!t.snap){var a=r?x(t.data,r):t.elements;return[Us({},e,{elements:a,offset:0,count:r?a.length:t.length,marker:d[t.id]})]}for(var o=[],s=t.lod,l=t.x,u=t.id,c=Math.min((n[2]-n[0])/e.viewport.width,(n[3]-n[1])/e.viewport.height),h=s.length;h--;){var f=s[h];if(!(f.pixelSize&&f.pixelSize<c&&h>1)){var p=f.offset,g=f.count+p,v=fU.ge(l,n[0],p,g-1),m=fU.lt(l,n[2],v,g-1)+1;if(!(m<=v))if(r){var y=x(t.data.subarray(v,m),r);o.push(Us({},e,{elements:y,marker:d[u],offset:0,count:y.length}))}else o.push(Us({},e,{elements:t.elements,marker:d[u],offset:v,count:m-v}))}}function x(t,e){for(var r=[],n=0,a=t.length;n<a;n++){var o=t[n],s=o-i;e[s]&&r.push(o)}return r}return o}function k(e){if(e){null!=e.length?\"number\"==typeof e[0]&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);var r=0,n=0,i=0;_.groups=p=e.map(function(e,a){var o=p[a];return void 0===e?o:(null===e?e={positions:null}:\"function\"==typeof e?e={after:e}:\"number\"==typeof e[0]&&(e={positions:e}),null===(e=MV(e,{positions:\"positions data points\",snap:\"snap cluster\",size:\"sizes size radius\",borderSize:\"borderSizes borderSize stroke-width strokeWidth outline\",color:\"colors color fill fill-color fillColor\",borderColor:\"borderColors borderColor stroke stroke-color strokeColor\",palette:\"palette swatch\",marker:\"markers marker shape\",range:\"range dataBox\",viewport:\"viewport viewBox\",opacity:\"opacity alpha\"})).positions&&(e.positions=[]),o||(p[a]=o={id:a,scale:null,translate:null,scaleFract:null,translateFract:null,markerIds:[]},e=Us({},f,e)),!e.positions||\"marker\"in e||(e.marker=o.marker,delete o.marker),!e.marker||\"positions\"in e||(e.positions=o.positions,delete o.positions),EV(o,e,[{snap:!0,size:function(t){return n+=t.length?1:0,t},borderSize:function(t){return n+=t.length?1:0,t},opacity:parseFloat,color:function(t){return t=E(t),i++,t},borderColor:function(t){return t=E(t),i++,t},positions:function(t,e,n){t=wV(t,\"float64\");var i=e.count=Math.floor(t.length/2),a=e.bounds=i?_V(t,2):null;return n.range||e.range||(delete e.range,n.range=a),e.offset=r,r+=i,n.marker||e.marker||(delete e.marker,n.marker=null),t}},{marker:function(t,e,r){if(e.markerIds.length=0,t&&\"number\"!=typeof t[0])for(var n=0,i=t.length;n<i;n++){var a=S(t[n]);e.markerIds[a]||(e.markerIds[a]=[]),e.markerIds[a].push(n)}else{var o=S(t),s=gV(e.count);e.markerIds[o]=s}return t}},{positions:function(e,r){for(var n=r.markerIds,i=r.snap,a=r.bounds,o=r.offset,s=0;s<n.length;s++){var l=n[s];if(l&&l.length){var u=l.length,c=void 0;if(l.id=s,i&&(!0===i||u>i)){l.snap=!0;var h=l.x=Array(u),f=l.w=Array(u),p=void 0;if(n.length>1){p=Array(2*u);for(var d=0;d<u;d++){var g=l[d];p[2*d]=e[2*g],p[2*d+1]=e[2*g+1]}}else(p=new Float64Array(e.length)).set(e);var v=new Uint32Array(u);l.lod=wU(p,v,f,a),c=new Uint32Array(u);for(var m=0;m<u;m++){var y=v[m],x=l[y];c[m]=x+o,h[m]=e[2*x]}}else{c=new Uint32Array(u);for(var b=0;b<u;b++)c[b]=l[b]+o}l.data=c,l.elements=t.elements({primitive:\"points\",type:\"uint32\",data:c})}}},range:function(t,e,r){var n=e.bounds;if(n)return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=TU(e.scale),e.translateFract=TU(e.translate),t},viewport:function(t){return uU(t||[u.drawingBufferWidth,u.drawingBufferHeight])}}]),o)}),T({point:r,size:n,color:i})}}function T(t){var e=t.point,r=t.size,n=t.color,l=p.reduce(function(t,e,r){return t+(e?e.count:0)},0);if(e){var u=new Float32Array(2*l),c=new Float32Array(2*l);p.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset;n&&(u.set(kU(r),2*i),c.set(TU(r),2*i))}}),a(u),o(c)}if(r){var h=new Uint8Array(2*l);p.forEach(function(t,e){if(t){var r=t.count,n=t.offset,i=t.size,a=t.borderSize;if(r&&(i.length||a.length)){for(var o=new Uint8Array(2*r),s=0;s<r;s++)o[2*s]=Math.round(255*(null==i[s]?i:i[s])/m),o[2*s+1]=Math.round(255*(null==a[s]?a:a[s])/m);h.set(o,2*n)}}}),i(h)}if(n){var f=new Uint16Array(4*l);p.forEach(function(t,e){if(t){var r=t.count,n=t.offset,i=t.color,a=t.borderColor;if(r&&(i.length||a.length)){for(var o=new Uint16Array(4*r),s=0;s<r;s++)null!=i[s]&&(o[4*s]=i[s]%v,o[4*s+1]=Math.floor(i[s]/v)),null!=a[s]&&(o[4*s+2]=a[s]%v,o[4*s+3]=Math.floor(a[s]/v));f.set(o,4*n)}}}),s(f)}}function S(e){var r,n=null==e?0:g.indexOf(e);if(n>=0)return n;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)r=e;else{r=new Uint8Array(e.length);for(var i=0,a=e.length;i<a;i++)r[i]=255*e[i]}var o=Math.floor(Math.sqrt(r.length));return n=d.length,g.push(e),d.push(t.texture({channels:1,data:r,radius:o,mag:\"linear\",min:\"linear\"})),n}function E(t){Array.isArray(t)||(t=[t]);for(var e=[],r=0;r<t.length;r++){var n=t[r];if(\"number\"!=typeof n){n=GC(n,\"uint8\");var i=oU(n,!1);if(null==h[i]){var a=c.length;h[i]=Math.floor(a/4),c[a]=n[0],c[a+1]=n[1],c[a+2]=n[2],c[a+3]=n[3]}e[r]=h[i]}else e[r]=n}return C(c),1===e.length?e[0]:e}function C(t){var e=Math.ceil(.25*t.length/v);if(e>1)for(var r=.25*(t=t.slice()).length%v;r<e*v;r++)t.push(0,0,0,0);l.height<e&&l.resize(v,e),l.subimage({width:Math.min(.25*t.length,v),height:e,data:t},0,0)}function L(){p.length=0,i.destroy(),a.destroy(),o.destroy(),s.destroy(),l.destroy()}return Us(_,{update:k,draw:w,destroy:L,regl:t,gl:u,canvas:u.canvas,groups:p,markers:g,palette:c}),_};var EU=function(t,e){e||(e={});var r,n,i,a,o,s,l,u,c,h,f,p=null==e.cutoff?.25:e.cutoff,d=null==e.radius?8:e.radius,g=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error(\"For raw data width and height should be provided by options\");r=e.width,n=e.height,a=t,s=e.stride?e.stride:Math.floor(t.length/r/n)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(l=(u=t).getContext(\"2d\"),r=u.width,n=u.height,c=l.getImageData(0,0,r,n),a=c.data,s=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(u=t.canvas,l=t,r=u.width,n=u.height,c=l.getImageData(0,0,r,n),a=c.data,s=4):window.ImageData&&t instanceof window.ImageData&&(c=t,r=t.width,n=t.height,a=c.data,s=4);if(i=Math.max(r,n),window.Uint8ClampedArray&&a instanceof window.Uint8ClampedArray||window.Uint8Array&&a instanceof window.Uint8Array)for(o=a,a=Array(r*n),h=0,f=o.length;h<f;h++)a[h]=o[h*s+g]/255;else if(1!==s)throw Error(\"Raw data can have only 1 value per pixel\");var v=Array(r*n),m=Array(r*n),y=Array(i),x=Array(i),b=Array(i+1),_=Array(i);for(h=0,f=r*n;h<f;h++){var w=a[h];v[h]=1===w?0:0===w?CU:Math.pow(Math.max(0,.5-w),2),m[h]=1===w?CU:0===w?0:Math.pow(Math.max(0,w-.5),2)}LU(v,r,n,y,x,_,b),LU(m,r,n,y,x,_,b);var M=window.Float32Array?new Float32Array(r*n):new Array(r*n);for(h=0,f=r*n;h<f;h++)M[h]=FC(1-((v[h]-m[h])/d+p),0,1);return M},CU=1e20;function LU(t,e,r,n,i,a,o){for(var s=0;s<e;s++){for(var l=0;l<r;l++)n[l]=t[l*e+s];for(zU(n,i,a,o,r),l=0;l<r;l++)t[l*e+s]=i[l]}for(l=0;l<r;l++){for(s=0;s<e;s++)n[s]=t[l*e+s];for(zU(n,i,a,o,e),s=0;s<e;s++)t[l*e+s]=Math.sqrt(i[s])}}function zU(t,e,r,n,i){r[0]=0,n[0]=-CU,n[1]=+CU;for(var a=1,o=0;a<i;a++){for(var s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);s<=n[o];)o--,s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);r[++o]=a,n[o]=s,n[o+1]=+CU}for(a=0,o=0;a<i;a++){for(;n[o+1]<a;)o++;e[a]=(a-r[o])*(a-r[o])+t[r[o]]}}var PU=function(t){var e=0,r=0,n=0,i=0;return t.map(function(t){var a=(t=t.slice())[0],o=a.toUpperCase();if(a!=o)switch(t[0]=o,a){case\"a\":t[6]+=n,t[7]+=i;break;case\"v\":t[1]+=i;break;case\"h\":t[1]+=n;break;default:for(var s=1;s<t.length;)t[s++]+=n,t[s++]+=i}switch(o){case\"Z\":n=e,i=r;break;case\"H\":n=t[1];break;case\"V\":i=t[1];break;case\"M\":n=e=t[1],i=r=t[2];break;default:n=t[t.length-2],i=t[t.length-1]}return t})};var IU=Math.PI,DU=jU(120),OU=function(t){for(var e,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,h=0,f=t.length;h<f;h++){var p=t[h],d=p[0];switch(d){case\"M\":a=p[1],o=p[2];break;case\"A\":(p=BU(u,c,p[1],p[2],jU(p[3]),p[4],p[5],p[6],p[7])).unshift(\"C\"),p.length>7&&(r.push(p.splice(0,7)),p.unshift(\"C\"));break;case\"S\":var g=u,v=c;\"C\"!=e&&\"S\"!=e||(g+=g-n,v+=v-i),p=[\"C\",g,v,p[1],p[2],p[3],p[4]];break;case\"T\":\"Q\"==e||\"T\"==e?(s=2*u-s,l=2*c-l):(s=u,l=c),p=FU(u,c,s,l,p[1],p[2]);break;case\"Q\":s=p[1],l=p[2],p=FU(u,c,p[1],p[2],p[3],p[4]);break;case\"L\":p=RU(u,c,p[1],p[2]);break;case\"H\":p=RU(u,c,p[1],c);break;case\"V\":p=RU(u,c,u,p[1]);break;case\"Z\":p=RU(u,c,a,o)}e=d,u=p[p.length-2],c=p[p.length-1],p.length>4?(n=p[p.length-4],i=p[p.length-3]):(n=u,i=c),r.push(p)}return r};function RU(t,e,r,n){return[\"C\",t,e,r,n,r,n]}function FU(t,e,r,n,i,a){return[\"C\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function BU(t,e,r,n,i,a,o,s,l,u){if(u)x=u[0],b=u[1],m=u[2],y=u[3];else{var c=NU(t,e,-i);t=c.x,e=c.y;var h=(t-(s=(c=NU(s,l,-i)).x))/2,f=(e-(l=c.y))/2,p=h*h/(r*r)+f*f/(n*n);p>1&&(r*=p=Math.sqrt(p),n*=p);var d=r*r,g=n*n,v=(a==o?-1:1)*Math.sqrt(Math.abs((d*g-d*f*f-g*h*h)/(d*f*f+g*h*h)));v==1/0&&(v=1);var m=v*r*f/n+(t+s)/2,y=v*-n*h/r+(e+l)/2,x=Math.asin(((e-y)/n).toFixed(9)),b=Math.asin(((l-y)/n).toFixed(9));x=t<m?IU-x:x,b=s<m?IU-b:b,x<0&&(x=2*IU+x),b<0&&(b=2*IU+b),o&&x>b&&(x-=2*IU),!o&&b>x&&(b-=2*IU)}if(Math.abs(b-x)>DU){var _=b,w=s,M=l;b=x+DU*(o&&b>x?1:-1);var A=BU(s=m+r*Math.cos(b),l=y+n*Math.sin(b),r,n,i,0,o,w,M,[b,_,m,y])}var k=Math.tan((b-x)/4),T=4/3*r*k,S=4/3*n*k,E=[2*t-(t+T*Math.sin(x)),2*e-(e-S*Math.cos(x)),s+T*Math.sin(b),l-S*Math.cos(b),s,l];if(u)return E;A&&(E=E.concat(A));for(var C=0;C<E.length;){var L=NU(E[C],E[C+1],i);E[C++]=L.x,E[C++]=L.y}return E}function NU(t,e,r){return{x:t*Math.cos(r)-e*Math.sin(r),y:t*Math.sin(r)+e*Math.cos(r)}}function jU(t){return t*(IU/180)}var VU={M:\"moveTo\",C:\"bezierCurveTo\"},UU=function(t,e){t.beginPath(),OU(PU(e)).forEach(function(e){var r=e[0],n=e.slice(1);t[VU[r]].apply(t,n)}),t.closePath()},qU=function(t){return\"string\"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\\dz]$/i.test(t)&&t.length>4))},HU=function(t){var e=[];return t.replace(WU,function(t,r,n){var i=r.toLowerCase();for(n=function(t){var e=t.match(YU);return e?e.map(Number):[]}(n),\"m\"==i&&n.length>2&&(e.push([r].concat(n.splice(0,2))),i=\"l\",r=\"m\"==r?\"l\":\"L\");;){if(n.length==GU[i])return n.unshift(r),e.push(n);if(n.length<GU[i])throw new Error(\"malformed path data\");e.push([r].concat(n.splice(0,GU[i])))}}),e},GU={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},WU=/([astvzqmhlc])([^astvzqmhlc]*)/gi;var YU=/-?[0-9]*\\.?[0-9]+(?:e[-+]?\\d+)?/gi;var XU={};XU=\"function\"==typeof Object.create?function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t};var ZU=function(t){return t&&\"object\"==typeof t&&\"function\"==typeof t.copy&&\"function\"==typeof t.fill&&\"function\"==typeof t.readUInt8},JU={};(function(t,e){var r=/%[sdj%]/g;JU.format=function(t){if(!g(t)){for(var e=[],n=0;n<arguments.length;n++)e.push(a(arguments[n]));return e.join(\" \")}n=1;for(var i=arguments,o=i.length,s=String(t).replace(r,function(t){if(\"%%\"===t)return\"%\";if(n>=o)return t;switch(t){case\"%s\":return String(i[n++]);case\"%d\":return Number(i[n++]);case\"%j\":try{return JSON.stringify(i[n++])}catch(t){return\"[Circular]\"}default:return t}}),l=i[n];n<o;l=i[++n])p(l)||!y(l)?s+=\" \"+l:s+=\" \"+a(l);return s},JU.deprecate=function(r,n){if(v(e.process))return function(){return JU.deprecate(r,n).apply(this,arguments)};if(!0===t.noDeprecation)return r;var i=!1;return function(){if(!i){if(t.throwDeprecation)throw new Error(n);t.traceDeprecation?console.trace(n):console.error(n),i=!0}return r.apply(this,arguments)}};var n,i={};function a(t,e){var r={seen:[],stylize:s};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),f(e)?r.showHidden=e:e&&JU._extend(r,e),v(r.showHidden)&&(r.showHidden=!1),v(r.depth)&&(r.depth=2),v(r.colors)&&(r.colors=!1),v(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=o),l(r,t,r.depth)}function o(t,e){var r=a.styles[e];return r?\"\\x1b[\"+a.colors[r][0]+\"m\"+t+\"\\x1b[\"+a.colors[r][1]+\"m\":t}function s(t,e){return t}function l(t,e,r){if(t.customInspect&&e&&_(e.inspect)&&e.inspect!==JU.inspect&&(!e.constructor||e.constructor.prototype!==e)){var n=e.inspect(r,t);return g(n)||(n=l(t,n,r)),n}var i=function(t,e){if(v(e))return t.stylize(\"undefined\",\"undefined\");if(g(e)){var r=\"'\"+JSON.stringify(e).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return t.stylize(r,\"string\")}if(d(e))return t.stylize(\"\"+e,\"number\");if(f(e))return t.stylize(\"\"+e,\"boolean\");if(p(e))return t.stylize(\"null\",\"null\")}(t,e);if(i)return i;var a=Object.keys(e),o=function(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(e)),b(e)&&(a.indexOf(\"message\")>=0||a.indexOf(\"description\")>=0))return u(e);if(0===a.length){if(_(e)){var s=e.name?\": \"+e.name:\"\";return t.stylize(\"[Function\"+s+\"]\",\"special\")}if(m(e))return t.stylize(RegExp.prototype.toString.call(e),\"regexp\");if(x(e))return t.stylize(Date.prototype.toString.call(e),\"date\");if(b(e))return u(e)}var y,w=\"\",M=!1,A=[\"{\",\"}\"];(h(e)&&(M=!0,A=[\"[\",\"]\"]),_(e))&&(w=\" [Function\"+(e.name?\": \"+e.name:\"\")+\"]\");return m(e)&&(w=\" \"+RegExp.prototype.toString.call(e)),x(e)&&(w=\" \"+Date.prototype.toUTCString.call(e)),b(e)&&(w=\" \"+u(e)),0!==a.length||M&&0!=e.length?r<0?m(e)?t.stylize(RegExp.prototype.toString.call(e),\"regexp\"):t.stylize(\"[Object]\",\"special\"):(t.seen.push(e),y=M?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o<s;++o)k(e,String(o))?a.push(c(t,e,r,n,String(o),!0)):a.push(\"\");return i.forEach(function(i){i.match(/^\\d+$/)||a.push(c(t,e,r,n,i,!0))}),a}(t,e,r,o,a):a.map(function(n){return c(t,e,r,o,n,M)}),t.seen.pop(),function(t,e,r){if(t.reduce(function(t,e){return 0,e.indexOf(\"\\n\")>=0&&0,t+e.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0)>60)return r[0]+(\"\"===e?\"\":e+\"\\n \")+\" \"+t.join(\",\\n  \")+\" \"+r[1];return r[0]+e+\" \"+t.join(\", \")+\" \"+r[1]}(y,w,A)):A[0]+w+A[1]}function u(t){return\"[\"+Error.prototype.toString.call(t)+\"]\"}function c(t,e,r,n,i,a){var o,s,u;if((u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=u.set?t.stylize(\"[Getter/Setter]\",\"special\"):t.stylize(\"[Getter]\",\"special\"):u.set&&(s=t.stylize(\"[Setter]\",\"special\")),k(n,i)||(o=\"[\"+i+\"]\"),s||(t.seen.indexOf(u.value)<0?(s=p(r)?l(t,u.value,null):l(t,u.value,r-1)).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\")),v(o)){if(a&&i.match(/^\\d+$/))return s;(o=JSON.stringify(\"\"+i)).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 h(t){return Array.isArray(t)}function f(t){return\"boolean\"==typeof t}function p(t){return null===t}function d(t){return\"number\"==typeof t}function g(t){return\"string\"==typeof t}function v(t){return void 0===t}function m(t){return y(t)&&\"[object RegExp]\"===w(t)}function y(t){return\"object\"==typeof t&&null!==t}function x(t){return y(t)&&\"[object Date]\"===w(t)}function b(t){return y(t)&&(\"[object Error]\"===w(t)||t instanceof Error)}function _(t){return\"function\"==typeof t}function w(t){return Object.prototype.toString.call(t)}function M(t){return t<10?\"0\"+t.toString(10):t.toString(10)}JU.debuglog=function(e){if(v(n)&&(n=t.env.NODE_DEBUG||\"\"),e=e.toUpperCase(),!i[e])if(new RegExp(\"\\\\b\"+e+\"\\\\b\",\"i\").test(n)){var r=t.pid;i[e]=function(){var t=JU.format.apply(JU,arguments);console.error(\"%s %d: %s\",e,r,t)}}else i[e]=function(){};return i[e]},JU.inspect=a,a.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]},a.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},JU.isArray=h,JU.isBoolean=f,JU.isNull=p,JU.isNullOrUndefined=function(t){return null==t},JU.isNumber=d,JU.isString=g,JU.isSymbol=function(t){return\"symbol\"==typeof t},JU.isUndefined=v,JU.isRegExp=m,JU.isObject=y,JU.isDate=x,JU.isError=b,JU.isFunction=_,JU.isPrimitive=function(t){return null===t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||\"symbol\"==typeof t||void 0===t},JU.isBuffer=ZU;var A=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function k(t,e){return Object.prototype.hasOwnProperty.call(t,e)}JU.log=function(){var t,e;console.log(\"%s - %s\",(t=new Date,e=[M(t.getHours()),M(t.getMinutes()),M(t.getSeconds())].join(\":\"),[t.getDate(),A[t.getMonth()],e].join(\" \")),JU.format.apply(JU,arguments))},JU.inherits=XU,JU._extend=function(t,e){if(!e||!y(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,Pp,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{});var KU={};(function(t){\"use strict\";function e(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 r(e){return t.Buffer&&\"function\"==typeof t.Buffer.isBuffer?t.Buffer.isBuffer(e):!(null==e||!e._isBuffer)}var n=Object.prototype.hasOwnProperty,i=Array.prototype.slice,a=\"foo\"===function(){}.name;function o(t){return Object.prototype.toString.call(t)}function s(e){return!r(e)&&(\"function\"==typeof t.ArrayBuffer&&(\"function\"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):!!e&&(e instanceof DataView||!!(e.buffer&&e.buffer instanceof ArrayBuffer))))}var l=KU=d,u=/\\s*function\\s+([^\\(\\s]*)\\s*/;function c(t){if(JU.isFunction(t)){if(a)return t.name;var e=t.toString().match(u);return e&&e[1]}}function h(t,e){return\"string\"==typeof t?t.length<e?t:t.slice(0,e):t}function f(t){if(a||!JU.isFunction(t))return JU.inspect(t);var e=c(t);return\"[Function\"+(e?\": \"+e:\"\")+\"]\"}function p(t,e,r,n,i){throw new l.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function d(t,e){t||p(t,!0,e,\"==\",l.ok)}function g(t,n,a,l){if(t===n)return!0;if(r(t)&&r(n))return 0===e(t,n);if(JU.isDate(t)&&JU.isDate(n))return t.getTime()===n.getTime();if(JU.isRegExp(t)&&JU.isRegExp(n))return t.source===n.source&&t.global===n.global&&t.multiline===n.multiline&&t.lastIndex===n.lastIndex&&t.ignoreCase===n.ignoreCase;if(null!==t&&\"object\"==typeof t||null!==n&&\"object\"==typeof n){if(s(t)&&s(n)&&o(t)===o(n)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===e(new Uint8Array(t.buffer),new Uint8Array(n.buffer));if(r(t)!==r(n))return!1;var u=(l=l||{actual:[],expected:[]}).actual.indexOf(t);return-1!==u&&u===l.expected.indexOf(n)||(l.actual.push(t),l.expected.push(n),function(t,e,r,n){if(null===t||void 0===t||null===e||void 0===e)return!1;if(JU.isPrimitive(t)||JU.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var a=v(t),o=v(e);if(a&&!o||!a&&o)return!1;if(a)return t=i.call(t),e=i.call(e),g(t,e,r);var s,l,u=x(t),c=x(e);if(u.length!==c.length)return!1;for(u.sort(),c.sort(),l=u.length-1;l>=0;l--)if(u[l]!==c[l])return!1;for(l=u.length-1;l>=0;l--)if(s=u[l],!g(t[s],e[s],r,n))return!1;return!0}(t,n,a,l))}return a?t===n:t==n}function v(t){return\"[object Arguments]\"==Object.prototype.toString.call(t)}function m(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)&&!0===e.call({},t)}function y(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=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?\" (\"+r.name+\").\":\".\")+(n?\" \"+n:\".\"),t&&!i&&p(i,r,\"Missing expected exception\"+n);var a=\"string\"==typeof n,o=!t&&JU.isError(i),s=!t&&i&&!r;if((o&&a&&m(i,r)||s)&&p(i,r,\"Got unwanted exception\"+n),t&&i&&r&&!m(i,r)||!t&&i)throw i}l.AssertionError=function(t){var e;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=h(f((e=this).actual),128)+\" \"+e.operator+\" \"+h(f(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||p;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var i=n.stack,a=c(r),o=i.indexOf(\"\\n\"+a);if(o>=0){var s=i.indexOf(\"\\n\",o+1);i=i.substring(s+1)}this.stack=i}}},JU.inherits(l.AssertionError,Error),l.fail=p,l.ok=d,l.equal=function(t,e,r){t!=e&&p(t,e,r,\"==\",l.equal)},l.notEqual=function(t,e,r){t==e&&p(t,e,r,\"!=\",l.notEqual)},l.deepEqual=function(t,e,r){g(t,e,!1)||p(t,e,r,\"deepEqual\",l.deepEqual)},l.deepStrictEqual=function(t,e,r){g(t,e,!0)||p(t,e,r,\"deepStrictEqual\",l.deepStrictEqual)},l.notDeepEqual=function(t,e,r){g(t,e,!1)&&p(t,e,r,\"notDeepEqual\",l.notDeepEqual)},l.notDeepStrictEqual=function t(e,r,n){g(e,r,!0)&&p(e,r,n,\"notDeepStrictEqual\",t)},l.strictEqual=function(t,e,r){t!==e&&p(t,e,r,\"===\",l.strictEqual)},l.notStrictEqual=function(t,e,r){t===e&&p(t,e,r,\"!==\",l.notStrictEqual)},l.throws=function(t,e,r){y(!0,t,e,r)},l.doesNotThrow=function(t,e,r){y(!1,t,e,r)},l.ifError=function(t){if(t)throw t};var x=Object.keys||function(t){var e=[];for(var r in t)n.call(t,r)&&e.push(r);return e}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{});var QU={};Object.defineProperty(QU,\"__esModule\",{value:!0});var $U=function(){return function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),tq=2*Math.PI,eq=function(t,e,r,n,i,a,o){var s=t.x,l=t.y;return{x:n*(s*=e)-i*(l*=r)+a,y:i*s+n*l+o}},rq=function(t,e){var r=4/3*Math.tan(e/4),n=Math.cos(t),i=Math.sin(t),a=Math.cos(t+e),o=Math.sin(t+e);return[{x:n-i*r,y:i+n*r},{x:a+o*r,y:o-a*r},{x:a,y:o}]},nq=function(t,e,r,n){var i=t*n-e*r<0?-1:1,a=(t*r+e*n)/(Math.sqrt(t*t+e*e)*Math.sqrt(t*t+e*e));return a>1&&(a=1),a<-1&&(a=-1),i*Math.acos(a)};QU.default=function(t){var e=t.px,r=t.py,n=t.cx,i=t.cy,a=t.rx,o=t.ry,s=t.xAxisRotation,l=void 0===s?0:s,u=t.largeArcFlag,c=void 0===u?0:u,h=t.sweepFlag,f=void 0===h?0:h,p=[];if(0===a||0===o)return[];var d=Math.sin(l*tq/360),g=Math.cos(l*tq/360),v=g*(e-n)/2+d*(r-i)/2,m=-d*(e-n)/2+g*(r-i)/2;if(0===v&&0===m)return[];a=Math.abs(a),o=Math.abs(o);var y=Math.pow(v,2)/Math.pow(a,2)+Math.pow(m,2)/Math.pow(o,2);y>1&&(a*=Math.sqrt(y),o*=Math.sqrt(y));var x=function(t,e,r,n,i,a,o,s,l,u,c,h){var f=Math.pow(i,2),p=Math.pow(a,2),d=Math.pow(c,2),g=Math.pow(h,2),v=f*p-f*g-p*d;v<0&&(v=0),v/=f*g+p*d;var m=(v=Math.sqrt(v)*(o===s?-1:1))*i/a*h,y=v*-a/i*c,x=u*m-l*y+(t+r)/2,b=l*m+u*y+(e+n)/2,_=(c-m)/i,w=(h-y)/a,M=(-c-m)/i,A=(-h-y)/a,k=nq(1,0,_,w),T=nq(_,w,M,A);return 0===s&&T>0&&(T-=tq),1===s&&T<0&&(T+=tq),[x,b,k,T]}(e,r,n,i,a,o,c,f,d,g,v,m),b=$U(x,4),_=b[0],w=b[1],M=b[2],A=b[3],k=Math.max(Math.ceil(Math.abs(A)/(tq/4)),1);A/=k;for(var T=0;T<k;T++)p.push(rq(M,A)),M+=A;return p.map(function(t){var e=eq(t[0],a,o,g,d,_,w),r=e.x,n=e.y,i=eq(t[1],a,o,g,d,_,w),s=i.x,l=i.y,u=eq(t[2],a,o,g,d,_,w);return{x1:r,y1:n,x2:s,y2:l,x:u.x,y:u.y}})},QU=QU.default;var iq=function(t){for(var e,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,h=0,f=t.length;h<f;h++){var p=t[h],d=p[0];switch(d){case\"M\":a=p[1],o=p[2];break;case\"A\":var g=QU({px:u,py:c,cx:p[6],cy:p[7],rx:p[1],ry:p[2],xAxisRotation:p[3],largeArcFlag:p[4],sweepFlag:p[5]});if(!g.length)continue;for(var v,m=0;m<g.length;m++)v=g[m],p=[\"C\",v.x1,v.y1,v.x2,v.y2,v.x,v.y],m<g.length-1&&r.push(p);break;case\"S\":var y=u,x=c;\"C\"!=e&&\"S\"!=e||(y+=y-n,x+=x-i),p=[\"C\",y,x,p[1],p[2],p[3],p[4]];break;case\"T\":\"Q\"==e||\"T\"==e?(s=2*u-s,l=2*c-l):(s=u,l=c),p=oq(u,c,s,l,p[1],p[2]);break;case\"Q\":s=p[1],l=p[2],p=oq(u,c,p[1],p[2],p[3],p[4]);break;case\"L\":p=aq(u,c,p[1],p[2]);break;case\"H\":p=aq(u,c,p[1],c);break;case\"V\":p=aq(u,c,u,p[1]);break;case\"Z\":p=aq(u,c,a,o)}e=d,u=p[p.length-2],c=p[p.length-1],p.length>4?(n=p[p.length-4],i=p[p.length-3]):(n=u,i=c),r.push(p)}return r};function aq(t,e,r,n){return[\"C\",t,e,r,n,r,n]}function oq(t,e,r,n,i,a){return[\"C\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}var sq=function(t){Array.isArray(t)&&1===t.length&&\"string\"==typeof t[0]&&(t=t[0]);\"string\"==typeof t&&(KU(qU(t),\"String is not an SVG path.\"),t=HU(t));if(KU(Array.isArray(t),\"Argument should be a string or an array of path segments.\"),t=PU(t),!(t=iq(t)).length)return[0,0,0,0];for(var e=[1/0,1/0,-1/0,-1/0],r=0,n=t.length;r<n;r++)for(var i=t[r].slice(1),a=0;a<i.length;a+=2)i[a+0]<e[0]&&(e[0]=i[a+0]),i[a+1]<e[1]&&(e[1]=i[a+1]),i[a+0]>e[2]&&(e[2]=i[a+0]),i[a+1]>e[3]&&(e[3]=i[a+1]);return e};var lq={};(function(t){\"use strict\";var e=document.createElement(\"canvas\"),r=e.getContext(\"2d\");lq=function(n,i){if(!qU(n))throw Error(\"Argument should be valid svg path string\");i||(i={});var a,o;i.shape?(a=i.shape[0],o=i.shape[1]):(a=e.width=i.w||i.width||200,o=e.height=i.h||i.height||200);var s=Math.min(a,o),l=i.stroke||0,u=i.viewbox||i.viewBox||sq(n),c=[a/(u[2]-u[0]),o/(u[3]-u[1])],h=Math.min(c[0]||0,c[1]||0)/2;r.fillStyle=\"black\",r.fillRect(0,0,a,o),r.fillStyle=\"white\",l&&(\"number\"!=typeof l&&(l=1),r.strokeStyle=l>0?\"white\":\"black\",r.lineWidth=Math.abs(l));if(r.translate(.5*a,.5*o),r.scale(h,h),t.Path2D){var f=new Path2D(n);r.fill(f),l&&r.stroke(f)}else{var p=HU(n);UU(r,p),r.fill(),l&&r.stroke()}return r.setTransform(1,0,0,1,0,0),EU(r,{cutoff:null!=i.cutoff?i.cutoff:.5,radius:null!=i.radius?i.radius:.5*s})}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{});var uq={solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]},cq={},hq=m.extendFlat,fq=ye.overrideAll,pq=Zr.line,dq=Zr.marker,gq=dq.line,vq=cq=fq({x:Zr.x,x0:Zr.x0,dx:Zr.dx,y:Zr.y,y0:Zr.y0,dy:Zr.dy,text:hq({},Zr.text,{}),mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\"],extras:[\"none\"]},line:{color:pq.color,width:pq.width,dash:{valType:\"enumerated\",values:Object.keys(uq),dflt:\"solid\"}},marker:hq({},De(),{symbol:dq.symbol,size:dq.size,sizeref:dq.sizeref,sizemin:dq.sizemin,sizemode:dq.sizemode,opacity:dq.opacity,showscale:dq.showscale,colorbar:dq.colorbar,line:hq({},De(),{width:gq.width})}),connectgaps:Zr.connectgaps,fill:Zr.fill,fillcolor:Zr.fillcolor,hoveron:Zr.hoveron,selected:{marker:Zr.selected.marker},unselected:{marker:Zr.unselected.marker},opacity:E.opacity},\"calc\",\"nested\");vq.x.editType=vq.y.editType=vq.x0.editType=vq.y0.editType=\"calc+clearAxisTypes\";var mq=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,cq,r,n)}var a=!!t.marker&&/-open/.test(t.marker.symbol),o=Tr.isBubble(t),s=Ta(t,e,n,i);if(s){i(\"text\"),i(\"mode\",s<Wr.PTS_LINESONLY?\"lines+markers\":\"lines\"),Tr.hasLines(e)&&(i(\"connectgaps\"),px(t,e,r,n,i));var l=[];Tr.hasMarkers(e)&&(gx(t,e,r,n,i),i(\"marker.line.width\",a||o?1:0),l.push(\"points\")),i(\"fill\"),\"none\"!==e.fill&&hx(0,e,r,i),\"tonext\"!==e.fill&&\"toself\"!==e.fill||l.push(\"fills\"),i(\"hoveron\",l.join(\"+\")||\"points\");var u=P.getComponentMethod(\"errorbars\",\"supplyDefaults\");u(t,e,r,{axis:\"y\"}),u(t,e,r,{axis:\"x\",inherit:\"y\"}),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},yq={};(function(e){\"use strict\";var r=sx,n=lx,i=t.BADNUM,a=200,o=20,s=o/20,l={},u=Sr.symbolFuncs[0](.05*o),c=1e5,h=/-dot/,f=/-open/;function p(t,e,r,n){var i,a,o,s,l,u,h,p,d,v,m,y,x,b,_=t._fullLayout,w=n.length/2,M=r.marker;if(!0!==r.visible?(a=!1,o=!1,s=!1,l=!1,u=!1):(a=Tr.hasLines(r)&&n.length>1,o=r.error_x&&!0===r.error_x.visible,s=r.error_y&&!0===r.error_y.visible,l=Tr.hasMarkers(r),u=!!r.fill&&\"none\"!==r.fill),o||s){var A=P.getComponentMethod(\"errorbars\",\"calcFromTrace\")(r,_);o&&(v=C(\"x\",r.error_x,A)),s&&(m=C(\"y\",r.error_y,A))}if(a){(h={}).thickness=r.line.width,h.color=r.line.color,h.opacity=r.opacity,h.overlay=!0;var k=(uq[r.line.dash]||[1]).slice();for(i=0;i<k.length;++i)k[i]*=h.thickness;if(h.dashes=k,\"hv\"===r.line.shape){for(b=[],i=0;i<Math.floor(n.length/2)-1;i++)isNaN(n[2*i])||isNaN(n[2*i+1])?(b.push(NaN),b.push(NaN),b.push(NaN),b.push(NaN)):(b.push(n[2*i]),b.push(n[2*i+1]),b.push(n[2*i+2]),b.push(n[2*i+1]));b.push(n[n.length-2]),b.push(n[n.length-1])}else if(\"vh\"===r.line.shape){for(b=[],i=0;i<Math.floor(n.length/2)-1;i++)isNaN(n[2*i])||isNaN(n[2*i+1])?(b.push(NaN),b.push(NaN),b.push(NaN),b.push(NaN)):(b.push(n[2*i]),b.push(n[2*i+1]),b.push(n[2*i]),b.push(n[2*i+3]));b.push(n[n.length-2]),b.push(n[n.length-1])}else b=n;var T=!1;for(i=0;i<b.length;i++)if(isNaN(b[i])){T=!0;break}if(h.join=T||b.length>c?\"rect\":l?\"rect\":\"round\",T&&r.connectgaps){var S=b[0],E=b[1];for(i=0;i<b.length;i+=2)isNaN(b[i])||isNaN(b[i+1])?(b[i]=S,b[i+1]=E):(S=b[i],E=b[i+1])}h.positions=b}function C(e,i,a){var o={};o.positions=n;for(var s=gn.getFromId(t,r[e+\"axis\"]),l=o.errors=new Float64Array(4*w),u={x:0,y:1}[e],c={x:[0,1,2,3],y:[2,3,0,1]}[e],h=0,f=0;h<w;h++,f+=4)l[f+c[0]]=n[2*h+u]-s.d2l(a[h][e+\"s\"])||0,l[f+c[1]]=s.d2l(a[h][e+\"h\"])-n[2*h+u]||0,l[f+c[2]]=0,l[f+c[3]]=0;return i.copy_ystyle&&(i=r.error_y),o.capSize=2*i.width,o.lineWidth=i.thickness,o.color=i.color,o}function L(t,e){var r={};return t?(t.marker&&t.marker.symbol?r=z(ne.extendFlat({},e,t.marker)):(r={},t.marker.size&&(r.sizes=t.marker.size),t.marker.color&&(r.colors=t.marker.color),void 0!==t.marker.opacity&&(r.opacity=t.marker.opacity)),r):r}function z(t){var e,n,i={},a=Array.isArray(t.symbol),o=ne.isArrayOrTypedArray(t.color),s=ne.isArrayOrTypedArray(t.line.color),l=ne.isArrayOrTypedArray(t.opacity),u=ne.isArrayOrTypedArray(t.size),c=ne.isArrayOrTypedArray(t.line.width);if(a||(n=f.test(t.symbol)),a||o||s||l){i.colors=new Array(w),i.borderColors=new Array(w);var h=Dj(t,t.opacity,w),p=Dj(t.line,t.opacity,w);if(!Array.isArray(p[0])){var d=p;for(p=Array(w),e=0;e<w;e++)p[e]=d}if(!Array.isArray(h[0])){var v=h;for(h=Array(w),e=0;e<w;e++)h[e]=v}for(i.colors=h,i.borderColors=p,e=0;e<w;e++){if(a){var m=t.symbol[e];n=f.test(m)}n&&(p[e]=h[e].slice(),h[e]=h[e].slice(),h[e][3]=0)}i.opacity=r.opacity}else n?(i.color=GC(t.color,\"uint8\"),i.color[3]=0,i.borderColor=GC(t.color,\"uint8\")):(i.color=GC(t.color,\"uint8\"),i.borderColor=GC(t.line.color,\"uint8\")),i.opacity=r.opacity*t.opacity;if(a)for(i.markers=new Array(w),e=0;e<w;e++)i.markers[e]=g(t.symbol[e]);else i.marker=g(t.symbol);var y,x=kr(r);if(u||c){var b,_=i.sizes=new Array(w),M=i.borderSizes=new Array(w),A=0;if(u){for(e=0;e<w;e++)_[e]=x(t.size[e]),A+=_[e];b=A/w}else for(y=x(t.size),e=0;e<w;e++)_[e]=y;if(c)for(e=0;e<w;e++)M[e]=x(t.line.width[e]);else for(y=x(t.line.width),e=0;e<w;e++)M[e]=y;i.sizeAvg=b}else i.size=x(t&&t.size||10),i.borderSizes=x(t.line.width);return i}return u&&((d={}).fill=r.fillcolor,d.thickness=0,d.closed=!0),l&&(p=z(M),y=L(r.selected,M),x=L(r.unselected,M),p.positions=n),{line:h,marker:p,errorX:v,errorY:m,fill:d,selected:y,unselected:x}}function d(t,e){var r=e._scene,n=t._fullLayout,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],selectedOptions:[],unselectedOptions:[],errorXOptions:[],errorYOptions:[]};return e._scene||((r=e._scene=ne.extendFlat({},i,{selectBatch:null,unselectBatch:null,fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,select2d:null})).update=function(t){for(var e=new Array(r.count),n=0;n<r.count;n++)e[n]=t;r.fill2d&&r.fill2d.update(e),r.scatter2d&&r.scatter2d.update(e),r.line2d&&r.line2d.update(e),r.error2d&&r.error2d.update(e.concat(e)),r.select2d&&r.select2d.update(e),r.draw()},r.draw=function(){var t;for(t=0;t<r.count;t++)r.fill2d&&r.fillOptions[t]&&r.fill2d.draw(t);for(t=0;t<r.count;t++)r.line2d&&r.lineOptions[t]&&r.line2d.draw(t),r.error2d&&r.errorXOptions[t]&&r.error2d.draw(t),r.error2d&&r.errorYOptions[t]&&r.error2d.draw(t+r.count),!r.scatter2d||!r.markerOptions[t]||r.selectBatch&&r.selectBatch[t]||r.scatter2d.draw(t);r.scatter2d&&r.select2d&&r.selectBatch&&(r.select2d.draw(r.selectBatch),r.scatter2d.draw(r.unselectBatch)),r.dirty=!1},r.clear=function(){var t,i,a=n._size,o=n.width,s=n.height,l=e.xaxis,u=e.yaxis;t=l&&l.domain&&u&&u.domain?[a.l+l.domain[0]*a.w,a.b+u.domain[0]*a.h,o-a.r-(1-l.domain[1])*a.w,s-a.t-(1-u.domain[1])*a.h]:[a.l,a.b,o-a.r,s-a.t],r.select2d&&((i=r.select2d.regl._gl).enable(i.SCISSOR_TEST),i.scissor(t[0],t[1],t[2]-t[0],t[3]-t[1]),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT)),r.scatter2d&&((i=r.scatter2d.regl._gl).enable(i.SCISSOR_TEST),i.scissor(t[0],t[1],t[2]-t[0],t[3]-t[1]),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT))},r.clearSelect=function(){r.selectBatch&&(r.selectBatch=null,r.unselectBatch=null,r.scatter2d.update(r.markerOptions),r.clear(),r.draw())},r.destroy=function(){r.fill2d&&r.fill2d.destroy(),r.scatter2d&&r.scatter2d.destroy(),r.error2d&&r.error2d.destroy(),r.line2d&&r.line2d.destroy(),r.select2d&&r.select2d.destroy(),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.selectedOptions=null,r.unselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||ne.extendFlat(r,i),r}function g(t){if(\"circle\"===t)return null;var e,r,n=Sr.symbolNumber(t),i=Sr.symbolFuncs[n%100],c=!!Sr.symbolNoDot[n%100],f=!!Sr.symbolNoFill[n%100],p=h.test(t);return l[t]?l[t]:(e=p&&!c?i(1.1*o)+u:i(o),r=lq(e,{w:a,h:a,viewBox:[-o,-o,o,o],stroke:f?s:-s}),l[t]=r,r||null)}yq={moduleType:\"trace\",name:\"scattergl\",basePlotModule:ua,categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"errorBarsOK\",\"markerColorscale\",\"showLegend\",\"scatter-like\"],attributes:cq,supplyDefaults:mq,cleanData:ux,colorbar:is,calc:function(t,e){var a,o,s,l=t._fullLayout,u=gn.getFromId(t,e.xaxis),h=gn.getFromId(t,e.yaxis),f=l._plots[e.xaxis+e.yaxis],g=e._length,v=2*g,m={},y=u.makeCalcdata(e,\"x\"),x=h.makeCalcdata(e,\"y\"),b=new Array(v);for(a=0;a<g;a++)o=y[a],s=x[a],b[2*a]=o===i?NaN:o,b[2*a+1]=s===i?NaN:s;if(\"log\"===u.type)for(a=0;a<v;a+=2)b[a]=u.c2l(b[a]);if(\"log\"===h.type)for(a=1;a<v;a+=2)b[a]=h.c2l(b[a]);if(\"log\"!==u.type&&\"log\"!==h.type)m.tree=vV(b,512);else{var _=m.ids=new Array(g);for(a=0;a<g;a++)_[a]=a}ex(e);var w,M=p(t,0,e,b),A=M.marker,k=d(t,f);return g<c?w=r(e,g):A&&(w=2*(A.sizeAvg||Math.max(A.size,3))),n(t,e,u,h,y,x,w),M.fill&&!k.fill2d&&(k.fill2d=!0),M.marker&&!k.scatter2d&&(k.scatter2d=!0),M.line&&!k.line2d&&(k.line2d=!0),!M.errorX&&!M.errorY||k.error2d||(k.error2d=!0),k.lineOptions.push(M.line),k.errorXOptions.push(M.errorX),k.errorYOptions.push(M.errorY),k.fillOptions.push(M.fill),k.markerOptions.push(M.marker),k.selectedOptions.push(M.selected),k.unselectedOptions.push(M.unselected),k.count++,m.scene=k,m.index=k.count-1,m.x=y,m.y=x,m.positions=b,m.count=g,t.firstscatter=!1,[{x:!1,y:!1,t:m,trace:e}]},plot:function(t,r,n){if(n.length){var i=t._fullLayout,a=n[0][0].t.scene,o=i.dragmode;if(a){var s=i._size,l=i.width,u=i.height;i._glcanvas.each(function(r){r.regl||r.pick||(r.regl=YR({canvas:this,attributes:{antialias:!r.pick,preserveDrawingBuffer:!0},extensions:[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],pixelRatio:t._context.plotGlPixelRatio||e.devicePixelRatio}))});var c=i._glcanvas.data()[0].regl;if(Mx(t,r,n),a.dirty){if(!0===a.error2d&&(a.error2d=zV(c)),!0===a.line2d&&(a.line2d=iU(c)),!0===a.scatter2d&&(a.scatter2d=SU(c)),!0===a.fill2d&&(a.fill2d=iU(c)),a.line2d&&a.line2d.update(a.lineOptions),a.error2d){var h=(a.errorXOptions||[]).concat(a.errorYOptions||[]);a.error2d.update(h)}a.scatter2d&&a.scatter2d.update(a.markerOptions),a.fill2d&&(a.fillOptions=a.fillOptions.map(function(t,e){var r=n[e];if(!(t&&r&&r[0]&&r[0].trace))return null;var i,o,s=r[0],l=s.trace,u=s.t,c=a.lineOptions[e],h=[],f=c&&c.positions||u.positions;if(\"tozeroy\"===l.fill)(h=(h=[f[0],0]).concat(f)).push(f[f.length-2]),h.push(0);else if(\"tozerox\"===l.fill)(h=(h=[0,f[1]]).concat(f)).push(0),h.push(f[f.length-1]);else if(\"toself\"===l.fill||\"tonext\"===l.fill){for(h=[],i=0,o=0;o<f.length;o+=2)(isNaN(f[o])||isNaN(f[o+1]))&&((h=h.concat(f.slice(i,o))).push(f[i],f[i+1]),i=o+2);h=h.concat(f.slice(i)),i&&h.push(f[i],f[i+1])}else{var p=l._nexttrace;if(p){var d=a.lineOptions[e+1];if(d){var g=d.positions;if(\"tonexty\"===l.fill){for(h=f.slice(),e=Math.floor(g.length/2);e--;){var v=g[2*e],m=g[2*e+1];isNaN(v)||isNaN(m)||(h.push(v),h.push(m))}t.fill=p.fillcolor}}}}if(l._prevtrace&&\"tonext\"===l._prevtrace.fill){var y=a.lineOptions[e-1].positions,x=h.length/2,b=[i=x];for(o=0;o<y.length;o+=2)(isNaN(y[o])||isNaN(y[o+1]))&&(b.push(o/2+x+1),i=o+2);h=h.concat(y),t.hole=b}return t.opacity=l.opacity,t.positions=h,t}),a.fill2d.update(a.fillOptions))}var f=\"lasso\"===o||\"select\"===o,p=n.map(function(e){if(e&&e[0]&&e[0].trace){var n,i=e[0],o=i.trace,c=i.t,h=c.index,p=c.x,d=c.y,g=r.xaxis||gn.getFromId(t,o.xaxis||\"x\"),v=r.yaxis||gn.getFromId(t,o.yaxis||\"y\"),m=[(g._rl||g.range)[0],(v._rl||v.range)[0],(g._rl||g.range)[1],(v._rl||v.range)[1]],y=[s.l+g.domain[0]*s.w,s.b+v.domain[0]*s.h,l-s.r-(1-g.domain[1])*s.w,u-s.t-(1-v.domain[1])*s.h];if(o.selectedpoints||f){if(f||(f=!0),a.selectBatch||(a.selectBatch=[]),a.unselectBatch||(a.unselectBatch=[]),o.selectedpoints){a.selectBatch[h]=o.selectedpoints;var x=o.selectedpoints,b={};for(n=0;n<x.length;n++)b[x[n]]=!0;var _=[];for(n=0;n<c.count;n++)b[n]||_.push(n);a.unselectBatch[h]=_}var w=new Array(c.count),M=new Array(c.count);for(n=0;n<c.count;n++)w[n]=g.c2p(p[n]),M[n]=v.c2p(d[n]);c.xpx=w,c.ypx=M}else c.xpx=c.ypx=null;return o.visible?{viewport:y,range:m}:null}});f&&(a.select2d||(a.select2d=SU(i._glcanvas.data()[1].regl,{clone:a.scatter2d})),a.scatter2d&&a.selectBatch&&a.selectBatch.length&&a.scatter2d.update(a.unselectedOptions.map(function(t,e){return a.selectBatch[e]?t:null})),a.select2d&&(a.select2d.update(a.markerOptions),a.select2d.update(a.selectedOptions))),a.fill2d&&a.fill2d.update(p),a.line2d&&a.line2d.update(p),a.error2d&&a.error2d.update(p.concat(p)),a.scatter2d&&a.scatter2d.update(p),a.select2d&&a.select2d.update(p),a.draw()}}},hoverPoints:function(t,e,r,n){var i,a=t.cd,o=a[0].t,s=a[0].trace,l=t.xa,u=t.ya,c=o.x,h=o.y,f=l.c2p(e),p=u.c2p(r),d=t.distance;if(o.tree){var g=l.p2c(f-d),v=l.p2c(f+d),m=u.p2c(p-d),y=u.p2c(p+d);i=\"x\"===n?o.tree.range(Math.min(g,v),Math.min(u._rl[0],u._rl[1]),Math.max(g,v),Math.max(u._rl[0],u._rl[1])):o.tree.range(Math.min(g,v),Math.min(m,y),Math.max(g,v),Math.max(m,y))}else{if(!o.ids)return[t];i=o.ids}var x,b,_,w,M,A,k,T,S=d;if(\"x\"===n)for(w=0;w<i.length;w++)b=c[i[w]],(M=Math.abs(l.c2p(b)-f))<S&&(S=M,A=u.c2p(h[i[w]])-p,T=Math.sqrt(M*M+A*A),x=i[w]);else for(w=0;w<i.length;w++)b=c[i[w]],_=h[i[w]],M=l.c2p(b)-f,A=u.c2p(_)-p,(k=Math.sqrt(M*M+A*A))<S&&(S=T=k,x=i[w]);if(t.index=x,void 0===x)return[t];var E={pointNumber:x,x:c[x],y:h[x]};E.tx=Array.isArray(s.text)?s.text[x]:s.text,E.htx=Array.isArray(s.hovertext)?s.hovertext[x]:s.hovertext,E.data=Array.isArray(s.customdata)?s.customdata[x]:s.customdata,E.tp=Array.isArray(s.textposition)?s.textposition[x]:s.textposition;var C=s.textfont;C&&(E.ts=Array.isArray(C.size)?C.size[x]:C.size,E.tc=Array.isArray(C.color)?C.color[x]:C.color,E.tf=Array.isArray(C.family)?C.family[x]:C.family);var L=s.marker;L&&(E.ms=ne.isArrayOrTypedArray(L.size)?L.size[x]:L.size,E.mo=ne.isArrayOrTypedArray(L.opacity)?L.opacity[x]:L.opacity,E.mx=Array.isArray(L.symbol)?L.symbol[x]:L.symbol,E.mc=ne.isArrayOrTypedArray(L.color)?L.color[x]:L.color);var z=L&&L.line;z&&(E.mlc=Array.isArray(z.color)?z.color[x]:z.color,E.mlw=ne.isArrayOrTypedArray(z.width)?z.width[x]:z.width);var I=L&&L.gradient;I&&\"none\"!==I.type&&(E.mgt=Array.isArray(I.type)?I.type[x]:I.type,E.mgc=Array.isArray(I.color)?I.color[x]:I.color);var D=l.c2p(E.x,!0),O=u.c2p(E.y,!0),R=E.mrc||1,F=s.hoverlabel;F&&(E.hbg=Array.isArray(F.bgcolor)?F.bgcolor[x]:F.bgcolor,E.hbc=Array.isArray(F.bordercolor)?F.bordercolor[x]:F.bordercolor,E.hts=Array.isArray(F.font.size)?F.font.size[x]:F.font.size,E.htc=Array.isArray(F.font.color)?F.font.color[x]:F.font.color,E.htf=Array.isArray(F.font.family)?F.font.family[x]:F.font.family,E.hnl=Array.isArray(F.namelength)?F.namelength[x]:F.namelength);var B=s.hoverinfo;B&&(E.hi=Array.isArray(B)?B[x]:B);var N={};return N[t.index]=E,ne.extendFlat(t,{color:mx(s,E),x0:D-R,x1:D+R,xLabelVal:E.x,y0:O-R,y1:O+R,yLabelVal:E.y,cd:N,distance:S,spikeDistance:T}),E.htx?t.text=E.htx:E.tx?t.text=E.tx:s.text&&(t.text=s.text),xo(E,s,t),P.getComponentMethod(\"errorbars\",\"hoverInfo\")(E,s,t),[t]},style:function(t,e){if(e){var r=e[0].t.scene;r.clear(),r.draw()}},selectPoints:function(t,e){var r=t.cd,n=[],i=r[0].trace,a=r[0].t,o=a.x,s=a.y,l=a.scene;if(!l)return n;var u=!Tr.hasMarkers(i)&&!Tr.hasText(i);if(!0!==i.visible||u)return n;var c,h=null,f=null;if(!1===e||e.degenerate)f=gV(a.count);else for(h=[],f=[],c=0;c<a.count;c++)e.contains([a.xpx[c],a.ypx[c]])?(h.push(c),n.push({pointNumber:c,x:o[c],y:s[c]})):f.push(c);if(l.selectBatch||(l.selectBatch=[],l.unselectBatch=[]),!l.selectBatch[a.index]){for(c=0;c<l.count;c++)l.selectBatch[c]=[],l.unselectBatch[c]=[];l.scatter2d.update(l.unselectedOptions)}return l.selectBatch[a.index]=h,l.unselectBatch[a.index]=f,n},sceneOptions:p,sceneUpdate:d,meta:{}}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{});var xq=yq,bq={exports:{}};(function(t){\"use strict\";!function(e){\"object\"==typeof bq.exports?bq.exports=e():(\"undefined\"!=typeof window?window:void 0!==t?t:\"undefined\"!=typeof self?self:this).mapboxgl=e()}(function(){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||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){function n(t){var e=0;if(t&&t.length>0){e+=Math.abs(i(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(i(t[r]))}return e}function i(t){var e,r,n,i,s,l,u=0,c=t.length;if(c>2){for(l=0;l<c;l++)l===c-2?(n=c-2,i=c-1,s=0):l===c-1?(n=c-1,i=0,s=1):(n=l,i=l+1,s=l+2),e=t[n],r=t[i],u+=(a(t[s][0])-a(e[0]))*Math.sin(a(r[1]));u=u*o.RADIUS*o.RADIUS/2}return u}function a(t){return t*Math.PI/180}var o=t(\"wgs84\");e.exports.geometry=function t(e){var r,i=0;switch(e.type){case\"Polygon\":return n(e.coordinates);case\"MultiPolygon\":for(r=0;r<e.coordinates.length;r++)i+=n(e.coordinates[r]);return i;case\"Point\":case\"MultiPoint\":case\"LineString\":case\"MultiLineString\":return 0;case\"GeometryCollection\":for(r=0;r<e.geometries.length;r++)i+=t(e.geometries[r]);return i}},e.exports.ring=i},{wgs84:37}],2:[function(t,e,r){var n,i;n=this,i=function(){return function(){var t=new Float32Array(3);t[0]=0,t[1]=0,t[2]=0}(),function(){var t=new Float32Array(4);t[0]=0,t[1]=0,t[2]=0,t[3]=0}(),{vec3:{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}},vec4:{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}},mat2:{create:function(){var t=new Float32Array(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},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},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}},mat3:{create:function(){var t=new Float32Array(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},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}},mat4:{create:function(){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},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},translate:function(t,e,r){var n,i,a,o,s,l,u,c,h,f,p,d,g=r[0],v=r[1],m=r[2];return e===t?(t[12]=e[0]*g+e[4]*v+e[8]*m+e[12],t[13]=e[1]*g+e[5]*v+e[9]*m+e[13],t[14]=e[2]*g+e[6]*v+e[10]*m+e[14],t[15]=e[3]*g+e[7]*v+e[11]*m+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],p=e[10],d=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]=p,t[11]=d,t[12]=n*g+s*v+h*m+e[12],t[13]=i*g+l*v+f*m+e[13],t[14]=a*g+u*v+p*m+e[14],t[15]=o*g+c*v+d*m+e[15]),t},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},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],p=e[10],d=e[11],g=e[12],v=e[13],m=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*v,t[2]=x*a+b*u+_*p+w*m,t[3]=x*o+b*c+_*d+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*v,t[6]=x*a+b*u+_*p+w*m,t[7]=x*o+b*c+_*d+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*v,t[10]=x*a+b*u+_*p+w*m,t[11]=x*o+b*c+_*d+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*v,t[14]=x*a+b*u+_*p+w*m,t[15]=x*o+b*c+_*d+w*y,t},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},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},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},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],p=e[11],d=e[12],g=e[13],v=e[14],m=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*d,k=c*v-f*d,T=c*m-p*d,S=h*v-f*g,E=h*m-p*g,C=f*m-p*v,L=y*C-x*E+b*S+_*T-w*k+M*A;return L?(L=1/L,t[0]=(s*C-l*E+u*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(g*M-v*w+m*_)*L,t[3]=(f*w-h*M-p*_)*L,t[4]=(l*T-o*C-u*k)*L,t[5]=(r*C-i*T+a*k)*L,t[6]=(v*b-d*M-m*x)*L,t[7]=(c*M-f*b+p*x)*L,t[8]=(o*E-s*T+u*A)*L,t[9]=(n*T-r*E-a*A)*L,t[10]=(d*w-g*b+m*y)*L,t[11]=(h*b-c*w-p*y)*L,t[12]=(s*k-o*S-l*A)*L,t[13]=(r*S-n*k+i*A)*L,t[14]=(g*x-d*_-v*y)*L,t[15]=(c*_-h*x+f*y)*L,t):null},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}}}},\"object\"==typeof r&&void 0!==e?e.exports=i():n.glMatrix=i()},{}],3:[function(t,e,r){function n(t){return!!(\"undefined\"!=typeof window&&\"undefined\"!=typeof document&&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.prototype&&Function.prototype.bind&&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&&\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON&&function(){if(!(\"Worker\"in window&&\"Blob\"in window))return!1;var t,e,r=new Blob([\"\"],{type:\"text/javascript\"}),n=URL.createObjectURL(r);try{e=new Worker(n),t=!0}catch(e){t=!1}return e&&e.terminate(),URL.revokeObjectURL(n),t}()&&\"Uint8ClampedArray\"in window&&function(t){return void 0===i[t]&&(i[t]=function(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)}(t)),i[t]}(t&&t.failIfMajorPerformanceCaveat))}void 0!==e&&e.exports?e.exports=n:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=n);var i={};n.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}},{}],4:[function(t,e,r){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)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(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)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},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},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,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},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,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}},{}],5:[function(t,e,r){var n,i;n=this,i=function(){function t(t,e,r){r=r||{},this.w=t||64,this.h=e||64,this.autoResize=!!r.autoResize,this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0}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=[],s=0;s<t.length;s++)if(r=t[s].w||t[s].width,n=t[s].h||t[s].height,i=t[s].id,r&&n){if(!(a=this.packOne(r,n,i)))continue;e.inPlace&&(t[s].x=a.x,t[s].y=a.y,t[s].id=a.id),o.push(a)}return this.shrink(),o},t.prototype.packOne=function(t,r,n){var i,a,o,s,l,u,c,h,f={freebin:-1,shelf:-1,waste:1/0},p=0;if(\"string\"==typeof n||\"number\"==typeof n){if(i=this.getBin(n))return this.ref(i),i;\"number\"==typeof n&&(this.maxId=Math.max(n,this.maxId))}else n=++this.maxId;for(s=0;s<this.freebins.length;s++){if(r===(i=this.freebins[s]).maxh&&t===i.maxw)return this.allocFreebin(s,t,r,n);r>i.maxh||t>i.maxw||r<=i.maxh&&t<=i.maxw&&(o=i.maxw*i.maxh-t*r)<f.waste&&(f.waste=o,f.freebin=s)}for(s=0;s<this.shelves.length;s++)if(p+=(a=this.shelves[s]).h,!(t>a.free)){if(r===a.h)return this.allocShelf(s,t,r,n);r>a.h||r<a.h&&(o=(a.h-r)*t)<f.waste&&(f.freebin=-1,f.waste=o,f.shelf=s)}return-1!==f.freebin?this.allocFreebin(f.freebin,t,r,n):-1!==f.shelf?this.allocShelf(f.shelf,t,r,n):r<=this.h-p&&t<=this.w?(a=new e(p,this.w,r),this.allocShelf(this.shelves.push(a)-1,t,r,n)):this.autoResize?(l=u=this.h,((c=h=this.w)<=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,n)):null},t.prototype.allocFreebin=function(t,e,r,n){var i=this.freebins.splice(t,1)[0];return i.id=n,i.w=e,i.h=r,i.refcount=0,this.bins[n]=i,this.ref(i),i},t.prototype.allocShelf=function(t,e,r,n){var i=this.shelves[t].alloc(e,r,n);return this.bins[n]=i,this.ref(i),i},t.prototype.shrink=function(){if(this.shelves.length>0){for(var t=0,e=0,r=0;r<this.shelves.length;r++){var n=this.shelves[r];e+=n.h,t=Math.max(n.w-n.free,t)}this.resize(t,e)}},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1==++t.refcount){var e=t.h;this.stats[e]=1+(0|this.stats[e])}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0==--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},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,r){if(t>this.free||e>this.h)return null;var n=this.x;return this.x+=t,this.free-=t,new function(t,e,r,n,i,a,o){this.id=t,this.x=e,this.y=r,this.w=n,this.h=i,this.maxw=a||n,this.maxh=o||i,this.refcount=0}(r,n,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t},\"object\"==typeof r&&void 0!==e?e.exports=i():n.ShelfPack=i()},{}],6:[function(t,e,r){function n(t,e,r,n,i,a){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=i||\"sans-serif\",this.fontWeight=a||\"normal\",this.radius=r||8;var o=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement(\"canvas\"),this.canvas.width=this.canvas.height=o,this.ctx=this.canvas.getContext(\"2d\"),this.ctx.font=this.fontWeight+\" \"+this.fontSize+\"px \"+this.fontFamily,this.ctx.textBaseline=\"middle\",this.ctx.fillStyle=\"black\",this.gridOuter=new Float64Array(o*o),this.gridInner=new Float64Array(o*o),this.f=new Float64Array(o),this.d=new Float64Array(o),this.z=new Float64Array(o+1),this.v=new Int16Array(o),this.middle=Math.round(o/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]);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=new Uint8ClampedArray(this.size*this.size),n=0;n<this.size*this.size;n++){var a=e.data[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];r[n]=Math.max(0,Math.min(255,Math.round(255-255*(s/this.radius+this.cutoff))))}return r}},{}],7:[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){var r,n,i,a,o;for(void 0===e&&(e=1e-6),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(n=1,(i=t)<(r=0))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))}},{}],8:[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\":9,\"./lib/vectortilefeature.js\":10,\"./lib/vectortilelayer.js\":11}],9:[function(t,e,r){function n(t,e,r){if(3===t){var n=new i(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}var i=t(\"./vectortilelayer\");e.exports=function(t,e){this.layers=t.readFields(n,{},e)}},{\"./vectortilelayer\":11}],10:[function(t,e,r){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?function(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}}(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos)}function a(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],n+=((r=t[o]).x-e.x)*(e.y+r.y);return n}var o=t(\"@mapbox/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,s=0,l=[];t.pos<r;){if(!i){var u=t.readVarint();n=7&u,i=u>>3}if(i--,1===n||2===n)a+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new o(a,s));else{if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},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 o,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 p=[];for(o=0;o<h.length;o++)p[o]=h[o][0];i(h=p);break;case 2:for(o=0;o<h.length;o++)i(h[o]);break;case 3:for(h=function(t){var e=t.length;if(e<=1)return[t];for(var r,n,i=[],o=0;o<e;o++){var s=a(t[o]);0!==s&&(void 0===n&&(n=s<0),n===s<0?(r&&i.push(r),r=[t[o]]):r.push(t[o]))}return r&&i.push(r),i}(h),o=0;o<h.length;o++)for(s=0;s<h[o].length;s++)i(h[o][s])}1===h.length?h=h[0]:f=\"Multi\"+f;var d={type:\"Feature\",geometry:{type:f,coordinates:h},properties:this.properties};return\"id\"in this&&(d.id=this.id),d}},{\"@mapbox/point-geometry\":4}],11:[function(t,e,r){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(function(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}(r))}var a=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 a(this._pbf,e,this.extent,this._keys,this._values)}},{\"./vectortilefeature.js\":10}],12:[function(t,e,r){var n;n=this,function(t){function e(t,e,n){var i=r(256*t,256*(e=Math.pow(2,n)-e-1),n),a=r(256*(t+1),256*(e+1),n);return i[0]+\",\"+i[1]+\",\"+a[0]+\",\"+a[1]}function r(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=function(t,r,n,i,a,o){return o=o||{},t+\"?\"+[\"bbox=\"+e(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=\"+r].join(\"&\")},t.getTileBBox=e,t.getMercCoords=r,Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&void 0!==e?r:n.WhooTS=n.WhooTS||{})},{}],13:[function(t,e,r){function n(t){return(t=Math.round(t))<0?0:t>255?255:t}function i(t){return n(\"%\"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function a(t){return function(t){return t<0?0:t>1?1:t}(\"%\"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))}function o(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}var s={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=function(t){var e,r=t.replace(/ /g,\"\").toLowerCase();if(r in s)return s[r].slice();if(\"#\"===r[0])return 4===r.length?(e=parseInt(r.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===r.length&&(e=parseInt(r.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=r.indexOf(\"(\"),u=r.indexOf(\")\");if(-1!==l&&u+1===r.length){var c=r.substr(0,l),h=r.substr(l+1,u-(l+1)).split(\",\"),f=1;switch(c){case\"rgba\":if(4!==h.length)return null;f=a(h.pop());case\"rgb\":return 3!==h.length?null:[i(h[0]),i(h[1]),i(h[2]),f];case\"hsla\":if(4!==h.length)return null;f=a(h.pop());case\"hsl\":if(3!==h.length)return null;var p=(parseFloat(h[0])%360+360)%360/360,d=a(h[1]),g=a(h[2]),v=g<=.5?g*(d+1):g+d-g*d,m=2*g-v;return[n(255*o(m,v,p+1/3)),n(255*o(m,v,p)),n(255*o(m,v,p-1/3)),f];default:return null}}return null}}catch(t){}},{}],14:[function(t,e,r){function n(t,e,r){r=r||2;var n,s,l,u,c,p,g,v=e&&e.length,m=v?e[0]*r:t.length,y=i(t,0,m,r,!0),x=[];if(!y)return x;if(v&&(y=function(t,e,r,n){var o,s,l,u,c,p=[];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.next&&(c.steiner=!0),p.push(d(c));for(p.sort(h),o=0;o<p.length;o++)f(p[o],r),r=a(r,r.next);return r}(t,e,y,r)),t.length>80*r){n=l=t[0],s=u=t[1];for(var b=r;b<m;b+=r)c=t[b],p=t[b+1],c<n&&(n=c),p<s&&(s=p),c>l&&(l=c),p>u&&(u=p);g=0!==(g=Math.max(l-n,u-s))?1/g:0}return o(y,x,r,n,s,g),x}function i(t,e,r,n,i){var a,o;if(i===k(t,e,r,n)>0)for(a=e;a<r;a+=n)o=w(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=w(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(M(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||!y(n,n.next)&&0!==m(n.prev,n,n.next))n=n.next;else{if(M(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,h,f){if(t){!f&&h&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=p(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,function(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&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,n,i,h);for(var d,g,v=t;t.prev!==t.next;)if(d=t.prev,g=t.next,h?l(t,n,i,h):s(t))e.push(d.i/r),e.push(t.i/r),e.push(g.i/r),M(t),t=g.next,v=g.next;else if((t=g)===v){f?1===f?o(t=u(t,e,r),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(m(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(g(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&m(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(m(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=p(s,l,e,r,n),f=p(u,c,e,r,n),d=t.prevZ,v=t.nextZ;d&&d.z>=h&&v&&v.z<=f;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&m(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,v!==t.prev&&v!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&m(v.prev,v,v.next)>=0)return!1;v=v.nextZ}for(;d&&d.z>=h;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&m(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;v&&v.z<=f;){if(v!==t.prev&&v!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&m(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function u(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!y(i,a)&&x(i,n,n.next,a)&&b(i,a)&&b(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),M(n),M(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&&v(l,u)){var c=_(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){return t.x-e.x}function f(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.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&&i!==n.x&&g(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)&&b(n,t)&&(r=n,f=l),n=n.next;return r}(t,e)){var r=_(e,t);a(r,r.next)}}function p(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function d(t){var e=t,r=t;do{e.x<r.x&&(r=e),e=e.next}while(e!==t);return r}function g(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 v(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(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&&x(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&b(t,e)&&b(e,t)&&function(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&&r.next.y!==r.y&&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}(t,e)}function m(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function x(t,e,r,n){return!!(y(t,e)&&y(r,n)||y(t,n)&&y(r,e))||m(t,e,r)>0!=m(t,e,n)>0&&m(r,n,t)>0!=m(r,n,e)>0}function b(t,e){return m(t.prev,t,t.next)<0?m(t,e,t.next)>=0&&m(t,t.prev,e)>=0:m(t,e,t.prev)<0||m(t,t.next,e)<0}function _(t,e){var r=new A(t.i,t.x,t.y),n=new A(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 w(t,e,r,n){var i=new A(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 M(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 A(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 k(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,e.exports.default=n,n.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(k(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(k(t,u,c,r))}var h=0;for(s=0;s<n.length;s+=3){var f=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;h+=Math.abs((t[f]-t[d])*(t[p+1]-t[f+1])-(t[f]-t[p])*(t[d+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}},{}],15:[function(t,e,r){function n(t,e){return function(r){return t(r,e)}}function i(t,e){e=!!e,t[0]=a(t[0],e);for(var r=1;r<t.length;r++)t[r]=a(t[r],!e);return t}function a(t,e){return function(t){return o.ring(t)>=0}(t)===e?t:t.reverse()}var o=t(\"@mapbox/geojson-area\");e.exports=function t(e,r){switch(e&&e.type||null){case\"FeatureCollection\":return e.features=e.features.map(n(t,r)),e;case\"Feature\":return e.geometry=t(e.geometry,r),e;case\"Polygon\":case\"MultiPolygon\":return function(t,e){return\"Polygon\"===t.type?t.coordinates=i(t.coordinates,e):\"MultiPolygon\"===t.type&&(t.coordinates=t.coordinates.map(n(i,e))),t}(e,r);default:return e}}},{\"@mapbox/geojson-area\":1}],16:[function(t,e,r){function n(t,e,r,n,i){for(var a=0;a<t.length;a+=3){var o=t[a+i];o>=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function i(t,e,r,n,i,a){for(var u=[],c=0===i?s:l,h=0;h<t.length-3;h+=3){var f=t[h],p=t[h+1],d=t[h+2],g=t[h+3],v=t[h+4],m=0===i?f:p,y=0===i?g:v,x=!1;m<r?y>=r&&c(u,f,p,g,v,r):m>n?y<=n&&c(u,f,p,g,v,n):o(u,f,p,d),y<r&&m>=r&&(c(u,f,p,g,v,r),x=!0),y>n&&m<=n&&(c(u,f,p,g,v,n),x=!0),!a&&x&&(u.size=t.size,e.push(u),u=[])}var b=t.length-3;f=t[b],p=t[b+1],d=t[b+2],(m=0===i?f:p)>=r&&m<=n&&o(u,f,p,d),b=u.length-3,a&&b>=3&&(u[b]!==u[0]||u[b+1]!==u[1])&&o(u,u[0],u[1],u[2]),u.length&&(u.size=t.size,e.push(u))}function a(t,e,r,n,a,o){for(var s=0;s<t.length;s++)i(t[s],e,r,n,a,o)}function o(t,e,r,n){t.push(e),t.push(r),t.push(n)}function s(t,e,r,n,i,a){t.push(a),t.push(r+(a-e)*(i-r)/(n-e)),t.push(1)}function l(t,e,r,n,i,a){t.push(e+(a-r)*(n-e)/(i-r)),t.push(a),t.push(1)}e.exports=function(t,e,r,o,s,l,c){if(o/=e,l>=(r/=e)&&c<=o)return t;if(l>o||c<r)return null;for(var h=[],f=0;f<t.length;f++){var p=t[f],d=p.geometry,g=p.type,v=0===s?p.minX:p.minY,m=0===s?p.maxX:p.maxY;if(v>=r&&m<=o)h.push(p);else if(!(v>o||m<r)){var y=[];if(\"Point\"===g||\"MultiPoint\"===g)n(d,y,r,o,s);else if(\"LineString\"===g)i(d,y,r,o,s,!1);else if(\"MultiLineString\"===g)a(d,y,r,o,s,!1);else if(\"Polygon\"===g)a(d,y,r,o,s,!0);else if(\"MultiPolygon\"===g)for(var x=0;x<d.length;x++){var b=[];a(d[x],b,r,o,s,!0),b.length&&y.push(b)}y.length&&(\"LineString\"!==g&&\"MultiLineString\"!==g||(1===y.length?(g=\"LineString\",y=y[0]):g=\"MultiLineString\"),\"Point\"!==g&&\"MultiPoint\"!==g||(g=3===y.length?\"Point\":\"MultiPoint\"),h.push(u(p.id,g,y,p.tags)))}}return h.length?h:null};var u=t(\"./feature\")},{\"./feature\":18}],17:[function(t,e,r){function n(t,e,r){if(e.geometry){var s=e.geometry.coordinates,l=e.geometry.type,u=r*r,h=[];if(\"Point\"===l)i(s,h);else if(\"MultiPoint\"===l)for(var f=0;f<s.length;f++)i(s[f],h);else if(\"LineString\"===l)a(s,h,u,!1);else if(\"MultiLineString\"===l)o(s,h,u,!1);else if(\"Polygon\"===l)o(s,h,u,!0);else{if(\"MultiPolygon\"!==l){if(\"GeometryCollection\"===l){for(f=0;f<e.geometry.geometries.length;f++)n(t,{geometry:e.geometry.geometries[f],properties:e.properties},r);return}throw new Error(\"Input data is not a valid GeoJSON object.\")}for(f=0;f<s.length;f++){var p=[];o(s[f],p,u,!0),h.push(p)}}t.push(c(e.id,l,h,e.properties))}}function i(t,e){e.push(s(t[0])),e.push(l(t[1])),e.push(0)}function a(t,e,r,n){for(var i,a,o=0,c=0;c<t.length;c++){var h=s(t[c][0]),f=l(t[c][1]);e.push(h),e.push(f),e.push(0),c>0&&(o+=n?(i*f-h*a)/2:Math.sqrt(Math.pow(h-i,2)+Math.pow(f-a,2))),i=h,a=f}var p=e.length-3;e[2]=1,u(e,0,p,r),e[p+2]=1,e.size=Math.abs(o)}function o(t,e,r,n){for(var i=0;i<t.length;i++){var o=[];a(t[i],o,r,n),e.push(o)}}function s(t){return t/360+.5}function l(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}e.exports=function(t,e){var r=[];if(\"FeatureCollection\"===t.type)for(var i=0;i<t.features.length;i++)n(r,t.features[i],e);else\"Feature\"===t.type?n(r,t,e):n(r,{geometry:t},e);return r};var u=t(\"./simplify\"),c=t(\"./feature\")},{\"./feature\":18,\"./simplify\":20}],18:[function(t,e,r){function n(t,e){for(var r=0;r<e.length;r+=3)t.minX=Math.min(t.minX,e[r]),t.minY=Math.min(t.minY,e[r+1]),t.maxX=Math.max(t.maxX,e[r]),t.maxY=Math.max(t.maxY,e[r+1])}e.exports=function(t,e,r,i){var a={id:t||null,type:e,geometry:r,tags:i,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if(\"Point\"===r||\"MultiPoint\"===r||\"LineString\"===r)n(t,e);else if(\"Polygon\"===r||\"MultiLineString\"===r)for(var i=0;i<e.length;i++)n(t,e[i]);else if(\"MultiPolygon\"===r)for(i=0;i<e.length;i++)for(var a=0;a<e[i].length;a++)n(t,e[i][a])}(a),a}},{}],19:[function(t,e,r){function n(t,e){var r=(e=this.options=function(t,e){for(var r in e)t[r]=e[r];return t}(Object.create(this.options),e)).debug;if(r&&console.time(\"preprocess data\"),e.maxZoom<0||e.maxZoom>24)throw new Error(\"maxZoom should be in the 0-24 range\");var n=1<<e.maxZoom,i=a(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=l(i,e.buffer/e.extent)).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 i(t,e,r){return 32*((1<<t)*r+e)+t}e.exports=function(t,e){return new n(t,e)};var a=t(\"./convert\"),o=t(\"./transform\"),s=t(\"./clip\"),l=t(\"./wrap\"),u=t(\"./tile\");n.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,debug:0},n.prototype.splitTile=function(t,e,r,n,a,o,l){for(var c=[t,e,r,n],h=this.options,f=h.debug;c.length;){n=c.pop(),r=c.pop(),e=c.pop(),t=c.pop();var p=1<<e,d=i(e,r,n),g=this.tiles[d],v=e===h.maxZoom?0:h.tolerance/(p*h.extent);if(!g&&(f>1&&console.time(\"creation\"),g=this.tiles[d]=u(t,p,r,n,v,e===h.maxZoom),this.tileCoords.push({z:e,x:r,y:n}),f)){f>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",e,r,n,g.numFeatures,g.numPoints,g.numSimplified),console.timeEnd(\"creation\"));var m=\"z\"+e;this.stats[m]=(this.stats[m]||0)+1,this.total++}if(g.source=t,a){if(e===h.maxZoom||e===a)continue;var y=1<<a-e;if(r!==Math.floor(o/y)||n!==Math.floor(l/y))continue}else if(e===h.indexMaxZoom||g.numPoints<=h.indexMaxPoints)continue;if(g.source=null,0!==t.length){f>1&&console.time(\"clipping\");var x,b,_,w,M,A,k=.5*h.buffer/h.extent,T=.5-k,S=.5+k,E=1+k;x=b=_=w=null,M=s(t,p,r-k,r+S,0,g.minX,g.maxX),A=s(t,p,r+T,r+E,0,g.minX,g.maxX),t=null,M&&(x=s(M,p,n-k,n+S,1,g.minY,g.maxY),b=s(M,p,n+T,n+E,1,g.minY,g.maxY),M=null),A&&(_=s(A,p,n-k,n+S,1,g.minY,g.maxY),w=s(A,p,n+T,n+E,1,g.minY,g.maxY),A=null),f>1&&console.timeEnd(\"clipping\"),c.push(x||[],e+1,2*r,2*n),c.push(b||[],e+1,2*r,2*n+1),c.push(_||[],e+1,2*r+1,2*n),c.push(w||[],e+1,2*r+1,2*n+1)}}},n.prototype.getTile=function(t,e,r){var n=this.options,a=n.extent,s=n.debug;if(t<0||t>24)return null;var l=1<<t,u=i(t,e=(e%l+l)%l,r);if(this.tiles[u])return o.tile(this.tiles[u],a);s>1&&console.log(\"drilling down to z%d-%d-%d\",t,e,r);for(var c,h=t,f=e,p=r;!c&&h>0;)h--,f=Math.floor(f/2),p=Math.floor(p/2),c=this.tiles[i(h,f,p)];return c&&c.source?(s>1&&console.log(\"found parent tile z%d-%d-%d\",h,f,p),s>1&&console.time(\"drilling down\"),this.splitTile(c.source,h,f,p,t,e,r),s>1&&console.timeEnd(\"drilling down\"),this.tiles[u]?o.tile(this.tiles[u],a):null):null}},{\"./clip\":16,\"./convert\":17,\"./tile\":21,\"./transform\":22,\"./wrap\":23}],20:[function(t,e,r){function n(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}e.exports=function t(e,r,i,a){for(var o,s=a,l=e[r],u=e[r+1],c=e[i],h=e[i+1],f=r+3;f<i;f+=3){var p=n(e[f],e[f+1],l,u,c,h);p>s&&(o=f,s=p)}s>a&&(o-r>3&&t(e,r,o,a),e[o+2]=s,i-o>3&&t(e,o,i,a))}},{}],21:[function(t,e,r){function n(t,e,r,n){var a=e.geometry,o=e.type,s=[];if(\"Point\"===o||\"MultiPoint\"===o)for(var l=0;l<a.length;l+=3)s.push(a[l]),s.push(a[l+1]),t.numPoints++,t.numSimplified++;else if(\"LineString\"===o)i(s,a,t,r,n,!1,!1);else if(\"MultiLineString\"===o||\"Polygon\"===o)for(l=0;l<a.length;l++)i(s,a[l],t,r,n,\"Polygon\"===o,0===l);else if(\"MultiPolygon\"===o)for(var u=0;u<a.length;u++){var c=a[u];for(l=0;l<c.length;l++)i(s,c[l],t,r,n,!0,0===l)}if(s.length){var h={geometry:s,type:\"Polygon\"===o||\"MultiPolygon\"===o?3:\"LineString\"===o||\"MultiLineString\"===o?2:1,tags:e.tags||null};null!==e.id&&(h.id=e.id),t.features.push(h)}}function i(t,e,r,n,i,a,o){var s=n*n;if(!i&&e.size<(a?s:n))r.numPoints+=e.length/3;else{for(var l=[],u=0;u<e.length;u+=3)(i||e[u+2]>s)&&(r.numSimplified++,l.push(e[u]),l.push(e[u+1])),r.numPoints++;a&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n<i;a=n,n+=2)r+=(t[n]-t[a])*(t[n+1]+t[a+1]);if(r>0===e)for(n=0,i=t.length;n<i/2;n+=2){var o=t[n],s=t[n+1];t[n]=t[i-2-n],t[n+1]=t[i-1-n],t[i-2-n]=o,t[i-1-n]=s}}(l,o),t.push(l)}}e.exports=function(t,e,r,i,a,o){for(var s={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z2:e,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},l=0;l<t.length;l++){s.numFeatures++,n(s,t[l],a,o);var u=t[l].minX,c=t[l].minY,h=t[l].maxX,f=t[l].maxY;u<s.minX&&(s.minX=u),c<s.minY&&(s.minY=c),h>s.maxX&&(s.maxX=h),f>s.maxY&&(s.maxY=f)}return s}},{}],22:[function(t,e,r){function n(t,e,r,n,i,a){return[Math.round(r*(t*n-i)),Math.round(r*(e*n-a))]}r.tile=function(t,e){if(t.transformed)return t;var r,i,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(u.geometry=[],1===h)for(i=0;i<c.length;i+=2)u.geometry.push(n(c[i],c[i+1],e,o,s,l));else for(i=0;i<c.length;i++){var f=[];for(a=0;a<c[i].length;a+=2)f.push(n(c[i][a],c[i][a+1],e,o,s,l));u.geometry.push(f)}}return t.transformed=!0,t},r.point=n},{}],23:[function(t,e,r){function n(t,e){for(var r=[],n=0;n<t.length;n++){var a,s=t[n],l=s.type;if(\"Point\"===l||\"MultiPoint\"===l||\"LineString\"===l)a=i(s.geometry,e);else if(\"MultiLineString\"===l||\"Polygon\"===l){a=[];for(var u=0;u<s.geometry.length;u++)a.push(i(s.geometry[u],e))}else if(\"MultiPolygon\"===l)for(a=[],u=0;u<s.geometry.length;u++){for(var c=[],h=0;h<s.geometry[u].length;h++)c.push(i(s.geometry[u][h],e));a.push(c)}r.push(o(s.id,l,a,s.tags))}return r}function i(t,e){var r=[];r.size=t.size;for(var n=0;n<t.length;n+=3)r.push(t[n]+e,t[n+1],t[n+2]);return r}var a=t(\"./clip\"),o=t(\"./feature\");e.exports=function(t,e){var r=t,i=a(t,1,-1-e,e,0,-1,2),o=a(t,1,1-e,2+e,0,-1,2);return(i||o)&&(r=a(t,1,-e,1+e,0,-1,2)||[],i&&(r=n(i,1).concat(r)),o&&(r=r.concat(n(o,-1)))),r}},{\"./clip\":16,\"./feature\":18}],24:[function(t,e,r){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=[];return this._forEachCell(t,e,r,n,this._queryCell,o,{}),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 p=this.d*f+h;if(i.call(this,t,e,r,n,p,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}},{}],25:[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,p=t[e+h];for(h+=f,a=p&(1<<-c)-1,p>>=-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*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-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,p=n?0:a-1,d=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))*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+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*g}},{}],26:[function(t,e,r){function n(t,e,r,n,s){e=e||i,r=r||a,s=s||Array,this.nodeSize=n||64,this.points=t,this.ids=new s(t.length),this.coords=new s(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]);o(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function i(t){return t[0]}function a(t){return t[1]}var o=t(\"./sort\"),s=t(\"./range\"),l=t(\"./within\");e.exports=function(t,e,r,i,a){return new n(t,e,r,i,a)},n.prototype={range:function(t,e,r,n){return s(this.ids,this.coords,t,e,r,n,this.nodeSize)},within:function(t,e,r){return l(this.ids,this.coords,t,e,r,this.nodeSize)}}},{\"./range\":27,\"./sort\":28,\"./within\":29}],27:[function(t,e,r){e.exports=function(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(),p=u.pop();if(f-p<=o)for(var d=p;d<=f;d++)s=e[2*d],l=e[2*d+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[d]);else{var g=Math.floor((p+f)/2);s=e[2*g],l=e[2*g+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[g]);var v=(h+1)%2;(0===h?r<=s:n<=l)&&(u.push(p),u.push(g-1),u.push(v)),(0===h?i>=s:a>=l)&&(u.push(g+1),u.push(f),u.push(v))}}return c}},{}],28:[function(t,e,r){function n(t,e,r,n){i(t,r,n),i(e,2*r,2*n),i(e,2*r+1,2*n+1)}function i(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}e.exports=function t(e,r,i,a,o,s){if(!(o-a<=i)){var l=Math.floor((a+o)/2);(function t(e,r,i,a,o,s){for(;o>a;){if(o-a>600){var l=o-a+1,u=i-a+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);t(e,r,i,Math.max(a,Math.floor(i-u*h/l+f)),Math.min(o,Math.floor(i+(l-u)*h/l+f)),s)}var p=r[2*i+s],d=a,g=o;for(n(e,r,a,i),r[2*o+s]>p&&n(e,r,a,o);d<g;){for(n(e,r,d,g),d++,g--;r[2*d+s]<p;)d++;for(;r[2*g+s]>p;)g--}r[2*a+s]===p?n(e,r,a,g):n(e,r,++g,o),g<=i&&(a=g+1),i<=g&&(o=g-1)}})(e,r,l,a,o,s%2),t(e,r,i,a,l-1,s+1),t(e,r,i,l+1,o,s+1)}}},{}],29:[function(t,e,r){function n(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}e.exports=function(t,e,r,i,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 p=f;p<=h;p++)n(e[2*p],e[2*p+1],r,i)<=u&&l.push(t[p]);else{var d=Math.floor((f+h)/2),g=e[2*d],v=e[2*d+1];n(g,v,r,i)<=u&&l.push(t[d]);var m=(c+1)%2;(0===c?r-a<=g:i-a<=v)&&(s.push(f),s.push(d-1),s.push(m)),(0===c?r+a>=g:i+a>=v)&&(s.push(d+1),s.push(h),s.push(m))}}return l}},{}],30:[function(t,e,r){function n(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}function i(t){return t.type===n.Bytes?t.readVarint()+t.pos:t.pos+1}function a(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}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 p(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function d(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])}function v(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function m(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function y(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}e.exports=n;var x=t(\"ieee754\");n.Varint=0,n.Fixed64=1,n.Bytes=2,n.Fixed32=5;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;this.type=7&n,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=v(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=y(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=v(this.buf,this.pos)+4294967296*v(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=v(this.buf,this.pos)+4294967296*y(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=x.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=x.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,o=r.buf;if(n=(112&(i=o[r.pos++]))>>4,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<3,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<10,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<17,i<128)return a(t,n,e);if(n|=(127&(i=o[r.pos++]))<<24,i<128)return a(t,n,e);if(n|=(1&(i=o[r.pos++]))<<31,i<128)return a(t,n,e);throw new Error(\"Expected varint not more than 10 bytes\")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},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=function(t,e,r){for(var n=\"\",i=e;i<r;){var a,o,s,l=t[i],u=null,c=l>239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(a=t[i+1]))&&(u=(31&l)<<6|63&a)<=127&&(u=null):3===c?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((u=(15&l)<<12|(63&a)<<6|63&o)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((u=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c}return n}(this.buf,this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){var r=i(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){var e=i(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},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 Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),m(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),m(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),m(this.buf,-1&t,this.pos),m(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),m(this.buf,-1&t,this.pos),m(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeVarint:function(t){(t=+t||0)>268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error(\"Given varint doesn't fit into 10 bytes\");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(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),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a<e.length;a++){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&o(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),x.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),x.write(this.buf,t,this.pos,!0,52,8),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,p,e)},writePackedFixed64:function(t,e){this.writeMessage(t,d,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))}}},{ieee754:25}],31:[function(t,e,r){function n(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function i(t,e){return t<e?-1:t>e?1:0}e.exports=function t(e,r,a,o,s){for(a=a||0,o=o||e.length-1,s=s||i;o>a;){if(o-a>600){var l=o-a+1,u=r-a+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);t(e,r,Math.max(a,Math.floor(r-u*h/l+f)),Math.min(o,Math.floor(r+(l-u)*h/l+f)),s)}var p=e[r],d=a,g=o;for(n(e,a,r),s(e[o],p)>0&&n(e,a,o);d<g;){for(n(e,d,g),d++,g--;s(e[d],p)<0;)d++;for(;s(e[g],p)>0;)g--}0===s(e[a],p)?n(e,a,g):n(e,++g,o),g<=r&&(a=g+1),r<=g&&(o=g-1)}}},{}],32:[function(t,e,r){function n(t){this.options=c(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function i(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:n,properties:i,parentId:-1,numPoints:r}}function a(t,e){var r=t.geometry.coordinates;return{x:l(r[0]),y:u(r[1]),zoom:1/0,id:e,parentId:-1}}function o(t){return{type:\"Feature\",properties:s(t),geometry:{type:\"Point\",coordinates:[function(t){return 360*(t-.5)}(t.x),function(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}(t.y)]}}}function s(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+\"k\":e>=1e3?Math.round(e/100)/10+\"k\":e;return c(c({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function l(t){return t/360+.5}function u(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 c(t,e){for(var r in e)t[r]=e[r];return t}function h(t){return t.x}function f(t){return t.y}var p=t(\"kdbush\");e.exports=function(t){return new n(t)},n.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(a);e&&console.timeEnd(r);for(var i=this.options.maxZoom;i>=this.options.minZoom;i--){var o=+Date.now();this.trees[i+1]=p(n,h,f,this.options.nodeSize,Float32Array),n=this._cluster(n,i),e&&console.log(\"z%d: %d clusters in %dms\",i,n.length,+Date.now()-o)}return this.trees[this.options.minZoom]=p(n,h,f,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(l(t[0]),u(t[3]),l(t[2]),u(t[1])),i=[],a=0;a<n.length;a++){var s=r.points[n[a]];i.push(s.numPoints?o(s):this.points[s.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=[],s=0;s<i.length;s++){var l=this.trees[e+1].points[i[s]];l.parentId===t&&a.push(l.numPoints?o(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/a,s=(r-o)/i,l=(r+1+o)/i,u={features:[]};return this._addTileFeatures(n.range((e-o)/i,s,(e+1+o)/i,l),n.points,e,r,i,u),0===e&&this._addTileFeatures(n.range(1-o/i,s,1,l),n.points,i,r,i,u),e===i-1&&this._addTileFeatures(n.range(0,s,o/i,l),n.points,-1,r,i,u),u.features.length?u: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 l=e[t[o]];a.features.push({type:1,geometry:[[Math.round(this.options.extent*(l.x*i-r)),Math.round(this.options.extent*(l.y*i-n))]],tags:l.numPoints?s(l):this.points[l.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)),a=0;a<t.length;a++){var o=t[a];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 p=0;p<l.length;p++){var d=s.points[l[p]];if(e<d.zoom){var g=d.numPoints||1;d.zoom=e,c+=d.x*g,h+=d.y*g,u+=g,d.parentId=a,this.options.reduce&&this._accumulate(f,d)}}1===u?r.push(o):(o.parentId=a,r.push(i(c/u,h/u,u,a,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:26}],33:[function(t,e,r){function n(t,e){if(!(this instanceof n))return new n(t,e);if(this.data=t||[],this.length=this.data.length,this.compare=e||i,this.length>0)for(var r=this.length>>1;r>=0;r--)this._down(r)}function i(t,e){return t<e?-1:t>e?1:0}e.exports=n,n.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){if(0!==this.length){var t=this.data[0];return this.length--,this.length>0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),t}},peek:function(){return this.data[0]},_up:function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},_down:function(t){for(var e=this.data,r=this.compare,n=this.length,i=n>>1,a=e[t];t<i;){var o=1+(t<<1),s=o+1,l=e[o];if(s<n&&r(e[s],l)<0&&(o=s,l=e[s]),r(l,a)>=0)break;e[t]=l,t=o}e[t]=a}}},{}],34:[function(t,e,r){function n(t){var e=new h;return function(t,e){for(var r in t.layers)e.writeMessage(3,i,t.layers[r])}(t,e),e.finish()}function i(t,e){e.writeVarintField(15,t.version||1),e.writeStringField(1,t.name||\"\"),e.writeVarintField(5,t.extent||4096);var r,n={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<t.length;r++)n.feature=t.feature(r),e.writeMessage(2,a,n);var i=n.keys;for(r=0;r<i.length;r++)e.writeStringField(3,i[r]);var o=n.values;for(r=0;r<o.length;r++)e.writeMessage(4,c,o[r])}function a(t,e){var r=t.feature;void 0!==r.id&&e.writeVarintField(1,r.id),e.writeMessage(2,o,t),e.writeVarintField(3,r.type),e.writeMessage(4,u,r)}function o(t,e){var r=t.feature,n=t.keys,i=t.values,a=t.keycache,o=t.valuecache;for(var s in r.properties){var l=a[s];void 0===l&&(n.push(s),l=n.length-1,a[s]=l),e.writeVarint(l);var u=r.properties[s],c=typeof u;\"string\"!==c&&\"boolean\"!==c&&\"number\"!==c&&(u=JSON.stringify(u));var h=c+\":\"+u,f=o[h];void 0===f&&(i.push(u),f=i.length-1,o[h]=f),e.writeVarint(f)}}function s(t,e){return(e<<3)+(7&t)}function l(t){return t<<1^t>>31}function u(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,u=0;u<o;u++){var c=r[u],h=1;1===n&&(h=c.length),e.writeVarint(s(1,h));for(var f=0;f<c.length;f++){1===f&&1!==n&&e.writeVarint(s(2,c.length-1));var p=c[f].x-i,d=c[f].y-a;e.writeVarint(l(p)),e.writeVarint(l(d)),i+=p,a+=d}}}function c(t,e){var r=typeof t;\"string\"===r?e.writeStringField(1,t):\"boolean\"===r?e.writeBooleanField(7,t):\"number\"===r&&(t%1!=0?e.writeDoubleField(3,t):t<0?e.writeSVarintField(6,t):e.writeVarintField(5,t))}var h=t(\"pbf\"),f=t(\"./lib/geojson_wrapper\");e.exports=n,e.exports.fromVectorTileJs=n,e.exports.fromGeojsonVt=function(t){var e={};for(var r in t)e[r]=new f(t[r].features),e[r].name=r;return n({layers:e})},e.exports.GeoJSONWrapper=f},{\"./lib/geojson_wrapper\":35,pbf:30}],35:[function(t,e,r){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(\"@mapbox/point-geometry\"),o=t(\"@mapbox/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},{\"@mapbox/point-geometry\":4,\"@mapbox/vector-tile\":8}],36:[function(t,e,r){var n=arguments[3],i=arguments[4],a=arguments[5],o=JSON.stringify;e.exports=function(t,e){for(var r,s=Object.keys(a),l=0,u=s.length;l<u;l++){var c=s[l],h=a[c].exports;if(h===t||h&&h.default===t){r=c;break}}if(!r){r=Math.floor(Math.pow(16,8)*Math.random()).toString(16);var f={};for(l=0,u=s.length;l<u;l++){f[c=s[l]]=c}i[r]=[\"function(require,module,exports){\"+t+\"(self); }\",f]}var p=Math.floor(Math.pow(16,8)*Math.random()).toString(16),d={};d[r]=r,i[p]=[\"function(require,module,exports){var f = require(\"+o(r)+\");(f.default ? f.default : f)(self);}\",d];var g={};!function t(e){for(var r in g[e]=!0,i[e][1]){var n=i[e][1][r];g[n]||t(n)}}(p);var v=\"(\"+n+\")({\"+Object.keys(g).map(function(t){return o(t)+\":[\"+i[t][0]+\",\"+o(i[t][1])+\"]\"}).join(\",\")+\"},{},[\"+o(p)+\"])\",m=window.URL||window.webkitURL||window.mozURL||window.msURL,y=new Blob([v],{type:\"text/javascript\"});if(e&&e.bare)return y;var x=m.createObjectURL(y),b=new Worker(x);return b.objectURL=x,b}},{}],37:[function(t,e,r){e.exports.RADIUS=6378137,e.exports.FLATTENING=1/298.257223563,e.exports.POLAR_RADIUS=6356752.3142},{}],38:[function(t,e,r){e.exports={version:\"0.44.1\"}},{}],39:[function(t,e,r){var n=t(\"../util/struct_array\").StructArray,i=t(\"../util/struct_array\").Struct,a=t(\"../util/web_worker_transfer\").register,o=t(\"@mapbox/point-geometry\"),s=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=2*r;return this.int16[n+0]=t,this.int16[n+1]=e,r},e}(n);s.prototype.bytesPerElement=4,a(\"StructArrayLayout2i4\",s);var l=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;this.resize(i+1);var a=4*i;return this.int16[a+0]=t,this.int16[a+1]=e,this.int16[a+2]=r,this.int16[a+3]=n,i},e}(n);l.prototype.bytesPerElement=8,a(\"StructArrayLayout4i8\",l);var u=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;this.resize(o+1);var s=6*o;return this.int16[s+0]=t,this.int16[s+1]=e,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=i,this.int16[s+5]=a,o},e}(n);u.prototype.bytesPerElement=12,a(\"StructArrayLayout2i4i12\",u);var c=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s){var l=this.length;this.resize(l+1);var u=6*l,c=12*l;return this.int16[u+0]=t,this.int16[u+1]=e,this.int16[u+2]=r,this.int16[u+3]=n,this.uint8[c+8]=i,this.uint8[c+9]=a,this.uint8[c+10]=o,this.uint8[c+11]=s,l},e}(n);c.prototype.bytesPerElement=12,a(\"StructArrayLayout4i4ub12\",c);var h=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s){var l=this.length;this.resize(l+1);var u=8*l;return this.int16[u+0]=t,this.int16[u+1]=e,this.int16[u+2]=r,this.int16[u+3]=n,this.uint16[u+4]=i,this.uint16[u+5]=a,this.uint16[u+6]=o,this.uint16[u+7]=s,l},e}(n);h.prototype.bytesPerElement=16,a(\"StructArrayLayout4i4ui16\",h);var f=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=3*n;return this.float32[i+0]=t,this.float32[i+1]=e,this.float32[i+2]=r,n},e}(n);f.prototype.bytesPerElement=12,a(\"StructArrayLayout3f12\",f);var p=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;this.resize(e+1);var r=1*e;return this.uint32[r+0]=t,e},e}(n);p.prototype.bytesPerElement=4,a(\"StructArrayLayout1ul4\",p);var d=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c){var h=this.length;this.resize(h+1);var f=12*h,p=6*h;return this.int16[f+0]=t,this.int16[f+1]=e,this.int16[f+2]=r,this.int16[f+3]=n,this.int16[f+4]=i,this.int16[f+5]=a,this.uint32[p+3]=o,this.uint16[f+8]=s,this.uint16[f+9]=l,this.int16[f+10]=u,this.int16[f+11]=c,h},e}(n);d.prototype.bytesPerElement=24,a(\"StructArrayLayout6i1ul2ui2i24\",d);var g=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;this.resize(o+1);var s=6*o;return this.int16[s+0]=t,this.int16[s+1]=e,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=i,this.int16[s+5]=a,o},e}(n);g.prototype.bytesPerElement=12,a(\"StructArrayLayout2i2i2i12\",g);var v=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=4*r;return this.uint8[n+0]=t,this.uint8[n+1]=e,r},e}(n);v.prototype.bytesPerElement=4,a(\"StructArrayLayout2ub4\",v);var m=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,h,f,p){var d=this.length;this.resize(d+1);var g=20*d,v=10*d,m=40*d;return this.int16[g+0]=t,this.int16[g+1]=e,this.uint16[g+2]=r,this.uint16[g+3]=n,this.uint32[v+2]=i,this.uint32[v+3]=a,this.uint32[v+4]=o,this.uint16[g+10]=s,this.uint16[g+11]=l,this.uint16[g+12]=u,this.float32[v+7]=c,this.float32[v+8]=h,this.uint8[m+36]=f,this.uint8[m+37]=p,d},e}(n);m.prototype.bytesPerElement=40,a(\"StructArrayLayout2i2ui3ul3ui2f2ub40\",m);var y=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;this.resize(e+1);var r=1*e;return this.float32[r+0]=t,e},e}(n);y.prototype.bytesPerElement=4,a(\"StructArrayLayout1f4\",y);var x=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=3*n;return this.int16[i+0]=t,this.int16[i+1]=e,this.int16[i+2]=r,n},e}(n);x.prototype.bytesPerElement=6,a(\"StructArrayLayout3i6\",x);var b=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=2*n,a=4*n;return this.uint32[i+0]=t,this.uint16[a+2]=e,this.uint16[a+3]=r,n},e}(n);b.prototype.bytesPerElement=8,a(\"StructArrayLayout1ul2ui8\",b);var _=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=3*n;return this.uint16[i+0]=t,this.uint16[i+1]=e,this.uint16[i+2]=r,n},e}(n);_.prototype.bytesPerElement=6,a(\"StructArrayLayout3ui6\",_);var w=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=2*r;return this.uint16[n+0]=t,this.uint16[n+1]=e,r},e}(n);w.prototype.bytesPerElement=4,a(\"StructArrayLayout2ui4\",w);var M=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=2*r;return this.float32[n+0]=t,this.float32[n+1]=e,r},e}(n);M.prototype.bytesPerElement=8,a(\"StructArrayLayout2f8\",M);var A=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;this.resize(i+1);var a=4*i;return this.float32[a+0]=t,this.float32[a+1]=e,this.float32[a+2]=r,this.float32[a+3]=n,i},e}(n);A.prototype.bytesPerElement=16,a(\"StructArrayLayout4f16\",A);var k=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{},anchorPointY:{},x1:{},y1:{},x2:{},y2:{},featureIndex:{},sourceLayerIndex:{},bucketIndex:{},radius:{},signedDistanceFromAnchor:{},anchorPoint:{}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorPointY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.x1.set=function(t){this._structArray.int16[this._pos2+2]=t},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.y1.set=function(t){this._structArray.int16[this._pos2+3]=t},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.x2.set=function(t){this._structArray.int16[this._pos2+4]=t},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.y2.set=function(t){this._structArray.int16[this._pos2+5]=t},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+8]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+9]=t},r.radius.get=function(){return this._structArray.int16[this._pos2+10]},r.radius.set=function(t){this._structArray.int16[this._pos2+10]=t},r.signedDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+11]},r.signedDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+11]=t},r.anchorPoint.get=function(){return new o(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(i);k.prototype.size=24;var T=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new k(this,t)},e}(d);a(\"CollisionBoxArray\",T);var S=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{},anchorY:{},glyphStartIndex:{},numGlyphs:{},vertexStartIndex:{},lineStartIndex:{},lineLength:{},segment:{},lowerSize:{},upperSize:{},lineOffsetX:{},lineOffsetY:{},writingMode:{},hidden:{}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.glyphStartIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.numGlyphs.set=function(t){this._structArray.uint16[this._pos2+3]=t},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.vertexStartIndex.set=function(t){this._structArray.uint32[this._pos4+2]=t},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineStartIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.lineLength.set=function(t){this._structArray.uint32[this._pos4+4]=t},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.segment.set=function(t){this._structArray.uint16[this._pos2+10]=t},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.lowerSize.set=function(t){this._structArray.uint16[this._pos2+11]=t},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.upperSize.set=function(t){this._structArray.uint16[this._pos2+12]=t},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetX.set=function(t){this._structArray.float32[this._pos4+7]=t},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.lineOffsetY.set=function(t){this._structArray.float32[this._pos4+8]=t},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.writingMode.set=function(t){this._structArray.uint8[this._pos1+36]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+37]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+37]=t},Object.defineProperties(e.prototype,r),e}(i);S.prototype.size=40;var E=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new S(this,t)},e}(m);a(\"PlacedSymbolArray\",E);var C=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={offsetX:{}};return r.offsetX.get=function(){return this._structArray.float32[this._pos4+0]},r.offsetX.set=function(t){this._structArray.float32[this._pos4+0]=t},Object.defineProperties(e.prototype,r),e}(i);C.prototype.size=4;var L=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e.prototype.get=function(t){return new C(this,t)},e}(y);a(\"GlyphOffsetArray\",L);var z=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={x:{},y:{},tileUnitDistanceFromAnchor:{}};return r.x.get=function(){return this._structArray.int16[this._pos2+0]},r.x.set=function(t){this._structArray.int16[this._pos2+0]=t},r.y.get=function(){return this._structArray.int16[this._pos2+1]},r.y.set=function(t){this._structArray.int16[this._pos2+1]=t},r.tileUnitDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+2]},r.tileUnitDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+2]=t},Object.defineProperties(e.prototype,r),e}(i);z.prototype.size=6;var P=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e.prototype.get=function(t){return new z(this,t)},e}(x);a(\"SymbolLineVertexArray\",P);var I=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{},sourceLayerIndex:{},bucketIndex:{}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+0]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+3]=t},Object.defineProperties(e.prototype,r),e}(i);I.prototype.size=8;var D=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new I(this,t)},e}(b);a(\"FeatureIndexArray\",D),e.exports={StructArrayLayout2i4:s,StructArrayLayout4i8:l,StructArrayLayout2i4i12:u,StructArrayLayout4i4ub12:c,StructArrayLayout4i4ui16:h,StructArrayLayout3f12:f,StructArrayLayout1ul4:p,StructArrayLayout6i1ul2ui2i24:d,StructArrayLayout2i2i2i12:g,StructArrayLayout2ub4:v,StructArrayLayout2i2ui3ul3ui2f2ub40:m,StructArrayLayout1f4:y,StructArrayLayout3i6:x,StructArrayLayout1ul2ui8:b,StructArrayLayout3ui6:_,StructArrayLayout2ui4:w,StructArrayLayout2f8:M,StructArrayLayout4f16:A,PosArray:s,RasterBoundsArray:l,CircleLayoutArray:s,FillLayoutArray:s,FillExtrusionLayoutArray:u,HeatmapLayoutArray:s,LineLayoutArray:c,SymbolLayoutArray:h,SymbolDynamicLayoutArray:f,SymbolOpacityArray:p,CollisionBoxLayoutArray:g,CollisionCircleLayoutArray:g,CollisionVertexArray:v,TriangleIndexArray:_,LineIndexArray:w,CollisionBoxArray:T,PlacedSymbolArray:E,GlyphOffsetArray:L,SymbolLineVertexArray:P,FeatureIndexArray:D}},{\"../util/struct_array\":271,\"../util/web_worker_transfer\":278,\"@mapbox/point-geometry\":4}],40:[function(t,e,r){e.exports={deserialize:function(t,e){var r={};if(!e)return r;for(var n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.layerIds.map(function(t){return e.getLayer(t)}).filter(Boolean);if(0!==o.length){a.layers=o;for(var s=0,l=o;s<l.length;s+=1)r[l[s].id]=a}}return r}}},{}],41:[function(t,e,r){var n=t(\"../../util/struct_array\").createLayout;e.exports=n([{name:\"a_pos\",components:2,type:\"Int16\"}],4)},{\"../../util/struct_array\":271}],42:[function(t,e,r){function n(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var i=t(\"../array_types\").CircleLayoutArray,a=t(\"./circle_attributes\").members,o=t(\"../segment\").SegmentVector,s=t(\"../program_configuration\").ProgramConfigurationSet,l=t(\"../index_array_type\").TriangleIndexArray,u=t(\"../load_geometry\"),c=t(\"../extent\"),h=t(\"../../util/web_worker_transfer\").register,f=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new i,this.indexArray=new l,this.segments=new o,this.programConfigurations=new s(a,t.layers,t.zoom)};f.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var c=u(o);r.addFeature(o,c),e.featureIndex.insert(o,c,s,l,r.index)}}},f.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},f.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,a),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},f.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},f.prototype.addFeature=function(t,e){for(var r=this,i=0,a=e;i<a.length;i+=1)for(var o=0,s=a[i];o<s.length;o+=1){var l=s[o],u=l.x,h=l.y;if(!(u<0||u>=c||h<0||h>=c)){var f=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray),p=f.vertexLength;n(r.layoutVertexArray,u,h,-1,-1),n(r.layoutVertexArray,u,h,1,-1),n(r.layoutVertexArray,u,h,1,1),n(r.layoutVertexArray,u,h,-1,1),r.indexArray.emplaceBack(p,p+1,p+2),r.indexArray.emplaceBack(p,p+3,p+2),f.vertexLength+=4,f.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},h(\"CircleBucket\",f,{omit:[\"layers\"]}),e.exports=f},{\"../../util/web_worker_transfer\":278,\"../array_types\":39,\"../extent\":53,\"../index_array_type\":55,\"../load_geometry\":56,\"../program_configuration\":58,\"../segment\":60,\"./circle_attributes\":41}],43:[function(t,e,r){arguments[4][41][0].apply(r,arguments)},{\"../../util/struct_array\":271,dup:41}],44:[function(t,e,r){var n=t(\"../array_types\").FillLayoutArray,i=t(\"./fill_attributes\").members,a=t(\"../segment\").SegmentVector,o=t(\"../program_configuration\").ProgramConfigurationSet,s=t(\"../index_array_type\"),l=s.LineIndexArray,u=s.TriangleIndexArray,c=t(\"../load_geometry\"),h=t(\"earcut\"),f=t(\"../../util/classify_rings\"),p=t(\"../../util/web_worker_transfer\").register,d=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new n,this.indexArray=new u,this.indexArray2=new l,this.programConfigurations=new o(i,t.layers,t.zoom),this.segments=new a,this.segments2=new a};d.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var u=c(o);r.addFeature(o,u),e.featureIndex.insert(o,u,s,l,r.index)}}},d.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},d.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,i),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2),this.programConfigurations.upload(t)},d.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},d.prototype.addFeature=function(t,e){for(var r=this,n=0,i=f(e,500);n<i.length;n+=1){for(var a=i[n],o=0,s=0,l=a;s<l.length;s+=1)o+=l[s].length;for(var u=r.segments.prepareSegment(o,r.layoutVertexArray,r.indexArray),c=u.vertexLength,p=[],d=[],g=0,v=a;g<v.length;g+=1){var m=v[g];if(0!==m.length){m!==a[0]&&d.push(p.length/2);var y=r.segments2.prepareSegment(m.length,r.layoutVertexArray,r.indexArray2),x=y.vertexLength;r.layoutVertexArray.emplaceBack(m[0].x,m[0].y),r.indexArray2.emplaceBack(x+m.length-1,x),p.push(m[0].x),p.push(m[0].y);for(var b=1;b<m.length;b++)r.layoutVertexArray.emplaceBack(m[b].x,m[b].y),r.indexArray2.emplaceBack(x+b-1,x+b),p.push(m[b].x),p.push(m[b].y);y.vertexLength+=m.length,y.primitiveLength+=m.length}}for(var _=h(p,d),w=0;w<_.length;w+=3)r.indexArray.emplaceBack(c+_[w],c+_[w+1],c+_[w+2]);u.vertexLength+=o,u.primitiveLength+=_.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},p(\"FillBucket\",d,{omit:[\"layers\"]}),e.exports=d},{\"../../util/classify_rings\":255,\"../../util/web_worker_transfer\":278,\"../array_types\":39,\"../index_array_type\":55,\"../load_geometry\":56,\"../program_configuration\":58,\"../segment\":60,\"./fill_attributes\":43,earcut:14}],45:[function(t,e,r){var n=t(\"../../util/struct_array\").createLayout;e.exports=n([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal_ed\",components:4,type:\"Int16\"}],4)},{\"../../util/struct_array\":271}],46:[function(t,e,r){function n(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*y)+o,i*y*2,a*y*2,Math.round(s))}function i(t,e){return t.x===e.x&&(t.x<0||t.x>d)||t.y===e.y&&(t.y<0||t.y>d)}function a(t){return t.every(function(t){return t.x<0})||t.every(function(t){return t.x>d})||t.every(function(t){return t.y<0})||t.every(function(t){return t.y>d})}var o=t(\"../array_types\").FillExtrusionLayoutArray,s=t(\"./fill_extrusion_attributes\").members,l=t(\"../segment\"),u=l.SegmentVector,c=l.MAX_VERTEX_ARRAY_LENGTH,h=t(\"../program_configuration\").ProgramConfigurationSet,f=t(\"../index_array_type\").TriangleIndexArray,p=t(\"../load_geometry\"),d=t(\"../extent\"),g=t(\"earcut\"),v=t(\"../../util/classify_rings\"),m=t(\"../../util/web_worker_transfer\").register,y=Math.pow(2,13),x=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new o,this.indexArray=new f,this.programConfigurations=new h(s,t.layers,t.zoom),this.segments=new u};x.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var u=p(o);r.addFeature(o,u),e.featureIndex.insert(o,u,s,l,r.index)}}},x.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},x.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,s),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},x.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},x.prototype.addFeature=function(t,e){for(var r=this,o=0,s=v(e,500);o<s.length;o+=1){for(var l=s[o],u=0,h=0,f=l;h<f.length;h+=1)u+=f[h].length;for(var p=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray),d=0,m=l;d<m.length;d+=1){var y=m[d];if(0!==y.length&&!a(y))for(var x=0,b=0;b<y.length;b++){var _=y[b];if(b>=1){var w=y[b-1];if(!i(_,w)){p.vertexLength+4>c&&(p=r.segments.prepareSegment(4,r.layoutVertexArray,r.indexArray));var M=_.sub(w)._perp()._unit(),A=w.dist(_);x+A>32768&&(x=0),n(r.layoutVertexArray,_.x,_.y,M.x,M.y,0,0,x),n(r.layoutVertexArray,_.x,_.y,M.x,M.y,0,1,x),x+=A,n(r.layoutVertexArray,w.x,w.y,M.x,M.y,0,0,x),n(r.layoutVertexArray,w.x,w.y,M.x,M.y,0,1,x);var k=p.vertexLength;r.indexArray.emplaceBack(k,k+1,k+2),r.indexArray.emplaceBack(k+1,k+2,k+3),p.vertexLength+=4,p.primitiveLength+=2}}}}p.vertexLength+u>c&&(p=r.segments.prepareSegment(u,r.layoutVertexArray,r.indexArray));for(var T=[],S=[],E=p.vertexLength,C=0,L=l;C<L.length;C+=1){var z=L[C];if(0!==z.length){z!==l[0]&&S.push(T.length/2);for(var P=0;P<z.length;P++){var I=z[P];n(r.layoutVertexArray,I.x,I.y,0,0,1,1,0),T.push(I.x),T.push(I.y)}}}for(var D=g(T,S),O=0;O<D.length;O+=3)r.indexArray.emplaceBack(E+D[O],E+D[O+1],E+D[O+2]);p.primitiveLength+=D.length/3,p.vertexLength+=u}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},m(\"FillExtrusionBucket\",x,{omit:[\"layers\"]}),e.exports=x},{\"../../util/classify_rings\":255,\"../../util/web_worker_transfer\":278,\"../array_types\":39,\"../extent\":53,\"../index_array_type\":55,\"../load_geometry\":56,\"../program_configuration\":58,\"../segment\":60,\"./fill_extrusion_attributes\":45,earcut:14}],47:[function(t,e,r){var n=t(\"./circle_bucket\"),i=t(\"../../util/web_worker_transfer\").register,a=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(n);i(\"HeatmapBucket\",a,{omit:[\"layers\"]}),e.exports=a},{\"../../util/web_worker_transfer\":278,\"./circle_bucket\":42}],48:[function(t,e,r){var n=t(\"../../util/struct_array\").createLayout;e.exports=n([{name:\"a_pos_normal\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],4)},{\"../../util/struct_array\":271}],49:[function(t,e,r){function n(t,e,r,n,i,a,o){t.emplaceBack(e.x,e.y,n?1:0,i?1:-1,Math.round(p*r.x)+128,Math.round(p*r.y)+128,1+(0===a?0:a<0?-1:1)|(o*g&63)<<2,o*g>>6)}var i=t(\"../array_types\").LineLayoutArray,a=t(\"./line_attributes\").members,o=t(\"../segment\").SegmentVector,s=t(\"../program_configuration\").ProgramConfigurationSet,l=t(\"../index_array_type\").TriangleIndexArray,u=t(\"../load_geometry\"),c=t(\"../extent\"),h=t(\"@mapbox/vector-tile\").VectorTileFeature.types,f=t(\"../../util/web_worker_transfer\").register,p=63,d=Math.cos(Math.PI/180*37.5),g=.5,v=Math.pow(2,14)/g,m=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new i,this.indexArray=new l,this.programConfigurations=new s(a,t.layers,t.zoom),this.segments=new o};m.prototype.populate=function(t,e){for(var r=this,n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.index,l=a.sourceLayerIndex;if(r.layers[0]._featureFilter({zoom:r.zoom},o)){var c=u(o);r.addFeature(o,c),e.featureIndex.insert(o,c,s,l,r.index)}}},m.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},m.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,a),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},m.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},m.prototype.addFeature=function(t,e){for(var r=this.layers[0].layout,n=r.get(\"line-join\").evaluate(t),i=r.get(\"line-cap\"),a=r.get(\"line-miter-limit\"),o=r.get(\"line-round-limit\"),s=0,l=e;s<l.length;s+=1){var u=l[s];this.addLine(u,t,n,i,a,o)}},m.prototype.addLine=function(t,e,r,n,i,a){for(var o=this,s=\"Polygon\"===h[e.type],l=t.length;l>=2&&t[l-1].equals(t[l-2]);)l--;for(var u=0;u<l-1&&t[u].equals(t[u+1]);)u++;if(!(l<(s?3:2))){\"bevel\"===r&&(i=1.05);var f=c/(512*this.overscaling)*15,p=t[u],g=this.segments.prepareSegment(10*l,this.layoutVertexArray,this.indexArray);this.distance=0;var v,m,y,x=n,b=s?\"butt\":n,_=!0,w=void 0,M=void 0,A=void 0,k=void 0;this.e1=this.e2=this.e3=-1,s&&(v=t[l-2],k=p.sub(v)._unit()._perp());for(var T=u;T<l;T++)if(!(M=s&&T===l-1?t[u+1]:t[T+1])||!t[T].equals(M)){k&&(A=k),v&&(w=v),v=t[T],k=M?M.sub(v)._unit()._perp():A;var S=(A=A||k).add(k);0===S.x&&0===S.y||S._unit();var E=S.x*k.x+S.y*k.y,C=0!==E?1/E:1/0,L=E<d&&w&&M;if(L&&T>u){var z=v.dist(w);if(z>2*f){var P=v.sub(v.sub(w)._mult(f/z)._round());o.distance+=P.dist(w),o.addCurrentVertex(P,o.distance,A.mult(1),0,0,!1,g),w=P}}var I=w&&M,D=I?r:M?x:b;if(I&&\"round\"===D&&(C<a?D=\"miter\":C<=2&&(D=\"fakeround\")),\"miter\"===D&&C>i&&(D=\"bevel\"),\"bevel\"===D&&(C>2&&(D=\"flipbevel\"),C<i&&(D=\"miter\")),w&&(o.distance+=v.dist(w)),\"miter\"===D)S._mult(C),o.addCurrentVertex(v,o.distance,S,0,0,!1,g);else if(\"flipbevel\"===D){if(C>100)S=k.clone().mult(-1);else{var O=A.x*k.y-A.y*k.x>0?-1:1,R=C*A.add(k).mag()/A.sub(k).mag();S._perp()._mult(R*O)}o.addCurrentVertex(v,o.distance,S,0,0,!1,g),o.addCurrentVertex(v,o.distance,S.mult(-1),0,0,!1,g)}else if(\"bevel\"===D||\"fakeround\"===D){var F=A.x*k.y-A.y*k.x>0,B=-Math.sqrt(C*C-1);if(F?(y=0,m=B):(m=0,y=B),_||o.addCurrentVertex(v,o.distance,A,m,y,!1,g),\"fakeround\"===D){for(var N=Math.floor(8*(.5-(E-.5))),j=void 0,V=0;V<N;V++)j=k.mult((V+1)/(N+1))._add(A)._unit(),o.addPieSliceVertex(v,o.distance,j,F,g);o.addPieSliceVertex(v,o.distance,S,F,g);for(var U=N-1;U>=0;U--)j=A.mult((U+1)/(N+1))._add(k)._unit(),o.addPieSliceVertex(v,o.distance,j,F,g)}M&&o.addCurrentVertex(v,o.distance,k,-m,-y,!1,g)}else\"butt\"===D?(_||o.addCurrentVertex(v,o.distance,A,0,0,!1,g),M&&o.addCurrentVertex(v,o.distance,k,0,0,!1,g)):\"square\"===D?(_||(o.addCurrentVertex(v,o.distance,A,1,1,!1,g),o.e1=o.e2=-1),M&&o.addCurrentVertex(v,o.distance,k,-1,-1,!1,g)):\"round\"===D&&(_||(o.addCurrentVertex(v,o.distance,A,0,0,!1,g),o.addCurrentVertex(v,o.distance,A,1,1,!0,g),o.e1=o.e2=-1),M&&(o.addCurrentVertex(v,o.distance,k,-1,-1,!0,g),o.addCurrentVertex(v,o.distance,k,0,0,!1,g)));if(L&&T<l-1){var q=v.dist(M);if(q>2*f){var H=v.add(M.sub(v)._mult(f/q)._round());o.distance+=H.dist(v),o.addCurrentVertex(H,o.distance,k.mult(1),0,0,!1,g),v=H}}_=!1}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e)}},m.prototype.addCurrentVertex=function(t,e,r,i,a,o,s){var l,u=this.layoutVertexArray,c=this.indexArray;l=r.clone(),i&&l._sub(r.perp()._mult(i)),n(u,t,l,o,!1,i,e),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(c.emplaceBack(this.e1,this.e2,this.e3),s.primitiveLength++),this.e1=this.e2,this.e2=this.e3,l=r.mult(-1),a&&l._sub(r.perp()._mult(a)),n(u,t,l,o,!0,-a,e),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(c.emplaceBack(this.e1,this.e2,this.e3),s.primitiveLength++),this.e1=this.e2,this.e2=this.e3,e>v/2&&(this.distance=0,this.addCurrentVertex(t,this.distance,r,i,a,o,s))},m.prototype.addPieSliceVertex=function(t,e,r,i,a){r=r.mult(i?-1:1);var o=this.layoutVertexArray,s=this.indexArray;n(o,t,r,!1,i,0,e),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(s.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},f(\"LineBucket\",m,{omit:[\"layers\"]}),e.exports=m},{\"../../util/web_worker_transfer\":278,\"../array_types\":39,\"../extent\":53,\"../index_array_type\":55,\"../load_geometry\":56,\"../program_configuration\":58,\"../segment\":60,\"./line_attributes\":48,\"@mapbox/vector-tile\":8}],50:[function(t,e,r){var n=t(\"../../util/struct_array\").createLayout,i={symbolLayoutAttributes:n([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"}]),dynamicLayoutAttributes:n([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4),placementOpacityAttributes:n([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4),collisionVertexAttributes:n([{name:\"a_placed\",components:2,type:\"Uint8\"}],4),collisionBox:n([{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:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"},{type:\"Int16\",name:\"radius\"},{type:\"Int16\",name:\"signedDistanceFromAnchor\"}]),collisionBoxLayout:n([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),collisionCircleLayout:n([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),placement:n([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"hidden\"}]),glyphOffset:n([{type:\"Float32\",name:\"offsetX\"}]),lineVertex:n([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}])};e.exports=i},{\"../../util/struct_array\":271}],51:[function(t,e,r){function n(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,Math.round(64*n),Math.round(64*i),a,o,s?s[0]:0,s?s[1]:0)}function i(t,e,r){t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r)}var a=t(\"./symbol_attributes\"),o=a.symbolLayoutAttributes,s=a.collisionVertexAttributes,l=a.collisionBoxLayout,u=a.collisionCircleLayout,c=a.dynamicLayoutAttributes,h=t(\"../array_types\"),f=h.SymbolLayoutArray,p=h.SymbolDynamicLayoutArray,d=h.SymbolOpacityArray,g=h.CollisionBoxLayoutArray,v=h.CollisionCircleLayoutArray,m=h.CollisionVertexArray,y=h.PlacedSymbolArray,x=h.GlyphOffsetArray,b=h.SymbolLineVertexArray,_=t(\"@mapbox/point-geometry\"),w=t(\"../segment\").SegmentVector,M=t(\"../program_configuration\").ProgramConfigurationSet,A=t(\"../index_array_type\"),k=A.TriangleIndexArray,T=A.LineIndexArray,S=t(\"../../symbol/transform_text\"),E=t(\"../../symbol/mergelines\"),C=t(\"../../util/script_detection\"),L=t(\"../load_geometry\"),z=t(\"@mapbox/vector-tile\").VectorTileFeature.types,P=t(\"../../util/verticalize_punctuation\"),I=(t(\"../../symbol/anchor\"),t(\"../../symbol/symbol_size\").getSizeData),D=t(\"../../util/web_worker_transfer\").register,O=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}],R=function(t){this.layoutVertexArray=new f,this.indexArray=new k,this.programConfigurations=t,this.segments=new w,this.dynamicLayoutVertexArray=new p,this.opacityVertexArray=new d,this.placedSymbolArray=new y};R.prototype.upload=function(t,e){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,o.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.programConfigurations.upload(t),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,c.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,O,!0),this.opacityVertexBuffer.itemSize=1},R.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},D(\"SymbolBuffers\",R);var F=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new w,this.collisionVertexArray=new m};F.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,s.members,!0)},F.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},D(\"CollisionBuffers\",F);var B=function(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.pixelRatio=t.pixelRatio;var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=I(this.zoom,e[\"text-size\"]),this.iconSizeData=I(this.zoom,e[\"icon-size\"]);var r=this.layers[0].layout;this.sortFeaturesByY=r.get(\"text-allow-overlap\")||r.get(\"icon-allow-overlap\")||r.get(\"text-ignore-placement\")||r.get(\"icon-ignore-placement\")};B.prototype.createArrays=function(){this.text=new R(new M(o.members,this.layers,this.zoom,function(t){return/^text/.test(t)})),this.icon=new R(new M(o.members,this.layers,this.zoom,function(t){return/^icon/.test(t)})),this.collisionBox=new F(g,l.members,T),this.collisionCircle=new F(v,u.members,k),this.glyphOffsetArray=new x,this.lineVertexArray=new b},B.prototype.populate=function(t,e){var r=this.layers[0],n=r.layout,i=n.get(\"text-font\"),a=n.get(\"text-field\"),o=n.get(\"icon-image\"),s=(\"constant\"!==a.value.kind||a.value.value.length>0)&&(\"constant\"!==i.value.kind||i.value.value.length>0),l=\"constant\"!==o.value.kind||o.value.value&&o.value.value.length>0;if(this.features=[],s||l){for(var u=e.iconDependencies,c=e.glyphDependencies,h={zoom:this.zoom},f=0,p=t;f<p.length;f+=1){var d=p[f],g=d.feature,v=d.index,m=d.sourceLayerIndex;if(r._featureFilter(h,g)){var y=void 0;s&&(y=r.getValueAndResolveTokens(\"text-field\",g),y=S(y,r,g));var x=void 0;if(l&&(x=r.getValueAndResolveTokens(\"icon-image\",g)),y||x){var b={text:y,icon:x,index:v,sourceLayerIndex:m,geometry:L(g),properties:g.properties,type:z[g.type]};if(void 0!==g.id&&(b.id=g.id),this.features.push(b),x&&(u[x]=!0),y)for(var _=i.evaluate(g).join(\",\"),w=c[_]=c[_]||{},M=\"map\"===n.get(\"text-rotation-alignment\")&&\"line\"===n.get(\"symbol-placement\"),A=C.allowsVerticalWritingMode(y),k=0;k<y.length;k++)if(w[y.charCodeAt(k)]=!0,M&&A){var T=P.lookup[y.charAt(k)];T&&(w[T.charCodeAt(0)]=!0)}}}}\"line\"===n.get(\"symbol-placement\")&&(this.features=E(this.features))}},B.prototype.isEmpty=function(){return 0===this.symbolInstances.length},B.prototype.upload=function(t){this.text.upload(t,this.sortFeaturesByY),this.icon.upload(t,this.sortFeaturesByY),this.collisionBox.upload(t),this.collisionCircle.upload(t)},B.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.collisionBox.destroy(),this.collisionCircle.destroy()},B.prototype.addToLineVertexArray=function(t,e){var r=this.lineVertexArray.length;if(void 0!==t.segment){for(var n=t.dist(e[t.segment+1]),i=t.dist(e[t.segment]),a={},o=t.segment+1;o<e.length;o++)a[o]={x:e[o].x,y:e[o].y,tileUnitDistanceFromAnchor:n},o<e.length-1&&(n+=e[o+1].dist(e[o]));for(var s=t.segment||0;s>=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l<e.length;l++){var u=a[l];this.lineVertexArray.emplaceBack(u.x,u.y,u.tileUnitDistanceFromAnchor)}}return{lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},B.prototype.addSymbols=function(t,e,r,a,o,s,l,u,c,h){for(var f=t.indexArray,p=t.layoutVertexArray,d=t.dynamicLayoutVertexArray,g=t.segments.prepareSegment(4*e.length,t.layoutVertexArray,t.indexArray),v=this.glyphOffsetArray.length,m=g.vertexLength,y=0,x=e;y<x.length;y+=1){var b=x[y],_=b.tl,w=b.tr,M=b.bl,A=b.br,k=b.tex,T=g.vertexLength,S=b.glyphOffset[1];n(p,u.x,u.y,_.x,S+_.y,k.x,k.y,r),n(p,u.x,u.y,w.x,S+w.y,k.x+k.w,k.y,r),n(p,u.x,u.y,M.x,S+M.y,k.x,k.y+k.h,r),n(p,u.x,u.y,A.x,S+A.y,k.x+k.w,k.y+k.h,r),i(d,u,0),f.emplaceBack(T,T+1,T+2),f.emplaceBack(T+1,T+2,T+3),g.vertexLength+=4,g.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(b.glyphOffset[0])}t.placedSymbolArray.emplaceBack(u.x,u.y,v,this.glyphOffsetArray.length-v,m,c,h,u.segment,r?r[0]:0,r?r[1]:0,a[0],a[1],l,!1),t.programConfigurations.populatePaintArrays(t.layoutVertexArray.length,s)},B.prototype._addCollisionDebugVertex=function(t,e,r,n,i){return e.emplaceBack(0,0),t.emplaceBack(r.x,r.y,n.x,n.y,Math.round(i.x),Math.round(i.y))},B.prototype.addCollisionDebugVertices=function(t,e,r,n,i,a,o,s){var l=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),u=l.vertexLength,c=i.layoutVertexArray,h=i.collisionVertexArray;if(this._addCollisionDebugVertex(c,h,a,o.anchor,new _(t,e)),this._addCollisionDebugVertex(c,h,a,o.anchor,new _(r,e)),this._addCollisionDebugVertex(c,h,a,o.anchor,new _(r,n)),this._addCollisionDebugVertex(c,h,a,o.anchor,new _(t,n)),l.vertexLength+=4,s){var f=i.indexArray;f.emplaceBack(u,u+1,u+2),f.emplaceBack(u,u+2,u+3),l.primitiveLength+=2}else{var p=i.indexArray;p.emplaceBack(u,u+1),p.emplaceBack(u+1,u+2),p.emplaceBack(u+2,u+3),p.emplaceBack(u+3,u),l.primitiveLength+=4}},B.prototype.generateCollisionDebugBuffers=function(){for(var t=this,e=0,r=t.symbolInstances;e<r.length;e+=1){var n=r[e];n.textCollisionFeature={boxStartIndex:n.textBoxStartIndex,boxEndIndex:n.textBoxEndIndex},n.iconCollisionFeature={boxStartIndex:n.iconBoxStartIndex,boxEndIndex:n.iconBoxEndIndex};for(var i=0;i<2;i++){var a=n[0===i?\"textCollisionFeature\":\"iconCollisionFeature\"];if(a)for(var o=a.boxStartIndex;o<a.boxEndIndex;o++){var s=t.collisionBoxArray.get(o),l=s.x1,u=s.y1,c=s.x2,h=s.y2,f=s.radius>0;t.addCollisionDebugVertices(l,u,c,h,f?t.collisionCircle:t.collisionBox,s.anchorPoint,n,f)}}}},B.prototype.deserializeCollisionBoxes=function(t,e,r,n,i){for(var a={},o=e;o<r;o++){var s=t.get(o);if(0===s.radius){a.textBox={x1:s.x1,y1:s.y1,x2:s.x2,y2:s.y2,anchorPointX:s.anchorPointX,anchorPointY:s.anchorPointY};break}a.textCircles||(a.textCircles=[]),a.textCircles.push(s.anchorPointX,s.anchorPointY,s.radius,s.signedDistanceFromAnchor,1)}for(var l=n;l<i;l++){var u=t.get(l);if(0===u.radius){a.iconBox={x1:u.x1,y1:u.y1,x2:u.x2,y2:u.y2,anchorPointX:u.anchorPointX,anchorPointY:u.anchorPointY};break}}return a},B.prototype.hasTextData=function(){return this.text.segments.get().length>0},B.prototype.hasIconData=function(){return this.icon.segments.get().length>0},B.prototype.hasCollisionBoxData=function(){return this.collisionBox.segments.get().length>0},B.prototype.hasCollisionCircleData=function(){return this.collisionCircle.segments.get().length>0},B.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&(this.sortedAngle=t,!(this.text.segments.get().length>1||this.icon.segments.get().length>1))){for(var r=[],n=0;n<this.symbolInstances.length;n++)r.push(n);var i=Math.sin(t),a=Math.cos(t);r.sort(function(t,r){var n=e.symbolInstances[t],o=e.symbolInstances[r];return(i*n.anchor.x+a*n.anchor.y|0)-(i*o.anchor.x+a*o.anchor.y|0)||o.featureIndex-n.featureIndex}),this.text.indexArray.clear(),this.icon.indexArray.clear();for(var o=0,s=r;o<s.length;o+=1){for(var l=s[o],u=0,c=e.symbolInstances[l].placedTextSymbolIndices;u<c.length;u+=1)for(var h=c[u],f=e.text.placedSymbolArray.get(h),p=f.vertexStartIndex+4*f.numGlyphs,d=f.vertexStartIndex;d<p;d+=4)e.text.indexArray.emplaceBack(d,d+1,d+2),e.text.indexArray.emplaceBack(d+1,d+2,d+3);var g=e.icon.placedSymbolArray.get(l);if(g.numGlyphs){var v=g.vertexStartIndex;e.icon.indexArray.emplaceBack(v,v+1,v+2),e.icon.indexArray.emplaceBack(v+1,v+2,v+3)}}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},D(\"SymbolBucket\",B,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"],shallow:[\"symbolInstances\"]}),B.MAX_GLYPHS=65535,B.addDynamicAttributes=i,e.exports=B},{\"../../symbol/anchor\":213,\"../../symbol/mergelines\":221,\"../../symbol/symbol_size\":228,\"../../symbol/transform_text\":229,\"../../util/script_detection\":269,\"../../util/verticalize_punctuation\":277,\"../../util/web_worker_transfer\":278,\"../array_types\":39,\"../index_array_type\":55,\"../load_geometry\":56,\"../program_configuration\":58,\"../segment\":60,\"./symbol_attributes\":50,\"@mapbox/point-geometry\":4,\"@mapbox/vector-tile\":8}],52:[function(t,e,r){var n=t(\"../util/image\").RGBAImage,i=t(\"../util/util\"),a=t(\"../util/web_worker_transfer\").register,o=function(t,e,r){if(t<=0)throw new RangeError(\"Level must have positive dimension\");this.dim=t,this.border=e,this.stride=this.dim+2*this.border,this.data=r||new Int32Array((this.dim+2*this.border)*(this.dim+2*this.border))};o.prototype.set=function(t,e,r){this.data[this._idx(t,e)]=r+65536},o.prototype.get=function(t,e){return this.data[this._idx(t,e)]-65536},o.prototype._idx=function(t,e){if(t<-this.border||t>=this.dim+this.border||e<-this.border||e>=this.dim+this.border)throw new RangeError(\"out of range source coordinates for DEM data\");return(e+this.border)*this.stride+(t+this.border)},a(\"Level\",o);var s=function(t,e,r){this.uid=t,this.scale=e||1,this.level=r||new o(256,512),this.loaded=!!r};s.prototype.loadFromImage=function(t){if(t.height!==t.width)throw new RangeError(\"DEM tiles must be square\");for(var e=this.level=new o(t.width,t.width/2),r=t.data,n=0;n<e.dim;n++)for(var i=0;i<e.dim;i++){var a=4*(n*e.dim+i);e.set(i,n,this.scale*((256*r[a]*256+256*r[a+1]+r[a+2])/10-1e4))}for(var s=0;s<e.dim;s++)e.set(-1,s,e.get(0,s)),e.set(e.dim,s,e.get(e.dim-1,s)),e.set(s,-1,e.get(s,0)),e.set(s,e.dim,e.get(s,e.dim-1));e.set(-1,-1,e.get(0,0)),e.set(e.dim,-1,e.get(e.dim-1,0)),e.set(-1,e.dim,e.get(0,e.dim-1)),e.set(e.dim,e.dim,e.get(e.dim-1,e.dim-1)),this.loaded=!0},s.prototype.getPixels=function(){return new n({width:this.level.dim+2*this.level.border,height:this.level.dim+2*this.level.border},new Uint8Array(this.level.data.buffer))},s.prototype.backfillBorder=function(t,e,r){var n=this.level,a=t.level;if(n.dim!==a.dim)throw new Error(\"level mismatch (dem dimension)\");var o=e*n.dim,s=e*n.dim+n.dim,l=r*n.dim,u=r*n.dim+n.dim;switch(e){case-1:o=s-1;break;case 1:s=o+1}switch(r){case-1:l=u-1;break;case 1:u=l+1}for(var c=i.clamp(o,-n.border,n.dim+n.border),h=i.clamp(s,-n.border,n.dim+n.border),f=i.clamp(l,-n.border,n.dim+n.border),p=i.clamp(u,-n.border,n.dim+n.border),d=-e*n.dim,g=-r*n.dim,v=f;v<p;v++)for(var m=c;m<h;m++)n.set(m,v,a.get(m+d,v+g))},a(\"DEMData\",s),e.exports={DEMData:s,Level:o}},{\"../util/image\":263,\"../util/util\":275,\"../util/web_worker_transfer\":278}],53:[function(t,e,r){e.exports=8192},{}],54:[function(t,e,r){function n(t,e){return e-t}t(\"@mapbox/point-geometry\");var i=t(\"./load_geometry\"),a=t(\"./extent\"),o=t(\"../style-spec/feature_filter\"),s=t(\"grid-index\"),l=t(\"../util/dictionary_coder\"),u=t(\"@mapbox/vector-tile\"),c=t(\"pbf\"),h=t(\"../util/vectortile_to_geojson\"),f=t(\"../util/util\").arraysIntersect,p=(t(\"../source/tile_id\").OverscaledTileID,t(\"../util/web_worker_transfer\").register),d=t(\"./array_types\").FeatureIndexArray,g=function(t,e,r,n){this.tileID=t,this.overscaling=e,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=r||new s(a,16,0),this.featureIndexArray=n||new d};g.prototype.insert=function(t,e,r,n,i){var a=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);for(var o=0;o<e.length;o++){for(var s=e[o],l=[1/0,1/0,-1/0,-1/0],u=0;u<s.length;u++){var c=s[u];l[0]=Math.min(l[0],c.x),l[1]=Math.min(l[1],c.y),l[2]=Math.max(l[2],c.x),l[3]=Math.max(l[3],c.y)}this.grid.insert(a,l[0],l[1],l[2],l[3])}},g.prototype.query=function(t,e){this.vtLayers||(this.vtLayers=new u.VectorTile(new c(this.rawTileData)).layers,this.sourceLayerCoder=new l(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"]));for(var r={},i=t.params||{},s=a/t.tileSize/t.scale,h=o(i.filter),f=t.queryGeometry,p=t.additionalRadius*s,d=1/0,g=1/0,v=-1/0,m=-1/0,y=0;y<f.length;y++)for(var x=f[y],b=0;b<x.length;b++){var _=x[b];d=Math.min(d,_.x),g=Math.min(g,_.y),v=Math.max(v,_.x),m=Math.max(m,_.y)}var w=this.grid.query(d-p,g-p,v+p,m+p);w.sort(n),this.filterMatching(r,w,this.featureIndexArray,f,h,i.layers,e,t.bearing,s);var M=t.collisionIndex?t.collisionIndex.queryRenderedSymbols(f,this.tileID,a/t.tileSize,t.collisionBoxArray,t.sourceID,t.bucketInstanceIds):[];return M.sort(),this.filterMatching(r,M,t.collisionBoxArray,f,h,i.layers,e,t.bearing,s),r},g.prototype.filterMatching=function(t,e,r,n,a,o,s,l,u){for(var c,p=this,d=0;d<e.length;d++){var g=e[d];if(g!==c){c=g;var v=r.get(g),m=p.bucketLayerIDs[v.bucketIndex];if(!o||f(o,m)){var y=p.sourceLayerCoder.decode(v.sourceLayerIndex),x=p.vtLayers[y].feature(v.featureIndex);if(a({zoom:p.tileID.overscaledZ},x))for(var b=null,_=0;_<m.length;_++){var w=m[_];if(!(o&&o.indexOf(w)<0)){var M=s[w];if(M&&(\"symbol\"===M.type||(b||(b=i(x)),M.queryIntersectsFeature(n,x,b,p.z,l,u)))){var A=new h(x,p.z,p.x,p.y);A.layer=M.serialize();var k=t[w];void 0===k&&(k=t[w]=[]),k.push({featureIndex:g,feature:A})}}}}}}},g.prototype.hasLayer=function(t){for(var e=0,r=this.bucketLayerIDs;e<r.length;e+=1)for(var n=0,i=r[e];n<i.length;n+=1){if(t===i[n])return!0}return!1},p(\"FeatureIndex\",g,{omit:[\"rawTileData\",\"sourceLayerCoder\"]}),e.exports=g},{\"../source/tile_id\":114,\"../style-spec/feature_filter\":148,\"../util/dictionary_coder\":257,\"../util/util\":275,\"../util/vectortile_to_geojson\":276,\"../util/web_worker_transfer\":278,\"./array_types\":39,\"./extent\":53,\"./load_geometry\":56,\"@mapbox/point-geometry\":4,\"@mapbox/vector-tile\":8,\"grid-index\":24,pbf:30}],55:[function(t,e,r){e.exports={LineIndexArray:t(\"./array_types\").LineIndexArray,TriangleIndexArray:t(\"./array_types\").TriangleIndexArray}},{\"./array_types\":39}],56:[function(t,e,r){var n,i=t(\"../util/util\"),a=t(\"./extent\"),o=(n=16,{min:-1*Math.pow(2,n-1),max:Math.pow(2,n-1)-1});e.exports=function(t){for(var e=a/t.extent,r=t.loadGeometry(),n=0;n<r.length;n++)for(var s=r[n],l=0;l<s.length;l++){var u=s[l];u.x=Math.round(u.x*e),u.y=Math.round(u.y*e),(u.x<o.min||u.x>o.max||u.y<o.min||u.y>o.max)&&i.warnOnce(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return r}},{\"../util/util\":275,\"./extent\":53}],57:[function(t,e,r){var n=t(\"../util/struct_array\").createLayout;e.exports=n([{name:\"a_pos\",type:\"Int16\",components:2}])},{\"../util/struct_array\":271}],58:[function(t,e,r){function n(t){return[a(255*t.r,255*t.g),a(255*t.b,255*t.a)]}function i(t,e){return{\"text-opacity\":\"opacity\",\"icon-opacity\":\"opacity\",\"text-color\":\"fill_color\",\"icon-color\":\"fill_color\",\"text-halo-color\":\"halo_color\",\"icon-halo-color\":\"halo_color\",\"text-halo-blur\":\"halo_blur\",\"icon-halo-blur\":\"halo_blur\",\"text-halo-width\":\"halo_width\",\"icon-halo-width\":\"halo_width\",\"line-gap-width\":\"gapwidth\"}[t]||t.replace(e+\"-\",\"\").replace(/-/g,\"_\")}var a=t(\"../shaders/encode_attribute\").packUint8ToFloat,o=(t(\"../style-spec/util/color\"),t(\"../util/web_worker_transfer\").register),s=t(\"../style/properties\").PossiblyEvaluatedPropertyValue,l=t(\"./array_types\"),u=l.StructArrayLayout1f4,c=l.StructArrayLayout2f8,h=l.StructArrayLayout4f16,f=function(t,e,r){this.value=t,this.name=e,this.type=r,this.statistics={max:-1/0}};f.prototype.defines=function(){return[\"#define HAS_UNIFORM_u_\"+this.name]},f.prototype.populatePaintArray=function(){},f.prototype.upload=function(){},f.prototype.destroy=function(){},f.prototype.setUniforms=function(t,e,r,n){var i=n.constantOr(this.value),a=t.gl;\"color\"===this.type?a.uniform4f(e.uniforms[\"u_\"+this.name],i.r,i.g,i.b,i.a):a.uniform1f(e.uniforms[\"u_\"+this.name],i)};var p=function(t,e,r){this.expression=t,this.name=e,this.type=r,this.statistics={max:-1/0};var n=\"color\"===r?c:u;this.paintVertexAttributes=[{name:\"a_\"+e,type:\"Float32\",components:\"color\"===r?2:1,offset:0}],this.paintVertexArray=new n};p.prototype.defines=function(){return[]},p.prototype.populatePaintArray=function(t,e){var r=this.paintVertexArray,i=r.length;r.reserve(t);var a=this.expression.evaluate({zoom:0},e);if(\"color\"===this.type)for(var o=n(a),s=i;s<t;s++)r.emplaceBack(o[0],o[1]);else{for(var l=i;l<t;l++)r.emplaceBack(a);this.statistics.max=Math.max(this.statistics.max,a)}},p.prototype.upload=function(t){this.paintVertexArray&&(this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes))},p.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},p.prototype.setUniforms=function(t,e){t.gl.uniform1f(e.uniforms[\"a_\"+this.name+\"_t\"],0)};var d=function(t,e,r,n,i){this.expression=t,this.name=e,this.type=r,this.useIntegerZoom=n,this.zoom=i,this.statistics={max:-1/0};var a=\"color\"===r?h:c;this.paintVertexAttributes=[{name:\"a_\"+e,type:\"Float32\",components:\"color\"===r?4:2,offset:0}],this.paintVertexArray=new a};d.prototype.defines=function(){return[]},d.prototype.populatePaintArray=function(t,e){var r=this.paintVertexArray,i=r.length;r.reserve(t);var a=this.expression.evaluate({zoom:this.zoom},e),o=this.expression.evaluate({zoom:this.zoom+1},e);if(\"color\"===this.type)for(var s=n(a),l=n(o),u=i;u<t;u++)r.emplaceBack(s[0],s[1],l[0],l[1]);else{for(var c=i;c<t;c++)r.emplaceBack(a,o);this.statistics.max=Math.max(this.statistics.max,a,o)}},d.prototype.upload=function(t){this.paintVertexArray&&(this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes))},d.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},d.prototype.interpolationFactor=function(t){return this.useIntegerZoom?this.expression.interpolationFactor(Math.floor(t),this.zoom,this.zoom+1):this.expression.interpolationFactor(t,this.zoom,this.zoom+1)},d.prototype.setUniforms=function(t,e,r){t.gl.uniform1f(e.uniforms[\"a_\"+this.name+\"_t\"],this.interpolationFactor(r.zoom))};var g=function(){this.binders={},this.cacheKey=\"\",this._buffers=[]};g.createDynamic=function(t,e,r){var n=new g,a=[];for(var o in t.paint._values)if(r(o)){var l=t.paint.get(o);if(l instanceof s&&l.property.specification[\"property-function\"]){var u=i(o,t.type),c=l.property.specification.type,h=l.property.useIntegerZoom;\"constant\"===l.value.kind?(n.binders[o]=new f(l.value,u,c),a.push(\"/u_\"+u)):\"source\"===l.value.kind?(n.binders[o]=new p(l.value,u,c),a.push(\"/a_\"+u)):(n.binders[o]=new d(l.value,u,c,h,e),a.push(\"/z_\"+u))}}return n.cacheKey=a.sort().join(\"\"),n},g.prototype.populatePaintArrays=function(t,e){for(var r in this.binders)this.binders[r].populatePaintArray(t,e)},g.prototype.defines=function(){var t=[];for(var e in this.binders)t.push.apply(t,this.binders[e].defines());return t},g.prototype.setUniforms=function(t,e,r,n){for(var i in this.binders)this.binders[i].setUniforms(t,e,n,r.get(i))},g.prototype.getPaintVertexBuffers=function(){return this._buffers},g.prototype.upload=function(t){var e=this;for(var r in e.binders)e.binders[r].upload(t);var n=[];for(var i in e.binders){var a=e.binders[i];(a instanceof p||a instanceof d)&&a.paintVertexBuffer&&n.push(a.paintVertexBuffer)}this._buffers=n},g.prototype.destroy=function(){for(var t in this.binders)this.binders[t].destroy()};var v=function(t,e,r,n){void 0===n&&(n=function(){return!0}),this.programConfigurations={};for(var i=0,a=e;i<a.length;i+=1){var o=a[i];this.programConfigurations[o.id]=g.createDynamic(o,r,n),this.programConfigurations[o.id].layoutAttributes=t}};v.prototype.populatePaintArrays=function(t,e){for(var r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(t,e)},v.prototype.get=function(t){return this.programConfigurations[t]},v.prototype.upload=function(t){for(var e in this.programConfigurations)this.programConfigurations[e].upload(t)},v.prototype.destroy=function(){for(var t in this.programConfigurations)this.programConfigurations[t].destroy()},o(\"ConstantBinder\",f),o(\"SourceExpressionBinder\",p),o(\"CompositeExpressionBinder\",d),o(\"ProgramConfiguration\",g,{omit:[\"_buffers\"]}),o(\"ProgramConfigurationSet\",v),e.exports={ProgramConfiguration:g,ProgramConfigurationSet:v}},{\"../shaders/encode_attribute\":96,\"../style-spec/util/color\":153,\"../style/properties\":188,\"../util/web_worker_transfer\":278,\"./array_types\":39}],59:[function(t,e,r){var n=t(\"../util/struct_array\").createLayout;e.exports=n([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}])},{\"../util/struct_array\":271}],60:[function(t,e,r){var n=t(\"../util/util\").warnOnce,i=t(\"../util/web_worker_transfer\").register,a=Math.pow(2,16)-1,o=function(t){void 0===t&&(t=[]),this.segments=t};o.prototype.prepareSegment=function(t,r,i){var o=this.segments[this.segments.length-1];return t>a&&n(\"Max vertices per segment is \"+a+\": bucket requested \"+t),(!o||o.vertexLength+t>e.exports.MAX_VERTEX_ARRAY_LENGTH)&&(o={vertexOffset:r.length,primitiveOffset:i.length,vertexLength:0,primitiveLength:0},this.segments.push(o)),o},o.prototype.get=function(){return this.segments},o.prototype.destroy=function(){for(var t=0,e=this.segments;t<e.length;t+=1){var r=e[t];for(var n in r.vaos)r.vaos[n].destroy()}},i(\"SegmentVector\",o),e.exports={SegmentVector:o,MAX_VERTEX_ARRAY_LENGTH:a}},{\"../util/util\":275,\"../util/web_worker_transfer\":278}],61:[function(t,e,r){var n=function(t,e,r){this.column=t,this.row=e,this.zoom=r};n.prototype.clone=function(){return new n(this.column,this.row,this.zoom)},n.prototype.zoomTo=function(t){return this.clone()._zoomTo(t)},n.prototype.sub=function(t){return this.clone()._sub(t)},n.prototype._zoomTo=function(t){var e=Math.pow(2,t-this.zoom);return this.column*=e,this.row*=e,this.zoom=t,this},n.prototype._sub=function(t){return t=t.zoomTo(this.zoom),this.column-=t.column,this.row-=t.row,this},e.exports=n},{}],62:[function(t,e,r){var n=t(\"../util/util\").wrap,i=function(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\")};i.prototype.wrap=function(){return new i(n(this.lng,-180,180),this.lat)},i.prototype.toArray=function(){return[this.lng,this.lat]},i.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},i.prototype.toBounds=function(e){var r=360*e/40075017,n=r/Math.cos(Math.PI/180*this.lat);return new(t(\"./lng_lat_bounds\"))(new i(this.lng-n,this.lat-r),new i(this.lng+n,this.lat+r))},i.convert=function(t){if(t instanceof i)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new i(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new i(Number(t.lng),Number(t.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")},e.exports=i},{\"../util/util\":275,\"./lng_lat_bounds\":63}],63:[function(t,e,r){var n=t(\"./lng_lat\"),i=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};i.prototype.setNorthEast=function(t){return this._ne=t instanceof n?new n(t.lng,t.lat):n.convert(t),this},i.prototype.setSouthWest=function(t){return this._sw=t instanceof n?new n(t.lng,t.lat):n.convert(t),this},i.prototype.extend=function(t){var e,r,a=this._sw,o=this._ne;if(t instanceof n)e=t,r=t;else{if(!(t instanceof i))return Array.isArray(t)?t.every(Array.isArray)?this.extend(i.convert(t)):this.extend(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 n(e.lng,e.lat),this._ne=new n(r.lng,r.lat)),this},i.prototype.getCenter=function(){return new n((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},i.prototype.getSouthWest=function(){return this._sw},i.prototype.getNorthEast=function(){return this._ne},i.prototype.getNorthWest=function(){return new n(this.getWest(),this.getNorth())},i.prototype.getSouthEast=function(){return new n(this.getEast(),this.getSouth())},i.prototype.getWest=function(){return this._sw.lng},i.prototype.getSouth=function(){return this._sw.lat},i.prototype.getEast=function(){return this._ne.lng},i.prototype.getNorth=function(){return this._ne.lat},i.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},i.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},i.prototype.isEmpty=function(){return!(this._sw&&this._ne)},i.convert=function(t){return!t||t instanceof i?t:new i(t)},e.exports=i},{\"./lng_lat\":62}],64:[function(t,e,r){var n=t(\"./lng_lat\"),i=t(\"@mapbox/point-geometry\"),a=t(\"./coordinate\"),o=t(\"../util/util\"),s=t(\"../style-spec/util/interpolate\").number,l=t(\"../util/tile_cover\"),u=t(\"../source/tile_id\"),c=(u.CanonicalTileID,u.UnwrappedTileID),h=t(\"../data/extent\"),f=t(\"@mapbox/gl-matrix\"),p=f.vec4,d=f.mat4,g=f.mat2,v=function(t,e,r){this.tileSize=512,this._renderWorldCopies=void 0===r||r,this._minZoom=t||0,this._maxZoom=e||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new n(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._posMatrixCache={},this._alignedPosMatrixCache={}},m={minZoom:{},maxZoom:{},renderWorldCopies:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};v.prototype.clone=function(){var t=new v(this._minZoom,this._maxZoom,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._calcMatrices(),t},m.minZoom.get=function(){return this._minZoom},m.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},m.maxZoom.get=function(){return this._maxZoom},m.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},m.renderWorldCopies.get=function(){return this._renderWorldCopies},m.worldSize.get=function(){return this.tileSize*this.scale},m.centerPoint.get=function(){return this.size._div(2)},m.size.get=function(){return new i(this.width,this.height)},m.bearing.get=function(){return-this.angle/Math.PI*180},m.bearing.set=function(t){var e=-o.wrap(t,-180,180)*Math.PI/180;this.angle!==e&&(this._unmodified=!1,this.angle=e,this._calcMatrices(),this.rotationMatrix=g.create(),g.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},m.pitch.get=function(){return this._pitch/Math.PI*180},m.pitch.set=function(t){var e=o.clamp(t,0,60)/180*Math.PI;this._pitch!==e&&(this._unmodified=!1,this._pitch=e,this._calcMatrices())},m.fov.get=function(){return this._fov/Math.PI*180},m.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},m.zoom.get=function(){return this._zoom},m.zoom.set=function(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._constrain(),this._calcMatrices())},m.center.get=function(){return this._center},m.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},v.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},v.prototype.getVisibleUnwrappedCoordinates=function(t){var e=this.pointCoordinate(new i(0,0),0),r=this.pointCoordinate(new i(this.width,0),0),n=Math.floor(e.column),a=Math.floor(r.column),o=[new c(0,t)];if(this._renderWorldCopies)for(var s=n;s<=a;s++)0!==s&&o.push(new c(s,t));return o},v.prototype.coveringTiles=function(t){var e=this.coveringZoomLevel(t),r=e;if(void 0!==t.minzoom&&e<t.minzoom)return[];void 0!==t.maxzoom&&e>t.maxzoom&&(e=t.maxzoom);var n=this.pointCoordinate(this.centerPoint,e),a=new i(n.column-.5,n.row-.5),o=[this.pointCoordinate(new i(0,0),e),this.pointCoordinate(new i(this.width,0),e),this.pointCoordinate(new i(this.width,this.height),e),this.pointCoordinate(new i(0,this.height),e)];return l(e,o,t.reparseOverscaled?r:e,this._renderWorldCopies).sort(function(t,e){return a.dist(t.canonical)-a.dist(e.canonical)})},v.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},m.unmodified.get=function(){return this._unmodified},v.prototype.zoomScale=function(t){return Math.pow(2,t)},v.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},v.prototype.project=function(t){return new i(this.lngX(t.lng),this.latY(t.lat))},v.prototype.unproject=function(t){return new n(this.xLng(t.x),this.yLat(t.y))},m.x.get=function(){return this.lngX(this.center.lng)},m.y.get=function(){return this.latY(this.center.lat)},m.point.get=function(){return new i(this.x,this.y)},v.prototype.lngX=function(t){return(180+t)*this.worldSize/360},v.prototype.latY=function(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*this.worldSize/360},v.prototype.xLng=function(t){return 360*t/this.worldSize-180},v.prototype.yLat=function(t){var e=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90},v.prototype.setLocationAtPoint=function(t,e){var r=this.pointCoordinate(e)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(r)),this._renderWorldCopies&&(this.center=this.center.wrap())},v.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},v.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},v.prototype.locationCoordinate=function(t){return new a(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},v.prototype.coordinateLocation=function(t){var e=t.zoomTo(this.zoom);return new n(this.xLng(e.column*this.tileSize),this.yLat(e.row*this.tileSize))},v.prototype.pointCoordinate=function(t,e){void 0===e&&(e=this.tileZoom);var r=[t.x,t.y,0,1],n=[t.x,t.y,1,1];p.transformMat4(r,r,this.pixelMatrixInverse),p.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],o=n[3],l=r[1]/i,u=n[1]/o,c=r[2]/i,h=n[2]/o,f=c===h?0:(0-c)/(h-c);return new a(s(r[0]/i,n[0]/o,f)/this.tileSize,s(l,u,f)/this.tileSize,this.zoom)._zoomTo(e)},v.prototype.coordinatePoint=function(t){var e=t.zoomTo(this.zoom),r=[e.column*this.tileSize,e.row*this.tileSize,0,1];return p.transformMat4(r,r,this.pixelMatrix),new i(r[0]/r[3],r[1]/r[3])},v.prototype.calculatePosMatrix=function(t,e){void 0===e&&(e=!1);var r=t.key,n=e?this._alignedPosMatrixCache:this._posMatrixCache;if(n[r])return n[r];var i=t.canonical,a=this.worldSize/this.zoomScale(i.z),o=i.x+Math.pow(2,i.z)*t.wrap,s=d.identity(new Float64Array(16));return d.translate(s,s,[o*a,i.y*a,0]),d.scale(s,s,[a/h,a/h,1]),d.multiply(s,e?this.alignedProjMatrix:this.projMatrix,s),n[r]=new Float32Array(s),n[r]},v.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,e,r,n,a=-90,o=90,s=-180,l=180,u=this.size,c=this._unmodified;if(this.latRange){var h=this.latRange;a=this.latY(h[1]),t=(o=this.latY(h[0]))-a<u.y?u.y/(o-a):0}if(this.lngRange){var f=this.lngRange;s=this.lngX(f[0]),e=(l=this.lngX(f[1]))-s<u.x?u.x/(l-s):0}var p=Math.max(e||0,t||0);if(p)return this.center=this.unproject(new i(e?(l+s)/2:this.x,t?(o+a)/2:this.y)),this.zoom+=this.scaleZoom(p),this._unmodified=c,void(this._constraining=!1);if(this.latRange){var d=this.y,g=u.y/2;d-g<a&&(n=a+g),d+g>o&&(n=o-g)}if(this.lngRange){var v=this.x,m=u.x/2;v-m<s&&(r=s+m),v+m>l&&(r=l-m)}void 0===r&&void 0===n||(this.center=this.unproject(new i(void 0!==r?r:this.x,void 0!==n?n:this.y))),this._unmodified=c,this._constraining=!1}},v.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,e=Math.PI/2+this._pitch,r=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-e-t),n=this.x,i=this.y,a=1.01*(Math.cos(Math.PI/2-this._pitch)*r+this.cameraToCenterDistance),o=new Float64Array(16);d.perspective(o,this._fov,this.width/this.height,1,a),d.scale(o,o,[1,-1,1]),d.translate(o,o,[0,0,-this.cameraToCenterDistance]),d.rotateX(o,o,this._pitch),d.rotateZ(o,o,this.angle),d.translate(o,o,[-n,-i,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));d.scale(o,o,[1,1,s,1]),this.projMatrix=o;var l=this.width%2/2,u=this.height%2/2,c=Math.cos(this.angle),h=Math.sin(this.angle),f=n-Math.round(n)+c*l+h*u,p=i-Math.round(i)+c*u+h*l,g=new Float64Array(o);if(d.translate(g,g,[f>.5?f-1:f,p>.5?p-1:p,0]),this.alignedProjMatrix=g,o=d.create(),d.scale(o,o,[this.width/2,-this.height/2,1]),d.translate(o,o,[1,-1,0]),this.pixelMatrix=d.multiply(new Float64Array(16),o,this.projMatrix),!(o=d.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=o,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Object.defineProperties(v.prototype,m),e.exports=v},{\"../data/extent\":53,\"../source/tile_id\":114,\"../style-spec/util/interpolate\":158,\"../util/tile_cover\":273,\"../util/util\":275,\"./coordinate\":61,\"./lng_lat\":62,\"@mapbox/gl-matrix\":2,\"@mapbox/point-geometry\":4}],65:[function(t,e,r){var n=t(\"../style-spec/util/color\"),i=function(t,e,r){this.blendFunction=t,this.blendColor=e,this.mask=r};i.disabled=new i(i.Replace=[1,0],n.transparent,[!1,!1,!1,!1]),i.unblended=new i(i.Replace,n.transparent,[!0,!0,!0,!0]),i.alphaBlended=new i([1,771],n.transparent,[!0,!0,!0,!0]),e.exports=i},{\"../style-spec/util/color\":153}],66:[function(t,e,r){var n=t(\"./index_buffer\"),i=t(\"./vertex_buffer\"),a=t(\"./framebuffer\"),o=(t(\"./depth_mode\"),t(\"./stencil_mode\"),t(\"./color_mode\")),s=t(\"../util/util\"),l=t(\"./value\"),u=l.ClearColor,c=l.ClearDepth,h=l.ClearStencil,f=l.ColorMask,p=l.DepthMask,d=l.StencilMask,g=l.StencilFunc,v=l.StencilOp,m=l.StencilTest,y=l.DepthRange,x=l.DepthTest,b=l.DepthFunc,_=l.Blend,w=l.BlendFunc,M=l.BlendColor,A=l.Program,k=l.LineWidth,T=l.ActiveTextureUnit,S=l.Viewport,E=l.BindFramebuffer,C=l.BindRenderbuffer,L=l.BindTexture,z=l.BindVertexBuffer,P=l.BindElementBuffer,I=l.BindVertexArrayOES,D=l.PixelStoreUnpack,O=l.PixelStoreUnpackPremultiplyAlpha,R=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension(\"OES_vertex_array_object\"),this.lineWidthRange=t.getParameter(t.ALIASED_LINE_WIDTH_RANGE),this.clearColor=new u(this),this.clearDepth=new c(this),this.clearStencil=new h(this),this.colorMask=new f(this),this.depthMask=new p(this),this.stencilMask=new d(this),this.stencilFunc=new g(this),this.stencilOp=new v(this),this.stencilTest=new m(this),this.depthRange=new y(this),this.depthTest=new x(this),this.depthFunc=new b(this),this.blend=new _(this),this.blendFunc=new w(this),this.blendColor=new M(this),this.program=new A(this),this.lineWidth=new k(this),this.activeTexture=new T(this),this.viewport=new S(this),this.bindFramebuffer=new E(this),this.bindRenderbuffer=new C(this),this.bindTexture=new L(this),this.bindVertexBuffer=new z(this),this.bindElementBuffer=new P(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new I(this),this.pixelStoreUnpack=new D(this),this.pixelStoreUnpackPremultiplyAlpha=new O(this),this.extTextureFilterAnisotropic=t.getExtension(\"EXT_texture_filter_anisotropic\")||t.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||t.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=t.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=t.getExtension(\"OES_texture_half_float\"),this.extTextureHalfFloat&&t.getExtension(\"OES_texture_half_float_linear\")};R.prototype.createIndexBuffer=function(t,e){return new n(this,t,e)},R.prototype.createVertexBuffer=function(t,e,r){return new i(this,t,e,r)},R.prototype.createRenderbuffer=function(t,e,r){var n=this.gl,i=n.createRenderbuffer();return this.bindRenderbuffer.set(i),n.renderbufferStorage(n.RENDERBUFFER,t,e,r),this.bindRenderbuffer.set(null),i},R.prototype.createFramebuffer=function(t,e){return new a(this,t,e)},R.prototype.clear=function(t){var e=t.color,r=t.depth,n=this.gl,i=0;e&&(i|=n.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==r&&(i|=n.DEPTH_BUFFER_BIT,this.clearDepth.set(r),this.depthMask.set(!0)),n.clear(i)},R.prototype.setDepthMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.depthTest.set(!0),this.depthFunc.set(t.func),this.depthMask.set(t.mask),this.depthRange.set(t.range)):this.depthTest.set(!1)},R.prototype.setStencilMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.stencilTest.set(!0),this.stencilMask.set(t.mask),this.stencilOp.set([t.fail,t.depthFail,t.pass]),this.stencilFunc.set({func:t.test.func,ref:t.ref,mask:t.test.mask})):this.stencilTest.set(!1)},R.prototype.setColorMode=function(t){s.deepEqual(t.blendFunction,o.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(t.blendFunction),this.blendColor.set(t.blendColor)),this.colorMask.set(t.mask)},e.exports=R},{\"../util/util\":275,\"./color_mode\":65,\"./depth_mode\":67,\"./framebuffer\":68,\"./index_buffer\":69,\"./stencil_mode\":70,\"./value\":71,\"./vertex_buffer\":72}],67:[function(t,e,r){var n=function(t,e,r){this.func=t,this.mask=e,this.range=r};n.ReadOnly=!1,n.ReadWrite=!0,n.disabled=new n(519,n.ReadOnly,[0,1]),e.exports=n},{}],68:[function(t,e,r){var n=t(\"./value\"),i=n.ColorAttachment,a=n.DepthAttachment,o=function(t,e,r){this.context=t,this.width=e,this.height=r;var n=t.gl,o=this.framebuffer=n.createFramebuffer();this.colorAttachment=new i(t,o),this.depthAttachment=new a(t,o)};o.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();e&&t.deleteTexture(e);var r=this.depthAttachment.get();r&&t.deleteRenderbuffer(r),t.deleteFramebuffer(this.framebuffer)},e.exports=o},{\"./value\":71}],69:[function(t,e,r){var n=function(t,e,r){this.context=t;var n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.unbindVAO(),t.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};n.prototype.unbindVAO=function(){this.context.extVertexArrayObject&&this.context.bindVertexArrayOES.set(null)},n.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},n.prototype.updateData=function(t){var e=this.context.gl;this.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)},n.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)},e.exports=n},{}],70:[function(t,e,r){var n=function(t,e,r,n,i,a){this.test=t,this.ref=e,this.mask=r,this.fail=n,this.depthFail=i,this.pass=a};n.disabled=new n({func:519,mask:0},0,0,7680,7680,7680),e.exports=n},{}],71:[function(t,e,r){var n=t(\"../style-spec/util/color\"),i=t(\"../util/util\"),a=function(t){this.context=t,this.current=n.transparent};a.prototype.get=function(){return this.current},a.prototype.set=function(t){var e=this.current;t.r===e.r&&t.g===e.g&&t.b===e.b&&t.a===e.a||(this.context.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t)};var o=function(t){this.context=t,this.current=1};o.prototype.get=function(){return this.current},o.prototype.set=function(t){this.current!==t&&(this.context.gl.clearDepth(t),this.current=t)};var s=function(t){this.context=t,this.current=0};s.prototype.get=function(){return this.current},s.prototype.set=function(t){this.current!==t&&(this.context.gl.clearStencil(t),this.current=t)};var l=function(t){this.context=t,this.current=[!0,!0,!0,!0]};l.prototype.get=function(){return this.current},l.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]||(this.context.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t)};var u=function(t){this.context=t,this.current=!0};u.prototype.get=function(){return this.current},u.prototype.set=function(t){this.current!==t&&(this.context.gl.depthMask(t),this.current=t)};var c=function(t){this.context=t,this.current=255};c.prototype.get=function(){return this.current},c.prototype.set=function(t){this.current!==t&&(this.context.gl.stencilMask(t),this.current=t)};var h=function(t){this.context=t,this.current={func:t.gl.ALWAYS,ref:0,mask:255}};h.prototype.get=function(){return this.current},h.prototype.set=function(t){var e=this.current;t.func===e.func&&t.ref===e.ref&&t.mask===e.mask||(this.context.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t)};var f=function(t){this.context=t;var e=this.context.gl;this.current=[e.KEEP,e.KEEP,e.KEEP]};f.prototype.get=function(){return this.current},f.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]||(this.context.gl.stencilOp(t[0],t[1],t[2]),this.current=t)};var p=function(t){this.context=t,this.current=!1};p.prototype.get=function(){return this.current},p.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t}};var d=function(t){this.context=t,this.current=[0,1]};d.prototype.get=function(){return this.current},d.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.depthRange(t[0],t[1]),this.current=t)};var g=function(t){this.context=t,this.current=!1};g.prototype.get=function(){return this.current},g.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t}};var v=function(t){this.context=t,this.current=t.gl.LESS};v.prototype.get=function(){return this.current},v.prototype.set=function(t){this.current!==t&&(this.context.gl.depthFunc(t),this.current=t)};var m=function(t){this.context=t,this.current=!1};m.prototype.get=function(){return this.current},m.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t}};var y=function(t){this.context=t;var e=this.context.gl;this.current=[e.ONE,e.ZERO]};y.prototype.get=function(){return this.current},y.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.blendFunc(t[0],t[1]),this.current=t)};var x=function(t){this.context=t,this.current=n.transparent};x.prototype.get=function(){return this.current},x.prototype.set=function(t){var e=this.current;t.r===e.r&&t.g===e.g&&t.b===e.b&&t.a===e.a||(this.context.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t)};var b=function(t){this.context=t,this.current=null};b.prototype.get=function(){return this.current},b.prototype.set=function(t){this.current!==t&&(this.context.gl.useProgram(t),this.current=t)};var _=function(t){this.context=t,this.current=1};_.prototype.get=function(){return this.current},_.prototype.set=function(t){var e=this.context.lineWidthRange,r=i.clamp(t,e[0],e[1]);this.current!==r&&(this.context.gl.lineWidth(r),this.current=t)};var w=function(t){this.context=t,this.current=t.gl.TEXTURE0};w.prototype.get=function(){return this.current},w.prototype.set=function(t){this.current!==t&&(this.context.gl.activeTexture(t),this.current=t)};var M=function(t){this.context=t;var e=this.context.gl;this.current=[0,0,e.drawingBufferWidth,e.drawingBufferHeight]};M.prototype.get=function(){return this.current},M.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]||(this.context.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t)};var A=function(t){this.context=t,this.current=null};A.prototype.get=function(){return this.current},A.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t}};var k=function(t){this.context=t,this.current=null};k.prototype.get=function(){return this.current},k.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t}};var T=function(t){this.context=t,this.current=null};T.prototype.get=function(){return this.current},T.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t}};var S=function(t){this.context=t,this.current=null};S.prototype.get=function(){return this.current},S.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t}};var E=function(t){this.context=t,this.current=null};E.prototype.get=function(){return this.current},E.prototype.set=function(t){var e=this.context.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t};var C=function(t){this.context=t,this.current=null};C.prototype.get=function(){return this.current},C.prototype.set=function(t){this.current!==t&&this.context.extVertexArrayObject&&(this.context.extVertexArrayObject.bindVertexArrayOES(t),this.current=t)};var L=function(t){this.context=t,this.current=4};L.prototype.get=function(){return this.current},L.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t}};var z=function(t){this.context=t,this.current=!1};z.prototype.get=function(){return this.current},z.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t}};var P=function(t,e){this.context=t,this.current=null,this.parent=e};P.prototype.get=function(){return this.current};var I=function(t){function e(e,r){t.call(this,e,r),this.dirty=!1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.dirty||this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1}},e.prototype.setDirty=function(){this.dirty=!0},e}(P),D=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t}},e}(P);e.exports={ClearColor:a,ClearDepth:o,ClearStencil:s,ColorMask:l,DepthMask:u,StencilMask:c,StencilFunc:h,StencilOp:f,StencilTest:p,DepthRange:d,DepthTest:g,DepthFunc:v,Blend:m,BlendFunc:y,BlendColor:x,Program:b,LineWidth:_,ActiveTextureUnit:w,Viewport:M,BindFramebuffer:A,BindRenderbuffer:k,BindTexture:T,BindVertexBuffer:S,BindElementBuffer:E,BindVertexArrayOES:C,PixelStoreUnpack:L,PixelStoreUnpackPremultiplyAlpha:z,ColorAttachment:I,DepthAttachment:D}},{\"../style-spec/util/color\":153,\"../util/util\":275}],72:[function(t,e,r){var n={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"},i=function(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;var i=t.gl;this.buffer=i.createBuffer(),t.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};i.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},i.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)},i.prototype.enableAttributes=function(t,e){for(var r=0;r<this.attributes.length;r++){var n=this.attributes[r],i=e.attributes[n.name];void 0!==i&&t.enableVertexAttribArray(i)}},i.prototype.setVertexAttribPointers=function(t,e,r){for(var i=this,a=0;a<this.attributes.length;a++){var o=i.attributes[a],s=e.attributes[o.name];void 0!==s&&t.vertexAttribPointer(s,o.components,t[n[o.type]],!1,i.itemSize,o.offset+i.itemSize*(r||0))}},i.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)},e.exports=i},{}],73:[function(t,e,r){var n=t(\"@mapbox/mapbox-gl-supported\"),i=t(\"./util/browser\"),a=t(\"../package.json\").version,o=t(\"./ui/map\"),s=t(\"./ui/control/navigation_control\"),l=t(\"./ui/control/geolocate_control\"),u=t(\"./ui/control/attribution_control\"),c=t(\"./ui/control/scale_control\"),h=t(\"./ui/control/fullscreen_control\"),f=t(\"./ui/popup\"),p=t(\"./ui/marker\"),d=t(\"./style/style\"),g=t(\"./geo/lng_lat\"),v=t(\"./geo/lng_lat_bounds\"),m=t(\"@mapbox/point-geometry\"),y=t(\"./util/evented\"),x=t(\"./util/config\"),b=t(\"./source/rtl_text_plugin\");e.exports={version:a,supported:n,workerCount:Math.max(Math.floor(i.hardwareConcurrency/2),1),setRTLTextPlugin:b.setRTLTextPlugin,Map:o,NavigationControl:s,GeolocateControl:l,AttributionControl:u,ScaleControl:c,FullscreenControl:h,Popup:f,Marker:p,Style:d,LngLat:g,LngLatBounds:v,Point:m,Evented:y,config:x,get accessToken(){return x.ACCESS_TOKEN},set accessToken(t){x.ACCESS_TOKEN=t}}},{\"../package.json\":38,\"./geo/lng_lat\":62,\"./geo/lng_lat_bounds\":63,\"./source/rtl_text_plugin\":109,\"./style/style\":190,\"./ui/control/attribution_control\":232,\"./ui/control/fullscreen_control\":233,\"./ui/control/geolocate_control\":234,\"./ui/control/navigation_control\":236,\"./ui/control/scale_control\":237,\"./ui/map\":247,\"./ui/marker\":248,\"./ui/popup\":249,\"./util/browser\":252,\"./util/config\":256,\"./util/evented\":260,\"@mapbox/mapbox-gl-supported\":3,\"@mapbox/point-geometry\":4}],74:[function(t,e,r){var n=t(\"./pattern\"),i=t(\"../gl/stencil_mode\"),a=t(\"../gl/depth_mode\");e.exports=function(t,e,r){var o=r.paint.get(\"background-color\"),s=r.paint.get(\"background-opacity\");if(0!==s){var l=t.context,u=l.gl,c=t.transform,h=c.tileSize,f=r.paint.get(\"background-pattern\"),p=f||1!==o.a||1!==s?\"translucent\":\"opaque\";if(t.renderPass===p){var d;if(l.setStencilMode(i.disabled),l.setDepthMode(t.depthModeForSublayer(0,\"opaque\"===p?a.ReadWrite:a.ReadOnly)),l.setColorMode(t.colorModeForRenderPass()),f){if(n.isPatternMissing(f,t))return;d=t.useProgram(\"backgroundPattern\"),n.prepare(f,t,d),t.tileExtentPatternVAO.bind(l,d,t.tileExtentBuffer,[])}else d=t.useProgram(\"background\"),u.uniform4fv(d.uniforms.u_color,[o.r,o.g,o.b,o.a]),t.tileExtentVAO.bind(l,d,t.tileExtentBuffer,[]);u.uniform1f(d.uniforms.u_opacity,s);for(var g=0,v=c.coveringTiles({tileSize:h});g<v.length;g+=1){var m=v[g];f&&n.setTile({tileID:m,tileSize:h},t,d),u.uniformMatrix4fv(d.uniforms.u_matrix,!1,t.transform.calculatePosMatrix(m.toUnwrapped())),u.drawArrays(u.TRIANGLE_STRIP,0,t.tileExtentBuffer.length)}}}}},{\"../gl/depth_mode\":67,\"../gl/stencil_mode\":70,\"./pattern\":91}],75:[function(t,e,r){var n=t(\"../source/pixels_to_tile_units\"),i=t(\"../gl/stencil_mode\"),a=t(\"../gl/depth_mode\");e.exports=function(t,e,r,o){if(\"translucent\"===t.renderPass){var s=r.paint.get(\"circle-opacity\"),l=r.paint.get(\"circle-stroke-width\"),u=r.paint.get(\"circle-stroke-opacity\");if(0!==s.constantOr(1)||0!==l.constantOr(1)&&0!==u.constantOr(1)){var c=t.context,h=c.gl;c.setDepthMode(t.depthModeForSublayer(0,a.ReadOnly)),c.setStencilMode(i.disabled),c.setColorMode(t.colorModeForRenderPass());for(var f=!0,p=0;p<o.length;p++){var d=o[p],g=e.getTile(d),v=g.getBucket(r);if(v){var m=t.context.program.get(),y=v.programConfigurations.get(r.id),x=t.useProgram(\"circle\",y);if((f||x.program!==m)&&(y.setUniforms(c,x,r.paint,{zoom:t.transform.zoom}),f=!1),h.uniform1f(x.uniforms.u_camera_to_center_distance,t.transform.cameraToCenterDistance),h.uniform1i(x.uniforms.u_scale_with_map,\"map\"===r.paint.get(\"circle-pitch-scale\")?1:0),\"map\"===r.paint.get(\"circle-pitch-alignment\")){h.uniform1i(x.uniforms.u_pitch_with_map,1);var b=n(g,1,t.transform.zoom);h.uniform2f(x.uniforms.u_extrude_scale,b,b)}else h.uniform1i(x.uniforms.u_pitch_with_map,0),h.uniform2fv(x.uniforms.u_extrude_scale,t.transform.pixelsToGLUnits);h.uniformMatrix4fv(x.uniforms.u_matrix,!1,t.translatePosMatrix(d.posMatrix,g,r.paint.get(\"circle-translate\"),r.paint.get(\"circle-translate-anchor\"))),x.draw(c,h.TRIANGLES,r.id,v.layoutVertexBuffer,v.indexBuffer,v.segments,y)}}}}}},{\"../gl/depth_mode\":67,\"../gl/stencil_mode\":70,\"../source/pixels_to_tile_units\":104}],76:[function(t,e,r){function n(t,e,r,n,s){var l=t.context,u=l.gl,c=s?t.useProgram(\"collisionCircle\"):t.useProgram(\"collisionBox\");l.setDepthMode(a.disabled),l.setStencilMode(o.disabled),l.setColorMode(t.colorModeForRenderPass());for(var h=0;h<n.length;h++){var f=n[h],p=e.getTile(f),d=p.getBucket(r);if(d){var g=s?d.collisionCircle:d.collisionBox;if(g){u.uniformMatrix4fv(c.uniforms.u_matrix,!1,f.posMatrix),s||l.lineWidth.set(1),u.uniform1f(c.uniforms.u_camera_to_center_distance,t.transform.cameraToCenterDistance);var v=i(p,1,t.transform.zoom),m=Math.pow(2,t.transform.zoom-p.tileID.overscaledZ);u.uniform1f(c.uniforms.u_pixels_to_tile_units,v),u.uniform2f(c.uniforms.u_extrude_scale,t.transform.pixelsToGLUnits[0]/(v*m),t.transform.pixelsToGLUnits[1]/(v*m)),c.draw(l,s?u.TRIANGLES:u.LINES,r.id,g.layoutVertexBuffer,g.indexBuffer,g.segments,null,g.collisionVertexBuffer,null)}}}}var i=t(\"../source/pixels_to_tile_units\"),a=t(\"../gl/depth_mode\"),o=t(\"../gl/stencil_mode\");e.exports=function(t,e,r,i){n(t,e,r,i,!1),n(t,e,r,i,!0)}},{\"../gl/depth_mode\":67,\"../gl/stencil_mode\":70,\"../source/pixels_to_tile_units\":104}],77:[function(t,e,r){function n(t,e,r){var n=t.context,p=n.gl;n.lineWidth.set(1*i.devicePixelRatio);var d=r.posMatrix,g=t.useProgram(\"debug\");n.setDepthMode(c.disabled),n.setStencilMode(h.disabled),n.setColorMode(t.colorModeForRenderPass()),p.uniformMatrix4fv(g.uniforms.u_matrix,!1,d),p.uniform4f(g.uniforms.u_color,1,0,0,1),t.debugVAO.bind(n,g,t.debugBuffer,[]),p.drawArrays(p.LINE_STRIP,0,t.debugBuffer.length);for(var v=function(t,e,r,n){n=n||1;var i,a,o,s,l,u,c,h,p=[];for(i=0,a=t.length;i<a;i++)if(l=f[t[i]]){for(h=null,o=0,s=l[1].length;o<s;o+=2)-1===l[1][o]&&-1===l[1][o+1]?h=null:(u=e+l[1][o]*n,c=r-l[1][o+1]*n,h&&p.push(h.x,h.y,u,c),h={x:u,y:c});e+=l[0]*n}return p}(r.toString(),50,200,5),m=new l,y=0;y<v.length;y+=2)m.emplaceBack(v[y],v[y+1]);var x=n.createVertexBuffer(m,u.members);(new s).bind(n,g,x,[]),p.uniform4f(g.uniforms.u_color,1,1,1,1);for(var b=e.getTile(r).tileSize,_=o/(Math.pow(2,t.transform.zoom-r.overscaledZ)*b),w=[[-1,-1],[-1,1],[1,-1],[1,1]],M=0;M<w.length;M++){var A=w[M];p.uniformMatrix4fv(g.uniforms.u_matrix,!1,a.translate([],d,[_*A[0],_*A[1],0])),p.drawArrays(p.LINES,0,x.length)}p.uniform4f(g.uniforms.u_color,0,0,0,1),p.uniformMatrix4fv(g.uniforms.u_matrix,!1,d),p.drawArrays(p.LINES,0,x.length)}var i=t(\"../util/browser\"),a=t(\"@mapbox/gl-matrix\").mat4,o=t(\"../data/extent\"),s=t(\"./vertex_array_object\"),l=t(\"../data/array_types\").PosArray,u=t(\"../data/pos_attributes\"),c=t(\"../gl/depth_mode\"),h=t(\"../gl/stencil_mode\");e.exports=function(t,e,r){for(var i=0;i<r.length;i++)n(t,e,r[i])};var f={\" \":[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]]}},{\"../data/array_types\":39,\"../data/extent\":53,\"../data/pos_attributes\":57,\"../gl/depth_mode\":67,\"../gl/stencil_mode\":70,\"../util/browser\":252,\"./vertex_array_object\":95,\"@mapbox/gl-matrix\":2}],78:[function(t,e,r){function n(t,e,r,n,i){if(!s.isPatternMissing(r.paint.get(\"fill-pattern\"),t))for(var a=!0,o=0,l=n;o<l.length;o+=1){var u=l[o],c=e.getTile(u),h=c.getBucket(r);h&&(t.context.setStencilMode(t.stencilModeForClipping(u)),i(t,e,r,c,u,h,a),a=!1)}}function i(t,e,r,n,i,a,s){var l=t.context.gl,u=a.programConfigurations.get(r.id);o(\"fill\",r.paint.get(\"fill-pattern\"),t,u,r,n,i,s).draw(t.context,l.TRIANGLES,r.id,a.layoutVertexBuffer,a.indexBuffer,a.segments,u)}function a(t,e,r,n,i,a,s){var l=t.context.gl,u=a.programConfigurations.get(r.id),c=o(\"fillOutline\",r.getPaintProperty(\"fill-outline-color\")?null:r.paint.get(\"fill-pattern\"),t,u,r,n,i,s);l.uniform2f(c.uniforms.u_world,l.drawingBufferWidth,l.drawingBufferHeight),c.draw(t.context,l.LINES,r.id,a.layoutVertexBuffer,a.indexBuffer2,a.segments2,u)}function o(t,e,r,n,i,a,o,l){var u,c=r.context.program.get();return e?(u=r.useProgram(t+\"Pattern\",n),(l||u.program!==c)&&(n.setUniforms(r.context,u,i.paint,{zoom:r.transform.zoom}),s.prepare(e,r,u)),s.setTile(a,r,u)):(u=r.useProgram(t,n),(l||u.program!==c)&&n.setUniforms(r.context,u,i.paint,{zoom:r.transform.zoom})),r.context.gl.uniformMatrix4fv(u.uniforms.u_matrix,!1,r.translatePosMatrix(o.posMatrix,a,i.paint.get(\"fill-translate\"),i.paint.get(\"fill-translate-anchor\"))),u}var s=t(\"./pattern\"),l=t(\"../style-spec/util/color\"),u=t(\"../gl/depth_mode\");e.exports=function(t,e,r,o){var s=r.paint.get(\"fill-color\"),c=r.paint.get(\"fill-opacity\");if(0!==c.constantOr(1)){var h=t.context;h.setColorMode(t.colorModeForRenderPass());var f=r.paint.get(\"fill-pattern\")||1!==s.constantOr(l.transparent).a||1!==c.constantOr(0)?\"translucent\":\"opaque\";t.renderPass===f&&(h.setDepthMode(t.depthModeForSublayer(1,\"opaque\"===t.renderPass?u.ReadWrite:u.ReadOnly)),n(t,e,r,o,i)),\"translucent\"===t.renderPass&&r.paint.get(\"fill-antialias\")&&(h.lineWidth.set(2),h.setDepthMode(t.depthModeForSublayer(r.getPaintProperty(\"fill-outline-color\")?2:0,u.ReadOnly)),n(t,e,r,o,a))}}},{\"../gl/depth_mode\":67,\"../style-spec/util/color\":153,\"./pattern\":91}],79:[function(t,e,r){function n(t,e,r,n,i,o,s){var l=t.context,c=l.gl,f=r.paint.get(\"fill-extrusion-pattern\"),p=t.context.program.get(),d=o.programConfigurations.get(r.id),g=t.useProgram(f?\"fillExtrusionPattern\":\"fillExtrusion\",d);if((s||g.program!==p)&&d.setUniforms(l,g,r.paint,{zoom:t.transform.zoom}),f){if(a.isPatternMissing(f,t))return;a.prepare(f,t,g),a.setTile(n,t,g),c.uniform1f(g.uniforms.u_height_factor,-Math.pow(2,i.overscaledZ)/n.tileSize/8)}t.context.gl.uniformMatrix4fv(g.uniforms.u_matrix,!1,t.translatePosMatrix(i.posMatrix,n,r.paint.get(\"fill-extrusion-translate\"),r.paint.get(\"fill-extrusion-translate-anchor\"))),function(t,e){var r=e.context.gl,n=e.style.light,i=n.properties.get(\"position\"),a=[i.x,i.y,i.z],o=u.create();\"viewport\"===n.properties.get(\"anchor\")&&u.fromRotation(o,-e.transform.angle),h.transformMat3(a,a,o);var s=n.properties.get(\"color\");r.uniform3fv(t.uniforms.u_lightpos,a),r.uniform1f(t.uniforms.u_lightintensity,n.properties.get(\"intensity\")),r.uniform3f(t.uniforms.u_lightcolor,s.r,s.g,s.b)}(g,t),g.draw(l,c.TRIANGLES,r.id,o.layoutVertexBuffer,o.indexBuffer,o.segments,d)}var i=t(\"@mapbox/gl-matrix\"),a=t(\"./pattern\"),o=t(\"./texture\"),s=t(\"../style-spec/util/color\"),l=t(\"../gl/depth_mode\"),u=i.mat3,c=i.mat4,h=i.vec3,f=t(\"../gl/stencil_mode\");e.exports=function(t,e,r,i){if(0!==r.paint.get(\"fill-extrusion-opacity\"))if(\"offscreen\"===t.renderPass){!function(t,e){var r=t.context,n=r.gl,i=e.viewportFrame;if(t.depthRboNeedsClear&&t.setupOffscreenDepthRenderbuffer(),!i){var a=new o(r,{width:t.width,height:t.height,data:null},n.RGBA);a.bind(n.LINEAR,n.CLAMP_TO_EDGE),(i=e.viewportFrame=r.createFramebuffer(t.width,t.height)).colorAttachment.set(a.texture)}r.bindFramebuffer.set(i.framebuffer),i.depthAttachment.set(t.depthRbo),t.depthRboNeedsClear&&(r.clear({depth:1}),t.depthRboNeedsClear=!1),r.clear({color:s.transparent}),r.setStencilMode(f.disabled),r.setDepthMode(new l(n.LEQUAL,l.ReadWrite,[0,1])),r.setColorMode(t.colorModeForRenderPass())}(t,r);for(var a=!0,u=0,h=i;u<h.length;u+=1){var p=h[u],d=e.getTile(p),g=d.getBucket(r);g&&(n(t,0,r,d,p,g,a),a=!1)}}else\"translucent\"===t.renderPass&&function(t,e){var r=e.viewportFrame;if(r){var n=t.context,i=n.gl,a=t.useProgram(\"extrusionTexture\");n.setStencilMode(f.disabled),n.setDepthMode(l.disabled),n.setColorMode(t.colorModeForRenderPass()),n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,r.colorAttachment.get()),i.uniform1f(a.uniforms.u_opacity,e.paint.get(\"fill-extrusion-opacity\")),i.uniform1i(a.uniforms.u_image,0);var o=c.create();c.ortho(o,0,t.width,t.height,0,0,1),i.uniformMatrix4fv(a.uniforms.u_matrix,!1,o),i.uniform2f(a.uniforms.u_world,i.drawingBufferWidth,i.drawingBufferHeight),t.viewportVAO.bind(n,a,t.viewportBuffer,[]),i.drawArrays(i.TRIANGLE_STRIP,0,4)}}(t,r)}},{\"../gl/depth_mode\":67,\"../gl/stencil_mode\":70,\"../style-spec/util/color\":153,\"./pattern\":91,\"./texture\":93,\"@mapbox/gl-matrix\":2}],80:[function(t,e,r){var n=t(\"@mapbox/gl-matrix\").mat4,i=t(\"./texture\"),a=t(\"../source/pixels_to_tile_units\"),o=t(\"../style-spec/util/color\"),s=t(\"../gl/depth_mode\"),l=t(\"../gl/stencil_mode\"),u=t(\"../gl/color_mode\");e.exports=function(t,e,r,c){if(0!==r.paint.get(\"heatmap-opacity\"))if(\"offscreen\"===t.renderPass){var h=t.context,f=h.gl;h.setDepthMode(t.depthModeForSublayer(0,s.ReadOnly)),h.setStencilMode(l.disabled),function(t,e,r){var n=t.gl;t.activeTexture.set(n.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);var i=r.heatmapFbo;if(i)n.bindTexture(n.TEXTURE_2D,i.colorAttachment.get()),t.bindFramebuffer.set(i.framebuffer);else{var a=n.createTexture();n.bindTexture(n.TEXTURE_2D,a),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),i=r.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4),function t(e,r,n,i){var a=e.gl;a.texImage2D(a.TEXTURE_2D,0,a.RGBA,r.width/4,r.height/4,0,a.RGBA,e.extTextureHalfFloat?e.extTextureHalfFloat.HALF_FLOAT_OES:a.UNSIGNED_BYTE,null),i.colorAttachment.set(n),e.extTextureHalfFloat&&a.checkFramebufferStatus(a.FRAMEBUFFER)!==a.FRAMEBUFFER_COMPLETE&&(e.extTextureHalfFloat=null,i.colorAttachment.setDirty(),t(e,r,n,i))}(t,e,a,i)}}(h,t,r),h.clear({color:o.transparent}),h.setColorMode(new u([f.ONE,f.ONE],o.transparent,[!0,!0,!0,!0]));for(var p=!0,d=0;d<c.length;d++){var g=c[d];if(!e.hasRenderableParent(g)){var v=e.getTile(g),m=v.getBucket(r);if(m){var y=t.context.program.get(),x=m.programConfigurations.get(r.id),b=t.useProgram(\"heatmap\",x),_=t.transform.zoom;(p||b.program!==y)&&(x.setUniforms(t.context,b,r.paint,{zoom:_}),p=!1),f.uniform1f(b.uniforms.u_extrude_scale,a(v,1,_)),f.uniform1f(b.uniforms.u_intensity,r.paint.get(\"heatmap-intensity\")),f.uniformMatrix4fv(b.uniforms.u_matrix,!1,g.posMatrix),b.draw(h,f.TRIANGLES,r.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,x)}}}h.viewport.set([0,0,t.width,t.height])}else\"translucent\"===t.renderPass&&(t.context.setColorMode(t.colorModeForRenderPass()),function(t,e){var r=t.context,a=r.gl,o=e.heatmapFbo;if(o){r.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,o.colorAttachment.get()),r.activeTexture.set(a.TEXTURE1);var l=e.colorRampTexture;l||(l=e.colorRampTexture=new i(r,e.colorRamp,a.RGBA)),l.bind(a.LINEAR,a.CLAMP_TO_EDGE),r.setDepthMode(s.disabled);var u=t.useProgram(\"heatmapTexture\"),c=e.paint.get(\"heatmap-opacity\");a.uniform1f(u.uniforms.u_opacity,c),a.uniform1i(u.uniforms.u_image,0),a.uniform1i(u.uniforms.u_color_ramp,1);var h=n.create();n.ortho(h,0,t.width,t.height,0,0,1),a.uniformMatrix4fv(u.uniforms.u_matrix,!1,h),a.uniform2f(u.uniforms.u_world,a.drawingBufferWidth,a.drawingBufferHeight),t.viewportVAO.bind(t.context,u,t.viewportBuffer,[]),a.drawArrays(a.TRIANGLE_STRIP,0,4)}}(t,r))}},{\"../gl/color_mode\":65,\"../gl/depth_mode\":67,\"../gl/stencil_mode\":70,\"../source/pixels_to_tile_units\":104,\"../style-spec/util/color\":153,\"./texture\":93,\"@mapbox/gl-matrix\":2}],81:[function(t,e,r){function n(t,e,r){var n=t.context,i=n.gl,o=e.fbo;if(o){var s=t.useProgram(\"hillshade\"),l=t.transform.calculatePosMatrix(e.tileID.toUnwrapped());!function(t,e,r){var n=r.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);\"viewport\"===r.paint.get(\"hillshade-illumination-anchor\")&&(n-=e.transform.angle),e.context.gl.uniform2f(t.uniforms.u_light,r.paint.get(\"hillshade-exaggeration\"),n)}(s,t,r);var u=function(t,e){var r=e.toCoordinate(),n=new a(r.column,r.row+1,r.zoom);return[t.transform.coordinateLocation(r).lat,t.transform.coordinateLocation(n).lat]}(t,e.tileID);n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,o.colorAttachment.get()),i.uniformMatrix4fv(s.uniforms.u_matrix,!1,l),i.uniform2fv(s.uniforms.u_latrange,u),i.uniform1i(s.uniforms.u_image,0);var c=r.paint.get(\"hillshade-shadow-color\");i.uniform4f(s.uniforms.u_shadow,c.r,c.g,c.b,c.a);var h=r.paint.get(\"hillshade-highlight-color\");i.uniform4f(s.uniforms.u_highlight,h.r,h.g,h.b,h.a);var f=r.paint.get(\"hillshade-accent-color\");if(i.uniform4f(s.uniforms.u_accent,f.r,f.g,f.b,f.a),e.maskedBoundsBuffer&&e.maskedIndexBuffer&&e.segments)s.draw(n,i.TRIANGLES,r.id,e.maskedBoundsBuffer,e.maskedIndexBuffer,e.segments);else{var p=t.rasterBoundsBuffer;t.rasterBoundsVAO.bind(n,s,p,[]),i.drawArrays(i.TRIANGLE_STRIP,0,p.length)}}}function i(t,e){var r=t.context,n=r.gl;if(e.dem&&e.dem.level){var i=e.dem.level.dim,a=e.dem.getPixels();if(r.activeTexture.set(n.TEXTURE1),r.pixelStoreUnpackPremultiplyAlpha.set(!1),e.demTexture=e.demTexture||t.getTileTexture(e.tileSize),e.demTexture){var u=e.demTexture;u.update(a,!1),u.bind(n.NEAREST,n.CLAMP_TO_EDGE)}else e.demTexture=new o(r,a,n.RGBA,!1),e.demTexture.bind(n.NEAREST,n.CLAMP_TO_EDGE);r.activeTexture.set(n.TEXTURE0);var c=e.fbo;if(!c){var h=new o(r,{width:i,height:i,data:null},n.RGBA);h.bind(n.LINEAR,n.CLAMP_TO_EDGE),(c=e.fbo=r.createFramebuffer(i,i)).colorAttachment.set(h.texture)}r.bindFramebuffer.set(c.framebuffer),r.viewport.set([0,0,i,i]);var f=l.create();l.ortho(f,0,s,-s,0,0,1),l.translate(f,f,[0,-s,0]);var p=t.useProgram(\"hillshadePrepare\");n.uniformMatrix4fv(p.uniforms.u_matrix,!1,f),n.uniform1f(p.uniforms.u_zoom,e.tileID.overscaledZ),n.uniform2fv(p.uniforms.u_dimension,[2*i,2*i]),n.uniform1i(p.uniforms.u_image,1);var d=t.rasterBoundsBuffer;t.rasterBoundsVAO.bind(r,p,d,[]),n.drawArrays(n.TRIANGLE_STRIP,0,d.length),e.needsHillshadePrepare=!1}}var a=t(\"../geo/coordinate\"),o=t(\"./texture\"),s=t(\"../data/extent\"),l=t(\"@mapbox/gl-matrix\").mat4,u=t(\"../gl/stencil_mode\"),c=t(\"../gl/depth_mode\");e.exports=function(t,e,r,a){if(\"offscreen\"===t.renderPass||\"translucent\"===t.renderPass){var o=t.context;o.setDepthMode(t.depthModeForSublayer(0,c.ReadOnly)),o.setStencilMode(u.disabled),o.setColorMode(t.colorModeForRenderPass());for(var s=0,l=a;s<l.length;s+=1){var h=l[s],f=e.getTile(h);f.needsHillshadePrepare&&\"offscreen\"===t.renderPass?i(t,f):\"translucent\"===t.renderPass&&n(t,f,r)}o.viewport.set([0,0,t.width,t.height])}}},{\"../data/extent\":53,\"../geo/coordinate\":61,\"../gl/depth_mode\":67,\"../gl/stencil_mode\":70,\"./texture\":93,\"@mapbox/gl-matrix\":2}],82:[function(t,e,r){function n(t,e,r,n,o,s,l,u,c){var h,f,p,d,g=e.context,v=g.gl,m=o.paint.get(\"line-dasharray\"),y=o.paint.get(\"line-pattern\");if(u||c){var x=1/a(r,1,e.transform.tileZoom);if(m){h=e.lineAtlas.getDash(m.from,\"round\"===o.layout.get(\"line-cap\")),f=e.lineAtlas.getDash(m.to,\"round\"===o.layout.get(\"line-cap\"));var b=h.width*m.fromScale,_=f.width*m.toScale;v.uniform2f(t.uniforms.u_patternscale_a,x/b,-h.height/2),v.uniform2f(t.uniforms.u_patternscale_b,x/_,-f.height/2),v.uniform1f(t.uniforms.u_sdfgamma,e.lineAtlas.width/(256*Math.min(b,_)*i.devicePixelRatio)/2)}else if(y){if(p=e.imageManager.getPattern(y.from),d=e.imageManager.getPattern(y.to),!p||!d)return;v.uniform2f(t.uniforms.u_pattern_size_a,p.displaySize[0]*y.fromScale/x,d.displaySize[1]),v.uniform2f(t.uniforms.u_pattern_size_b,d.displaySize[0]*y.toScale/x,d.displaySize[1]);var w=e.imageManager.getPixelSize(),M=w.width,A=w.height;v.uniform2fv(t.uniforms.u_texsize,[M,A])}v.uniform2f(t.uniforms.u_gl_units_to_pixels,1/e.transform.pixelsToGLUnits[0],1/e.transform.pixelsToGLUnits[1])}u&&(m?(v.uniform1i(t.uniforms.u_image,0),g.activeTexture.set(v.TEXTURE0),e.lineAtlas.bind(g),v.uniform1f(t.uniforms.u_tex_y_a,h.y),v.uniform1f(t.uniforms.u_tex_y_b,f.y),v.uniform1f(t.uniforms.u_mix,m.t)):y&&(v.uniform1i(t.uniforms.u_image,0),g.activeTexture.set(v.TEXTURE0),e.imageManager.bind(g),v.uniform2fv(t.uniforms.u_pattern_tl_a,p.tl),v.uniform2fv(t.uniforms.u_pattern_br_a,p.br),v.uniform2fv(t.uniforms.u_pattern_tl_b,d.tl),v.uniform2fv(t.uniforms.u_pattern_br_b,d.br),v.uniform1f(t.uniforms.u_fade,y.t))),g.setStencilMode(e.stencilModeForClipping(s));var k=e.translatePosMatrix(s.posMatrix,r,o.paint.get(\"line-translate\"),o.paint.get(\"line-translate-anchor\"));v.uniformMatrix4fv(t.uniforms.u_matrix,!1,k),v.uniform1f(t.uniforms.u_ratio,1/a(r,1,e.transform.zoom)),t.draw(g,v.TRIANGLES,o.id,n.layoutVertexBuffer,n.indexBuffer,n.segments,l)}var i=t(\"../util/browser\"),a=t(\"../source/pixels_to_tile_units\"),o=t(\"../gl/depth_mode\");e.exports=function(t,e,r,i){if(\"translucent\"===t.renderPass&&0!==r.paint.get(\"line-opacity\").constantOr(1)){var a=t.context;a.setDepthMode(t.depthModeForSublayer(0,o.ReadOnly)),a.setColorMode(t.colorModeForRenderPass());for(var s,l=r.paint.get(\"line-dasharray\")?\"lineSDF\":r.paint.get(\"line-pattern\")?\"linePattern\":\"line\",u=!0,c=0,h=i;c<h.length;c+=1){var f=h[c],p=e.getTile(f),d=p.getBucket(r);if(d){var g=d.programConfigurations.get(r.id),v=t.context.program.get(),m=t.useProgram(l,g),y=u||m.program!==v,x=s!==p.tileID.overscaledZ;y&&g.setUniforms(t.context,m,r.paint,{zoom:t.transform.zoom}),n(m,t,p,d,r,f,g,y,x),s=p.tileID.overscaledZ,u=!1}}}}},{\"../gl/depth_mode\":67,\"../source/pixels_to_tile_units\":104,\"../util/browser\":252}],83:[function(t,e,r){function n(t,e,r,n,a){var s=n.paint.get(\"raster-fade-duration\");if(s>0){var l=o.now(),u=(l-t.timeAdded)/s,c=e?(l-e.timeAdded)/s:-1,h=r.getSource(),f=a.coveringZoomLevel({tileSize:h.tileSize,roundZoom:h.roundZoom}),p=!e||Math.abs(e.tileID.overscaledZ-f)>Math.abs(t.tileID.overscaledZ-f),d=p&&t.refreshedUponExpiration?1:i.clamp(p?u:1-c,0,1);return t.refreshedUponExpiration&&u>=1&&(t.refreshedUponExpiration=!1),e?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var i=t(\"../util/util\"),a=t(\"../source/image_source\"),o=t(\"../util/browser\"),s=t(\"../gl/stencil_mode\"),l=t(\"../gl/depth_mode\");e.exports=function(t,e,r,i){if(\"translucent\"===t.renderPass&&0!==r.paint.get(\"raster-opacity\")){var o=t.context,u=o.gl,c=e.getSource(),h=t.useProgram(\"raster\");o.setStencilMode(s.disabled),o.setColorMode(t.colorModeForRenderPass()),u.uniform1f(h.uniforms.u_brightness_low,r.paint.get(\"raster-brightness-min\")),u.uniform1f(h.uniforms.u_brightness_high,r.paint.get(\"raster-brightness-max\")),u.uniform1f(h.uniforms.u_saturation_factor,function(t){return t>0?1-1/(1.001-t):-t}(r.paint.get(\"raster-saturation\"))),u.uniform1f(h.uniforms.u_contrast_factor,function(t){return t>0?1/(1-t):1+t}(r.paint.get(\"raster-contrast\"))),u.uniform3fv(h.uniforms.u_spin_weights,function(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]}(r.paint.get(\"raster-hue-rotate\"))),u.uniform1f(h.uniforms.u_buffer_scale,1),u.uniform1i(h.uniforms.u_image0,0),u.uniform1i(h.uniforms.u_image1,1);for(var f=i.length&&i[0].overscaledZ,p=0,d=i;p<d.length;p+=1){var g=d[p];o.setDepthMode(t.depthModeForSublayer(g.overscaledZ-f,1===r.paint.get(\"raster-opacity\")?l.ReadWrite:l.ReadOnly,u.LESS));var v=e.getTile(g),m=t.transform.calculatePosMatrix(g.toUnwrapped(),!0);v.registerFadeDuration(r.paint.get(\"raster-fade-duration\")),u.uniformMatrix4fv(h.uniforms.u_matrix,!1,m);var y=e.findLoadedParent(g,0,{}),x=n(v,y,e,r,t.transform),b=void 0,_=void 0;if(o.activeTexture.set(u.TEXTURE0),v.texture.bind(u.LINEAR,u.CLAMP_TO_EDGE,u.LINEAR_MIPMAP_NEAREST),o.activeTexture.set(u.TEXTURE1),y?(y.texture.bind(u.LINEAR,u.CLAMP_TO_EDGE,u.LINEAR_MIPMAP_NEAREST),b=Math.pow(2,y.tileID.overscaledZ-v.tileID.overscaledZ),_=[v.tileID.canonical.x*b%1,v.tileID.canonical.y*b%1]):v.texture.bind(u.LINEAR,u.CLAMP_TO_EDGE,u.LINEAR_MIPMAP_NEAREST),u.uniform2fv(h.uniforms.u_tl_parent,_||[0,0]),u.uniform1f(h.uniforms.u_scale_parent,b||1),u.uniform1f(h.uniforms.u_fade_t,x.mix),u.uniform1f(h.uniforms.u_opacity,x.opacity*r.paint.get(\"raster-opacity\")),c instanceof a){var w=c.boundsBuffer;c.boundsVAO.bind(o,h,w,[]),u.drawArrays(u.TRIANGLE_STRIP,0,w.length)}else if(v.maskedBoundsBuffer&&v.maskedIndexBuffer&&v.segments)h.draw(o,u.TRIANGLES,r.id,v.maskedBoundsBuffer,v.maskedIndexBuffer,v.segments);else{var M=t.rasterBoundsBuffer;t.rasterBoundsVAO.bind(o,h,M,[]),u.drawArrays(u.TRIANGLE_STRIP,0,M.length)}}}}},{\"../gl/depth_mode\":67,\"../gl/stencil_mode\":70,\"../source/image_source\":102,\"../util/browser\":252,\"../util/util\":275}],84:[function(t,e,r){function n(t,e,r,n,o,s,c,f,p,g){var v=t.context,m=v.gl,y=t.transform,x=\"map\"===f,b=\"map\"===p,_=x&&\"line\"===r.layout.get(\"symbol-placement\"),w=x&&!b&&!_,M=b;v.setDepthMode(M?t.depthModeForSublayer(0,d.ReadOnly):d.disabled);for(var A,k=0,T=n;k<T.length;k+=1){var S=T[k],E=e.getTile(S),C=E.getBucket(r);if(C){var L=o?C.text:C.icon;if(L&&L.segments.get().length){var z=L.programConfigurations.get(r.id),P=o||C.sdfIcons,I=o?C.textSizeData:C.iconSizeData;if(A||(A=t.useProgram(P?\"symbolSDF\":\"symbolIcon\",z),z.setUniforms(t.context,A,r.paint,{zoom:t.transform.zoom}),i(A,t,r,o,w,b,I)),v.activeTexture.set(m.TEXTURE0),m.uniform1i(A.uniforms.u_texture,0),o)E.glyphAtlasTexture.bind(m.LINEAR,m.CLAMP_TO_EDGE),m.uniform2fv(A.uniforms.u_texsize,E.glyphAtlasTexture.size);else{var D=1!==r.layout.get(\"icon-size\").constantOr(0)||C.iconsNeedLinear,O=b||0!==y.pitch;E.iconAtlasTexture.bind(P||t.options.rotating||t.options.zooming||D||O?m.LINEAR:m.NEAREST,m.CLAMP_TO_EDGE),m.uniform2fv(A.uniforms.u_texsize,E.iconAtlasTexture.size)}m.uniformMatrix4fv(A.uniforms.u_matrix,!1,t.translatePosMatrix(S.posMatrix,E,s,c));var R=l(E,1,t.transform.zoom),F=u.getLabelPlaneMatrix(S.posMatrix,b,x,t.transform,R),B=u.getGlCoordMatrix(S.posMatrix,b,x,t.transform,R);m.uniformMatrix4fv(A.uniforms.u_gl_coord_matrix,!1,t.translatePosMatrix(B,E,s,c,!0)),_?(m.uniformMatrix4fv(A.uniforms.u_label_plane_matrix,!1,h),u.updateLineLabels(C,S.posMatrix,t,o,F,B,b,g)):m.uniformMatrix4fv(A.uniforms.u_label_plane_matrix,!1,F),m.uniform1f(A.uniforms.u_fade_change,t.options.fadeDuration?t.symbolFadeChange:1),a(A,z,t,r,E,L,o,P,b)}}}}function i(t,e,r,n,i,a,o){var s=e.context.gl,l=e.transform;s.uniform1i(t.uniforms.u_pitch_with_map,a?1:0),s.uniform1f(t.uniforms.u_is_text,n?1:0),s.uniform1f(t.uniforms.u_pitch,l.pitch/360*2*Math.PI);var u=\"constant\"===o.functionType||\"source\"===o.functionType,h=\"constant\"===o.functionType||\"camera\"===o.functionType;s.uniform1i(t.uniforms.u_is_size_zoom_constant,u?1:0),s.uniform1i(t.uniforms.u_is_size_feature_constant,h?1:0),s.uniform1f(t.uniforms.u_camera_to_center_distance,l.cameraToCenterDistance);var p=c.evaluateSizeForZoom(o,l.zoom,f.properties[n?\"text-size\":\"icon-size\"]);void 0!==p.uSizeT&&s.uniform1f(t.uniforms.u_size_t,p.uSizeT),void 0!==p.uSize&&s.uniform1f(t.uniforms.u_size,p.uSize),s.uniform1f(t.uniforms.u_aspect_ratio,l.width/l.height),s.uniform1i(t.uniforms.u_rotate_symbol,i?1:0)}function a(t,e,r,n,i,a,s,l,u){var c=r.context,h=c.gl,f=r.transform;if(l){var p=0!==n.paint.get(s?\"text-halo-width\":\"icon-halo-width\").constantOr(1),d=u?Math.cos(f._pitch)*f.cameraToCenterDistance:1;h.uniform1f(t.uniforms.u_gamma_scale,d),p&&(h.uniform1f(t.uniforms.u_is_halo,1),o(a,n,c,t)),h.uniform1f(t.uniforms.u_is_halo,0)}o(a,n,c,t)}function o(t,e,r,n){n.draw(r,r.gl.TRIANGLES,e.id,t.layoutVertexBuffer,t.indexBuffer,t.segments,t.programConfigurations.get(e.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}var s=t(\"./draw_collision_debug\"),l=t(\"../source/pixels_to_tile_units\"),u=t(\"../symbol/projection\"),c=t(\"../symbol/symbol_size\"),h=t(\"@mapbox/gl-matrix\").mat4.identity(new Float32Array(16)),f=t(\"../style/style_layer/symbol_style_layer_properties\").layout,p=t(\"../gl/stencil_mode\"),d=t(\"../gl/depth_mode\");e.exports=function(t,e,r,i){if(\"translucent\"===t.renderPass){var a=t.context;a.setStencilMode(p.disabled),a.setColorMode(t.colorModeForRenderPass()),0!==r.paint.get(\"icon-opacity\").constantOr(1)&&n(t,e,r,i,!1,r.paint.get(\"icon-translate\"),r.paint.get(\"icon-translate-anchor\"),r.layout.get(\"icon-rotation-alignment\"),r.layout.get(\"icon-pitch-alignment\"),r.layout.get(\"icon-keep-upright\")),0!==r.paint.get(\"text-opacity\").constantOr(1)&&n(t,e,r,i,!0,r.paint.get(\"text-translate\"),r.paint.get(\"text-translate-anchor\"),r.layout.get(\"text-rotation-alignment\"),r.layout.get(\"text-pitch-alignment\"),r.layout.get(\"text-keep-upright\")),e.map.showCollisionBoxes&&s(t,e,r,i)}}},{\"../gl/depth_mode\":67,\"../gl/stencil_mode\":70,\"../source/pixels_to_tile_units\":104,\"../style/style_layer/symbol_style_layer_properties\":209,\"../symbol/projection\":224,\"../symbol/symbol_size\":228,\"./draw_collision_debug\":76,\"@mapbox/gl-matrix\":2}],85:[function(t,e,r){var n=t(\"@mapbox/shelf-pack\"),i=t(\"../util/image\").AlphaImage,a=1;e.exports={makeGlyphAtlas:function(t){var e=new i({width:0,height:0}),r={},o=new n(0,0,{autoResize:!0});for(var s in t){var l=t[s],u=r[s]={};for(var c in l){var h=l[+c];if(h&&0!==h.bitmap.width&&0!==h.bitmap.height){var f=o.packOne(h.bitmap.width+2*a,h.bitmap.height+2*a);e.resize({width:o.w,height:o.h}),i.copy(h.bitmap,e,{x:0,y:0},{x:f.x+a,y:f.y+a},h.bitmap),u[c]={rect:f,metrics:h.metrics}}}}return o.shrink(),e.resize({width:o.w,height:o.h}),{image:e,positions:r}}}},{\"../util/image\":263,\"@mapbox/shelf-pack\":5}],86:[function(t,e,r){var n=t(\"../style/load_glyph_range\"),i=t(\"@mapbox/tiny-sdf\"),a=t(\"../util/is_char_in_unicode_block\"),o=t(\"../util/util\").asyncAll,s=t(\"../util/image\").AlphaImage,l=function(t,e){this.requestTransform=t,this.localIdeographFontFamily=e,this.entries={}};l.prototype.setURL=function(t){this.url=t},l.prototype.getGlyphs=function(t,e){var r=this,i=[];for(var a in t)for(var s=0,l=t[a];s<l.length;s+=1){var u=l[s];i.push({stack:a,id:u})}o(i,function(t,e){var i=t.stack,a=t.id,o=r.entries[i];o||(o=r.entries[i]={glyphs:{},requests:{}});var s=o.glyphs[a];if(void 0===s)if(s=r._tinySDF(o,i,a))e(null,{stack:i,id:a,glyph:s});else{var l=Math.floor(a/256);if(256*l>65535)e(new Error(\"glyphs > 65535 not supported\"));else{var u=o.requests[l];u||(u=o.requests[l]=[],n(i,l,r.url,r.requestTransform,function(t,e){if(e)for(var r in e)o.glyphs[+r]=e[+r];for(var n=0,i=u;n<i.length;n+=1)(0,i[n])(t,e);delete o.requests[l]})),u.push(function(t,r){t?e(t):r&&e(null,{stack:i,id:a,glyph:r[a]||null})})}}else e(null,{stack:i,id:a,glyph:s})},function(t,r){if(t)e(t);else if(r){for(var n={},i=0,a=r;i<a.length;i+=1){var o=a[i],s=o.stack,l=o.id,u=o.glyph;(n[s]||(n[s]={}))[l]=u&&{id:u.id,bitmap:u.bitmap.clone(),metrics:u.metrics}}e(null,n)}})},l.prototype._tinySDF=function(t,e,r){var n=this.localIdeographFontFamily;if(n&&(a[\"CJK Unified Ideographs\"](r)||a[\"Hangul Syllables\"](r))){var o=t.tinySDF;if(!o){var l=\"400\";/bold/i.test(e)?l=\"900\":/medium/i.test(e)?l=\"500\":/light/i.test(e)&&(l=\"200\"),o=t.tinySDF=new i(24,3,8,.25,n,l)}return{id:r,bitmap:new s({width:30,height:30},o.draw(String.fromCharCode(r))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},e.exports=l},{\"../style/load_glyph_range\":184,\"../util/image\":263,\"../util/is_char_in_unicode_block\":265,\"../util/util\":275,\"@mapbox/tiny-sdf\":6}],87:[function(t,e,r){function n(t,e){var r=e.pixelRatio,n={x:t.x+o,y:t.y+o,w:t.w-2*o,h:t.h-2*o};return{pixelRatio:r,textureRect:n,tl:[n.x,n.y],br:[n.x+n.w,n.y+n.h],displaySize:[n.w/r,n.h/r]}}var i=t(\"@mapbox/shelf-pack\"),a=t(\"../util/image\").RGBAImage,o=1;e.exports={imagePosition:n,makeImageAtlas:function(t){var e=new a({width:0,height:0}),r={},s=new i(0,0,{autoResize:!0});for(var l in t){var u=t[l],c=s.packOne(u.data.width+2*o,u.data.height+2*o);e.resize({width:s.w,height:s.h}),a.copy(u.data,e,{x:0,y:0},{x:c.x+o,y:c.y+o},u.data),r[l]=n(c,u)}return s.shrink(),e.resize({width:s.w,height:s.h}),{image:e,positions:r}}}},{\"../util/image\":263,\"@mapbox/shelf-pack\":5}],88:[function(t,e,r){var n=t(\"@mapbox/shelf-pack\"),i=t(\"../util/image\").RGBAImage,a=t(\"./image_atlas\").imagePosition,o=t(\"./texture\"),s=function(){this.images={},this.loaded=!1,this.requestors=[],this.shelfPack=new n(64,64,{autoResize:!0}),this.patterns={},this.atlasImage=new i({width:64,height:64}),this.dirty=!0};s.prototype.isLoaded=function(){return this.loaded},s.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e<r.length;e+=1){var n=r[e],i=n.ids,a=n.callback;this._notify(i,a)}this.requestors=[]}},s.prototype.getImage=function(t){return this.images[t]},s.prototype.addImage=function(t,e){this.images[t]=e},s.prototype.removeImage=function(t){delete this.images[t];var e=this.patterns[t];e&&(this.shelfPack.unref(e.bin),delete this.patterns[t])},s.prototype.getImages=function(t,e){var r=!0;if(!this.isLoaded())for(var n=0,i=t;n<i.length;n+=1){var a=i[n];this.images[a]||(r=!1)}this.isLoaded()||r?this._notify(t,e):this.requestors.push({ids:t,callback:e})},s.prototype._notify=function(t,e){for(var r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=this.images[a];o&&(r[a]={data:o.data.clone(),pixelRatio:o.pixelRatio,sdf:o.sdf})}e(null,r)},s.prototype.getPixelSize=function(){return{width:this.shelfPack.w,height:this.shelfPack.h}},s.prototype.getPattern=function(t){var e=this.patterns[t];if(e)return e.position;var r=this.getImage(t);if(!r)return null;var n=r.data.width+2,o=r.data.height+2,s=this.shelfPack.packOne(n,o);if(!s)return null;this.atlasImage.resize(this.getPixelSize());var l=r.data,u=this.atlasImage,c=s.x+1,h=s.y+1,f=l.width,p=l.height;i.copy(l,u,{x:0,y:0},{x:c,y:h},{width:f,height:p}),i.copy(l,u,{x:0,y:p-1},{x:c,y:h-1},{width:f,height:1}),i.copy(l,u,{x:0,y:0},{x:c,y:h+p},{width:f,height:1}),i.copy(l,u,{x:f-1,y:0},{x:c-1,y:h},{width:1,height:p}),i.copy(l,u,{x:0,y:0},{x:c+f,y:h},{width:1,height:p}),this.dirty=!0;var d=a(s,r);return this.patterns[t]={bin:s,position:d},d},s.prototype.bind=function(t){var e=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new o(t,this.atlasImage,e.RGBA),this.atlasTexture.bind(e.LINEAR,e.CLAMP_TO_EDGE)},e.exports=s},{\"../util/image\":263,\"./image_atlas\":87,\"./texture\":93,\"@mapbox/shelf-pack\":5}],89:[function(t,e,r){var n=t(\"../util/util\"),i=function(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={}};i.prototype.getDash=function(t,e){var r=t.join(\",\")+String(e);return this.positions[r]||(this.positions[r]=this.addDash(t,e)),this.positions[r]},i.prototype.addDash=function(t,e){var r=this,i=e?7:0,a=2*i+1;if(this.nextRow+a>this.height)return n.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=-i;h<=i;h++)for(var f=r.nextRow+i+h,p=r.width*f,d=c?-t[t.length-1]:0,g=t[0],v=1,m=0;m<this.width;m++){for(;g<m/l;)d=g,g+=t[v],c&&v===t.length-1&&(g+=t[0]),v++;var y=Math.abs(m-d*l),x=Math.abs(m-g*l),b=Math.min(y,x),_=v%2==1,w=void 0;if(e){var M=i?h/i*(u+1):0;if(_){var A=u-Math.abs(M);w=Math.sqrt(b*b+A*A)}else w=u-Math.sqrt(b*b+M*M)}else w=(_?1:-1)*b;r.data[3+4*(p+m)]=Math.max(0,Math.min(255,w+128))}var k={y:(this.nextRow+i+.5)/this.height,height:2*i/this.height,width:o};return this.nextRow+=a,this.dirty=!0,k},i.prototype.bind=function(t){var e=t.gl;this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,e.texSubImage2D(e.TEXTURE_2D,0,0,0,this.width,this.height,e.RGBA,e.UNSIGNED_BYTE,this.data))):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT),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,this.width,this.height,0,e.RGBA,e.UNSIGNED_BYTE,this.data))},e.exports=i},{\"../util/util\":275}],90:[function(t,e,r){var n=t(\"../util/browser\"),i=t(\"@mapbox/gl-matrix\").mat4,a=t(\"../source/source_cache\"),o=t(\"../data/extent\"),s=t(\"../source/pixels_to_tile_units\"),l=t(\"../util/util\"),u=t(\"./vertex_array_object\"),c=t(\"../data/array_types\"),h=c.RasterBoundsArray,f=c.PosArray,p=t(\"../data/raster_bounds_attributes\"),d=t(\"../data/pos_attributes\"),g=t(\"../data/program_configuration\").ProgramConfiguration,v=t(\"../symbol/cross_tile_symbol_index\"),m=t(\"../shaders\"),y=t(\"./program\"),x=t(\"../gl/context\"),b=t(\"../gl/depth_mode\"),_=t(\"../gl/stencil_mode\"),w=t(\"../gl/color_mode\"),M=(t(\"./texture\"),t(\"./tile_mask\")),A=t(\"../style-spec/util/color\"),k={symbol:t(\"./draw_symbol\"),circle:t(\"./draw_circle\"),heatmap:t(\"./draw_heatmap\"),line:t(\"./draw_line\"),fill:t(\"./draw_fill\"),\"fill-extrusion\":t(\"./draw_fill_extrusion\"),hillshade:t(\"./draw_hillshade\"),raster:t(\"./draw_raster\"),background:t(\"./draw_background\"),debug:t(\"./draw_debug\")},T=function(t,e){this.context=new x(t),this.transform=e,this._tileTextures={},this.setup(),this.numSublayers=a.maxUnderzooming+a.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.depthRboNeedsClear=!0,this.emptyProgramConfiguration=new g,this.crossTileSymbolIndex=new v};T.prototype.resize=function(t,e){var r=this.context.gl;if(this.width=t*n.devicePixelRatio,this.height=e*n.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var i=0,a=this.style._order;i<a.length;i+=1){var o=a[i];this.style._layers[o].resize()}this.depthRbo&&(r.deleteRenderbuffer(this.depthRbo),this.depthRbo=null)},T.prototype.setup=function(){var t=this.context,e=new f;e.emplaceBack(0,0),e.emplaceBack(o,0),e.emplaceBack(0,o),e.emplaceBack(o,o),this.tileExtentBuffer=t.createVertexBuffer(e,d.members),this.tileExtentVAO=new u,this.tileExtentPatternVAO=new u;var r=new f;r.emplaceBack(0,0),r.emplaceBack(o,0),r.emplaceBack(o,o),r.emplaceBack(0,o),r.emplaceBack(0,0),this.debugBuffer=t.createVertexBuffer(r,d.members),this.debugVAO=new u;var n=new h;n.emplaceBack(0,0,0,0),n.emplaceBack(o,0,o,0),n.emplaceBack(0,o,0,o),n.emplaceBack(o,o,o,o),this.rasterBoundsBuffer=t.createVertexBuffer(n,p.members),this.rasterBoundsVAO=new u;var i=new f;i.emplaceBack(0,0),i.emplaceBack(1,0),i.emplaceBack(0,1),i.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(i,d.members),this.viewportVAO=new u},T.prototype.clearStencil=function(){var t=this.context,e=t.gl;t.setColorMode(w.disabled),t.setDepthMode(b.disabled),t.setStencilMode(new _({func:e.ALWAYS,mask:0},0,255,e.ZERO,e.ZERO,e.ZERO));var r=i.create();i.ortho(r,0,this.width,this.height,0,0,1),i.scale(r,r,[e.drawingBufferWidth,e.drawingBufferHeight,0]);var n=this.useProgram(\"clippingMask\");e.uniformMatrix4fv(n.uniforms.u_matrix,!1,r),this.viewportVAO.bind(t,n,this.viewportBuffer,[]),e.drawArrays(e.TRIANGLE_STRIP,0,4)},T.prototype._renderTileClippingMasks=function(t){var e=this,r=this.context,n=r.gl;r.setColorMode(w.disabled),r.setDepthMode(b.disabled);var i=1;this._tileClippingMaskIDs={};for(var a=0,o=t;a<o.length;a+=1){var s=o[a],l=e._tileClippingMaskIDs[s.key]=i++;r.setStencilMode(new _({func:n.ALWAYS,mask:0},l,255,n.KEEP,n.KEEP,n.REPLACE));var u=e.useProgram(\"clippingMask\");n.uniformMatrix4fv(u.uniforms.u_matrix,!1,s.posMatrix),e.tileExtentVAO.bind(e.context,u,e.tileExtentBuffer,[]),n.drawArrays(n.TRIANGLE_STRIP,0,e.tileExtentBuffer.length)}},T.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new _({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},T.prototype.colorModeForRenderPass=function(){var t=this.context.gl;return this._showOverdrawInspector?new w([t.CONSTANT_COLOR,t.ONE],new A(1/8,1/8,1/8,0),[!0,!0,!0,!0]):\"opaque\"===this.renderPass?w.unblended:w.alphaBlended},T.prototype.depthModeForSublayer=function(t,e,r){var n=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon,i=n-1+this.depthRange;return new b(r||this.context.gl.LEQUAL,e,[i,n])},T.prototype.render=function(t,e){var r=this;for(var i in this.style=t,this.options=e,this.lineAtlas=t.lineAtlas,this.imageManager=t.imageManager,this.glyphManager=t.glyphManager,this.symbolFadeChange=t.placement.symbolFadeChange(n.now()),t.sourceCaches){var a=r.style.sourceCaches[i];a.used&&a.prepare(r.context)}var o=this.style._order,s=l.filterObject(this.style.sourceCaches,function(t){return\"raster\"===t.getSource().type||\"raster-dem\"===t.getSource().type});for(var u in s)!function(t){var e=s[u],n=e.getVisibleCoordinates().map(function(t){return e.getTile(t)});M(n,r.context)}();this.renderPass=\"offscreen\";var c,h=[];this.depthRboNeedsClear=!0;for(var f=0;f<o.length;f++){var p=r.style._layers[o[f]];p.hasOffscreenPass()&&!p.isHidden(r.transform.zoom)&&(p.source!==(c&&c.id)&&(h=[],(c=r.style.sourceCaches[p.source])&&(h=c.getVisibleCoordinates()).reverse()),h.length&&r.renderLayer(r,c,p,h))}this.context.bindFramebuffer.set(null),this.context.clear({color:e.showOverdrawInspector?A.black:A.transparent,depth:1}),this._showOverdrawInspector=e.showOverdrawInspector,this.depthRange=(t._order.length+2)*this.numSublayers*this.depthEpsilon,this.renderPass=\"opaque\";var d,g=[];for(this.currentLayer=o.length-1,this.currentLayer;this.currentLayer>=0;this.currentLayer--){var v=r.style._layers[o[r.currentLayer]];v.source!==(d&&d.id)&&(g=[],(d=r.style.sourceCaches[v.source])&&(r.clearStencil(),g=d.getVisibleCoordinates(),d.getSource().isTileClipped&&r._renderTileClippingMasks(g))),r.renderLayer(r,d,v,g)}this.renderPass=\"translucent\";var m,y=[];for(this.currentLayer=0,this.currentLayer;this.currentLayer<o.length;this.currentLayer++){var x=r.style._layers[o[r.currentLayer]];x.source!==(m&&m.id)&&(y=[],(m=r.style.sourceCaches[x.source])&&(r.clearStencil(),y=m.getVisibleCoordinates(),m.getSource().isTileClipped&&r._renderTileClippingMasks(y)),y.reverse()),r.renderLayer(r,m,x,y)}if(this.options.showTileBoundaries){var b=this.style.sourceCaches[Object.keys(this.style.sourceCaches)[0]];b&&k.debug(this,b,b.getVisibleCoordinates())}},T.prototype.setupOffscreenDepthRenderbuffer=function(){var t=this.context;this.depthRbo||(this.depthRbo=t.createRenderbuffer(t.gl.DEPTH_COMPONENT16,this.width,this.height))},T.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||(\"background\"===r.type||n.length)&&(this.id=r.id,k[r.type](t,e,r,n))},T.prototype.translatePosMatrix=function(t,e,r,n,a){if(!r[0]&&!r[1])return t;var o=a?\"map\"===n?this.transform.angle:0:\"viewport\"===n?-this.transform.angle:0;if(o){var l=Math.sin(o),u=Math.cos(o);r=[r[0]*u-r[1]*l,r[0]*l+r[1]*u]}var c=[a?r[0]:s(e,r[0],this.transform.zoom),a?r[1]:s(e,r[1],this.transform.zoom),0],h=new Float32Array(16);return i.translate(h,t,c),h},T.prototype.saveTileTexture=function(t){var e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t]},T.prototype.getTileTexture=function(t){var e=this._tileTextures[t];return e&&e.length>0?e.pop():null},T.prototype._createProgramCached=function(t,e){this.cache=this.cache||{};var r=\"\"+t+(e.cacheKey||\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[r]||(this.cache[r]=new y(this.context,m[t],e,this._showOverdrawInspector)),this.cache[r]},T.prototype.useProgram=function(t,e){var r=this._createProgramCached(t,e||this.emptyProgramConfiguration);return this.context.program.set(r.program),r},e.exports=T},{\"../data/array_types\":39,\"../data/extent\":53,\"../data/pos_attributes\":57,\"../data/program_configuration\":58,\"../data/raster_bounds_attributes\":59,\"../gl/color_mode\":65,\"../gl/context\":66,\"../gl/depth_mode\":67,\"../gl/stencil_mode\":70,\"../shaders\":97,\"../source/pixels_to_tile_units\":104,\"../source/source_cache\":111,\"../style-spec/util/color\":153,\"../symbol/cross_tile_symbol_index\":218,\"../util/browser\":252,\"../util/util\":275,\"./draw_background\":74,\"./draw_circle\":75,\"./draw_debug\":77,\"./draw_fill\":78,\"./draw_fill_extrusion\":79,\"./draw_heatmap\":80,\"./draw_hillshade\":81,\"./draw_line\":82,\"./draw_raster\":83,\"./draw_symbol\":84,\"./program\":92,\"./texture\":93,\"./tile_mask\":94,\"./vertex_array_object\":95,\"@mapbox/gl-matrix\":2}],91:[function(t,e,r){var n=t(\"../source/pixels_to_tile_units\");r.isPatternMissing=function(t,e){if(!t)return!1;var r=e.imageManager.getPattern(t.from),n=e.imageManager.getPattern(t.to);return!r||!n},r.prepare=function(t,e,r){var n=e.context,i=n.gl,a=e.imageManager.getPattern(t.from),o=e.imageManager.getPattern(t.to);i.uniform1i(r.uniforms.u_image,0),i.uniform2fv(r.uniforms.u_pattern_tl_a,a.tl),i.uniform2fv(r.uniforms.u_pattern_br_a,a.br),i.uniform2fv(r.uniforms.u_pattern_tl_b,o.tl),i.uniform2fv(r.uniforms.u_pattern_br_b,o.br);var s=e.imageManager.getPixelSize(),l=s.width,u=s.height;i.uniform2fv(r.uniforms.u_texsize,[l,u]),i.uniform1f(r.uniforms.u_mix,t.t),i.uniform2fv(r.uniforms.u_pattern_size_a,a.displaySize),i.uniform2fv(r.uniforms.u_pattern_size_b,o.displaySize),i.uniform1f(r.uniforms.u_scale_a,t.fromScale),i.uniform1f(r.uniforms.u_scale_b,t.toScale),n.activeTexture.set(i.TEXTURE0),e.imageManager.bind(e.context)},r.setTile=function(t,e,r){var i=e.context.gl;i.uniform1f(r.uniforms.u_tile_units_to_pixels,1/n(t,1,e.transform.tileZoom));var a=Math.pow(2,t.tileID.overscaledZ),o=t.tileSize*Math.pow(2,e.transform.tileZoom)/a,s=o*(t.tileID.canonical.x+t.tileID.wrap*a),l=o*t.tileID.canonical.y;i.uniform2f(r.uniforms.u_pixel_coord_upper,s>>16,l>>16),i.uniform2f(r.uniforms.u_pixel_coord_lower,65535&s,65535&l)}},{\"../source/pixels_to_tile_units\":104}],92:[function(t,e,r){var n=t(\"../util/browser\"),i=t(\"../shaders\"),a=(t(\"../data/program_configuration\").ProgramConfiguration,t(\"./vertex_array_object\")),o=(t(\"../gl/context\"),function(t,e,r,a){var o=this,s=t.gl;this.program=s.createProgram();var l=r.defines().concat(\"#define DEVICE_PIXEL_RATIO \"+n.devicePixelRatio.toFixed(1));a&&l.push(\"#define OVERDRAW_INSPECTOR;\");var u=l.concat(i.prelude.fragmentSource,e.fragmentSource).join(\"\\n\"),c=l.concat(i.prelude.vertexSource,e.vertexSource).join(\"\\n\"),h=s.createShader(s.FRAGMENT_SHADER);s.shaderSource(h,u),s.compileShader(h),s.attachShader(this.program,h);var f=s.createShader(s.VERTEX_SHADER);s.shaderSource(f,c),s.compileShader(f),s.attachShader(this.program,f);for(var p=r.layoutAttributes||[],d=0;d<p.length;d++)s.bindAttribLocation(o.program,d,p[d].name);s.linkProgram(this.program),this.numAttributes=s.getProgramParameter(this.program,s.ACTIVE_ATTRIBUTES),this.attributes={},this.uniforms={};for(var g=0;g<this.numAttributes;g++){var v=s.getActiveAttrib(o.program,g);v&&(o.attributes[v.name]=s.getAttribLocation(o.program,v.name))}for(var m=s.getProgramParameter(this.program,s.ACTIVE_UNIFORMS),y=0;y<m;y++){var x=s.getActiveUniform(o.program,y);x&&(o.uniforms[x.name]=s.getUniformLocation(o.program,x.name))}});o.prototype.draw=function(t,e,r,n,i,o,s,l,u){for(var c,h=t.gl,f=(c={},c[h.LINES]=2,c[h.TRIANGLES]=3,c)[e],p=0,d=o.get();p<d.length;p+=1){var g=d[p],v=g.vaos||(g.vaos={});(v[r]||(v[r]=new a)).bind(t,this,n,s?s.getPaintVertexBuffers():[],i,g.vertexOffset,l,u),h.drawElements(e,g.primitiveLength*f,h.UNSIGNED_SHORT,g.primitiveOffset*f*2)}},e.exports=o},{\"../data/program_configuration\":58,\"../gl/context\":66,\"../shaders\":97,\"../util/browser\":252,\"./vertex_array_object\":95}],93:[function(t,e,r){var n=t(\"../util/window\"),i=n.HTMLImageElement,a=n.HTMLCanvasElement,o=n.HTMLVideoElement,s=n.ImageData,l=function(t,e,r,n){this.context=t;var i=e.width,a=e.height;this.size=[i,a],this.format=r,this.texture=t.gl.createTexture(),this.update(e,n)};l.prototype.update=function(t,e){var r=t.width,n=t.height;this.size=[r,n];var l=this.context,u=l.gl;u.bindTexture(u.TEXTURE_2D,this.texture),l.pixelStoreUnpack.set(1),this.format===u.RGBA&&!1!==e&&l.pixelStoreUnpackPremultiplyAlpha.set(!0),t instanceof i||t instanceof a||t instanceof o||t instanceof s?u.texImage2D(u.TEXTURE_2D,0,this.format,this.format,u.UNSIGNED_BYTE,t):u.texImage2D(u.TEXTURE_2D,0,this.format,r,n,0,this.format,u.UNSIGNED_BYTE,t.data)},l.prototype.bind=function(t,e,r){var n=this.context.gl;n.bindTexture(n.TEXTURE_2D,this.texture),t!==this.filter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,r||t),this.filter=t),e!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,e),this.wrap=e)},l.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null},e.exports=l},{\"../util/window\":254}],94:[function(t,e,r){function n(t,e,r,i,a){for(var s=0;s<r.length;s++){var l=r[s];if(i.isLessThan(l.tileID))break;if(e.key===l.tileID.key)return;if(l.tileID.isChildOf(e)){for(var u=e.children(1/0),c=0;c<u.length;c++)n(t,u[c],r.slice(s),i,a);return}}var h=e.overscaledZ-t.overscaledZ,f=new o(h,e.canonical.x-(t.canonical.x<<h),e.canonical.y-(t.canonical.y<<h));a[f.key]=a[f.key]||f}var i=t(\"../source/tile_id\"),a=i.OverscaledTileID,o=i.CanonicalTileID;e.exports=function(t,e){for(var r=t.sort(function(t,e){return t.tileID.isLessThan(e.tileID)?-1:e.tileID.isLessThan(t.tileID)?1:0}),i=0;i<r.length;i++){var o={},s=r[i],l=r.slice(i+1);n(s.tileID.wrapped(),s.tileID,l,new a(0,s.tileID.wrap+1,0,0,0),o),s.setMask(o,e)}}},{\"../source/tile_id\":114}],95:[function(t,e,r){var n=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};n.prototype.bind=function(t,e,r,n,i,a,o,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==n.length,u=0;!l&&u<n.length;u++)this.boundPaintVertexBuffers[u]!==n[u]&&(l=!0);var c=!this.vao||this.boundProgram!==e||this.boundLayoutVertexBuffer!==r||l||this.boundIndexBuffer!==i||this.boundVertexOffset!==a||this.boundDynamicVertexBuffer!==o||this.boundDynamicVertexBuffer2!==s;!t.extVertexArrayObject||c?this.freshBind(e,r,n,i,a,o,s):(t.bindVertexArrayOES.set(this.vao),o&&o.bind(),i&&i.dynamicDraw&&i.bind(),s&&s.bind())},n.prototype.freshBind=function(t,e,r,n,i,a,o){var s,l=t.numAttributes,u=this.context,c=u.gl;if(u.extVertexArrayObject)this.vao&&this.destroy(),this.vao=u.extVertexArrayObject.createVertexArrayOES(),u.bindVertexArrayOES.set(this.vao),s=0,this.boundProgram=t,this.boundLayoutVertexBuffer=e,this.boundPaintVertexBuffers=r,this.boundIndexBuffer=n,this.boundVertexOffset=i,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=o;else{s=u.currentNumAttributes||0;for(var h=l;h<s;h++)c.disableVertexAttribArray(h)}e.enableAttributes(c,t);for(var f=0,p=r;f<p.length;f+=1)p[f].enableAttributes(c,t);a&&a.enableAttributes(c,t),o&&o.enableAttributes(c,t),e.bind(),e.setVertexAttribPointers(c,t,i);for(var d=0,g=r;d<g.length;d+=1){var v=g[d];v.bind(),v.setVertexAttribPointers(c,t,i)}a&&(a.bind(),a.setVertexAttribPointers(c,t,i)),n&&n.bind(),o&&(o.bind(),o.setVertexAttribPointers(c,t,i)),u.currentNumAttributes=l},n.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)},e.exports=n},{}],96:[function(t,e,r){var n=t(\"../util/util\");r.packUint8ToFloat=function(t,e){return 256*(t=n.clamp(Math.floor(t),0,255))+(e=n.clamp(Math.floor(e),0,255))}},{\"../util/util\":275}],97:[function(t,e,r){var n={prelude:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\\n// Unpack a pair of values that have been packed into a single float.\\n// The packed values are assumed to be 8-bit unsigned integers, and are\\n// packed like so:\\n// packedValue = floor(input[0]) * 256 + input[1],\\nvec2 unpack_float(const float packedValue) {\\n    int packedIntValue = int(packedValue);\\n    int v0 = packedIntValue / 256;\\n    return vec2(v0, packedIntValue - v0 * 256);\\n}\\n\\nvec2 unpack_opacity(const float packedOpacity) {\\n    int intOpacity = int(packedOpacity) / 2;\\n    return vec2(float(intOpacity) / 127.0, mod(packedOpacity, 2.0));\\n}\\n\\n// To minimize the number of attributes needed, we encode a 4-component\\n// color into a pair of floats (i.e. a vec2) as follows:\\n// [ floor(color.r * 255) * 256 + color.g * 255,\\n//   floor(color.b * 255) * 256 + color.g * 255 ]\\nvec4 decode_color(const vec2 encodedColor) {\\n    return vec4(\\n        unpack_float(encodedColor[0]) / 255.0,\\n        unpack_float(encodedColor[1]) / 255.0\\n    );\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\\n    return mix(packedValue[0], packedValue[1], t);\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\\n    vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\\n    vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\\n    return mix(minColor, maxColor, t);\\n}\\n\\n// The offset depends on how many pixels are between the world origin and 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 and the edge of the tile.\\n// The glsl spec only guarantees 16 bits of 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:\\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\\n    const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\\n\\n    vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\\n    return (tile_units_to_pixels * pos + offset) / pattern_size;\\n}\\n\"},background:{fragmentSource:\"uniform vec4 u_color;\\nuniform float u_opacity;\\n\\nvoid main() {\\n    gl_FragColor = u_color * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},backgroundPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform vec2 u_texsize;\\nuniform float u_mix;\\nuniform float u_opacity;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\nvoid main() {\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, 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_texsize, u_pattern_br_b / u_texsize, 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:\"uniform 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\\n    v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\\n    v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\\n}\\n\"},circle:{fragmentSource:\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec3 v_data;\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize mediump float radius\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize highp vec4 stroke_color\\n    #pragma mapbox: initialize mediump float stroke_width\\n    #pragma mapbox: initialize lowp float stroke_opacity\\n\\n    vec2 extrude = v_data.xy;\\n    float extrude_length = length(extrude);\\n\\n    lowp float antialiasblur = v_data.z;\\n    float antialiased_blur = -max(blur, antialiasblur);\\n\\n    float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\\n\\n    float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\\n        antialiased_blur,\\n        0.0,\\n        extrude_length - radius / (radius + stroke_width)\\n    );\\n\\n    gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform bool u_scale_with_map;\\nuniform bool u_pitch_with_map;\\nuniform vec2 u_extrude_scale;\\nuniform highp float u_camera_to_center_distance;\\n\\nattribute vec2 a_pos;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec3 v_data;\\n\\nvoid main(void) {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize mediump float radius\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize highp vec4 stroke_color\\n    #pragma mapbox: initialize mediump float stroke_width\\n    #pragma mapbox: initialize lowp float stroke_opacity\\n\\n    // unencode the extrusion vector that we snuck into the a_pos vector\\n    vec2 extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\n\\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\n    // in extrusion data\\n    vec2 circle_center = floor(a_pos * 0.5);\\n    if (u_pitch_with_map) {\\n        vec2 corner_position = circle_center;\\n        if (u_scale_with_map) {\\n            corner_position += extrude * (radius + stroke_width) * u_extrude_scale;\\n        } else {\\n            // Pitching the circle with the map effectively scales it with the map\\n            // To counteract the effect for pitch-scale: viewport, we rescale the\\n            // whole circle based on the pitch scaling effect at its central point\\n            vec4 projected_center = u_matrix * vec4(circle_center, 0, 1);\\n            corner_position += extrude * (radius + stroke_width) * u_extrude_scale * (projected_center.w / u_camera_to_center_distance);\\n        }\\n\\n        gl_Position = u_matrix * vec4(corner_position, 0, 1);\\n    } else {\\n        gl_Position = u_matrix * vec4(circle_center, 0, 1);\\n\\n        if (u_scale_with_map) {\\n            gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * u_camera_to_center_distance;\\n        } else {\\n            gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * gl_Position.w;\\n        }\\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    lowp float antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\\n\\n    v_data = vec3(extrude.x, extrude.y, antialiasblur);\\n}\\n\"},clippingMask:{fragmentSource:\"void main() {\\n    gl_FragColor = vec4(1.0);\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},heatmap:{fragmentSource:\"#pragma mapbox: define highp float weight\\n\\nuniform highp float u_intensity;\\nvarying vec2 v_extrude;\\n\\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\\n#define GAUSS_COEF 0.3989422804014327\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp float weight\\n\\n    // Kernel density estimation with a Gaussian kernel of size 5x5\\n    float d = -0.5 * 3.0 * 3.0 * dot(v_extrude, v_extrude);\\n    float val = weight * u_intensity * GAUSS_COEF * exp(d);\\n\\n    gl_FragColor = vec4(val, 1.0, 1.0, 1.0);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#pragma mapbox: define highp float weight\\n#pragma mapbox: define mediump float radius\\n\\nuniform mat4 u_matrix;\\nuniform float u_extrude_scale;\\nuniform float u_opacity;\\nuniform float u_intensity;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_extrude;\\n\\n// Effective \\\"0\\\" in the kernel density texture to adjust the kernel size to;\\n// this empirically chosen number minimizes artifacts on overlapping kernels\\n// for typical heatmap cases (assuming clustered source)\\nconst highp float ZERO = 1.0 / 255.0 / 16.0;\\n\\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\\n#define GAUSS_COEF 0.3989422804014327\\n\\nvoid main(void) {\\n    #pragma mapbox: initialize highp float weight\\n    #pragma mapbox: initialize mediump float radius\\n\\n    // unencode the extrusion vector that we snuck into the a_pos vector\\n    vec2 unscaled_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\n\\n    // This 'extrude' comes in ranging from [-1, -1], to [1, 1].  We'll use\\n    // it to produce the vertices of a square mesh framing the point feature\\n    // we're adding to the kernel density texture.  We'll also pass it as\\n    // a varying, so that the fragment shader can determine the distance of\\n    // each fragment from the point feature.\\n    // Before we do so, we need to scale it up sufficiently so that the\\n    // kernel falls effectively to zero at the edge of the mesh.\\n    // That is, we want to know S such that\\n    // weight * u_intensity * GAUSS_COEF * exp(-0.5 * 3.0^2 * S^2) == ZERO\\n    // Which solves to:\\n    // S = sqrt(-2.0 * log(ZERO / (weight * u_intensity * GAUSS_COEF))) / 3.0\\n    float S = sqrt(-2.0 * log(ZERO / weight / u_intensity / GAUSS_COEF)) / 3.0;\\n\\n    // Pass the varying in units of radius\\n    v_extrude = S * unscaled_extrude;\\n\\n    // Scale by radius and the zoom-based scale factor to produce actual\\n    // mesh position\\n    vec2 extrude = v_extrude * radius * u_extrude_scale;\\n\\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\n    // in extrusion data\\n    vec4 pos = vec4(floor(a_pos * 0.5) + extrude, 0, 1);\\n\\n    gl_Position = u_matrix * pos;\\n}\\n\"},heatmapTexture:{fragmentSource:\"uniform sampler2D u_image;\\nuniform sampler2D u_color_ramp;\\nuniform float u_opacity;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    float t = texture2D(u_image, v_pos).r;\\n    vec4 color = texture2D(u_color_ramp, vec2(t, 0.5));\\n    gl_FragColor = color * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(0.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_world;\\nattribute vec2 a_pos;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\\n\\n    v_pos.x = a_pos.x;\\n    v_pos.y = 1.0 - a_pos.y;\\n}\\n\"},collisionBox:{fragmentSource:\"\\nvarying float v_placed;\\nvarying float v_notUsed;\\n\\nvoid main() {\\n\\n    float alpha = 0.5;\\n\\n    // Red = collision, hide label\\n    gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\n\\n    // Blue = no collision, label is showing\\n    if (v_placed > 0.5) {\\n        gl_FragColor = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\\n    }\\n\\n    if (v_notUsed > 0.5) {\\n        // This box not used, fade it out\\n        gl_FragColor *= .1;\\n    }\\n}\",vertexSource:\"attribute vec2 a_pos;\\nattribute vec2 a_anchor_pos;\\nattribute vec2 a_extrude;\\nattribute vec2 a_placed;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_extrude_scale;\\nuniform float u_camera_to_center_distance;\\n\\nvarying float v_placed;\\nvarying float v_notUsed;\\n\\nvoid main() {\\n    vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\n    highp float collision_perspective_ratio = 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance);\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\\n    gl_Position.xy += a_extrude * u_extrude_scale * gl_Position.w * collision_perspective_ratio;\\n\\n    v_placed = a_placed.x;\\n    v_notUsed = a_placed.y;\\n}\\n\"},collisionCircle:{fragmentSource:\"\\nvarying float v_placed;\\nvarying float v_notUsed;\\nvarying float v_radius;\\nvarying vec2 v_extrude;\\nvarying vec2 v_extrude_scale;\\n\\nvoid main() {\\n    float alpha = 0.5;\\n\\n    // Red = collision, hide label\\n    vec4 color = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\n\\n    // Blue = no collision, label is showing\\n    if (v_placed > 0.5) {\\n        color = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\\n    }\\n\\n    if (v_notUsed > 0.5) {\\n        // This box not used, fade it out\\n        color *= .2;\\n    }\\n\\n    float extrude_scale_length = length(v_extrude_scale);\\n    float extrude_length = length(v_extrude) * extrude_scale_length;\\n    float stroke_width = 15.0 * extrude_scale_length;\\n    float radius = v_radius * extrude_scale_length;\\n\\n    float distance_to_edge = abs(extrude_length - radius);\\n    float opacity_t = smoothstep(-stroke_width, 0.0, -distance_to_edge);\\n\\n    gl_FragColor = opacity_t * color;\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\nattribute vec2 a_anchor_pos;\\nattribute vec2 a_extrude;\\nattribute vec2 a_placed;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_extrude_scale;\\nuniform float u_camera_to_center_distance;\\n\\nvarying float v_placed;\\nvarying float v_notUsed;\\nvarying float v_radius;\\n\\nvarying vec2 v_extrude;\\nvarying vec2 v_extrude_scale;\\n\\nvoid main() {\\n    vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\n    highp float collision_perspective_ratio = 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance);\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\\n\\n    highp float padding_factor = 1.2; // Pad the vertices slightly to make room for anti-alias blur\\n    gl_Position.xy += a_extrude * u_extrude_scale * padding_factor * gl_Position.w * collision_perspective_ratio;\\n\\n    v_placed = a_placed.x;\\n    v_notUsed = a_placed.y;\\n    v_radius = abs(a_extrude.y); // We don't pitch the circles, so both units of the extrusion vector are equal in magnitude to the radius\\n\\n    v_extrude = a_extrude * padding_factor;\\n    v_extrude_scale = u_extrude_scale * u_camera_to_center_distance * collision_perspective_ratio;\\n}\\n\"},debug:{fragmentSource:\"uniform highp vec4 u_color;\\n\\nvoid main() {\\n    gl_FragColor = u_color;\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},fill:{fragmentSource:\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp 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:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},fillOutline:{fragmentSource:\"#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 outline_color\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    float dist = length(v_pos - gl_FragCoord.xy);\\n    float alpha = 1.0 - smoothstep(0.0, 1.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:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_world;\\n\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp 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\"},fillOutlinePattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform vec2 u_texsize;\\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\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, 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_texsize, u_pattern_br_b / u_texsize, 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 = 1.0 - smoothstep(0.0, 1.0, dist);\\n\\n\\n    gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_world;\\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;\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n    v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\\n    v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\\n\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},fillPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform vec2 u_texsize;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, 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_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\n    vec4 color2 = texture2D(u_image, pos2);\\n\\n    gl_FragColor = mix(color1, color2, u_mix) * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform 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\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n    v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\\n    v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\\n}\\n\"},fillExtrusion:{fragmentSource:\"varying vec4 v_color;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define highp vec4 color\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float base\\n    #pragma mapbox: initialize lowp float height\\n    #pragma mapbox: initialize highp vec4 color\\n\\n    gl_FragColor = v_color;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_normal_ed;\\n\\nvarying vec4 v_color;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\n#pragma mapbox: define highp vec4 color\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float base\\n    #pragma mapbox: initialize lowp float height\\n    #pragma mapbox: initialize highp vec4 color\\n\\n    vec3 normal = a_normal_ed.xyz;\\n\\n    base = max(0.0, base);\\n    height = max(0.0, height);\\n\\n    float t = mod(normal.x, 2.0);\\n\\n    gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\\n\\n    // Relative luminance (how dark/bright is the surface color?)\\n    float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\\n\\n    v_color = vec4(0.0, 0.0, 0.0, 1.0);\\n\\n    // Add slight ambient lighting so no extrusions are totally black\\n    vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\\n    color += ambientlight;\\n\\n    // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\\n    float directional = clamp(dot(normal / 16384.0, u_lightpos), 0.0, 1.0);\\n\\n    // Adjust directional so that\\n    // the range of values for highlight/shading is narrower\\n    // with lower light intensity\\n    // and with lighter/brighter surface colors\\n    directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\\n\\n    // Add gradient along z axis of side surfaces\\n    if (normal.y != 0.0) {\\n        directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n    }\\n\\n    // Assign final color based on surface + ambient light color, diffuse light directional, and light color\\n    // with lower bounds adjusted to hue of light\\n    // so that shading is tinted with the complementary (opposite) color to the light color\\n    v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\\n    v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\\n    v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\\n}\\n\"},fillExtrusionPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform vec2 u_texsize;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float base\\n    #pragma mapbox: initialize lowp float height\\n\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, 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_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\n    vec4 color2 = texture2D(u_image, pos2);\\n\\n    vec4 mixedColor = mix(color1, color2, u_mix);\\n\\n    gl_FragColor = mixedColor * v_lighting;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform 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;\\nuniform float u_height_factor;\\n\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_normal_ed;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\nvarying float v_directional;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float base\\n    #pragma mapbox: initialize lowp float height\\n\\n    vec3 normal = a_normal_ed.xyz;\\n    float edgedistance = a_normal_ed.w;\\n\\n    base = max(0.0, base);\\n    height = max(0.0, height);\\n\\n    float t = mod(normal.x, 2.0);\\n    float z = t > 0.0 ? height : base;\\n\\n    gl_Position = u_matrix * vec4(a_pos, z, 1);\\n\\n    vec2 pos = normal.x == 1.0 && normal.y == 0.0 && normal.z == 16384.0\\n        ? a_pos // extrusion top\\n        : vec2(edgedistance, z * u_height_factor); // extrusion side\\n\\n    v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, pos);\\n    v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, pos);\\n\\n    v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\\n    float directional = clamp(dot(normal / 16383.0, u_lightpos), 0.0, 1.0);\\n    directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\\n\\n    if (normal.y != 0.0) {\\n        directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n    }\\n\\n    v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\\n}\\n\"},extrusionTexture:{fragmentSource:\"uniform sampler2D u_image;\\nuniform float u_opacity;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_FragColor = texture2D(u_image, v_pos) * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(0.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_world;\\nattribute vec2 a_pos;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\\n\\n    v_pos.x = a_pos.x;\\n    v_pos.y = 1.0 - a_pos.y;\\n}\\n\"},hillshadePrepare:{fragmentSource:\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\n\\nuniform sampler2D u_image;\\nvarying vec2 v_pos;\\nuniform vec2 u_dimension;\\nuniform float u_zoom;\\n\\nfloat getElevation(vec2 coord, float bias) {\\n    // Convert encoded elevation value to meters\\n    vec4 data = texture2D(u_image, coord) * 255.0;\\n    return (data.r + data.g * 256.0 + data.b * 256.0 * 256.0) / 4.0;\\n}\\n\\nvoid main() {\\n    vec2 epsilon = 1.0 / u_dimension;\\n\\n    // queried pixels:\\n    // +-----------+\\n    // |   |   |   |\\n    // | a | b | c |\\n    // |   |   |   |\\n    // +-----------+\\n    // |   |   |   |\\n    // | d | e | f |\\n    // |   |   |   |\\n    // +-----------+\\n    // |   |   |   |\\n    // | g | h | i |\\n    // |   |   |   |\\n    // +-----------+\\n\\n    float a = getElevation(v_pos + vec2(-epsilon.x, -epsilon.y), 0.0);\\n    float b = getElevation(v_pos + vec2(0, -epsilon.y), 0.0);\\n    float c = getElevation(v_pos + vec2(epsilon.x, -epsilon.y), 0.0);\\n    float d = getElevation(v_pos + vec2(-epsilon.x, 0), 0.0);\\n    float e = getElevation(v_pos, 0.0);\\n    float f = getElevation(v_pos + vec2(epsilon.x, 0), 0.0);\\n    float g = getElevation(v_pos + vec2(-epsilon.x, epsilon.y), 0.0);\\n    float h = getElevation(v_pos + vec2(0, epsilon.y), 0.0);\\n    float i = getElevation(v_pos + vec2(epsilon.x, epsilon.y), 0.0);\\n\\n    // here we divide the x and y slopes by 8 * pixel size\\n    // where pixel size (aka meters/pixel) is:\\n    // circumference of the world / (pixels per tile * number of tiles)\\n    // which is equivalent to: 8 * 40075016.6855785 / (512 * pow(2, u_zoom))\\n    // which can be reduced to: pow(2, 19.25619978527 - u_zoom)\\n    // we want to vertically exaggerate the hillshading though, because otherwise\\n    // it is barely noticeable at low zooms. to do this, we multiply this by some\\n    // scale factor pow(2, (u_zoom - 14) * a) where a is an arbitrary value and 14 is the\\n    // maxzoom of the tile source. here we use a=0.3 which works out to the\\n    // expression below. see nickidlugash's awesome breakdown for more info\\n    // https://github.com/mapbox/mapbox-gl-js/pull/5286#discussion_r148419556\\n    float exaggeration = u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;\\n\\n    vec2 deriv = vec2(\\n        (c + f + f + i) - (a + d + d + g),\\n        (g + h + h + i) - (a + b + b + c)\\n    ) /  pow(2.0, (u_zoom - 14.0) * exaggeration + 19.2562 - u_zoom);\\n\\n    gl_FragColor = clamp(vec4(\\n        deriv.x / 2.0 + 0.5,\\n        deriv.y / 2.0 + 0.5,\\n        1.0,\\n        1.0), 0.0, 1.0);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_texture_pos;\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n    v_pos = (a_texture_pos / 8192.0) / 2.0 + 0.25;\\n}\\n\"},hillshade:{fragmentSource:\"uniform sampler2D u_image;\\nvarying vec2 v_pos;\\n\\nuniform vec2 u_latrange;\\nuniform vec2 u_light;\\nuniform vec4 u_shadow;\\nuniform vec4 u_highlight;\\nuniform vec4 u_accent;\\n\\n#define PI 3.141592653589793\\n\\nvoid main() {\\n    vec4 pixel = texture2D(u_image, v_pos);\\n\\n    vec2 deriv = ((pixel.rg * 2.0) - 1.0);\\n\\n    // We divide the slope by a scale factor based on the cosin of the pixel's approximate latitude\\n    // to account for mercator projection distortion. see #4807 for details\\n    float scaleFactor = cos(radians((u_latrange[0] - u_latrange[1]) * (1.0 - v_pos.y) + u_latrange[1]));\\n    // We also multiply the slope by an arbitrary z-factor of 1.25\\n    float slope = atan(1.25 * length(deriv) / scaleFactor);\\n    float aspect = deriv.x != 0.0 ? atan(deriv.y, -deriv.x) : PI / 2.0 * (deriv.y > 0.0 ? 1.0 : -1.0);\\n\\n    float intensity = u_light.x;\\n    // We add PI to make this property match the global light object, which adds PI/2 to the light's azimuthal\\n    // position property to account for 0deg corresponding to north/the top of the viewport in the style spec\\n    // and the original shader was written to accept (-illuminationDirection - 90) as the azimuthal.\\n    float azimuth = u_light.y + PI;\\n\\n    // We scale the slope exponentially based on intensity, using a calculation similar to\\n    // the exponential interpolation function in the style spec:\\n    // https://github.com/mapbox/mapbox-gl-js/blob/master/src/style-spec/expression/definitions/interpolate.js#L217-L228\\n    // so that higher intensity values create more opaque hillshading.\\n    float base = 1.875 - intensity * 1.75;\\n    float maxValue = 0.5 * PI;\\n    float scaledSlope = intensity != 0.5 ? ((pow(base, slope) - 1.0) / (pow(base, maxValue) - 1.0)) * maxValue : slope;\\n\\n    // The accent color is calculated with the cosine of the slope while the shade color is calculated with the sine\\n    // so that the accent color's rate of change eases in while the shade color's eases out.\\n    float accent = cos(scaledSlope);\\n    // We multiply both the accent and shade color by a clamped intensity value\\n    // so that intensities >= 0.5 do not additionally affect the color values\\n    // while intensity values < 0.5 make the overall color more transparent.\\n    vec4 accent_color = (1.0 - accent) * u_accent * clamp(intensity * 2.0, 0.0, 1.0);\\n    float shade = abs(mod((aspect + azimuth) / PI + 0.5, 2.0) - 1.0);\\n    vec4 shade_color = mix(u_shadow, u_highlight, shade) * sin(scaledSlope) * clamp(intensity * 2.0, 0.0, 1.0);\\n    gl_FragColor = accent_color * (1.0 - shade_color.a) + shade_color;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_texture_pos;\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n    v_pos = a_texture_pos / 8192.0;\\n}\\n\"},line:{fragmentSource:\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_width2;\\nvarying vec2 v_normal;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    // Calculate the distance of the pixel from the line in pixels.\\n    float dist = length(v_normal) * v_width2.s;\\n\\n    // Calculate the antialiasing fade factor. This is either when fading in\\n    // the line in case of an offset line (v_width2.t) or when fading out\\n    // (v_width2.s)\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n    gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\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 vec4 a_pos_normal;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize mediump float gapwidth\\n    #pragma mapbox: initialize lowp float offset\\n    #pragma mapbox: initialize mediump float width\\n\\n    vec2 a_extrude = a_data.xy - 128.0;\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\n\\n    vec2 pos = a_pos_normal.xy;\\n\\n    // x is 1 if it's a round cap, 0 otherwise\\n    // y is 1 if the normal points up, and -1 if it points down\\n    mediump vec2 normal = a_pos_normal.zw;\\n    v_normal = normal;\\n\\n    // these transformations used to be applied in the JS and native code bases.\\n    // moved them into the shader for clarity and simplicity.\\n    gapwidth = gapwidth / 2.0;\\n    float halfwidth = width / 2.0;\\n    offset = -1.0 * offset;\\n\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + 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 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n    // calculate how much the perspective view squishes or stretches the extrude\\n    float extrude_length_without_perspective = length(dist);\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n    v_width2 = vec2(outset, inset);\\n}\\n\"},linePattern:{fragmentSource:\"uniform 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 vec2 u_texsize;\\nuniform float u_fade;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    // Calculate the distance of the pixel from the line in pixels.\\n    float dist = length(v_normal) * v_width2.s;\\n\\n    // Calculate the antialiasing fade factor. This is either when fading in\\n    // the line in case of an offset line (v_width2.t) or when fading out\\n    // (v_width2.s)\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 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_width2.s / u_pattern_size_a.y);\\n    float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\\n    vec2 pos_a = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, vec2(x_a, y_a));\\n    vec2 pos_b = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, vec2(x_b, y_b));\\n\\n    vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\\n\\n    gl_FragColor = color * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// 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\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec4 a_pos_normal;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define mediump float width\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize lowp float offset\\n    #pragma mapbox: initialize mediump float gapwidth\\n    #pragma mapbox: initialize mediump float width\\n\\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    vec2 pos = a_pos_normal.xy;\\n\\n    // x is 1 if it's a round cap, 0 otherwise\\n    // y is 1 if the normal points up, and -1 if it points down\\n    mediump vec2 normal = a_pos_normal.zw;\\n    v_normal = normal;\\n\\n    // these transformations used to be applied in the JS and native code bases.\\n    // moved them into the shader for clarity and simplicity.\\n    gapwidth = gapwidth / 2.0;\\n    float halfwidth = width / 2.0;\\n    offset = -1.0 * offset;\\n\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + 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 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n    // calculate how much the perspective view squishes or stretches the extrude\\n    float extrude_length_without_perspective = length(dist);\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n    v_linesofar = a_linesofar;\\n    v_width2 = vec2(outset, inset);\\n}\\n\"},lineSDF:{fragmentSource:\"\\nuniform sampler2D u_image;\\nuniform float u_sdfgamma;\\nuniform float u_mix;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize mediump float width\\n    #pragma mapbox: initialize lowp float floorwidth\\n\\n    // Calculate the distance of the pixel from the line in pixels.\\n    float dist = length(v_normal) * v_width2.s;\\n\\n    // Calculate the antialiasing fade factor. This is either when fading in\\n    // the line in case of an offset line (v_width2.t) or when fading out\\n    // (v_width2.s)\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 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 / floorwidth, 0.5 + u_sdfgamma / floorwidth, sdfdist);\\n\\n    gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// 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\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec4 a_pos_normal;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform vec2 u_patternscale_a;\\nuniform float u_tex_y_a;\\nuniform vec2 u_patternscale_b;\\nuniform float u_tex_y_b;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize mediump float gapwidth\\n    #pragma mapbox: initialize lowp float offset\\n    #pragma mapbox: initialize mediump float width\\n    #pragma mapbox: initialize lowp float floorwidth\\n\\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    vec2 pos = a_pos_normal.xy;\\n\\n    // x is 1 if it's a round cap, 0 otherwise\\n    // y is 1 if the normal points up, and -1 if it points down\\n    mediump vec2 normal = a_pos_normal.zw;\\n    v_normal = normal;\\n\\n    // these transformations used to be applied in the JS and native code bases.\\n    // moved them into the shader for clarity and simplicity.\\n    gapwidth = gapwidth / 2.0;\\n    float halfwidth = width / 2.0;\\n    offset = -1.0 * offset;\\n\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + 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 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n    // calculate how much the perspective view squishes or stretches the extrude\\n    float extrude_length_without_perspective = length(dist);\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n    v_tex_a = vec2(a_linesofar * u_patternscale_a.x / floorwidth, normal.y * u_patternscale_a.y + u_tex_y_a);\\n    v_tex_b = vec2(a_linesofar * u_patternscale_b.x / floorwidth, normal.y * u_patternscale_b.y + u_tex_y_b);\\n\\n    v_width2 = vec2(outset, inset);\\n}\\n\"},raster:{fragmentSource:\"uniform float u_fade_t;\\nuniform float u_opacity;\\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    if (color0.a > 0.0) {\\n        color0.rgb = color0.rgb / color0.a;\\n    }\\n    if (color1.a > 0.0) {\\n        color1.rgb = color1.rgb / color1.a;\\n    }\\n    vec4 color = mix(color0, color1, u_fade_t);\\n    color.a *= u_opacity;\\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, color.a);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform 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    // We are using Int16 for texture position coordinates to give us enough precision for\\n    // fractional coordinates. We use 8192 to scale the texture coordinates in the buffer\\n    // as an arbitrarily high number to preserve adequate precision when rendering.\\n    // This is also the same value as the EXTENT we are using for our tile buffer pos coordinates,\\n    // so math for modifying either is consistent.\\n    v_pos0 = (((a_texture_pos / 8192.0) - 0.5) / u_buffer_scale ) + 0.5;\\n    v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\\n}\\n\"},symbolIcon:{fragmentSource:\"uniform sampler2D u_texture;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_tex;\\nvarying float v_fade_opacity;\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    lowp float alpha = opacity * v_fade_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:\"const float PI = 3.141592653589793;\\n\\nattribute vec4 a_pos_offset;\\nattribute vec4 a_data;\\nattribute vec3 a_projected_pos;\\nattribute float a_fade_opacity;\\n\\nuniform bool u_is_size_zoom_constant;\\nuniform bool u_is_size_feature_constant;\\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\\nuniform highp float u_size; // used when size is both zoom and feature constant\\nuniform highp float u_camera_to_center_distance;\\nuniform highp float u_pitch;\\nuniform bool u_rotate_symbol;\\nuniform highp float u_aspect_ratio;\\nuniform float u_fade_change;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nuniform mat4 u_matrix;\\nuniform mat4 u_label_plane_matrix;\\nuniform mat4 u_gl_coord_matrix;\\n\\nuniform bool u_is_text;\\nuniform bool u_pitch_with_map;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying float v_fade_opacity;\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    vec2 a_pos = a_pos_offset.xy;\\n    vec2 a_offset = a_pos_offset.zw;\\n\\n    vec2 a_tex = a_data.xy;\\n    vec2 a_size = a_data.zw;\\n\\n    highp float segment_angle = -a_projected_pos[2];\\n\\n    float size;\\n    if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n        size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\\n    } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n        size = a_size[0] / 10.0;\\n    } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\\n        size = u_size;\\n    } else {\\n        size = u_size;\\n    }\\n\\n    vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\n    // See comments in symbol_sdf.vertex\\n    highp float distance_ratio = u_pitch_with_map ?\\n        camera_to_anchor_distance / u_camera_to_center_distance :\\n        u_camera_to_center_distance / camera_to_anchor_distance;\\n    highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\\n\\n    size *= perspective_ratio;\\n\\n    float fontScale = u_is_text ? size / 24.0 : size;\\n\\n    highp float symbol_rotation = 0.0;\\n    if (u_rotate_symbol) {\\n        // See comments in symbol_sdf.vertex\\n        vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\\n\\n        vec2 a = projectedPoint.xy / projectedPoint.w;\\n        vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\\n\\n        symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\\n    }\\n\\n    highp float angle_sin = sin(segment_angle + symbol_rotation);\\n    highp float angle_cos = cos(segment_angle + symbol_rotation);\\n    mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\\n\\n    vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\\n    gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\\n\\n    v_tex = a_tex / u_texsize;\\n    vec2 fade_opacity = unpack_opacity(a_fade_opacity);\\n    float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\\n    v_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\\n}\\n\"},symbolSDF:{fragmentSource:\"#define SDF_PX 8.0\\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\\n\\nuniform bool u_is_halo;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\nuniform sampler2D u_texture;\\nuniform highp float u_gamma_scale;\\nuniform bool u_is_text;\\n\\nvarying vec2 v_data0;\\nvarying vec3 v_data1;\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 fill_color\\n    #pragma mapbox: initialize highp vec4 halo_color\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize lowp float halo_width\\n    #pragma mapbox: initialize lowp float halo_blur\\n\\n    vec2 tex = v_data0.xy;\\n    float gamma_scale = v_data1.x;\\n    float size = v_data1.y;\\n    float fade_opacity = v_data1[2];\\n\\n    float fontScale = u_is_text ? size / 24.0 : size;\\n\\n    lowp vec4 color = fill_color;\\n    highp float gamma = EDGE_GAMMA / (fontScale * u_gamma_scale);\\n    lowp float buff = (256.0 - 64.0) / 256.0;\\n    if (u_is_halo) {\\n        color = halo_color;\\n        gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (fontScale * u_gamma_scale);\\n        buff = (6.0 - halo_width / fontScale) / SDF_PX;\\n    }\\n\\n    lowp float dist = texture2D(u_texture, tex).a;\\n    highp float gamma_scaled = gamma * gamma_scale;\\n    highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist);\\n\\n    gl_FragColor = color * (alpha * opacity * fade_opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"const float PI = 3.141592653589793;\\n\\nattribute vec4 a_pos_offset;\\nattribute vec4 a_data;\\nattribute vec3 a_projected_pos;\\nattribute float a_fade_opacity;\\n\\n// contents of a_size vary based on the type of property value\\n// used for {text,icon}-size.\\n// For constants, a_size is disabled.\\n// For source functions, we bind only one value per vertex: the value of {text,icon}-size evaluated for the current feature.\\n// For composite functions:\\n// [ text-size(lowerZoomStop, feature),\\n//   text-size(upperZoomStop, feature) ]\\nuniform bool u_is_size_zoom_constant;\\nuniform bool u_is_size_feature_constant;\\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\\nuniform highp float u_size; // used when size is both zoom and feature constant\\n\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\nuniform mat4 u_matrix;\\nuniform mat4 u_label_plane_matrix;\\nuniform mat4 u_gl_coord_matrix;\\n\\nuniform bool u_is_text;\\nuniform bool u_pitch_with_map;\\nuniform highp float u_pitch;\\nuniform bool u_rotate_symbol;\\nuniform highp float u_aspect_ratio;\\nuniform highp float u_camera_to_center_distance;\\nuniform float u_fade_change;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_data0;\\nvarying vec3 v_data1;\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 fill_color\\n    #pragma mapbox: initialize highp vec4 halo_color\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize lowp float halo_width\\n    #pragma mapbox: initialize lowp float halo_blur\\n\\n    vec2 a_pos = a_pos_offset.xy;\\n    vec2 a_offset = a_pos_offset.zw;\\n\\n    vec2 a_tex = a_data.xy;\\n    vec2 a_size = a_data.zw;\\n\\n    highp float segment_angle = -a_projected_pos[2];\\n    float size;\\n\\n    if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n        size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\\n    } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n        size = a_size[0] / 10.0;\\n    } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\\n        size = u_size;\\n    } else {\\n        size = u_size;\\n    }\\n\\n    vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\n    // If the label is pitched with the map, layout is done in pitched space,\\n    // which makes labels in the distance smaller relative to viewport space.\\n    // We counteract part of that effect by multiplying by the perspective ratio.\\n    // If the label isn't pitched with the map, we do layout in viewport space,\\n    // which makes labels in the distance larger relative to the features around\\n    // them. We counteract part of that effect by dividing by the perspective ratio.\\n    highp float distance_ratio = u_pitch_with_map ?\\n        camera_to_anchor_distance / u_camera_to_center_distance :\\n        u_camera_to_center_distance / camera_to_anchor_distance;\\n    highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\\n\\n    size *= perspective_ratio;\\n\\n    float fontScale = u_is_text ? size / 24.0 : size;\\n\\n    highp float symbol_rotation = 0.0;\\n    if (u_rotate_symbol) {\\n        // Point labels with 'rotation-alignment: map' are horizontal with respect to tile units\\n        // To figure out that angle in projected space, we draw a short horizontal line in tile\\n        // space, project it, and measure its angle in projected space.\\n        vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\\n\\n        vec2 a = projectedPoint.xy / projectedPoint.w;\\n        vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\\n\\n        symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\\n    }\\n\\n    highp float angle_sin = sin(segment_angle + symbol_rotation);\\n    highp float angle_cos = cos(segment_angle + symbol_rotation);\\n    mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\\n\\n    vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\\n    gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\\n    float gamma_scale = gl_Position.w;\\n\\n    vec2 tex = a_tex / u_texsize;\\n    vec2 fade_opacity = unpack_opacity(a_fade_opacity);\\n    float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\\n    float interpolated_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\\n\\n    v_data0 = vec2(tex.x, tex.y);\\n    v_data1 = vec3(gamma_scale, size, interpolated_fade_opacity);\\n}\\n\"}},i=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,a=function(t){var e=n[t],r={};e.fragmentSource=e.fragmentSource.replace(i,function(t,e,n,i,a){return r[a]=!0,\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nvarying \"+n+\" \"+i+\" \"+a+\";\\n#else\\nuniform \"+n+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"\\n#ifdef HAS_UNIFORM_u_\"+a+\"\\n    \"+n+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\"}),e.vertexSource=e.vertexSource.replace(i,function(t,e,n,i,a){var o=\"float\"===i?\"vec2\":\"vec4\";return r[a]?\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nuniform lowp float a_\"+a+\"_t;\\nattribute \"+n+\" \"+o+\" a_\"+a+\";\\nvarying \"+n+\" \"+i+\" \"+a+\";\\n#else\\nuniform \"+n+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n    \"+a+\" = unpack_mix_\"+o+\"(a_\"+a+\", a_\"+a+\"_t);\\n#else\\n    \"+n+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\":\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nuniform lowp float a_\"+a+\"_t;\\nattribute \"+n+\" \"+o+\" a_\"+a+\";\\n#else\\nuniform \"+n+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n    \"+n+\" \"+i+\" \"+a+\" = unpack_mix_\"+o+\"(a_\"+a+\", a_\"+a+\"_t);\\n#else\\n    \"+n+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\"})};for(var o in n)a(o);e.exports=n},{}],98:[function(t,e,r){var n=t(\"./image_source\"),i=t(\"../util/window\"),a=t(\"../data/raster_bounds_attributes\"),o=t(\"../render/vertex_array_object\"),s=t(\"../render/texture\"),l=function(t){function e(e,r,n,i){t.call(this,e,r,n,i),this.options=r,this.animate=void 0===r.animate||r.animate}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){this.canvas=this.canvas||i.document.getElementById(this.options.canvas),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(\"error\",new Error(\"Canvas dimensions cannot be less than or equal to zero.\")):(this.play=function(){this._playing=!0,this.map._rerender()},this.pause=function(){this._playing=!1},this._finishLoading())},e.prototype.getCanvas=function(){return this.canvas},e.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},e.prototype.onRemove=function(){this.pause()},e.prototype.prepare=function(){var t=this,e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,a.members)),this.boundsVAO||(this.boundsVAO=new o),this.texture?e?this.texture.update(this.canvas):this._playing&&(this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE),n.texSubImage2D(n.TEXTURE_2D,0,0,0,n.RGBA,n.UNSIGNED_BYTE,this.canvas)):(this.texture=new s(r,this.canvas,n.RGBA),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE)),t.tiles){var l=t.tiles[i];\"loaded\"!==l.state&&(l.state=\"loaded\",l.texture=t.texture)}}},e.prototype.serialize=function(){return{type:\"canvas\",canvas:this.canvas,coordinates:this.coordinates}},e.prototype.hasTransition=function(){return this._playing},e.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];t<e.length;t+=1){var r=e[t];if(isNaN(r)||r<=0)return!0}return!1},e}(n);e.exports=l},{\"../data/raster_bounds_attributes\":59,\"../render/texture\":93,\"../render/vertex_array_object\":95,\"../util/window\":254,\"./image_source\":102}],99:[function(t,e,r){var n=t(\"../util/evented\"),i=t(\"../util/util\"),a=t(\"../util/window\"),o=t(\"../data/extent\"),s=t(\"../util/ajax\").ResourceType,l=t(\"../util/browser\"),u=function(t){function e(e,r,n,a){t.call(this),this.id=e,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this.dispatcher=n,this.setEventedParent(a),this._data=r.data,this._options=i.extend({},r),this._collectResourceTiming=r.collectResourceTiming,this._resourceTiming=[],void 0!==r.maxzoom&&(this.maxzoom=r.maxzoom),r.type&&(this.type=r.type);var s=o/this.tileSize;this.workerOptions=i.extend({source:this.id,cluster:r.cluster||!1,geojsonVtOptions:{buffer:(void 0!==r.buffer?r.buffer:128)*s,tolerance:(void 0!==r.tolerance?r.tolerance:.375)*s,extent:o,maxZoom:this.maxzoom},superclusterOptions:{maxZoom:void 0!==r.clusterMaxZoom?Math.min(r.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,extent:o,radius:(r.clusterRadius||50)*s,log:!1}},r.workerOptions)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\"dataloading\",{dataType:\"source\"}),this._updateWorkerData(function(e){if(e)t.fire(\"error\",{error:e});else{var r={dataType:\"source\",sourceDataType:\"metadata\"};t._collectResourceTiming&&t._resourceTiming&&t._resourceTiming.length>0&&(r.resourceTiming=t._resourceTiming,t._resourceTiming=[]),t.fire(\"data\",r)}})},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.setData=function(t){var e=this;return this._data=t,this.fire(\"dataloading\",{dataType:\"source\"}),this._updateWorkerData(function(t){if(t)return e.fire(\"error\",{error:t});var r={dataType:\"source\",sourceDataType:\"content\"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(r.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(\"data\",r)}),this},e.prototype._updateWorkerData=function(t){var e=this,r=i.extend({},this.workerOptions),n=this._data;\"string\"==typeof n?(r.request=this.map._transformRequest(function(t){var e=a.document.createElement(\"a\");return e.href=t,e.href}(n),s.Source),r.request.collectResourceTiming=this._collectResourceTiming):r.data=JSON.stringify(n),this.workerID=this.dispatcher.send(this.type+\".loadData\",r,function(r,n){e._loaded=!0,n&&n.resourceTiming&&n.resourceTiming[e.id]&&(e._resourceTiming=n.resourceTiming[e.id].slice(0)),t(r)},this.workerID)},e.prototype.loadTile=function(t,e){var r=this,n=void 0===t.workerID||\"expired\"===t.state?\"loadTile\":\"reloadTile\",i={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:l.devicePixelRatio,overscaling:t.tileID.overscaleFactor(),showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(n,i,function(i,a){return t.unloadVectorData(),t.aborted?e(null):i?e(i):(t.loadVectorData(a,r.map.painter,\"reloadTile\"===n),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},null,t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast(\"removeSource\",{type:this.type,source:this.id})},e.prototype.serialize=function(){return i.extend({},this._options,{type:this.type,data:this._data})},e.prototype.hasTransition=function(){return!1},e}(n);e.exports=u},{\"../data/extent\":53,\"../util/ajax\":251,\"../util/browser\":252,\"../util/evented\":260,\"../util/util\":275,\"../util/window\":254}],100:[function(t,e,r){function n(t,e){var r=t.source,n=t.tileID.canonical;if(!this._geoJSONIndexes[r])return e(null,null);var i=this._geoJSONIndexes[r].getTile(n.z,n.x,n.y);if(!i)return e(null,null);var a=new s(i.features),o=l(a);0===o.byteOffset&&o.byteLength===o.buffer.byteLength||(o=new Uint8Array(o)),e(null,{vectorTile:a,rawData:o.buffer})}var i=t(\"../util/ajax\"),a=t(\"../util/performance\"),o=t(\"geojson-rewind\"),s=t(\"./geojson_wrapper\"),l=t(\"vt-pbf\"),u=t(\"supercluster\"),c=t(\"geojson-vt\"),h=function(t){function e(e,r,i){t.call(this,e,r,n),i&&(this.loadGeoJSON=i),this._geoJSONIndexes={}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.loadData=function(t,e){var r=this;this.loadGeoJSON(t,function(n,i){if(n||!i)return e(n);if(\"object\"!=typeof i)return e(new Error(\"Input data is not a valid GeoJSON object.\"));o(i,!0);try{r._geoJSONIndexes[t.source]=t.cluster?u(t.superclusterOptions).load(i.features):c(i,t.geojsonVtOptions)}catch(n){return e(n)}r.loaded[t.source]={};var s={};if(t.request&&t.request.collectResourceTiming){var l=a.getEntriesByName(t.request.url);l&&(s.resourceTiming={},s.resourceTiming[t.source]=JSON.parse(JSON.stringify(l)))}e(null,s)})},e.prototype.reloadTile=function(e,r){var n=this.loaded[e.source],i=e.uid;return n&&n[i]?t.prototype.reloadTile.call(this,e,r):this.loadTile(e,r)},e.prototype.loadGeoJSON=function(t,e){if(t.request)i.getJSON(t.request,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.\"))}}},e.prototype.removeSource=function(t,e){this._geoJSONIndexes[t.source]&&delete this._geoJSONIndexes[t.source],e()},e}(t(\"./vector_tile_worker_source\"));e.exports=h},{\"../util/ajax\":251,\"../util/performance\":268,\"./geojson_wrapper\":101,\"./vector_tile_worker_source\":116,\"geojson-rewind\":15,\"geojson-vt\":19,supercluster:32,\"vt-pbf\":34}],101:[function(t,e,r){var n=t(\"@mapbox/point-geometry\"),i=t(\"@mapbox/vector-tile\").VectorTileFeature.prototype.toGeoJSON,a=t(\"../data/extent\"),o=function(t){this._feature=t,this.extent=a,this.type=t.type,this.properties=t.tags,\"id\"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10))};o.prototype.loadGeometry=function(){if(1===this._feature.type){for(var t=[],e=0,r=this._feature.geometry;e<r.length;e+=1){var i=r[e];t.push([new n(i[0],i[1])])}return t}for(var a=[],o=0,s=this._feature.geometry;o<s.length;o+=1){for(var l=[],u=0,c=s[o];u<c.length;u+=1){var h=c[u];l.push(new n(h[0],h[1]))}a.push(l)}return a},o.prototype.toGeoJSON=function(t,e,r){return i.call(this,t,e,r)};var s=function(t){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=a,this.length=t.length,this._features=t};s.prototype.feature=function(t){return new o(this._features[t])},e.exports=s},{\"../data/extent\":53,\"@mapbox/point-geometry\":4,\"@mapbox/vector-tile\":8}],102:[function(t,e,r){var n=t(\"../util/util\"),i=t(\"./tile_id\").CanonicalTileID,a=t(\"../geo/lng_lat\"),o=t(\"@mapbox/point-geometry\"),s=t(\"../util/evented\"),l=t(\"../util/ajax\"),u=t(\"../util/browser\"),c=t(\"../data/extent\"),h=t(\"../data/array_types\").RasterBoundsArray,f=t(\"../data/raster_bounds_attributes\"),p=t(\"../render/vertex_array_object\"),d=t(\"../render/texture\"),g=function(t){function e(e,r,n,i){t.call(this),this.id=e,this.dispatcher=n,this.coordinates=r.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this.setEventedParent(i),this.options=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\"dataloading\",{dataType:\"source\"}),this.url=this.options.url,l.getImage(this.map._transformRequest(this.url,l.ResourceType.Image),function(e,r){e?t.fire(\"error\",{error:e}):r&&(t.image=u.getImageData(r),t._finishLoading())})},e.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"}))},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.setCoordinates=function(t){this.coordinates=t;var e=this.map,r=t.map(function(t){return e.transform.locationCoordinate(a.convert(t)).zoomTo(0)}),s=this.centerCoord=n.getCoordinatesCenter(r);s.column=Math.floor(s.column),s.row=Math.floor(s.row),this.tileID=new i(s.zoom,s.column,s.row),this.minzoom=this.maxzoom=s.zoom;var l=r.map(function(t){var e=t.zoomTo(s.zoom);return new o(Math.round((e.column-s.column)*c),Math.round((e.row-s.row)*c))});return this._boundsArray=new h,this._boundsArray.emplaceBack(l[0].x,l[0].y,0,0),this._boundsArray.emplaceBack(l[1].x,l[1].y,c,0),this._boundsArray.emplaceBack(l[3].x,l[3].y,0,c),this._boundsArray.emplaceBack(l[2].x,l[2].y,c,c),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(\"data\",{dataType:\"source\",sourceDataType:\"content\"}),this},e.prototype.prepare=function(){var t=this;if(0!==Object.keys(this.tiles).length&&this.image){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,f.members)),this.boundsVAO||(this.boundsVAO=new p),this.texture||(this.texture=new d(e,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),t.tiles){var i=t.tiles[n];\"loaded\"!==i.state&&(i.state=\"loaded\",i.texture=t.texture)}}},e.prototype.loadTile=function(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state=\"errored\",e(null))},e.prototype.serialize=function(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}},e.prototype.hasTransition=function(){return!1},e}(s);e.exports=g},{\"../data/array_types\":39,\"../data/extent\":53,\"../data/raster_bounds_attributes\":59,\"../geo/lng_lat\":62,\"../render/texture\":93,\"../render/vertex_array_object\":95,\"../util/ajax\":251,\"../util/browser\":252,\"../util/evented\":260,\"../util/util\":275,\"./tile_id\":114,\"@mapbox/point-geometry\":4}],103:[function(t,e,r){var n=t(\"../util/util\"),i=t(\"../util/ajax\"),a=t(\"../util/browser\"),o=t(\"../util/mapbox\").normalizeSourceURL;e.exports=function(t,e,r){var s=function(t,e){if(t)return r(t);if(e){var i=n.pick(e,[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"mapbox_logo\",\"bounds\"]);e.vector_layers&&(i.vectorLayers=e.vector_layers,i.vectorLayerIds=i.vectorLayers.map(function(t){return t.id})),r(null,i)}};t.url?i.getJSON(e(o(t.url),i.ResourceType.Source),s):a.frame(function(){return s(null,t)})}},{\"../util/ajax\":251,\"../util/browser\":252,\"../util/mapbox\":267,\"../util/util\":275}],104:[function(t,e,r){var n=t(\"../data/extent\");e.exports=function(t,e,r){return e*(n/(t.tileSize*Math.pow(2,r-t.tileID.overscaledZ)))}},{\"../data/extent\":53}],105:[function(t,e,r){function n(t,e){var r=t.tileID,n=e.tileID;return r.overscaledZ-n.overscaledZ||r.canonical.y-n.canonical.y||r.wrap-n.wrap||r.canonical.x-n.canonical.x}r.rendered=function(t,e,r,i,a,o,s){var l=t.tilesIn(r);l.sort(n);for(var u=[],c=0,h=l;c<h.length;c+=1){var f=h[c];u.push({wrappedTileID:f.tileID.wrapped().key,queryResults:f.tile.queryRenderedFeatures(e,f.queryGeometry,f.scale,i,o,t.id,s)})}return function(t){for(var e={},r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.queryResults,s=a.wrappedTileID,l=r[s]=r[s]||{};for(var u in o)for(var c=o[u],h=l[u]=l[u]||{},f=e[u]=e[u]||[],p=0,d=c;p<d.length;p+=1){var g=d[p];h[g.featureIndex]||(h[g.featureIndex]=!0,f.push(g.feature))}}return e}(u)},r.source=function(t,e){for(var r=t.getRenderableIds().map(function(e){return t.getTileByID(e)}),n=[],i={},a=0;a<r.length;a++){var o=r[a],s=o.tileID.canonical.key;i[s]||(i[s]=!0,o.querySourceFeatures(n,e))}return n}},{}],106:[function(t,e,r){var n=t(\"../util/ajax\"),i=t(\"../util/util\"),a=(t(\"../util/evented\"),t(\"../util/mapbox\").normalizeTileURL),o=t(\"../util/browser\"),s=t(\"./tile_id\").OverscaledTileID,l=function(t){function e(e,r,n,a){t.call(this,e,r,n,a),this.type=\"raster-dem\",this.maxzoom=22,this._options=i.extend({},r)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.serialize=function(){return{type:\"raster-dem\",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds}},e.prototype.loadTile=function(t,e){var r=a(t.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);t.request=n.getImage(this.map._transformRequest(r,n.ResourceType.Tile),function(r,n){if(delete t.request,t.aborted)t.state=\"unloaded\",e(null);else if(r)t.state=\"errored\",e(r);else if(n){this.map._refreshExpiredTiles&&t.setExpiryData(n),delete n.cacheControl,delete n.expires;var i=o.getImageData(n),a={uid:t.uid,coord:t.tileID,source:this.id,rawImageData:i};t.workerID&&\"expired\"!==t.state||(t.workerID=this.dispatcher.send(\"loadDEMTile\",a,function(r,n){r&&(t.state=\"errored\",e(r)),n&&(t.dem=n,t.needsHillshadePrepare=!0,t.state=\"loaded\",e(null))}.bind(this)))}}.bind(this)),t.neighboringTiles=this._getNeighboringTiles(t.tileID)},e.prototype._getNeighboringTiles=function(t){var e=t.canonical,r=Math.pow(2,e.z),n=(e.x-1+r)%r,i=0===e.x?t.wrap-1:t.wrap,a=(e.x+1+r)%r,o=e.x+1===r?t.wrap+1:t.wrap,l={};return l[new s(t.overscaledZ,i,e.z,n,e.y).key]={backfilled:!1},l[new s(t.overscaledZ,o,e.z,a,e.y).key]={backfilled:!1},e.y>0&&(l[new s(t.overscaledZ,i,e.z,n,e.y-1).key]={backfilled:!1},l[new s(t.overscaledZ,t.wrap,e.z,e.x,e.y-1).key]={backfilled:!1},l[new s(t.overscaledZ,o,e.z,a,e.y-1).key]={backfilled:!1}),e.y+1<r&&(l[new s(t.overscaledZ,i,e.z,n,e.y+1).key]={backfilled:!1},l[new s(t.overscaledZ,t.wrap,e.z,e.x,e.y+1).key]={backfilled:!1},l[new s(t.overscaledZ,o,e.z,a,e.y+1).key]={backfilled:!1}),l},e.prototype.unloadTile=function(t){t.demTexture&&this.map.painter.saveTileTexture(t.demTexture),t.fbo&&(t.fbo.destroy(),delete t.fbo),t.dem&&delete t.dem,delete t.neighboringTiles,t.state=\"unloaded\",this.dispatcher.send(\"removeDEMTile\",{uid:t.uid,source:this.id},void 0,t.workerID)},e}(t(\"./raster_tile_source\"));e.exports=l},{\"../util/ajax\":251,\"../util/browser\":252,\"../util/evented\":260,\"../util/mapbox\":267,\"../util/util\":275,\"./raster_tile_source\":108,\"./tile_id\":114}],107:[function(t,e,r){var n=t(\"../data/dem_data\").DEMData,i=function(){this.loading={},this.loaded={}};i.prototype.loadTile=function(t,e){var r=t.source,i=t.uid;this.loading[r]||(this.loading[r]={});var a=new n(i);this.loading[r][i]=a,a.loadFromImage(t.rawImageData),delete this.loading[r][i],this.loaded[r]=this.loaded[r]||{},this.loaded[r][i]=a,e(null,a)},i.prototype.removeTile=function(t){var e=this.loaded[t.source],r=t.uid;e&&e[r]&&delete e[r]},e.exports=i},{\"../data/dem_data\":52}],108:[function(t,e,r){var n=t(\"../util/util\"),i=t(\"../util/ajax\"),a=t(\"../util/evented\"),o=t(\"./load_tilejson\"),s=t(\"../util/mapbox\").normalizeTileURL,l=t(\"./tile_bounds\"),u=t(\"../render/texture\"),c=function(t){function e(e,r,i,a){t.call(this),this.id=e,this.dispatcher=i,this.setEventedParent(a),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=n.extend({},r),n.extend(this,n.pick(r,[\"url\",\"scheme\",\"tileSize\"]))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\"dataloading\",{dataType:\"source\"}),o(this._options,this.map._transformRequest,function(e,r){e?t.fire(\"error\",e):r&&(n.extend(t,r),r.bounds&&(t.tileBounds=new l(r.bounds,t.minzoom,t.maxzoom)),t.fire(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"}),t.fire(\"data\",{dataType:\"source\",sourceDataType:\"content\"}))})},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.serialize=function(){return n.extend({},this._options)},e.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},e.prototype.loadTile=function(t,e){var r=this,n=s(t.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);t.request=i.getImage(this.map._transformRequest(n,i.ResourceType.Tile),function(n,i){if(delete t.request,t.aborted)t.state=\"unloaded\",e(null);else if(n)t.state=\"errored\",e(n);else if(i){r.map._refreshExpiredTiles&&t.setExpiryData(i),delete i.cacheControl,delete i.expires;var a=r.map.painter.context,o=a.gl;t.texture=r.map.painter.getTileTexture(i.width),t.texture?(t.texture.bind(o.LINEAR,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),o.texSubImage2D(o.TEXTURE_2D,0,0,0,o.RGBA,o.UNSIGNED_BYTE,i)):(t.texture=new u(a,i,o.RGBA),t.texture.bind(o.LINEAR,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),a.extTextureFilterAnisotropic&&o.texParameterf(o.TEXTURE_2D,a.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,a.extTextureFilterAnisotropicMax)),o.generateMipmap(o.TEXTURE_2D),t.state=\"loaded\",e(null)}})},e.prototype.abortTile=function(t,e){t.request&&(t.request.abort(),delete t.request),e()},e.prototype.unloadTile=function(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()},e.prototype.hasTransition=function(){return!1},e}(a);e.exports=c},{\"../render/texture\":93,\"../util/ajax\":251,\"../util/evented\":260,\"../util/mapbox\":267,\"../util/util\":275,\"./load_tilejson\":103,\"./tile_bounds\":113}],109:[function(t,e,r){var n=t(\"../util/ajax\"),i=t(\"../util/evented\"),a=t(\"../util/window\"),o=!1,s=null;e.exports.evented=new i,e.exports.registerForPluginAvailability=function(t){return s?t({pluginBlobURL:s,errorCallback:e.exports.errorCallback}):e.exports.evented.once(\"pluginAvailable\",t),t},e.exports.createBlobURL=function(t){return a.URL.createObjectURL(new a.Blob([t.data],{type:\"text/javascript\"}))},e.exports.clearRTLTextPlugin=function(){o=!1,s=null},e.exports.setRTLTextPlugin=function(t,r){if(o)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");o=!0,e.exports.errorCallback=r,n.getArrayBuffer({url:t},function(t,n){t?r(t):n&&(s=e.exports.createBlobURL(n),e.exports.evented.fire(\"pluginAvailable\",{pluginBlobURL:s,errorCallback:r}))})},e.exports.applyArabicShaping=null,e.exports.processBidirectionalText=null},{\"../util/ajax\":251,\"../util/evented\":260,\"../util/window\":254}],110:[function(t,e,r){var n=t(\"../util/util\"),i={vector:t(\"../source/vector_tile_source\"),raster:t(\"../source/raster_tile_source\"),\"raster-dem\":t(\"../source/raster_dem_tile_source\"),geojson:t(\"../source/geojson_source\"),video:t(\"../source/video_source\"),image:t(\"../source/image_source\"),canvas:t(\"../source/canvas_source\")};r.create=function(t,e,r,a){var o=new i[e.type](t,e,r,a);if(o.id!==t)throw new Error(\"Expected Source id to be \"+t+\" instead of \"+o.id);return n.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],o),o},r.getType=function(t){return i[t]},r.setType=function(t,e){i[t]=e}},{\"../source/canvas_source\":98,\"../source/geojson_source\":99,\"../source/image_source\":102,\"../source/raster_dem_tile_source\":106,\"../source/raster_tile_source\":108,\"../source/vector_tile_source\":115,\"../source/video_source\":117,\"../util/util\":275}],111:[function(t,e,r){function n(t,e){var r=e.zoomTo(t.canonical.z);return new f((r.column-(t.canonical.x+t.wrap*Math.pow(2,t.canonical.z)))*h,(r.row-t.canonical.y)*h)}function i(t){return\"raster\"===t||\"image\"===t||\"video\"===t}var a=t(\"./source\").create,o=t(\"./tile\"),s=t(\"../util/evented\"),l=t(\"../util/lru_cache\"),u=t(\"../geo/coordinate\"),c=t(\"../util/util\"),h=t(\"../data/extent\"),f=(t(\"../gl/context\"),t(\"@mapbox/point-geometry\")),p=t(\"../util/browser\"),d=t(\"./tile_id\").OverscaledTileID,g=function(t){function e(e,r,n){var i=this;t.call(this),this.id=e,this.dispatcher=n,this.on(\"data\",function(t){\"source\"===t.dataType&&\"metadata\"===t.sourceDataType&&(i._sourceLoaded=!0),i._sourceLoaded&&!i._paused&&\"source\"===t.dataType&&\"content\"===t.sourceDataType&&(i.reload(),i.transform&&i.update(i.transform))}),this.on(\"error\",function(){i._sourceErrored=!0}),this._source=a(e,r,n,this),this._tiles={},this._cache=new l(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._isIdRenderable=this._isIdRenderable.bind(this),this._coveredTiles={}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.onAdd=function(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t)},e.prototype.onRemove=function(t){this._source&&this._source.onRemove&&this._source.onRemove(t)},e.prototype.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},e.prototype.getSource=function(){return this._source},e.prototype.pause=function(){this._paused=!0},e.prototype.resume=function(){if(this._paused){var t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform)}},e.prototype._loadTile=function(t,e){return this._source.loadTile(t,e)},e.prototype._unloadTile=function(t){if(this._source.unloadTile)return this._source.unloadTile(t,function(){})},e.prototype._abortTile=function(t){if(this._source.abortTile)return this._source.abortTile(t,function(){})},e.prototype.serialize=function(){return this._source.serialize()},e.prototype.prepare=function(t){for(var e in this._source.prepare&&this._source.prepare(),this._tiles)this._tiles[e].upload(t)},e.prototype.getIds=function(){var t=this;return Object.keys(this._tiles).map(Number).sort(function(e,r){var n=t._tiles[e].tileID,i=t._tiles[r].tileID,a=new f(n.canonical.x,n.canonical.y).rotate(t.transform.angle),o=new f(i.canonical.x,i.canonical.y).rotate(t.transform.angle);return n.overscaledZ-i.overscaledZ||o.y-a.y||o.x-a.x})},e.prototype.getRenderableIds=function(){return this.getIds().filter(this._isIdRenderable)},e.prototype.hasRenderableParent=function(t){var e=this.findLoadedParent(t,0,{});return!!e&&this._isIdRenderable(e.tileID.key)},e.prototype._isIdRenderable=function(t){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]},e.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var t in this._resetCache(),this._tiles)this._reloadTile(t,\"reloading\")},e.prototype._reloadTile=function(t,e){var r=this._tiles[t];r&&(\"loading\"!==r.state&&(r.state=e),this._loadTile(r,this._tileLoaded.bind(this,r,t,e)))},e.prototype._tileLoaded=function(t,e,r,n){if(n)return t.state=\"errored\",void(404!==n.status?this._source.fire(\"error\",{tile:t,error:n}):this.update(this.transform));t.timeAdded=p.now(),\"expired\"===r&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(e,t),\"raster-dem\"===this.getSource().type&&t.dem&&this._backfillDEM(t),this._source.fire(\"data\",{dataType:\"source\",tile:t,coord:t.tileID}),this.map&&(this.map.painter.tileExtentVAO.vao=null)},e.prototype._backfillDEM=function(t){function e(t,e){t.needsHillshadePrepare=!0;var r=e.tileID.canonical.x-t.tileID.canonical.x,n=e.tileID.canonical.y-t.tileID.canonical.y,i=Math.pow(2,t.tileID.canonical.z),a=e.tileID.key;0===r&&0===n||Math.abs(n)>1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}for(var r=this.getRenderableIds(),n=0;n<r.length;n++){var i=r[n];if(t.neighboringTiles&&t.neighboringTiles[i]){var a=this.getTileByID(i);e(t,a),e(a,t)}}},e.prototype.getTile=function(t){return this.getTileByID(t.key)},e.prototype.getTileByID=function(t){return this._tiles[t]},e.prototype.getZoom=function(t){return t.zoom+t.scaleZoom(t.tileSize/this._source.tileSize)},e.prototype._findLoadedChildren=function(t,e,r){var n=this,i=!1;for(var a in n._tiles){var o=n._tiles[a];if(!(r[a]||!o.hasData()||o.tileID.overscaledZ<=t.overscaledZ||o.tileID.overscaledZ>e)){var s=Math.pow(2,o.tileID.canonical.z-t.canonical.z);if(Math.floor(o.tileID.canonical.x/s)===t.canonical.x&&Math.floor(o.tileID.canonical.y/s)===t.canonical.y)for(r[a]=o.tileID,i=!0;o&&o.tileID.overscaledZ-1>t.overscaledZ;){var l=o.tileID.scaledTo(o.tileID.overscaledZ-1);if(!l)break;(o=n._tiles[l.key])&&o.hasData()&&(delete r[a],r[l.key]=l)}}}return i},e.prototype.findLoadedParent=function(t,e,r){for(var n=this,i=t.overscaledZ-1;i>=e;i--){var a=t.scaledTo(i);if(!a)return;var o=String(a.key),s=n._tiles[o];if(s&&s.hasData())return r[o]=a,s;if(n._cache.has(o))return r[o]=a,n._cache.get(o)}},e.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},e.prototype.update=function(t){var r=this;if(this.transform=t,this._sourceLoaded&&!this._paused){var n;this.updateCacheSize(t),this._coveredTiles={},this.used?this._source.tileID?n=t.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(t){return new d(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y)}):(n=t.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(n=n.filter(function(t){return r._source.hasTile(t)}))):n=[];var a,o=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(t)),s=Math.max(o-e.maxOverzooming,this._source.minzoom),l=Math.max(o+e.maxUnderzooming,this._source.minzoom),u=this._updateRetainedTiles(n,o),h={};if(i(this._source.type))for(var f=Object.keys(u),g=0;g<f.length;g++){var v=f[g],m=u[v],y=r._tiles[v];if(y&&(void 0===y.fadeEndTime||y.fadeEndTime>=p.now())){r._findLoadedChildren(m,l,u)&&(u[v]=m);var x=r.findLoadedParent(m,s,h);x&&r._addTile(x.tileID)}}for(a in h)u[a]||(r._coveredTiles[a]=!0);for(a in h)u[a]=h[a];for(var b=c.keysDifference(this._tiles,u),_=0;_<b.length;_++)r._removeTile(b[_])}},e.prototype._updateRetainedTiles=function(t,r){for(var n=this,i={},a={},o=Math.max(r-e.maxOverzooming,this._source.minzoom),s=Math.max(r+e.maxUnderzooming,this._source.minzoom),l=0;l<t.length;l++){var u=t[l],c=n._addTile(u),h=!1;if(c.hasData())i[u.key]=u;else{h=c.wasRequested(),i[u.key]=u;var f=!0;if(r+1>n._source.maxzoom){var p=u.children(n._source.maxzoom)[0],d=n.getTile(p);d&&d.hasData()?i[p.key]=p:f=!1}else{n._findLoadedChildren(u,s,i);for(var g=u.children(n._source.maxzoom),v=0;v<g.length;v++)if(!i[g[v].key]){f=!1;break}}if(!f)for(var m=u.overscaledZ-1;m>=o;--m){var y=u.scaledTo(m);if(a[y.key])break;if(a[y.key]=!0,!(c=n.getTile(y))&&h&&(c=n._addTile(y)),c&&(i[y.key]=y,h=c.wasRequested(),c.hasData()))break}}}return i},e.prototype._addTile=function(t){var e=this._tiles[t.key];if(e)return e;(e=this._cache.getAndRemove(t.key))&&this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,e));var r=Boolean(e);return r||(e=new o(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(e,this._tileLoaded.bind(this,e,t.key,e.state))),e?(e.uses++,this._tiles[t.key]=e,r||this._source.fire(\"dataloading\",{tile:e,coord:e.tileID,dataType:\"source\"}),e):null},e.prototype._setTileReloadTimer=function(t,e){var r=this;t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);var n=e.getExpiryTimeout();n&&(this._timers[t]=setTimeout(function(){r._reloadTile(t,\"expired\"),delete r._timers[t]},n))},e.prototype._setCacheInvalidationTimer=function(t,e){var r=this;t in this._cacheTimers&&(clearTimeout(this._cacheTimers[t]),delete this._cacheTimers[t]);var n=e.getExpiryTimeout();n&&(this._cacheTimers[t]=setTimeout(function(){r._cache.remove(t),delete r._cacheTimers[t]},n))},e.prototype._removeTile=function(t){var e=this._tiles[t];if(e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),!(e.uses>0)))if(e.hasData()){e.tileID=e.tileID.wrapped();var r=e.tileID.key;this._cache.add(r,e),this._setCacheInvalidationTimer(r,e)}else e.aborted=!0,this._abortTile(e),this._unloadTile(e)},e.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._resetCache()},e.prototype._resetCache=function(){for(var t in this._cacheTimers)clearTimeout(this._cacheTimers[t]);this._cacheTimers={},this._cache.reset()},e.prototype.tilesIn=function(t){for(var e=[],r=this.getIds(),i=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];i=Math.min(i,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 d=this._tiles[r[p]],g=d.tileID,v=[n(g,new u(i,a,l)),n(g,new u(o,s,l))];if(v[0].x<h&&v[0].y<h&&v[1].x>=0&&v[1].y>=0){for(var m=[],y=0;y<t.length;y++)m.push(n(g,t[y]));e.push({tile:d,tileID:g,queryGeometry:[m],scale:Math.pow(2,this.transform.zoom-d.tileID.overscaledZ)})}}return e},e.prototype.getVisibleCoordinates=function(){for(var t=this,e=this.getRenderableIds().map(function(e){return t._tiles[e].tileID}),r=0,n=e;r<n.length;r+=1){var i=n[r];i.posMatrix=t.transform.calculatePosMatrix(i.toUnwrapped())}return e},e.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(i(this._source.type))for(var t in this._tiles){var e=this._tiles[t];if(void 0!==e.fadeEndTime&&e.fadeEndTime>=p.now())return!0}return!1},e}(s);g.maxOverzooming=10,g.maxUnderzooming=3,e.exports=g},{\"../data/extent\":53,\"../geo/coordinate\":61,\"../gl/context\":66,\"../util/browser\":252,\"../util/evented\":260,\"../util/lru_cache\":266,\"../util/util\":275,\"./source\":110,\"./tile\":112,\"./tile_id\":114,\"@mapbox/point-geometry\":4}],112:[function(t,e,r){var n=t(\"../util/util\"),i=t(\"../data/bucket\").deserialize,a=(t(\"../data/feature_index\"),t(\"@mapbox/vector-tile\")),o=t(\"pbf\"),s=t(\"../util/vectortile_to_geojson\"),l=t(\"../style-spec/feature_filter\"),u=(t(\"../symbol/collision_index\"),t(\"../data/bucket/symbol_bucket\")),c=t(\"../data/array_types\"),h=c.RasterBoundsArray,f=c.CollisionBoxArray,p=t(\"../data/raster_bounds_attributes\"),d=t(\"../data/extent\"),g=t(\"@mapbox/point-geometry\"),v=t(\"../render/texture\"),m=t(\"../data/segment\").SegmentVector,y=t(\"../data/index_array_type\").TriangleIndexArray,x=t(\"../util/browser\"),b=function(t,e){this.tileID=t,this.uid=n.uniqueId(),this.uses=0,this.tileSize=e,this.buckets={},this.expirationTime=null,this.expiredRequestCount=0,this.state=\"loading\"};b.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e<x.now()||this.fadeEndTime&&e<this.fadeEndTime||(this.fadeEndTime=e)},b.prototype.wasRequested=function(){return\"errored\"===this.state||\"loaded\"===this.state||\"reloading\"===this.state},b.prototype.loadVectorData=function(t,e,r){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",t){if(t.rawTileData&&(this.rawTileData=t.rawTileData),this.collisionBoxArray=t.collisionBoxArray,this.featureIndex=t.featureIndex,this.featureIndex.rawTileData=this.rawTileData,this.buckets=i(t.buckets,e.style),r)for(var n in this.buckets){var a=this.buckets[n];a instanceof u&&(a.justReloaded=!0)}t.iconAtlasImage&&(this.iconAtlasImage=t.iconAtlasImage),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage)}else this.collisionBoxArray=new f},b.prototype.unloadVectorData=function(){for(var t in this.buckets)this.buckets[t].destroy();this.buckets={},this.iconAtlasTexture&&this.iconAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.collisionBoxArray=null,this.featureIndex=null,this.state=\"unloaded\"},b.prototype.unloadDEMData=function(){this.dem=null,this.neighboringTiles=null,this.state=\"unloaded\"},b.prototype.getBucket=function(t){return this.buckets[t.id]},b.prototype.upload=function(t){for(var e in this.buckets){var r=this.buckets[e];r.uploaded||(r.upload(t),r.uploaded=!0)}var n=t.gl;this.iconAtlasImage&&(this.iconAtlasTexture=new v(t,this.iconAtlasImage,n.RGBA),this.iconAtlasImage=null),this.glyphAtlasImage&&(this.glyphAtlasTexture=new v(t,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null)},b.prototype.queryRenderedFeatures=function(t,e,r,n,i,a,o){if(!this.featureIndex||!this.collisionBoxArray)return{};var s=0,l={};for(var c in t){var h=this.getBucket(t[c]);h&&(s=Math.max(s,t[c].queryRadius(h)),h instanceof u&&void 0!==h.bucketInstanceId&&(l[h.bucketInstanceId]=!0))}return this.featureIndex.query({queryGeometry:e,scale:r,tileSize:this.tileSize,bearing:i,params:n,additionalRadius:s,collisionBoxArray:this.collisionBoxArray,sourceID:a,collisionIndex:o,bucketInstanceIds:l},t)},b.prototype.querySourceFeatures=function(t,e){if(this.rawTileData){this.vtLayers||(this.vtLayers=new a.VectorTile(new o(this.rawTileData)).layers);var r=e?e.sourceLayer:\"\",n=this.vtLayers._geojsonTileLayer||this.vtLayers[r];if(n)for(var i=l(e&&e.filter),u={z:this.tileID.overscaledZ,x:this.tileID.canonical.x,y:this.tileID.canonical.y},c=0;c<n.length;c++){var h=n.feature(c);if(i({zoom:this.tileID.overscaledZ},h)){var f=new s(h,u.z,u.x,u.y);f.tile=u,t.push(f)}}}},b.prototype.clearMask=function(){this.segments&&(this.segments.destroy(),delete this.segments),this.maskedBoundsBuffer&&(this.maskedBoundsBuffer.destroy(),delete this.maskedBoundsBuffer),this.maskedIndexBuffer&&(this.maskedIndexBuffer.destroy(),delete this.maskedIndexBuffer)},b.prototype.setMask=function(t,e){if(!n.deepEqual(this.mask,t)&&(this.mask=t,this.clearMask(),!n.deepEqual(t,{0:!0}))){var r=new h,i=new y;this.segments=new m,this.segments.prepareSegment(0,r,i);for(var a=Object.keys(t),o=0;o<a.length;o++){var s=t[a[o]],l=d>>s.z,u=new g(s.x*l,s.y*l),c=new g(u.x+l,u.y+l),f=this.segments.prepareSegment(4,r,i);r.emplaceBack(u.x,u.y,u.x,u.y),r.emplaceBack(c.x,u.y,c.x,u.y),r.emplaceBack(u.x,c.y,u.x,c.y),r.emplaceBack(c.x,c.y,c.x,c.y);var v=f.vertexLength;i.emplaceBack(v,v+1,v+2),i.emplaceBack(v+1,v+2,v+3),f.vertexLength+=4,f.primitiveLength+=2}this.maskedBoundsBuffer=e.createVertexBuffer(r,p.members),this.maskedIndexBuffer=e.createIndexBuffer(i)}},b.prototype.hasData=function(){return\"loaded\"===this.state||\"reloading\"===this.state||\"expired\"===this.state},b.prototype.setExpiryData=function(t){var e=this.expirationTime;if(t.cacheControl){var r=n.parseCacheControl(t.cacheControl);r[\"max-age\"]&&(this.expirationTime=Date.now()+1e3*r[\"max-age\"])}else t.expires&&(this.expirationTime=new Date(t.expires).getTime());if(this.expirationTime){var i=Date.now(),a=!1;if(this.expirationTime>i)a=!1;else if(e)if(this.expirationTime<e)a=!0;else{var o=this.expirationTime-e;o?this.expirationTime=i+Math.max(o,3e4):a=!0}else a=!0;a?(this.expiredRequestCount++,this.state=\"expired\"):this.expiredRequestCount=0}},b.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1)},e.exports=b},{\"../data/array_types\":39,\"../data/bucket\":40,\"../data/bucket/symbol_bucket\":51,\"../data/extent\":53,\"../data/feature_index\":54,\"../data/index_array_type\":55,\"../data/raster_bounds_attributes\":59,\"../data/segment\":60,\"../render/texture\":93,\"../style-spec/feature_filter\":148,\"../symbol/collision_index\":217,\"../util/browser\":252,\"../util/util\":275,\"../util/vectortile_to_geojson\":276,\"@mapbox/point-geometry\":4,\"@mapbox/vector-tile\":8,pbf:30}],113:[function(t,e,r){var n=t(\"../geo/lng_lat_bounds\"),i=t(\"../util/util\").clamp,a=function(t,e,r){this.bounds=n.convert(this.validateBounds(t)),this.minzoom=e||0,this.maxzoom=r||24};a.prototype.validateBounds=function(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]},a.prototype.contains=function(t){var e=Math.floor(this.lngX(this.bounds.getWest(),t.z)),r=Math.floor(this.latY(this.bounds.getNorth(),t.z)),n=Math.ceil(this.lngX(this.bounds.getEast(),t.z)),i=Math.ceil(this.latY(this.bounds.getSouth(),t.z));return t.x>=e&&t.x<n&&t.y>=r&&t.y<i},a.prototype.lngX=function(t,e){return(t+180)*(Math.pow(2,e)/360)},a.prototype.latY=function(t,e){var r=i(Math.sin(Math.PI/180*t),-.9999,.9999),n=Math.pow(2,e)/(2*Math.PI);return Math.pow(2,e-1)+.5*Math.log((1+r)/(1-r))*-n},e.exports=a},{\"../geo/lng_lat_bounds\":63,\"../util/util\":275}],114:[function(t,e,r){function n(t,e,r,n){(t*=2)<0&&(t=-1*t-1);var i=1<<e;return 32*(i*i*t+i*n+r)+e}var i=t(\"@mapbox/whoots-js\"),a=t(\"../util/web_worker_transfer\").register,o=t(\"../geo/coordinate\"),s=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=n(0,t,e,r)};s.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},s.prototype.url=function(t,e){var r=i.getTileBBox(this.x,this.y,this.z),n=function(t,e,r){for(var n,i=\"\",a=t;a>0;a--)i+=(e&(n=1<<a-1)?1:0)+(r&n?2:0);return 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}\",String(this.z)).replace(\"{x}\",String(this.x)).replace(\"{y}\",String(\"tms\"===e?Math.pow(2,this.z)-this.y-1:this.y)).replace(\"{quadkey}\",n).replace(\"{bbox-epsg-3857}\",r)};var l=function(t,e){this.wrap=t,this.canonical=e,this.key=n(t,e.z,e.x,e.y)},u=function(t,e,r,i,a){this.overscaledZ=t,this.wrap=e,this.canonical=new s(r,+i,+a),this.key=n(e,t,i,a)};u.prototype.scaledTo=function(t){var e=this.canonical.z-t;return t>this.canonical.z?new u(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new u(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},u.prototype.isChildOf=function(t){var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ<this.overscaledZ&&t.canonical.x===this.canonical.x>>e&&t.canonical.y===this.canonical.y>>e},u.prototype.children=function(t){if(this.overscaledZ>=t)return[new u(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new u(e,this.wrap,e,r,n),new u(e,this.wrap,e,r+1,n),new u(e,this.wrap,e,r,n+1),new u(e,this.wrap,e,r+1,n+1)]},u.prototype.isLessThan=function(t){return this.wrap<t.wrap||!(this.wrap>t.wrap)&&(this.overscaledZ<t.overscaledZ||!(this.overscaledZ>t.overscaledZ)&&(this.canonical.x<t.canonical.x||!(this.canonical.x>t.canonical.x)&&this.canonical.y<t.canonical.y))},u.prototype.wrapped=function(){return new u(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},u.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},u.prototype.toUnwrapped=function(){return new l(this.wrap,this.canonical)},u.prototype.toString=function(){return this.overscaledZ+\"/\"+this.canonical.x+\"/\"+this.canonical.y},u.prototype.toCoordinate=function(){return new o(this.canonical.x+Math.pow(2,this.wrap),this.canonical.y,this.canonical.z)},a(\"CanonicalTileID\",s),a(\"OverscaledTileID\",u,{omit:[\"posMatrix\"]}),e.exports={CanonicalTileID:s,OverscaledTileID:u,UnwrappedTileID:l}},{\"../geo/coordinate\":61,\"../util/web_worker_transfer\":278,\"@mapbox/whoots-js\":12}],115:[function(t,e,r){var n=t(\"../util/evented\"),i=t(\"../util/util\"),a=t(\"./load_tilejson\"),o=t(\"../util/mapbox\").normalizeTileURL,s=t(\"./tile_bounds\"),l=t(\"../util/ajax\").ResourceType,u=t(\"../util/browser\"),c=function(t){function e(e,r,n,a){if(t.call(this),this.id=e,this.dispatcher=n,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,i.extend(this,i.pick(r,[\"url\",\"scheme\",\"tileSize\"])),this._options=i.extend({type:\"vector\"},r),this._collectResourceTiming=r.collectResourceTiming,512!==this.tileSize)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(a)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this;this.fire(\"dataloading\",{dataType:\"source\"}),a(this._options,this.map._transformRequest,function(e,r){e?t.fire(\"error\",e):r&&(i.extend(t,r),r.bounds&&(t.tileBounds=new s(r.bounds,t.minzoom,t.maxzoom)),t.fire(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"}),t.fire(\"data\",{dataType:\"source\",sourceDataType:\"content\"}))})},e.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},e.prototype.onAdd=function(t){this.map=t,this.load()},e.prototype.serialize=function(){return i.extend({},this._options)},e.prototype.loadTile=function(t,e){function r(r,n){return t.aborted?e(null):r?e(r):(n&&n.resourceTiming&&(t.resourceTiming=n.resourceTiming),this.map._refreshExpiredTiles&&t.setExpiryData(n),t.loadVectorData(n,this.map.painter),e(null),void(t.reloadCallback&&(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)))}var n=t.tileID.overscaleFactor(),i=o(t.tileID.canonical.url(this.tiles,this.scheme),this.url),a={request:this.map._transformRequest(i,l.Tile),uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*n,type:this.type,source:this.id,pixelRatio:u.devicePixelRatio,overscaling:n,showCollisionBoxes:this.map.showCollisionBoxes};a.request.collectResourceTiming=this._collectResourceTiming,void 0===t.workerID||\"expired\"===t.state?t.workerID=this.dispatcher.send(\"loadTile\",a,r.bind(this)):\"loading\"===t.state?t.reloadCallback=e:this.dispatcher.send(\"reloadTile\",a,r.bind(this),t.workerID)},e.prototype.abortTile=function(t){this.dispatcher.send(\"abortTile\",{uid:t.uid,type:this.type,source:this.id},void 0,t.workerID)},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},void 0,t.workerID)},e.prototype.hasTransition=function(){return!1},e}(n);e.exports=c},{\"../util/ajax\":251,\"../util/browser\":252,\"../util/evented\":260,\"../util/mapbox\":267,\"../util/util\":275,\"./load_tilejson\":103,\"./tile_bounds\":113}],116:[function(t,e,r){function n(t,e){var r=i.getArrayBuffer(t.request,function(t,r){t?e(t):r&&e(null,{vectorTile:new a.VectorTile(new o(r.data)),rawData:r.data,cacheControl:r.cacheControl,expires:r.expires})});return function(){r.abort(),e()}}var i=t(\"../util/ajax\"),a=t(\"@mapbox/vector-tile\"),o=t(\"pbf\"),s=t(\"./worker_tile\"),l=t(\"../util/util\"),u=t(\"../util/performance\"),c=function(t,e,r){this.actor=t,this.layerIndex=e,this.loadVectorData=r||n,this.loading={},this.loaded={}};c.prototype.loadTile=function(t,e){var r=this,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,function(o,s){if(delete r.loading[n][i],o||!s)return e(o);var c=s.rawData,h={};s.expires&&(h.expires=s.expires),s.cacheControl&&(h.cacheControl=s.cacheControl);var f={};if(t.request&&t.request.collectResourceTiming){var p=u.getEntriesByName(t.request.url);p&&(f.resourceTiming=JSON.parse(JSON.stringify(p)))}a.vectorTile=s.vectorTile,a.parse(s.vectorTile,r.layerIndex,r.actor,function(t,r){if(t||!r)return e(t);e(null,l.extend({rawTileData:c.slice(0)},r,h,f))}),r.loaded[n]=r.loaded[n]||{},r.loaded[n][i]=a})},c.prototype.reloadTile=function(t,e){var r=this.loaded[t.source],n=t.uid,i=this;if(r&&r[n]){var a=r[n];a.showCollisionBoxes=t.showCollisionBoxes,\"parsing\"===a.status?a.reloadCallback=e:\"done\"===a.status&&a.parse(a.vectorTile,this.layerIndex,this.actor,function(t,r){if(this.reloadCallback){var n=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,i.layerIndex,i.actor,n)}e(t,r)}.bind(a))}},c.prototype.abortTile=function(t,e){var r=this.loading[t.source],n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},c.prototype.removeTile=function(t,e){var r=this.loaded[t.source],n=t.uid;r&&r[n]&&delete r[n],e()},e.exports=c},{\"../util/ajax\":251,\"../util/performance\":268,\"../util/util\":275,\"./worker_tile\":119,\"@mapbox/vector-tile\":8,pbf:30}],117:[function(t,e,r){var n=t(\"../util/ajax\"),i=t(\"./image_source\"),a=t(\"../data/raster_bounds_attributes\"),o=t(\"../render/vertex_array_object\"),s=t(\"../render/texture\"),l=function(t){function e(e,r,n,i){t.call(this,e,r,n,i),this.roundZoom=!0,this.type=\"video\",this.options=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this,e=this.options;this.urls=e.urls,n.getVideo(e.urls,function(e,r){e?t.fire(\"error\",{error:e}):r&&(t.video=r,t.video.loop=!0,t.video.addEventListener(\"playing\",function(){t.map._rerender()}),t.map&&t.video.play(),t._finishLoading())})},e.prototype.getVideo=function(){return this.video},e.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},e.prototype.prepare=function(){var t=this;if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,a.members)),this.boundsVAO||(this.boundsVAO=new o),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new s(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),t.tiles){var i=t.tiles[n];\"loaded\"!==i.state&&(i.state=\"loaded\",i.texture=t.texture)}}},e.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},e.prototype.hasTransition=function(){return this.video&&!this.video.paused},e}(i);e.exports=l},{\"../data/raster_bounds_attributes\":59,\"../render/texture\":93,\"../render/vertex_array_object\":95,\"../util/ajax\":251,\"./image_source\":102}],118:[function(t,e,r){var n=t(\"../util/actor\"),i=t(\"../style/style_layer_index\"),a=t(\"./vector_tile_worker_source\"),o=t(\"./raster_dem_tile_worker_source\"),s=t(\"./geojson_worker_source\"),l=t(\"./rtl_text_plugin\"),u=function(t){var e=this;this.self=t,this.actor=new n(t,this),this.layerIndexes={},this.workerSourceTypes={vector:a,geojson:s},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(t,r){if(e.workerSourceTypes[t])throw new Error('Worker source with name \"'+t+'\" already registered.');e.workerSourceTypes[t]=r},this.self.registerRTLTextPlugin=function(t){if(l.applyArabicShaping||l.processBidirectionalText)throw new Error(\"RTL text plugin already registered.\");l.applyArabicShaping=t.applyArabicShaping,l.processBidirectionalText=t.processBidirectionalText}};u.prototype.setLayers=function(t,e,r){this.getLayerIndex(t).replace(e),r()},u.prototype.updateLayers=function(t,e,r){this.getLayerIndex(t).update(e.layers,e.removedIds),r()},u.prototype.loadTile=function(t,e,r){this.getWorkerSource(t,e.type).loadTile(e,r)},u.prototype.loadDEMTile=function(t,e,r){this.getDEMWorkerSource(t).loadTile(e,r)},u.prototype.reloadTile=function(t,e,r){this.getWorkerSource(t,e.type).reloadTile(e,r)},u.prototype.abortTile=function(t,e,r){this.getWorkerSource(t,e.type).abortTile(e,r)},u.prototype.removeTile=function(t,e,r){this.getWorkerSource(t,e.type).removeTile(e,r)},u.prototype.removeDEMTile=function(t,e){this.getDEMWorkerSource(t).removeTile(e)},u.prototype.removeSource=function(t,e,r){var n=this.getWorkerSource(t,e.type);void 0!==n.removeSource?n.removeSource(e,r):r()},u.prototype.loadWorkerSource=function(t,e,r){try{this.self.importScripts(e.url),r()}catch(t){r(t)}},u.prototype.loadRTLTextPlugin=function(t,e,r){try{l.applyArabicShaping||l.processBidirectionalText||(this.self.importScripts(e),l.applyArabicShaping&&l.processBidirectionalText||r(new Error(\"RTL Text Plugin failed to import scripts from \"+e)))}catch(t){r(t)}},u.prototype.getLayerIndex=function(t){var e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new i),e},u.prototype.getWorkerSource=function(t,e){var r=this;if(this.workerSources[t]||(this.workerSources[t]={}),!this.workerSources[t][e]){var n={send:function(e,n,i){r.actor.send(e,n,i,t)}};this.workerSources[t][e]=new this.workerSourceTypes[e](n,this.getLayerIndex(t))}return this.workerSources[t][e]},u.prototype.getDEMWorkerSource=function(t){return this.demWorkerSources[t]||(this.demWorkerSources[t]=new o),this.demWorkerSources[t]},e.exports=function(t){return new u(t)}},{\"../style/style_layer_index\":210,\"../util/actor\":250,\"./geojson_worker_source\":100,\"./raster_dem_tile_worker_source\":107,\"./rtl_text_plugin\":109,\"./vector_tile_worker_source\":116}],119:[function(t,e,r){function n(t,e){for(var r=new f(e),n=0,i=t;n<i.length;n+=1)i[n].recalculate(r)}var i=t(\"../data/feature_index\"),a=t(\"../symbol/symbol_layout\").performSymbolLayout,o=t(\"../data/array_types\").CollisionBoxArray,s=t(\"../util/dictionary_coder\"),l=t(\"../data/bucket/symbol_bucket\"),u=t(\"../util/util\"),c=t(\"../render/image_atlas\").makeImageAtlas,h=t(\"../render/glyph_atlas\").makeGlyphAtlas,f=t(\"../style/evaluation_parameters\"),p=t(\"./tile_id\").OverscaledTileID,d=function(t){this.tileID=new p(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=t.overscaling,this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming};d.prototype.parse=function(t,e,r,f){function p(){if(L)return f(L);if(z&&P){var t=h(z),e=c(P);for(var r in m){var i=m[r];i instanceof l&&(n(i.layers,this.zoom),a(i,z,t.positions,P,e.positions,this.showCollisionBoxes))}this.status=\"done\",f(null,{buckets:u.values(m).filter(function(t){return!t.isEmpty()}),featureIndex:v,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,iconAtlasImage:e.image})}}var d=this;this.status=\"parsing\",this.data=t,this.collisionBoxArray=new o;var g=new s(Object.keys(t.layers).sort()),v=new i(this.tileID,this.overscaling);v.bucketLayerIDs=[];var m={},y={featureIndex:v,iconDependencies:{},glyphDependencies:{}},x=e.familiesBySource[this.source];for(var b in x){var _=t.layers[b];if(_){1===_.version&&u.warnOnce('Vector tile source \"'+d.source+'\" layer \"'+b+'\" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var w=g.encode(b),M=[],A=0;A<_.length;A++){var k=_.feature(A);M.push({feature:k,index:A,sourceLayerIndex:w})}for(var T=0,S=x[b];T<S.length;T+=1){var E=S[T],C=E[0];C.minzoom&&d.zoom<Math.floor(C.minzoom)||C.maxzoom&&d.zoom>=C.maxzoom||\"none\"===C.visibility||(n(E,d.zoom),(m[C.id]=C.createBucket({index:v.bucketLayerIDs.length,layers:E,zoom:d.zoom,pixelRatio:d.pixelRatio,overscaling:d.overscaling,collisionBoxArray:d.collisionBoxArray})).populate(M,y),v.bucketLayerIDs.push(E.map(function(t){return t.id})))}}}var L,z,P,I=u.mapObject(y.glyphDependencies,function(t){return Object.keys(t).map(Number)});Object.keys(I).length?r.send(\"getGlyphs\",{uid:this.uid,stacks:I},function(t,e){L||(L=t,z=e,p.call(d))}):z={};var D=Object.keys(y.iconDependencies);D.length?r.send(\"getImages\",{icons:D},function(t,e){L||(L=t,P=e,p.call(d))}):P={},p.call(this)},e.exports=d},{\"../data/array_types\":39,\"../data/bucket/symbol_bucket\":51,\"../data/feature_index\":54,\"../render/glyph_atlas\":85,\"../render/image_atlas\":87,\"../style/evaluation_parameters\":182,\"../symbol/symbol_layout\":227,\"../util/dictionary_coder\":257,\"../util/util\":275,\"./tile_id\":114}],120:[function(t,e,r){function n(t,e){var r={};for(var n in t)\"ref\"!==n&&(r[n]=t[n]);return i.forEach(function(t){t in e&&(r[t]=e[t])}),r}var i=t(\"./util/ref_properties\");e.exports=function(t){t=t.slice();for(var e=Object.create(null),r=0;r<t.length;r++)e[t[r].id]=t[r];for(var i=0;i<t.length;i++)\"ref\"in t[i]&&(t[i]=n(t[i],e[t[i].ref]));return t}},{\"./util/ref_properties\":159}],121:[function(t,e,r){function n(t,e,r){r.push({command:h.addSource,args:[t,e[t]]})}function i(t,e,r){e.push({command:h.removeSource,args:[t]}),r[t]=!0}function a(t,e,r,a){i(t,r,a),n(t,e,r)}function o(t,e,r){var n;for(n in t[r])if(t[r].hasOwnProperty(n)&&\"data\"!==n&&!c(t[r][n],e[r][n]))return!1;for(n in e[r])if(e[r].hasOwnProperty(n)&&\"data\"!==n&&!c(t[r][n],e[r][n]))return!1;return!0}function s(t,e,r,n,i,a){var o;for(o in t=t||{},e=e||{},t)t.hasOwnProperty(o)&&(c(t[o],e[o])||r.push({command:a,args:[n,o,e[o],i]}));for(o in e)e.hasOwnProperty(o)&&!t.hasOwnProperty(o)&&(c(t[o],e[o])||r.push({command:a,args:[n,o,e[o],i]}))}function l(t){return t.id}function u(t,e){return t[e.id]=e,t}var c=t(\"./util/deep_equal\"),h={setStyle:\"setStyle\",addLayer:\"addLayer\",removeLayer:\"removeLayer\",setPaintProperty:\"setPaintProperty\",setLayoutProperty:\"setLayoutProperty\",setFilter:\"setFilter\",addSource:\"addSource\",removeSource:\"removeSource\",setGeoJSONSourceData:\"setGeoJSONSourceData\",setLayerZoomRange:\"setLayerZoomRange\",setLayerProperty:\"setLayerProperty\",setCenter:\"setCenter\",setZoom:\"setZoom\",setBearing:\"setBearing\",setPitch:\"setPitch\",setSprite:\"setSprite\",setGlyphs:\"setGlyphs\",setTransition:\"setTransition\",setLight:\"setLight\"};e.exports=function(t,e){if(!t)return[{command:h.setStyle,args:[e]}];var r=[];try{if(!c(t.version,e.version))return[{command:h.setStyle,args:[e]}];c(t.center,e.center)||r.push({command:h.setCenter,args:[e.center]}),c(t.zoom,e.zoom)||r.push({command:h.setZoom,args:[e.zoom]}),c(t.bearing,e.bearing)||r.push({command:h.setBearing,args:[e.bearing]}),c(t.pitch,e.pitch)||r.push({command:h.setPitch,args:[e.pitch]}),c(t.sprite,e.sprite)||r.push({command:h.setSprite,args:[e.sprite]}),c(t.glyphs,e.glyphs)||r.push({command:h.setGlyphs,args:[e.glyphs]}),c(t.transition,e.transition)||r.push({command:h.setTransition,args:[e.transition]}),c(t.light,e.light)||r.push({command:h.setLight,args:[e.light]});var f={},p=[];!function(t,e,r,s){var l;for(l in t=t||{},e=e||{},t)t.hasOwnProperty(l)&&(e.hasOwnProperty(l)||i(l,r,s));for(l in e)e.hasOwnProperty(l)&&(t.hasOwnProperty(l)?c(t[l],e[l])||(\"geojson\"===t[l].type&&\"geojson\"===e[l].type&&o(t,e,l)?r.push({command:h.setGeoJSONSourceData,args:[l,e[l].data]}):a(l,e,r,s)):n(l,e,r))}(t.sources,e.sources,p,f);var d=[];t.layers&&t.layers.forEach(function(t){f[t.source]?r.push({command:h.removeLayer,args:[t.id]}):d.push(t)}),r=r.concat(p),function(t,e,r){t=t||[],e=e||[];var n,i,a,o,f,p,d,g=t.map(l),v=e.map(l),m=t.reduce(u,{}),y=e.reduce(u,{}),x=g.slice(),b=Object.create(null);for(n=0,i=0;n<g.length;n++)a=g[n],y.hasOwnProperty(a)?i++:(r.push({command:h.removeLayer,args:[a]}),x.splice(x.indexOf(a,i),1));for(n=0,i=0;n<v.length;n++)a=v[v.length-1-n],x[x.length-1-n]!==a&&(m.hasOwnProperty(a)?(r.push({command:h.removeLayer,args:[a]}),x.splice(x.lastIndexOf(a,x.length-i),1)):i++,p=x[x.length-n],r.push({command:h.addLayer,args:[y[a],p]}),x.splice(x.length-n,0,a),b[a]=!0);for(n=0;n<v.length;n++)if(o=m[a=v[n]],f=y[a],!b[a]&&!c(o,f))if(c(o.source,f.source)&&c(o[\"source-layer\"],f[\"source-layer\"])&&c(o.type,f.type)){for(d in s(o.layout,f.layout,r,a,null,h.setLayoutProperty),s(o.paint,f.paint,r,a,null,h.setPaintProperty),c(o.filter,f.filter)||r.push({command:h.setFilter,args:[a,f.filter]}),c(o.minzoom,f.minzoom)&&c(o.maxzoom,f.maxzoom)||r.push({command:h.setLayerZoomRange,args:[a,f.minzoom,f.maxzoom]}),o)o.hasOwnProperty(d)&&\"layout\"!==d&&\"paint\"!==d&&\"filter\"!==d&&\"metadata\"!==d&&\"minzoom\"!==d&&\"maxzoom\"!==d&&(0===d.indexOf(\"paint.\")?s(o[d],f[d],r,a,d.slice(6),h.setPaintProperty):c(o[d],f[d])||r.push({command:h.setLayerProperty,args:[a,d,f[d]]}));for(d in f)f.hasOwnProperty(d)&&!o.hasOwnProperty(d)&&\"layout\"!==d&&\"paint\"!==d&&\"filter\"!==d&&\"metadata\"!==d&&\"minzoom\"!==d&&\"maxzoom\"!==d&&(0===d.indexOf(\"paint.\")?s(o[d],f[d],r,a,d.slice(6),h.setPaintProperty):c(o[d],f[d])||r.push({command:h.setLayerProperty,args:[a,d,f[d]]}))}else r.push({command:h.removeLayer,args:[a]}),p=x[x.lastIndexOf(a)+1],r.push({command:h.addLayer,args:[f,p]})}(d,e.layers,r)}catch(t){console.warn(\"Unable to compute style diff:\",t),r=[{command:h.setStyle,args:[e]}]}return r},e.exports.operations=h},{\"./util/deep_equal\":155}],122:[function(t,e,r){e.exports=function(t,e,r){this.message=(t?t+\": \":\"\")+r,null!==e&&void 0!==e&&e.__line__&&(this.line=e.__line__)}},{}],123:[function(t,e,r){var n=t(\"./types\").toString,i=t(\"./parsing_context\"),a=(t(\"./evaluation_context\"),function(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n});a.prototype.evaluate=function(t){return this._evaluate(t,this.args)},a.prototype.eachChild=function(t){this.args.forEach(t)},a.prototype.possibleOutputs=function(){return[void 0]},a.parse=function(t,e){var r=t[0],o=a.definitions[r];if(!o)return e.error('Unknown expression \"'+r+'\". If you wanted a literal array, use [\"literal\", [...]].',0);for(var s=Array.isArray(o)?o[0]:o.type,l=Array.isArray(o)?[[o[1],o[2]]]:o.overloads,u=l.filter(function(e){var r=e[0];return!Array.isArray(r)||r.length===t.length-1}),c=[],h=1;h<t.length;h++){var f=t[h],p=void 0;if(1===u.length){var d=u[0][0];p=Array.isArray(d)?d[h-1]:d.type}var g=e.parse(f,1+c.length,p);if(!g)return null;c.push(g)}for(var v=null,m=0,y=u;m<y.length;m+=1){var x=y[m],b=x[0],_=x[1];if(v=new i(e.registry,e.path,null,e.scope),Array.isArray(b)&&b.length!==c.length)v.error(\"Expected \"+b.length+\" arguments, but found \"+c.length+\" instead.\");else{for(var w=0;w<c.length;w++){var M=Array.isArray(b)?b[w]:b.type,A=c[w];v.concat(w+1).checkSubtype(M,A.type)}if(0===v.errors.length)return new a(r,s,_,c)}}if(1===u.length)e.errors.push.apply(e.errors,v.errors);else{var k=(u.length?u:l).map(function(t){return function(t){return Array.isArray(t)?\"(\"+t.map(n).join(\", \")+\")\":\"(\"+n(t.type)+\"...)\"}(t[0])}).join(\" | \"),T=c.map(function(t){return n(t.type)}).join(\", \");e.error(\"Expected arguments of type \"+k+\", but found (\"+T+\") instead.\")}return null},a.register=function(t,e){for(var r in a.definitions=e,e)t[r]=a},e.exports={CompoundExpression:a,varargs:function(t){return{type:t}}}},{\"./evaluation_context\":138,\"./parsing_context\":141,\"./types\":146}],124:[function(t,e,r){var n=t(\"../types\"),i=n.toString,a=n.array,o=n.ValueType,s=n.StringType,l=n.NumberType,u=n.BooleanType,c=n.checkSubtype,h=t(\"../values\").typeOf,f=t(\"../runtime_error\"),p={string:s,number:l,boolean:u},d=function(t,e){this.type=t,this.input=e};d.parse=function(t,e){if(t.length<2||t.length>4)return e.error(\"Expected 1, 2, or 3 arguments, but found \"+(t.length-1)+\" instead.\");var r,n;if(t.length>2){var i=t[1];if(\"string\"!=typeof i||!(i in p))return e.error('The item type argument of \"array\" must be one of string, number, boolean',1);r=p[i]}else r=o;if(t.length>3){if(\"number\"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2]))return e.error('The length argument to \"array\" must be a positive integer literal',2);n=t[2]}var s=a(r,n),l=e.parse(t[t.length-1],t.length-1,o);return l?new d(s,l):null},d.prototype.evaluate=function(t){var e=this.input.evaluate(t);if(c(this.type,h(e)))throw new f(\"Expected value to be of type \"+i(this.type)+\", but found \"+i(h(e))+\" instead.\");return e},d.prototype.eachChild=function(t){t(this.input)},d.prototype.possibleOutputs=function(){return this.input.possibleOutputs()},e.exports=d},{\"../runtime_error\":143,\"../types\":146,\"../values\":147}],125:[function(t,e,r){var n=t(\"../types\"),i=n.ObjectType,a=n.ValueType,o=n.StringType,s=n.NumberType,l=n.BooleanType,u=t(\"../runtime_error\"),c=t(\"../types\"),h=c.checkSubtype,f=c.toString,p=t(\"../values\").typeOf,d={string:o,number:s,boolean:l,object:i},g=function(t,e){this.type=t,this.args=e};g.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");for(var r=t[0],n=d[r],i=[],o=1;o<t.length;o++){var s=e.parse(t[o],o,a);if(!s)return null;i.push(s)}return new g(n,i)},g.prototype.evaluate=function(t){for(var e=this,r=0;r<this.args.length;r++){var n=e.args[r].evaluate(t);if(!h(e.type,p(n)))return n;if(r===e.args.length-1)throw new u(\"Expected value to be of type \"+f(e.type)+\", but found \"+f(p(n))+\" instead.\")}return null},g.prototype.eachChild=function(t){this.args.forEach(t)},g.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},e.exports=g},{\"../runtime_error\":143,\"../types\":146,\"../values\":147}],126:[function(t,e,r){var n=t(\"../types\"),i=n.array,a=n.ValueType,o=n.NumberType,s=t(\"../runtime_error\"),l=function(t,e,r){this.type=t,this.index=e,this.input=r};l.parse=function(t,e){if(3!==t.length)return e.error(\"Expected 2 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,o),n=e.parse(t[2],2,i(e.expectedType||a));if(!r||!n)return null;var s=n.type;return new l(s.itemType,r,n)},l.prototype.evaluate=function(t){var e=this.index.evaluate(t),r=this.input.evaluate(t);if(e<0||e>=r.length)throw new s(\"Array index out of bounds: \"+e+\" > \"+r.length+\".\");if(e!==Math.floor(e))throw new s(\"Array index must be an integer, but found \"+e+\" instead.\");return r[e]},l.prototype.eachChild=function(t){t(this.index),t(this.input)},l.prototype.possibleOutputs=function(){return[void 0]},e.exports=l},{\"../runtime_error\":143,\"../types\":146}],127:[function(t,e,r){var n=t(\"../types\").BooleanType,i=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r};i.parse=function(t,e){if(t.length<4)return e.error(\"Expected at least 3 arguments, but found only \"+(t.length-1)+\".\");if(t.length%2!=0)return e.error(\"Expected an odd number of arguments.\");var r;e.expectedType&&\"value\"!==e.expectedType.kind&&(r=e.expectedType);for(var a=[],o=1;o<t.length-1;o+=2){var s=e.parse(t[o],o,n);if(!s)return null;var l=e.parse(t[o+1],o+1,r);if(!l)return null;a.push([s,l]),r=r||l.type}var u=e.parse(t[t.length-1],t.length-1,r);return u?new i(r,a,u):null},i.prototype.evaluate=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];if(i.evaluate(t))return a.evaluate(t)}return this.otherwise.evaluate(t)},i.prototype.eachChild=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];t(i),t(a)}t(this.otherwise)},i.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.branches.map(function(t){return t[0],t[1].possibleOutputs()})).concat(this.otherwise.possibleOutputs());var t},e.exports=i},{\"../types\":146}],128:[function(t,e,r){var n=t(\"../types\"),i=n.checkSubtype,a=n.ValueType,o=function(t,e){this.type=t,this.args=e};o.parse=function(t,e){if(t.length<2)return e.error(\"Expectected at least one argument.\");var r=null,n=e.expectedType;n&&\"value\"!==n.kind&&(r=n);for(var s=[],l=0,u=t.slice(1);l<u.length;l+=1){var c=u[l],h=e.parse(c,1+s.length,r,void 0,{omitTypeAnnotations:!0});if(!h)return null;r=r||h.type,s.push(h)}return n&&s.some(function(t){return i(n,t.type)})?new o(a,s):new o(r,s)},o.prototype.evaluate=function(t){for(var e=null,r=0,n=this.args;r<n.length&&null===(e=n[r].evaluate(t));r+=1);return e},o.prototype.eachChild=function(t){this.args.forEach(t)},o.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},e.exports=o},{\"../types\":146}],129:[function(t,e,r){var n=t(\"../types\"),i=n.ColorType,a=n.ValueType,o=n.NumberType,s=t(\"../values\"),l=s.Color,u=s.validateRGBA,c=t(\"../runtime_error\"),h={\"to-number\":o,\"to-color\":i},f=function(t,e){this.type=t,this.args=e};f.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");for(var r=t[0],n=h[r],i=[],o=1;o<t.length;o++){var s=e.parse(t[o],o,a);if(!s)return null;i.push(s)}return new f(n,i)},f.prototype.evaluate=function(t){if(\"color\"===this.type.kind){for(var e,r,n=0,i=this.args;n<i.length;n+=1)if(r=null,\"string\"==typeof(e=i[n].evaluate(t))){var a=t.parseColor(e);if(a)return a}else if(Array.isArray(e)&&!(r=e.length<3||e.length>4?\"Invalid rbga value \"+JSON.stringify(e)+\": expected an array containing either three or four numeric values.\":u(e[0],e[1],e[2],e[3])))return new l(e[0]/255,e[1]/255,e[2]/255,e[3]);throw new c(r||\"Could not parse color from value '\"+(\"string\"==typeof e?e:JSON.stringify(e))+\"'\")}for(var o=null,s=0,h=this.args;s<h.length;s+=1)if(null!==(o=h[s].evaluate(t))){var f=Number(o);if(!isNaN(f))return f}throw new c(\"Could not convert \"+JSON.stringify(o)+\" to number.\")},f.prototype.eachChild=function(t){this.args.forEach(t)},f.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},e.exports=f},{\"../runtime_error\":143,\"../types\":146,\"../values\":147}],130:[function(t,e,r){function n(t){return\"string\"===t.kind||\"number\"===t.kind||\"boolean\"===t.kind||\"null\"===t.kind}function i(t){return function(){function e(t,e){this.type=s,this.lhs=t,this.rhs=e}return e.parse=function(t,r){if(3!==t.length)return r.error(\"Expected two arguments.\");var i=r.parse(t[1],1,o);if(!i)return null;var a=r.parse(t[2],2,o);return a?n(i.type)||n(a.type)?i.type.kind!==a.type.kind&&\"value\"!==i.type.kind&&\"value\"!==a.type.kind?r.error(\"Cannot compare \"+l(i.type)+\" and \"+l(a.type)+\".\"):new e(i,a):r.error(\"Expected at least one argument to be a string, number, boolean, or null, but found (\"+l(i.type)+\", \"+l(a.type)+\") instead.\"):null},e.prototype.evaluate=function(e){return t(this.lhs.evaluate(e),this.rhs.evaluate(e))},e.prototype.eachChild=function(t){t(this.lhs),t(this.rhs)},e.prototype.possibleOutputs=function(){return[!0,!1]},e}()}var a=t(\"../types\"),o=a.ValueType,s=a.BooleanType,l=t(\"../types\").toString;e.exports={Equals:i(function(t,e){return t===e}),NotEquals:i(function(t,e){return t!==e})}},{\"../types\":146}],131:[function(t,e,r){function n(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=A(r,n,i,o);if(s)throw new E(s);return new M(r/255*o,n/255*o,i/255*o,o)}function i(t,e){return t in e}function a(t,e){var r=e[t];return void 0===r?null:r}function o(t,e){return e[0].evaluate(t).length}function s(t,e){var r=e[0],n=e[1];return r.evaluate(t)<n.evaluate(t)}function l(t,e){var r=e[0],n=e[1];return r.evaluate(t)>n.evaluate(t)}function u(t,e){var r=e[0],n=e[1];return r.evaluate(t)<=n.evaluate(t)}function c(t,e){var r=e[0],n=e[1];return r.evaluate(t)>=n.evaluate(t)}var h=t(\"../types\"),f=h.NumberType,p=h.StringType,d=h.BooleanType,g=h.ColorType,v=h.ObjectType,m=h.ValueType,y=h.ErrorType,x=h.array,b=h.toString,_=t(\"../values\"),w=_.typeOf,M=_.Color,A=_.validateRGBA,k=t(\"../compound_expression\"),T=k.CompoundExpression,S=k.varargs,E=t(\"../runtime_error\"),C=t(\"./let\"),L=t(\"./var\"),z=t(\"./literal\"),P=t(\"./assertion\"),I=t(\"./array\"),D=t(\"./coercion\"),O=t(\"./at\"),R=t(\"./match\"),F=t(\"./case\"),B=t(\"./step\"),N=t(\"./interpolate\"),j=t(\"./coalesce\"),V=t(\"./equals\"),U={\"==\":V.Equals,\"!=\":V.NotEquals,array:I,at:O,boolean:P,case:F,coalesce:j,interpolate:N,let:C,literal:z,match:R,number:P,object:P,step:B,string:P,\"to-color\":D,\"to-number\":D,var:L};T.register(U,{error:[y,[p],function(t,e){var r=e[0];throw new E(r.evaluate(t))}],typeof:[p,[m],function(t,e){var r=e[0];return b(w(r.evaluate(t)))}],\"to-string\":[p,[m],function(t,e){var r=e[0],n=typeof(r=r.evaluate(t));return null===r||\"string\"===n||\"number\"===n||\"boolean\"===n?String(r):r instanceof M?r.toString():JSON.stringify(r)}],\"to-boolean\":[d,[m],function(t,e){var r=e[0];return Boolean(r.evaluate(t))}],\"to-rgba\":[x(f,4),[g],function(t,e){var r=e[0].evaluate(t),n=r.r,i=r.g,a=r.b,o=r.a;return[255*n/o,255*i/o,255*a/o,o]}],rgb:[g,[f,f,f],n],rgba:[g,[f,f,f,f],n],length:{type:f,overloads:[[[p],o],[[x(m)],o]]},has:{type:d,overloads:[[[p],function(t,e){return i(e[0].evaluate(t),t.properties())}],[[p,v],function(t,e){var r=e[0],n=e[1];return i(r.evaluate(t),n.evaluate(t))}]]},get:{type:m,overloads:[[[p],function(t,e){return a(e[0].evaluate(t),t.properties())}],[[p,v],function(t,e){var r=e[0],n=e[1];return a(r.evaluate(t),n.evaluate(t))}]]},properties:[v,[],function(t){return t.properties()}],\"geometry-type\":[p,[],function(t){return t.geometryType()}],id:[m,[],function(t){return t.id()}],zoom:[f,[],function(t){return t.globals.zoom}],\"heatmap-density\":[f,[],function(t){return t.globals.heatmapDensity||0}],\"+\":[f,S(f),function(t,e){for(var r=0,n=0,i=e;n<i.length;n+=1)r+=i[n].evaluate(t);return r}],\"*\":[f,S(f),function(t,e){for(var r=1,n=0,i=e;n<i.length;n+=1)r*=i[n].evaluate(t);return r}],\"-\":{type:f,overloads:[[[f,f],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)-n.evaluate(t)}],[[f],function(t,e){return-e[0].evaluate(t)}]]},\"/\":[f,[f,f],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)/n.evaluate(t)}],\"%\":[f,[f,f],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)%n.evaluate(t)}],ln2:[f,[],function(){return Math.LN2}],pi:[f,[],function(){return Math.PI}],e:[f,[],function(){return Math.E}],\"^\":[f,[f,f],function(t,e){var r=e[0],n=e[1];return Math.pow(r.evaluate(t),n.evaluate(t))}],sqrt:[f,[f],function(t,e){var r=e[0];return Math.sqrt(r.evaluate(t))}],log10:[f,[f],function(t,e){var r=e[0];return Math.log10(r.evaluate(t))}],ln:[f,[f],function(t,e){var r=e[0];return Math.log(r.evaluate(t))}],log2:[f,[f],function(t,e){var r=e[0];return Math.log2(r.evaluate(t))}],sin:[f,[f],function(t,e){var r=e[0];return Math.sin(r.evaluate(t))}],cos:[f,[f],function(t,e){var r=e[0];return Math.cos(r.evaluate(t))}],tan:[f,[f],function(t,e){var r=e[0];return Math.tan(r.evaluate(t))}],asin:[f,[f],function(t,e){var r=e[0];return Math.asin(r.evaluate(t))}],acos:[f,[f],function(t,e){var r=e[0];return Math.acos(r.evaluate(t))}],atan:[f,[f],function(t,e){var r=e[0];return Math.atan(r.evaluate(t))}],min:[f,S(f),function(t,e){return Math.min.apply(Math,e.map(function(e){return e.evaluate(t)}))}],max:[f,S(f),function(t,e){return Math.max.apply(Math,e.map(function(e){return e.evaluate(t)}))}],\"filter-==\":[d,[p,m],function(t,e){var r=e[0],n=e[1];return t.properties()[r.value]===n.value}],\"filter-id-==\":[d,[m],function(t,e){var r=e[0];return t.id()===r.value}],\"filter-type-==\":[d,[p],function(t,e){var r=e[0];return t.geometryType()===r.value}],\"filter-<\":[d,[p,m],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<a}],\"filter-id-<\":[d,[m],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<i}],\"filter->\":[d,[p,m],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],\"filter-id->\":[d,[m],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],\"filter-<=\":[d,[p,m],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],\"filter-id-<=\":[d,[m],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],\"filter->=\":[d,[p,m],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],\"filter-id->=\":[d,[m],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],\"filter-has\":[d,[m],function(t,e){return e[0].value in t.properties()}],\"filter-has-id\":[d,[],function(t){return null!==t.id()}],\"filter-type-in\":[d,[x(p)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],\"filter-id-in\":[d,[x(m)],function(t,e){return e[0].value.indexOf(t.id())>=0}],\"filter-in-small\":[d,[p,x(m)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],\"filter-in-large\":[d,[p,x(m)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],\">\":{type:d,overloads:[[[f,f],l],[[p,p],l]]},\"<\":{type:d,overloads:[[[f,f],s],[[p,p],s]]},\">=\":{type:d,overloads:[[[f,f],c],[[p,p],c]]},\"<=\":{type:d,overloads:[[[f,f],u],[[p,p],u]]},all:{type:d,overloads:[[[d,d],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[S(d),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(!n[r].evaluate(t))return!1;return!0}]]},any:{type:d,overloads:[[[d,d],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)||n.evaluate(t)}],[S(d),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(n[r].evaluate(t))return!0;return!1}]]},\"!\":[d,[d],function(t,e){return!e[0].evaluate(t)}],upcase:[p,[p],function(t,e){return e[0].evaluate(t).toUpperCase()}],downcase:[p,[p],function(t,e){return e[0].evaluate(t).toLowerCase()}],concat:[p,S(p),function(t,e){return e.map(function(e){return e.evaluate(t)}).join(\"\")}]}),e.exports=U},{\"../compound_expression\":123,\"../runtime_error\":143,\"../types\":146,\"../values\":147,\"./array\":124,\"./assertion\":125,\"./at\":126,\"./case\":127,\"./coalesce\":128,\"./coercion\":129,\"./equals\":130,\"./interpolate\":132,\"./let\":133,\"./literal\":134,\"./match\":135,\"./step\":136,\"./var\":137}],132:[function(t,e,r){function n(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}var i=t(\"@mapbox/unitbezier\"),a=t(\"../../util/interpolate\"),o=t(\"../types\"),s=o.toString,l=o.NumberType,u=t(\"../stops\").findStopLessThanOrEqualTo,c=function(t,e,r,n){this.type=t,this.interpolation=e,this.input=r,this.labels=[],this.outputs=[];for(var i=0,a=n;i<a.length;i+=1){var o=a[i],s=o[0],l=o[1];this.labels.push(s),this.outputs.push(l)}};c.interpolationFactor=function(t,e,r,a){var o=0;if(\"exponential\"===t.name)o=n(e,t.base,r,a);else if(\"linear\"===t.name)o=n(e,1,r,a);else if(\"cubic-bezier\"===t.name){var s=t.controlPoints;o=new i(s[0],s[1],s[2],s[3]).solve(n(e,1,r,a))}return o},c.parse=function(t,e){var r=t[1],n=t[2],i=t.slice(3);if(!Array.isArray(r)||0===r.length)return e.error(\"Expected an interpolation type expression.\",1);if(\"linear\"===r[0])r={name:\"linear\"};else if(\"exponential\"===r[0]){var a=r[1];if(\"number\"!=typeof a)return e.error(\"Exponential interpolation requires a numeric base.\",1,1);r={name:\"exponential\",base:a}}else{if(\"cubic-bezier\"!==r[0])return e.error(\"Unknown interpolation type \"+String(r[0]),1,0);var o=r.slice(1);if(4!==o.length||o.some(function(t){return\"number\"!=typeof t||t<0||t>1}))return e.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);r={name:\"cubic-bezier\",controlPoints:o}}if(t.length-1<4)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");if(!(n=e.parse(n,2,l)))return null;var u=[],h=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(h=e.expectedType);for(var f=0;f<i.length;f+=2){var p=i[f],d=i[f+1],g=f+3,v=f+4;if(\"number\"!=typeof p)return e.error('Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',g);if(u.length&&u[u.length-1][0]>=p)return e.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',g);var m=e.parse(d,v,h);if(!m)return null;h=h||m.type,u.push([p,m])}return\"number\"===h.kind||\"color\"===h.kind||\"array\"===h.kind&&\"number\"===h.itemType.kind&&\"number\"==typeof h.N?new c(h,r,n,u):e.error(\"Type \"+s(h)+\" is not interpolatable.\")},c.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var o=u(e,n),s=e[o],l=e[o+1],h=c.interpolationFactor(this.interpolation,n,s,l),f=r[o].evaluate(t),p=r[o+1].evaluate(t);return a[this.type.kind.toLowerCase()](f,p,h)},c.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},c.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}));var t},e.exports=c},{\"../../util/interpolate\":158,\"../stops\":145,\"../types\":146,\"@mapbox/unitbezier\":7}],133:[function(t,e,r){var n=function(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e};n.prototype.evaluate=function(t){t.pushScope(this.bindings);var e=this.result.evaluate(t);return t.popScope(),e},n.prototype.eachChild=function(t){for(var e=0,r=this.bindings;e<r.length;e+=1)t(r[e][1]);t(this.result)},n.parse=function(t,e){if(t.length<4)return e.error(\"Expected at least 3 arguments, but found \"+(t.length-1)+\" instead.\");for(var r=[],i=1;i<t.length-1;i+=2){var a=t[i];if(\"string\"!=typeof a)return e.error(\"Expected string, but found \"+typeof a+\" instead.\",i);if(/[^a-zA-Z0-9_]/.test(a))return e.error(\"Variable names must contain only alphanumeric characters or '_'.\",i);var o=e.parse(t[i+1],i+1);if(!o)return null;r.push([a,o])}var s=e.parse(t[t.length-1],t.length-1,void 0,r);return s?new n(r,s):null},n.prototype.possibleOutputs=function(){return this.result.possibleOutputs()},e.exports=n},{}],134:[function(t,e,r){var n=t(\"../values\"),i=n.isValue,a=n.typeOf,o=function(t,e){this.type=t,this.value=e};o.parse=function(t,e){if(2!==t.length)return e.error(\"'literal' expression requires exactly one argument, but found \"+(t.length-1)+\" instead.\");if(!i(t[1]))return e.error(\"invalid value\");var r=t[1],n=a(r),s=e.expectedType;return\"array\"!==n.kind||0!==n.N||!s||\"array\"!==s.kind||\"number\"==typeof s.N&&0!==s.N||(n=s),new o(n,r)},o.prototype.evaluate=function(){return this.value},o.prototype.eachChild=function(){},o.prototype.possibleOutputs=function(){return[this.value]},e.exports=o},{\"../values\":147}],135:[function(t,e,r){var n=t(\"../values\").typeOf,i=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};i.parse=function(t,e){if(t.length<5)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if(t.length%2!=1)return e.error(\"Expected an even number of arguments.\");var r,a;e.expectedType&&\"value\"!==e.expectedType.kind&&(a=e.expectedType);for(var o={},s=[],l=2;l<t.length-1;l+=2){var u=t[l],c=t[l+1];Array.isArray(u)||(u=[u]);var h=e.concat(l);if(0===u.length)return h.error(\"Expected at least one branch label.\");for(var f=0,p=u;f<p.length;f+=1){var d=p[f];if(\"number\"!=typeof d&&\"string\"!=typeof d)return h.error(\"Branch labels must be numbers or strings.\");if(\"number\"==typeof d&&Math.abs(d)>Number.MAX_SAFE_INTEGER)return h.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(\"number\"==typeof d&&Math.floor(d)!==d)return h.error(\"Numeric branch labels must be integer values.\");if(r){if(h.checkSubtype(r,n(d)))return null}else r=n(d);if(void 0!==o[String(d)])return h.error(\"Branch labels must be unique.\");o[String(d)]=s.length}var g=e.parse(c,l,a);if(!g)return null;a=a||g.type,s.push(g)}var v=e.parse(t[1],1,r);if(!v)return null;var m=e.parse(t[t.length-1],t.length-1,a);return m?new i(r,a,v,o,s,m):null},i.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},i.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},i.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()})).concat(this.otherwise.possibleOutputs());var t},e.exports=i},{\"../values\":147}],136:[function(t,e,r){var n=t(\"../types\").NumberType,i=t(\"../stops\").findStopLessThanOrEqualTo,a=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n<i.length;n+=1){var a=i[n],o=a[0],s=a[1];this.labels.push(o),this.outputs.push(s)}};a.parse=function(t,e){var r=t[1],i=t.slice(2);if(t.length-1<4)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");if(!(r=e.parse(r,1,n)))return null;var o=[],s=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(s=e.expectedType),i.unshift(-1/0);for(var l=0;l<i.length;l+=2){var u=i[l],c=i[l+1],h=l+1,f=l+2;if(\"number\"!=typeof u)return e.error('Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',h);if(o.length&&o[o.length-1][0]>=u)return e.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',h);var p=e.parse(c,f,s);if(!p)return null;s=s||p.type,o.push([u,p])}return new a(s,r,o)},a.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var a=e.length;return n>=e[a-1]?r[a-1].evaluate(t):r[i(e,n)].evaluate(t)},a.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},a.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}));var t},e.exports=a},{\"../stops\":145,\"../types\":146}],137:[function(t,e,r){var n=function(t,e){this.type=e,this.name=t};n.parse=function(t,e){if(2!==t.length||\"string\"!=typeof t[1])return e.error(\"'var' expression requires exactly one string literal argument.\");var r=t[1];return e.scope.has(r)?new n(r,e.scope.get(r).type):e.error('Unknown variable \"'+r+'\". Make sure \"'+r+'\" has been bound in an enclosing \"let\" expression before using it.',1)},n.prototype.evaluate=function(t){return t.scope.get(this.name).evaluate(t)},n.prototype.eachChild=function(){},n.prototype.possibleOutputs=function(){return[void 0]},e.exports=n},{}],138:[function(t,e,r){var n=t(\"./scope\"),i=t(\"./values\").Color,a=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],o=function(){this.scope=new n,this._parseColorCache={}};o.prototype.id=function(){return this.feature&&\"id\"in this.feature?this.feature.id:null},o.prototype.geometryType=function(){return this.feature?\"number\"==typeof this.feature.type?a[this.feature.type]:this.feature.type:null},o.prototype.properties=function(){return this.feature&&this.feature.properties||{}},o.prototype.pushScope=function(t){this.scope=this.scope.concat(t)},o.prototype.popScope=function(){this.scope=this.scope.parent},o.prototype.parseColor=function(t){var e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=i.parse(t)),e},e.exports=o},{\"./scope\":144,\"./values\":147}],139:[function(t,e,r){function n(t){return Array.isArray(t)&&t.length>0&&\"string\"==typeof t[0]&&t[0]in g}function i(t,e,r){void 0===r&&(r={});var n=new l(g,[],function(t){var e={color:z,string:P,number:I,enum:P,boolean:D};return\"array\"===t.type?R(e[t.value]||O,t.length):e[t.type]||null}(e)),i=n.parse(t);return i?x(!1===r.handleErrors?new _(i):new w(i,e)):b(n.errors)}function a(t,e,r){if(void 0===r&&(r={}),\"error\"===(t=i(t,e,r)).result)return t;var n=t.value.expression,a=v.isFeatureConstant(n);if(!a&&!e[\"property-function\"])return b([new s(\"\",\"property expressions not supported\")]);var o=v.isGlobalPropertyConstant(n,[\"zoom\"]);if(!o&&!1===e[\"zoom-function\"])return b([new s(\"\",\"zoom expressions not supported\")]);var l=function t(e){var r=null;if(e instanceof d)r=t(e.result);else if(e instanceof p)for(var n=0,i=e.args;n<i.length;n+=1){var a=i[n];if(r=t(a))break}else(e instanceof h||e instanceof f)&&e.input instanceof c&&\"zoom\"===e.input.name&&(r=e);return r instanceof s?r:(e.eachChild(function(e){var n=t(e);n instanceof s?r=n:!r&&n?r=new s(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):r&&n&&r!==n&&(r=new s(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),r)}(n);return l||o?l instanceof s?b([l]):l instanceof f&&\"piecewise-constant\"===e.function?b([new s(\"\",'\"interpolate\" expressions cannot be used with this property')]):x(l?new A(a?\"camera\":\"composite\",t.value,l):new M(a?\"constant\":\"source\",t.value)):b([new s(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}var o=t(\"../util/extend\"),s=t(\"./parsing_error\"),l=t(\"./parsing_context\"),u=t(\"./evaluation_context\"),c=t(\"./compound_expression\").CompoundExpression,h=t(\"./definitions/step\"),f=t(\"./definitions/interpolate\"),p=t(\"./definitions/coalesce\"),d=t(\"./definitions/let\"),g=t(\"./definitions\"),v=t(\"./is_constant\"),m=t(\"./runtime_error\"),y=t(\"../util/result\"),x=y.success,b=y.error,_=function(t){this.expression=t};_.prototype.evaluate=function(t,e){return this._evaluator||(this._evaluator=new u),this._evaluator.globals=t,this._evaluator.feature=e,this.expression.evaluate(this._evaluator)};var w=function(t){function e(e,r){t.call(this,e),this._warningHistory={},this._defaultValue=function(t){return\"color\"===t.type&&T(t.default)?new E(0,0,0,0):\"color\"===t.type?E.parse(t.default)||null:void 0===t.default?null:t.default}(r),\"enum\"===r.type&&(this._enumValues=r.values)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.evaluate=function(t,e){this._evaluator||(this._evaluator=new u),this._evaluator.globals=t,this._evaluator.feature=e;try{var r=this.expression.evaluate(this._evaluator);if(null===r||void 0===r)return this._defaultValue;if(this._enumValues&&!(r in this._enumValues))throw new m(\"Expected value to be one of \"+Object.keys(this._enumValues).map(function(t){return JSON.stringify(t)}).join(\", \")+\", but found \"+JSON.stringify(r)+\" instead.\");return r}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\"undefined\"!=typeof console&&console.warn(t.message)),this._defaultValue}},e}(_),M=function(t,e){this.kind=t,this._styleExpression=e};M.prototype.evaluate=function(t,e){return this._styleExpression.evaluate(t,e)};var A=function(t,e,r){this.kind=t,this.zoomStops=r.labels,this._styleExpression=e,r instanceof f&&(this._interpolationType=r.interpolation)};A.prototype.evaluate=function(t,e){return this._styleExpression.evaluate(t,e)},A.prototype.interpolationFactor=function(t,e,r){return this._interpolationType?f.interpolationFactor(this._interpolationType,t,e,r):0};var k=t(\"../function\"),T=k.isFunction,S=k.createFunction,E=t(\"./values\").Color,C=function(t,e){this._parameters=t,this._specification=e,o(this,S(this._parameters,this._specification))};C.deserialize=function(t){return new C(t._parameters,t._specification)},C.serialize=function(t){return{_parameters:t._parameters,_specification:t._specification}},e.exports={StyleExpression:_,StyleExpressionWithErrorHandling:w,isExpression:n,createExpression:i,createPropertyExpression:a,normalizePropertyExpression:function(t,e){if(T(t))return new C(t,e);if(n(t)){var r=a(t,e);if(\"error\"===r.result)throw new Error(r.value.map(function(t){return t.key+\": \"+t.message}).join(\", \"));return r.value}var i=t;return\"string\"==typeof t&&\"color\"===e.type&&(i=E.parse(t)),{kind:\"constant\",evaluate:function(){return i}}},ZoomConstantExpression:M,ZoomDependentExpression:A,StylePropertyFunction:C};var L=t(\"./types\"),z=L.ColorType,P=L.StringType,I=L.NumberType,D=L.BooleanType,O=L.ValueType,R=L.array},{\"../function\":149,\"../util/extend\":156,\"../util/result\":160,\"./compound_expression\":123,\"./definitions\":131,\"./definitions/coalesce\":128,\"./definitions/interpolate\":132,\"./definitions/let\":133,\"./definitions/step\":136,\"./evaluation_context\":138,\"./is_constant\":140,\"./parsing_context\":141,\"./parsing_error\":142,\"./runtime_error\":143,\"./types\":146,\"./values\":147}],140:[function(t,e,r){var n=t(\"./compound_expression\").CompoundExpression;e.exports={isFeatureConstant:function t(e){if(e instanceof n){if(\"get\"===e.name&&1===e.args.length)return!1;if(\"has\"===e.name&&1===e.args.length)return!1;if(\"properties\"===e.name||\"geometry-type\"===e.name||\"id\"===e.name)return!1;if(/^filter-/.test(e.name))return!1}var r=!0;return e.eachChild(function(e){r&&!t(e)&&(r=!1)}),r},isGlobalPropertyConstant:function t(e,r){if(e instanceof n&&r.indexOf(e.name)>=0)return!1;var i=!0;return e.eachChild(function(e){i&&!t(e,r)&&(i=!1)}),i}}},{\"./compound_expression\":123}],141:[function(t,e,r){var n=t(\"./scope\"),i=t(\"./types\").checkSubtype,a=t(\"./parsing_error\"),o=t(\"./definitions/literal\"),s=t(\"./definitions/assertion\"),l=t(\"./definitions/array\"),u=t(\"./definitions/coercion\"),c=function(t,e,r,i,a){void 0===e&&(e=[]),void 0===i&&(i=new n),void 0===a&&(a=[]),this.registry=t,this.path=e,this.key=e.map(function(t){return\"[\"+t+\"]\"}).join(\"\"),this.scope=i,this.errors=a,this.expectedType=r};c.prototype.parse=function(e,r,n,i,a){void 0===a&&(a={});var c=this;if(r&&(c=c.concat(r,n,i)),null!==e&&\"string\"!=typeof e&&\"boolean\"!=typeof e&&\"number\"!=typeof e||(e=[\"literal\",e]),Array.isArray(e)){if(0===e.length)return c.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var h=e[0];if(\"string\"!=typeof h)return c.error(\"Expression name must be a string, but found \"+typeof h+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var f=c.registry[h];if(f){var p=f.parse(e,c);if(!p)return null;if(c.expectedType){var d=c.expectedType,g=p.type;if(\"string\"!==d.kind&&\"number\"!==d.kind&&\"boolean\"!==d.kind||\"value\"!==g.kind)if(\"array\"===d.kind&&\"value\"===g.kind)a.omitTypeAnnotations||(p=new l(d,p));else if(\"color\"!==d.kind||\"value\"!==g.kind&&\"string\"!==g.kind){if(c.checkSubtype(c.expectedType,p.type))return null}else a.omitTypeAnnotations||(p=new u(d,[p]));else a.omitTypeAnnotations||(p=new s(d,[p]))}if(!(p instanceof o)&&function(e){var r=t(\"./compound_expression\").CompoundExpression,n=t(\"./is_constant\"),i=n.isGlobalPropertyConstant,a=n.isFeatureConstant;if(e instanceof t(\"./definitions/var\"))return!1;if(e instanceof r&&\"error\"===e.name)return!1;var s=!0;return e.eachChild(function(t){t instanceof o||(s=!1)}),!!s&&a(e)&&i(e,[\"zoom\",\"heatmap-density\"])}(p)){var v=new(t(\"./evaluation_context\"));try{p=new o(p.type,p.evaluate(v))}catch(e){return c.error(e.message),null}}return p}return c.error('Unknown expression \"'+h+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}return void 0===e?c.error(\"'undefined' value invalid. Use null instead.\"):\"object\"==typeof e?c.error('Bare objects invalid. Use [\"literal\", {...}] instead.'):c.error(\"Expected an array, but found \"+typeof e+\" instead.\")},c.prototype.concat=function(t,e,r){var n=\"number\"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new c(this.registry,n,e||null,i,this.errors)},c.prototype.error=function(t){for(var e=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];var i=\"\"+this.key+r.map(function(t){return\"[\"+t+\"]\"}).join(\"\");this.errors.push(new a(i,t))},c.prototype.checkSubtype=function(t,e){var r=i(t,e);return r&&this.error(r),r},e.exports=c},{\"./compound_expression\":123,\"./definitions/array\":124,\"./definitions/assertion\":125,\"./definitions/coercion\":129,\"./definitions/literal\":134,\"./definitions/var\":137,\"./evaluation_context\":138,\"./is_constant\":140,\"./parsing_error\":142,\"./scope\":144,\"./types\":146}],142:[function(t,e,r){var n=function(t){function e(e,r){t.call(this,r),this.message=r,this.key=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error);e.exports=n},{}],143:[function(t,e,r){var n=function(t){this.name=\"ExpressionEvaluationError\",this.message=t};n.prototype.toJSON=function(){return this.message},e.exports=n},{}],144:[function(t,e,r){var n=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;r<n.length;r+=1){var i=n[r],a=i[0],o=i[1];this.bindings[a]=o}};n.prototype.concat=function(t){return new n(this,t)},n.prototype.get=function(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(t+\" not found in scope.\")},n.prototype.has=function(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)},e.exports=n},{}],145:[function(t,e,r){var n=t(\"./runtime_error\");e.exports={findStopLessThanOrEqualTo:function(t,e){for(var r,i,a=0,o=t.length-1,s=0;a<=o;){if(r=t[s=Math.floor((a+o)/2)],i=t[s+1],e===r||e>r&&e<i)return s;if(r<e)a=s+1;else{if(!(r>e))throw new n(\"Input is not a number.\");o=s-1}}return Math.max(s-1,0)}}},{\"./runtime_error\":143}],146:[function(t,e,r){function n(t,e){return{kind:\"array\",itemType:t,N:e}}function i(t){if(\"array\"===t.kind){var e=i(t.itemType);return\"number\"==typeof t.N?\"array<\"+e+\", \"+t.N+\">\":\"value\"===t.itemType.kind?\"array\":\"array<\"+e+\">\"}return t.kind}var a={kind:\"null\"},o={kind:\"number\"},s={kind:\"string\"},l={kind:\"boolean\"},u={kind:\"color\"},c={kind:\"object\"},h={kind:\"value\"},f=[a,o,s,l,u,c,n(h)];e.exports={NullType:a,NumberType:o,StringType:s,BooleanType:l,ColorType:u,ObjectType:c,ValueType:h,array:n,ErrorType:{kind:\"error\"},toString:i,checkSubtype:function t(e,r){if(\"error\"===r.kind)return null;if(\"array\"===e.kind){if(\"array\"===r.kind&&!t(e.itemType,r.itemType)&&(\"number\"!=typeof e.N||e.N===r.N))return null}else{if(e.kind===r.kind)return null;if(\"value\"===e.kind)for(var n=0,a=f;n<a.length;n+=1)if(!t(a[n],r))return null}return\"Expected \"+i(e)+\" but found \"+i(r)+\" instead.\"}}},{}],147:[function(t,e,r){var n=t(\"../util/color\"),i=t(\"./types\"),a=i.NullType,o=i.NumberType,s=i.StringType,l=i.BooleanType,u=i.ColorType,c=i.ObjectType,h=i.ValueType,f=i.array;e.exports={Color:n,validateRGBA:function(t,e,r,n){return\"number\"==typeof t&&t>=0&&t<=255&&\"number\"==typeof e&&e>=0&&e<=255&&\"number\"==typeof r&&r>=0&&r<=255?void 0===n||\"number\"==typeof n&&n>=0&&n<=1?null:\"Invalid rgba value [\"+[t,e,r,n].join(\", \")+\"]: 'a' must be between 0 and 1.\":\"Invalid rgba value [\"+(\"number\"==typeof n?[t,e,r,n]:[t,e,r]).join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"},isValue:function t(e){if(null===e)return!0;if(\"string\"==typeof e)return!0;if(\"boolean\"==typeof e)return!0;if(\"number\"==typeof e)return!0;if(e instanceof n)return!0;if(Array.isArray(e)){for(var r=0,i=e;r<i.length;r+=1)if(!t(i[r]))return!1;return!0}if(\"object\"==typeof e){for(var a in e)if(!t(e[a]))return!1;return!0}return!1},typeOf:function t(e){if(null===e)return a;if(\"string\"==typeof e)return s;if(\"boolean\"==typeof e)return l;if(\"number\"==typeof e)return o;if(e instanceof n)return u;if(Array.isArray(e)){for(var r,i=e.length,p=0,d=e;p<d.length;p+=1){var g=t(d[p]);if(r){if(r===g)continue;r=h;break}r=g}return f(r||h,i)}return c}}},{\"../util/color\":153,\"./types\":146}],148:[function(t,e,r){function n(t){if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case\"has\":return t.length>=2&&\"$id\"!==t[1]&&\"$type\"!==t[1];case\"in\":case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return 3===t.length&&(Array.isArray(t[1])||Array.isArray(t[2]));case\"any\":case\"all\":for(var e=0,r=t.slice(1);e<r.length;e+=1){var i=r[e];if(!n(i)&&\"boolean\"!=typeof i)return!1}return!0;default:return!0}}function i(t,e){return t<e?-1:t>e?1:0}function a(t){if(!t)return!0;var e=t[0];return t.length<=1?\"any\"!==e:\"==\"===e?o(t[1],t[2],\"==\"):\"!=\"===e?u(o(t[1],t[2],\"==\")):\"<\"===e||\">\"===e||\"<=\"===e||\">=\"===e?o(t[1],t[2],e):\"any\"===e?function(t){return[\"any\"].concat(t.map(a))}(t.slice(1)):\"all\"===e?[\"all\"].concat(t.slice(1).map(a)):\"none\"===e?[\"all\"].concat(t.slice(1).map(a).map(u)):\"in\"===e?s(t[1],t.slice(2)):\"!in\"===e?u(s(t[1],t.slice(2))):\"has\"===e?l(t[1]):\"!has\"!==e||u(l(t[1]))}function o(t,e,r){switch(t){case\"$type\":return[\"filter-type-\"+r,e];case\"$id\":return[\"filter-id-\"+r,e];default:return[\"filter-\"+r,t,e]}}function s(t,e){if(0===e.length)return!1;switch(t){case\"$type\":return[\"filter-type-in\",[\"literal\",e]];case\"$id\":return[\"filter-id-in\",[\"literal\",e]];default:return e.length>200&&!e.some(function(t){return typeof t!=typeof e[0]})?[\"filter-in-large\",t,[\"literal\",e.sort(i)]]:[\"filter-in-small\",t,[\"literal\",e]]}}function l(t){switch(t){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",t]}}function u(t){return[\"!\",t]}var c=t(\"../expression\").createExpression;e.exports=function(t){if(!t)return function(){return!0};n(t)||(t=a(t));var e=c(t,h);if(\"error\"===e.result)throw new Error(e.value.map(function(t){return t.key+\": \"+t.message}).join(\", \"));return function(t,r){return e.value.evaluate(t,r)}},e.exports.isExpressionFilter=n;var h={type:\"boolean\",default:!1,function:!0,\"property-function\":!0,\"zoom-function\":!0}},{\"../expression\":139}],149:[function(t,e,r){function n(t){return t}function i(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function a(t,e,r,n,a){return i(typeof r===a?n[r]:void 0,t.default,e.default)}function o(t,e,r){if(\"number\"!==p(r))return i(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];var a=u(t.stops,r);return t.stops[a][1]}function s(t,e,r){var a=void 0!==t.base?t.base:1;if(\"number\"!==p(r))return i(t.default,e.default);var o=t.stops.length;if(1===o)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[o-1][0])return t.stops[o-1][1];var s=u(t.stops,r),l=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,a,t.stops[s][0],t.stops[s+1][0]),h=t.stops[s][1],f=t.stops[s+1][1],g=d[e.type]||n;if(t.colorSpace&&\"rgb\"!==t.colorSpace){var v=c[t.colorSpace];g=function(t,e){return v.reverse(v.interpolate(v.forward(t),v.forward(e),l))}}return\"function\"==typeof h.evaluate?{evaluate:function(){for(var t=arguments,e=[],r=arguments.length;r--;)e[r]=t[r];var n=h.evaluate.apply(void 0,e),i=f.evaluate.apply(void 0,e);if(void 0!==n&&void 0!==i)return g(n,i,l)}}:g(h,f,l)}function l(t,e,r){return\"color\"===e.type?r=h.parse(r):p(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0),i(r,t.default,e.default)}function u(t,e){for(var r,n,i=0,a=t.length-1,o=0;i<=a;){if(r=t[o=Math.floor((i+a)/2)][0],n=t[o+1][0],e===r||e>r&&e<n)return o;r<e?i=o+1:r>e&&(a=o-1)}return Math.max(o-1,0)}var c=t(\"../util/color_spaces\"),h=t(\"../util/color\"),f=t(\"../util/extend\"),p=t(\"../util/get_type\"),d=t(\"../util/interpolate\"),g=t(\"../expression/definitions/interpolate\");e.exports={createFunction:function t(e,r){var n,u,p,d=\"color\"===r.type,v=e.stops&&\"object\"==typeof e.stops[0][0],m=v||void 0!==e.property,y=v||!m,x=e.type||(\"interpolated\"===r.function?\"exponential\":\"interval\");if(d&&((e=f({},e)).stops&&(e.stops=e.stops.map(function(t){return[t[0],h.parse(t[1])]})),e.default?e.default=h.parse(e.default):e.default=h.parse(r.default)),e.colorSpace&&\"rgb\"!==e.colorSpace&&!c[e.colorSpace])throw new Error(\"Unknown color space: \"+e.colorSpace);if(\"exponential\"===x)n=s;else if(\"interval\"===x)n=o;else if(\"categorical\"===x){n=a,u=Object.create(null);for(var b=0,_=e.stops;b<_.length;b+=1){var w=_[b];u[w[0]]=w[1]}p=typeof e.stops[0][0]}else{if(\"identity\"!==x)throw new Error('Unknown function type \"'+x+'\"');n=l}if(v){for(var M={},A=[],k=0;k<e.stops.length;k++){var T=e.stops[k],S=T[0].zoom;void 0===M[S]&&(M[S]={zoom:S,type:e.type,property:e.property,default:e.default,stops:[]},A.push(S)),M[S].stops.push([T[0].value,T[1]])}for(var E=[],C=0,L=A;C<L.length;C+=1){var z=L[C];E.push([M[z].zoom,t(M[z],r)])}return{kind:\"composite\",interpolationFactor:g.interpolationFactor.bind(void 0,{name:\"linear\"}),zoomStops:E.map(function(t){return t[0]}),evaluate:function(t,n){var i=t.zoom;return s({stops:E,base:e.base},r,i).evaluate(i,n)}}}return y?{kind:\"camera\",interpolationFactor:\"exponential\"===x?g.interpolationFactor.bind(void 0,{name:\"exponential\",base:void 0!==e.base?e.base:1}):function(){return 0},zoomStops:e.stops.map(function(t){return t[0]}),evaluate:function(t){var i=t.zoom;return n(e,r,i,u,p)}}:{kind:\"source\",evaluate:function(t,a){var o=a&&a.properties?a.properties[e.property]:void 0;return void 0===o?i(e.default,r.default):n(e,r,o,u,p)}}},isFunction:function(t){return\"object\"==typeof t&&null!==t&&!Array.isArray(t)}}},{\"../expression/definitions/interpolate\":132,\"../util/color\":153,\"../util/color_spaces\":154,\"../util/extend\":156,\"../util/get_type\":157,\"../util/interpolate\":158}],150:[function(t,e,r){function n(t){var e=typeof t;if(\"number\"===e||\"boolean\"===e||\"string\"===e||void 0===t||null===t)return JSON.stringify(t);if(Array.isArray(t)){for(var r=\"[\",i=0,a=t;i<a.length;i+=1)r+=n(a[i])+\",\";return r+\"]\"}for(var o=Object.keys(t).sort(),s=\"{\",l=0;l<o.length;l++)s+=JSON.stringify(o[l])+\":\"+n(t[o[l]])+\",\";return s+\"}\"}function i(t){for(var e=\"\",r=0,i=a;r<i.length;r+=1)e+=\"/\"+n(t[i[r]]);return e}var a=t(\"./util/ref_properties\");e.exports=function(t){for(var e={},r=0;r<t.length;r++){var n=i(t[r]),a=e[n];a||(a=e[n]=[]),a.push(t[r])}var o=[];for(var s in e)o.push(e[s]);return o}},{\"./util/ref_properties\":159}],151:[function(t,e,r){e.exports=t(\"./v8.json\")},{\"./v8.json\":152}],152:[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\"},light:{type:\"light\"},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_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\",\"source_canvas\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.0511,180,85.0511]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.0511,180,85.0511]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.0511,180,85.0511]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{type:\"*\"},maxzoom:{type:\"number\",default:18},buffer:{type:\"number\",default:128,maximum:512,minimum:0},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},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\"}}},source_canvas:{type:{required:!0,type:\"enum\",values:{canvas:{}}},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}},animate:{type:\"boolean\",default:\"true\"},canvas:{type:\"string\",required:!0}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_fill:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_circle:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_line:{\"line-cap\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-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,requires:[{\"line-join\":\"miter\"}]},\"line-round-limit\":{type:\"number\",default:1.05,function:\"interpolated\",\"zoom-function\":!0,requires:[{\"line-join\":\"round\"}]},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{point:{},line:{}},default:\"point\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,function:\"interpolated\",\"zoom-function\":!0,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}]},\"symbol-avoid-edges\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1},\"icon-allow-overlap\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"icon-image\"]},\"icon-ignore-placement\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"icon-image\"]},\"icon-optional\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"icon-image\",\"text-field\"]},\"icon-rotation-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"]},\"icon-size\":{type:\"number\",default:1,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,units:\"factor of the original icon size\",requires:[\"icon-image\"]},\"icon-text-fit\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{none:{},width:{},height:{},both:{}},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,requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}]},\"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,units:\"pixels\",requires:[\"icon-image\"]},\"icon-keep-upright\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-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\"]},\"icon-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:[\"icon-image\"]},\"icon-pitch-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"]},\"text-pitch-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"]},\"text-rotation-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{},auto:{}},default:\"auto\",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:\"ems\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",function:\"interpolated\",\"zoom-function\":!0,requires:[\"text-field\"]},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",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,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,requires:[\"text-field\"]},\"text-keep-upright\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-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,default:!1,requires:[\"text-field\"]},\"text-ignore-placement\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"text-field\"]},\"text-optional\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"text-field\",\"icon-image\"]},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_hillshade:{visibility:{type:\"enum\",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:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:22,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},expression_name:{type:\"enum\",values:{let:{group:\"Variable binding\"},var:{group:\"Variable binding\"},literal:{group:\"Types\"},array:{group:\"Types\"},at:{group:\"Lookup\"},case:{group:\"Decision\"},match:{group:\"Decision\"},coalesce:{group:\"Decision\"},step:{group:\"Ramps, scales, curves\"},interpolate:{group:\"Ramps, scales, curves\"},ln2:{group:\"Math\"},pi:{group:\"Math\"},e:{group:\"Math\"},typeof:{group:\"Types\"},string:{group:\"Types\"},number:{group:\"Types\"},boolean:{group:\"Types\"},object:{group:\"Types\"},\"to-string\":{group:\"Types\"},\"to-number\":{group:\"Types\"},\"to-boolean\":{group:\"Types\"},\"to-rgba\":{group:\"Color\"},\"to-color\":{group:\"Types\"},rgb:{group:\"Color\"},rgba:{group:\"Color\"},get:{group:\"Lookup\"},has:{group:\"Lookup\"},length:{group:\"Lookup\"},properties:{group:\"Feature data\"},\"geometry-type\":{group:\"Feature data\"},id:{group:\"Feature data\"},zoom:{group:\"Zoom\"},\"heatmap-density\":{group:\"Heatmap\"},\"+\":{group:\"Math\"},\"*\":{group:\"Math\"},\"-\":{group:\"Math\"},\"/\":{group:\"Math\"},\"%\":{group:\"Math\"},\"^\":{group:\"Math\"},sqrt:{group:\"Math\"},log10:{group:\"Math\"},ln:{group:\"Math\"},log2:{group:\"Math\"},sin:{group:\"Math\"},cos:{group:\"Math\"},tan:{group:\"Math\"},asin:{group:\"Math\"},acos:{group:\"Math\"},atan:{group:\"Math\"},min:{group:\"Math\"},max:{group:\"Math\"},\"==\":{group:\"Decision\"},\"!=\":{group:\"Decision\"},\">\":{group:\"Decision\"},\"<\":{group:\"Decision\"},\">=\":{group:\"Decision\"},\"<=\":{group:\"Decision\"},all:{group:\"Decision\"},any:{group:\"Decision\"},\"!\":{group:\"Decision\"},upcase:{group:\"String\"},downcase:{group:\"String\"},concat:{group:\"String\"}}},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},transition:!1,\"zoom-function\":!0,\"property-function\":!1,function:\"piecewise-constant\"},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",transition:!0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1},color:{type:\"color\",default:\"#ffffff\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1,transition:!0},intensity:{type:\"number\",default:.5,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1,transition:!0}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-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,transition:!0,units:\"pixels\"},\"fill-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"]},\"fill-pattern\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,transition:!0}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1,default:1,minimum:0,maximum:1,transition:!0},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}]},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,transition:!0,units:\"pixels\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"]},\"fill-extrusion-pattern\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,transition:!0},\"fill-extrusion-height\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,default:0,minimum:0,units:\"meters\",transition:!0},\"fill-extrusion-base\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"]}},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,transition:!0,units:\"pixels\"},\"line-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-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,minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}]},\"line-pattern\":{type:\"string\",function:\"piecewise-constant\",\"zoom-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,transition:!0,units:\"pixels\"},\"circle-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"]},\"circle-pitch-scale\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\"},\"circle-pitch-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"viewport\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!1},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1,transition:!0},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],function:\"interpolated\",\"zoom-function\":!1,\"property-function\":!1,transition:!1},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1,transition:!0}},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,transition:!0,units:\"pixels\",requires:[\"icon-image\"]},\"icon-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-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,transition:!0,units:\"pixels\",requires:[\"text-field\"]},\"text-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-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:!1,units:\"milliseconds\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,function:\"interpolated\",\"zoom-function\":!0,transition:!1},\"hillshade-illumination-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"viewport\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,transition:!0}},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\"}}}},{}],153:[function(t,e,r){var n=t(\"csscolorparser\").parseCSSColor,i=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};i.parse=function(t){if(t){if(t instanceof i)return t;if(\"string\"==typeof t){var e=n(t);if(e)return new i(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},i.prototype.toString=function(){var t=this;return\"rgba(\"+[this.r,this.g,this.b].map(function(e){return Math.round(255*e/t.a)}).concat(this.a).join(\",\")+\")\"},i.black=new i(0,0,0,1),i.white=new i(1,1,1,1),i.transparent=new i(0,0,0,0),e.exports=i},{csscolorparser:13}],154:[function(t,e,r){function n(t){return t>m?Math.pow(t,1/3):t/v+d}function i(t){return t>g?t*t*t:v*(t-d)}function a(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function o(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function s(t){var e=o(t.r),r=o(t.g),i=o(t.b),a=n((.4124564*e+.3575761*r+.1804375*i)/h),s=n((.2126729*e+.7151522*r+.072175*i)/f);return{l:116*s-16,a:500*(a-s),b:200*(s-n((.0193339*e+.119192*r+.9503041*i)/p)),alpha:t.a}}function l(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=f*i(e),r=h*i(r),n=p*i(n),new u(a(3.2404542*r-1.5371385*e-.4985314*n),a(-.969266*r+1.8760108*e+.041556*n),a(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}var u=t(\"./color\"),c=t(\"./interpolate\").number,h=.95047,f=1,p=1.08883,d=4/29,g=6/29,v=3*g*g,m=g*g*g,y=Math.PI/180,x=180/Math.PI;e.exports={lab:{forward:s,reverse:l,interpolate:function(t,e,r){return{l:c(t.l,e.l,r),a:c(t.a,e.a,r),b:c(t.b,e.b,r),alpha:c(t.alpha,e.alpha,r)}}},hcl:{forward:function(t){var e=s(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*x;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*y,r=t.c;return l({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:function(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}(t.h,e.h,r),c:c(t.c,e.c,r),l:c(t.l,e.l,r),alpha:c(t.alpha,e.alpha,r)}}}}},{\"./color\":153,\"./interpolate\":158}],155:[function(t,e,r){e.exports=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}},{}],156:[function(t,e,r){e.exports=function(t){for(var e=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];for(var i=0,a=r;i<a.length;i+=1){var o=a[i];for(var s in o)t[s]=o[s]}return t}},{}],157:[function(t,e,r){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}},{}],158:[function(t,e,r){function n(t,e,r){return t*(1-r)+e*r}var i=t(\"./color\");e.exports={number:n,color:function(t,e,r){return new i(n(t.r,e.r,r),n(t.g,e.g,r),n(t.b,e.b,r),n(t.a,e.a,r))},array:function(t,e,r){return t.map(function(t,i){return n(t,e[i],r)})}}},{\"./color\":153}],159:[function(t,e,r){e.exports=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"]},{}],160:[function(t,e,r){e.exports={success:function(t){return{result:\"success\",value:t}},error:function(t){return{result:\"error\",value:t}}}},{}],161:[function(t,e,r){function n(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}e.exports=n,e.exports.deep=function t(e){return Array.isArray(e)?e.map(t):n(e)}},{}],162:[function(t,e,r){var n=t(\"../util/extend\"),i=t(\"../util/unbundle_jsonlint\"),a=t(\"../expression\").isExpression,o=t(\"../function\").isFunction;e.exports=function(e){var r=t(\"./validate_function\"),s=t(\"./validate_expression\"),l=t(\"./validate_object\"),u={\"*\":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\"),light:t(\"./validate_light\"),string:t(\"./validate_string\")},c=e.value,h=e.valueSpec,f=e.styleSpec;return h.function&&o(i(c))?r(e):h.function&&a(i.deep(c))?s(e):h.type&&u[h.type]?u[h.type](e):l(n({},e,{valueSpec:h.type?f[h.type]:h}))}},{\"../expression\":139,\"../function\":149,\"../util/extend\":156,\"../util/unbundle_jsonlint\":161,\"./validate_array\":163,\"./validate_boolean\":164,\"./validate_color\":165,\"./validate_constants\":166,\"./validate_enum\":167,\"./validate_expression\":168,\"./validate_filter\":169,\"./validate_function\":170,\"./validate_layer\":172,\"./validate_light\":174,\"./validate_number\":175,\"./validate_object\":176,\"./validate_source\":179,\"./validate_string\":180}],163:[function(t,e,r){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, \"+n(e)+\" found\")];if(r.length&&e.length!==r.length)return[new a(l,e,\"array length \"+r.length+\" expected, length \"+e.length+\" found\")];if(r[\"min-length\"]&&e.length<r[\"min-length\"])return[new a(l,e,\"array length at least \"+r[\"min-length\"]+\" expected, length \"+e.length+\" found\")];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\":122,\"../util/get_type\":157,\"./validate\":162}],164:[function(t,e,r){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, \"+a+\" found\")]:[]}},{\"../error/validation_error\":122,\"../util/get_type\":157}],165:[function(t,e,r){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, \"+o+\" found\")]:null===a(r)?[new n(e,r,'color expected, \"'+r+'\" found')]:[]}},{\"../error/validation_error\":122,\"../util/get_type\":157,csscolorparser:13}],166:[function(t,e,r){var n=t(\"../error/validation_error\");e.exports=function(t){var e=t.key,r=t.value;return r?[new n(e,r,\"constants have been deprecated as of v8\")]:[]}},{\"../error/validation_error\":122}],167:[function(t,e,r){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 Array.isArray(a.values)?-1===a.values.indexOf(i(r))&&o.push(new n(e,r,\"expected one of [\"+a.values.join(\", \")+\"], \"+JSON.stringify(r)+\" found\")):-1===Object.keys(a.values).indexOf(i(r))&&o.push(new n(e,r,\"expected one of [\"+Object.keys(a.values).join(\", \")+\"], \"+JSON.stringify(r)+\" found\")),o}},{\"../error/validation_error\":122,\"../util/unbundle_jsonlint\":161}],168:[function(t,e,r){var n=t(\"../error/validation_error\"),i=t(\"../expression\"),a=i.createExpression,o=i.createPropertyExpression,s=t(\"../util/unbundle_jsonlint\");e.exports=function(t){var e=(\"property\"===t.expressionContext?o:a)(s.deep(t.value),t.valueSpec);return\"error\"===e.result?e.value.map(function(e){return new n(\"\"+t.key+e.key,t.value,e.message)}):\"property\"===t.expressionContext&&\"text-font\"===t.propertyKey&&-1!==e.value._styleExpression.expression.possibleOutputs().indexOf(void 0)?[new n(t.key,t.value,'Invalid data expression for \"text-font\". Output values must be contained as literals within the expression.')]:[]}},{\"../error/validation_error\":122,\"../expression\":139,\"../util/unbundle_jsonlint\":161}],169:[function(t,e,r){var n=t(\"../error/validation_error\"),i=t(\"./validate_expression\"),a=t(\"./validate_enum\"),o=t(\"../util/get_type\"),s=t(\"../util/unbundle_jsonlint\"),l=t(\"../util/extend\"),u=t(\"../feature_filter\").isExpressionFilter;e.exports=function(t){return u(s.deep(t.value))?i(l({},t,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):function t(e){var r=e.value,i=e.key;if(\"array\"!==o(r))return[new n(i,r,\"array expected, \"+o(r)+\" found\")];var l,u=e.styleSpec,c=[];if(r.length<1)return[new n(i,r,\"filter array must have at least 1 element\")];switch(c=c.concat(a({key:i+\"[0]\",value:r[0],valueSpec:u.filter_operator,style:e.style,styleSpec:e.styleSpec})),s(r[0])){case\"<\":case\"<=\":case\">\":case\">=\":r.length>=2&&\"$type\"===s(r[1])&&c.push(new n(i,r,'\"$type\" cannot be use with operator \"'+r[0]+'\"'));case\"==\":case\"!=\":3!==r.length&&c.push(new n(i,r,'filter array for operator \"'+r[0]+'\" must have 3 elements'));case\"in\":case\"!in\":r.length>=2&&\"string\"!==(l=o(r[1]))&&c.push(new n(i+\"[1]\",r[1],\"string expected, \"+l+\" found\"));for(var h=2;h<r.length;h++)l=o(r[h]),\"$type\"===s(r[1])?c=c.concat(a({key:i+\"[\"+h+\"]\",value:r[h],valueSpec:u.geometry_type,style:e.style,styleSpec:e.styleSpec})):\"string\"!==l&&\"number\"!==l&&\"boolean\"!==l&&c.push(new n(i+\"[\"+h+\"]\",r[h],\"string, number, or boolean expected, \"+l+\" found\"));break;case\"any\":case\"all\":case\"none\":for(var f=1;f<r.length;f++)c=c.concat(t({key:i+\"[\"+f+\"]\",value:r[f],style:e.style,styleSpec:e.styleSpec}));break;case\"has\":case\"!has\":l=o(r[1]),2!==r.length?c.push(new n(i,r,'filter array for \"'+r[0]+'\" operator must have 2 elements')):\"string\"!==l&&c.push(new n(i+\"[1]\",r[1],\"string expected, \"+l+\" found\"))}return c}(t)}},{\"../error/validation_error\":122,\"../feature_filter\":148,\"../util/extend\":156,\"../util/get_type\":157,\"../util/unbundle_jsonlint\":161,\"./validate_enum\":167,\"./validate_expression\":168}],170:[function(t,e,r){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\"),u=t(\"../util/unbundle_jsonlint\");e.exports=function(t){function e(t){var e=[],s=t.value,c=t.key;if(\"array\"!==i(s))return[new n(c,s,\"array expected, \"+i(s)+\" found\")];if(2!==s.length)return[new n(c,s,\"array length 2 expected, length \"+s.length+\" found\")];if(y){if(\"object\"!==i(s[0]))return[new n(c,s,\"object expected, \"+i(s[0])+\" found\")];if(void 0===s[0].zoom)return[new n(c,s,\"object stop key must have zoom\")];if(void 0===s[0].value)return[new n(c,s,\"object stop key must have value\")];if(f&&f>u(s[0].zoom))return[new n(c,s[0].zoom,\"stop zoom values must appear in ascending order\")];u(s[0].zoom)!==f&&(f=u(s[0].zoom),h=void 0,g={}),e=e.concat(o({key:c+\"[0]\",value:s[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:l,value:r}}))}else e=e.concat(r({key:c+\"[0]\",value:s[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},s));return e.concat(a({key:c+\"[1]\",value:s[1],valueSpec:p,style:t.style,styleSpec:t.styleSpec}))}function r(t,e){var r=i(t.value),a=u(t.value),o=null!==t.value?t.value:e;if(c){if(r!==c)return[new n(t.key,o,r+\" stop domain type must match previous stop domain type \"+c)]}else c=r;if(\"number\"!==r&&\"string\"!==r&&\"boolean\"!==r)return[new n(t.key,o,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==r&&\"categorical\"!==d){var s=\"number expected, \"+r+\" found\";return p[\"property-function\"]&&void 0===d&&(s+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new n(t.key,o,s)]}return\"categorical\"!==d||\"number\"!==r||isFinite(a)&&Math.floor(a)===a?\"categorical\"!==d&&\"number\"===r&&void 0!==h&&a<h?[new n(t.key,o,\"stop domain values must appear in ascending order\")]:(h=a,\"categorical\"===d&&a in g?[new n(t.key,o,\"stop domain values must be unique\")]:(g[a]=!0,[])):[new n(t.key,o,\"integer expected, found \"+a)]}var c,h,f,p=t.valueSpec,d=u(t.value.type),g={},v=\"categorical\"!==d&&void 0===t.value.property,m=!v,y=\"array\"===i(t.value.stops)&&\"array\"===i(t.value.stops[0])&&\"object\"===i(t.value.stops[0][0]),x=o({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\"identity\"===d)return[new n(t.key,t.value,'identity function may not have a \"stops\" property')];var r=[],a=t.value;return r=r.concat(s({key:t.key,value:a,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:e})),\"array\"===i(a)&&0===a.length&&r.push(new n(t.key,a,\"array must have at least one stop\")),r},default:function(t){return a({key:t.key,value:t.value,valueSpec:p,style:t.style,styleSpec:t.styleSpec})}}});return\"identity\"===d&&v&&x.push(new n(t.key,t.value,'missing required property \"property\"')),\"identity\"===d||t.value.stops||x.push(new n(t.key,t.value,'missing required property \"stops\"')),\"exponential\"===d&&\"piecewise-constant\"===t.valueSpec.function&&x.push(new n(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(m&&!t.valueSpec[\"property-function\"]?x.push(new n(t.key,t.value,\"property functions not supported\")):v&&!t.valueSpec[\"zoom-function\"]&&\"heatmap-color\"!==t.objectKey&&x.push(new n(t.key,t.value,\"zoom functions not supported\"))),\"categorical\"!==d&&!y||void 0!==t.value.property||x.push(new n(t.key,t.value,'\"property\" property is required')),x}},{\"../error/validation_error\":122,\"../util/get_type\":157,\"../util/unbundle_jsonlint\":161,\"./validate\":162,\"./validate_array\":163,\"./validate_number\":175,\"./validate_object\":176}],171:[function(t,e,r){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:(-1===e.indexOf(\"{fontstack}\")&&a.push(new n(r,e,'\"glyphs\" url must include a \"{fontstack}\" token')),-1===e.indexOf(\"{range}\")&&a.push(new n(r,e,'\"glyphs\" url must include a \"{range}\" token')),a)}},{\"../error/validation_error\":122,\"./validate_string\":180}],172:[function(t,e,r){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(\"./validate\"),c=t(\"../util/extend\");e.exports=function(t){var e=[],r=t.value,h=t.key,f=t.style,p=t.styleSpec;r.type||r.ref||e.push(new n(h,r,'either \"type\" or \"ref\" is required'));var d,g=i(r.type),v=i(r.ref);if(r.id)for(var m=i(r.id),y=0;y<t.arrayIndex;y++){var x=f.layers[y];i(x.id)===m&&e.push(new n(h,r.id,'duplicate layer id \"'+r.id+'\", previously used at line '+x.id.__line__))}if(\"ref\"in r)[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach(function(t){t in r&&e.push(new n(h,r[t],'\"'+t+'\" is prohibited for ref layers'))}),f.layers.forEach(function(t){i(t.id)===v&&(d=t)}),d?d.ref?e.push(new n(h,r.ref,\"ref cannot reference another ref layer\")):g=i(d.type):e.push(new n(h,r.ref,'ref layer \"'+v+'\" not found'));else if(\"background\"!==g)if(r.source){var b=f.sources&&f.sources[r.source],_=b&&i(b.type);b?\"vector\"===_&&\"raster\"===g?e.push(new n(h,r.source,'layer \"'+r.id+'\" requires a raster source')):\"raster\"===_&&\"raster\"!==g?e.push(new n(h,r.source,'layer \"'+r.id+'\" requires a vector source')):\"vector\"!==_||r[\"source-layer\"]?\"raster-dem\"===_&&\"hillshade\"!==g&&e.push(new n(h,r.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):e.push(new n(h,r,'layer \"'+r.id+'\" must specify a \"source-layer\"')):e.push(new n(h,r.source,'source \"'+r.source+'\" not found'))}else e.push(new n(h,r,'missing required property \"source\"'));return e=e.concat(a({key:h,value:r,valueSpec:p.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(){return[]},type:function(){return u({key:h+\".type\",value:r.type,valueSpec:p.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:\"type\"})},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(c({layerType:g},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(c({layerType:g},t))}}})}}}))}},{\"../error/validation_error\":122,\"../util/extend\":156,\"../util/unbundle_jsonlint\":161,\"./validate\":162,\"./validate_filter\":169,\"./validate_layout_property\":173,\"./validate_object\":176,\"./validate_paint_property\":177}],173:[function(t,e,r){var n=t(\"./validate_property\");e.exports=function(t){return n(t,\"layout\")}},{\"./validate_property\":178}],174:[function(t,e,r){var n=t(\"../error/validation_error\"),i=t(\"../util/get_type\"),a=t(\"./validate\");e.exports=function(t){var e=t.value,r=t.styleSpec,o=r.light,s=t.style,l=[],u=i(e);if(void 0===e)return l;if(\"object\"!==u)return l.concat([new n(\"light\",e,\"object expected, \"+u+\" found\")]);for(var c in e){var h=c.match(/^(.*)-transition$/);l=h&&o[h[1]]&&o[h[1]].transition?l.concat(a({key:c,value:e[c],valueSpec:r.transition,style:s,styleSpec:r})):o[c]?l.concat(a({key:c,value:e[c],valueSpec:o[c],style:s,styleSpec:r})):l.concat([new n(c,e[c],'unknown property \"'+c+'\"')])}return l}},{\"../error/validation_error\":122,\"../util/get_type\":157,\"./validate\":162}],175:[function(t,e,r){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, \"+o+\" found\")]:\"minimum\"in a&&r<a.minimum?[new i(e,r,r+\" is less than the minimum value \"+a.minimum)]:\"maximum\"in a&&r>a.maximum?[new i(e,r,r+\" is greater than the maximum value \"+a.maximum)]:[]}},{\"../error/validation_error\":122,\"../util/get_type\":157}],176:[function(t,e,r){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, \"+h+\" found\")];for(var f in r){var p=f.split(\".\")[0],d=o[p]||o[\"*\"],g=void 0;if(s[p])g=s[p];else if(o[p])g=a;else if(s[\"*\"])g=s[\"*\"];else{if(!o[\"*\"]){c.push(new n(e,r[f],'unknown property \"'+f+'\"'));continue}g=a}c=c.concat(g({key:(e?e+\".\":e)+f,value:r[f],valueSpec:d,style:l,styleSpec:u,object:r,objectKey:f},r))}for(var v in o)s[v]||o[v].required&&void 0===o[v].default&&void 0===r[v]&&c.push(new n(e,r,'missing required property \"'+v+'\"'));return c}},{\"../error/validation_error\":122,\"../util/get_type\":157,\"./validate\":162}],177:[function(t,e,r){var n=t(\"./validate_property\");e.exports=function(t){return n(t,\"paint\")}},{\"./validate_property\":178}],178:[function(t,e,r){var n=t(\"./validate\"),i=t(\"../error/validation_error\"),a=t(\"../util/get_type\"),o=t(\"../function\").isFunction,s=t(\"../util/unbundle_jsonlint\");e.exports=function(t,e){var r=t.key,l=t.style,u=t.styleSpec,c=t.value,h=t.objectKey,f=u[e+\"_\"+t.layerType];if(!f)return[];var p=h.match(/^(.*)-transition$/);if(\"paint\"===e&&p&&f[p[1]]&&f[p[1]].transition)return n({key:r,value:c,valueSpec:u.transition,style:l,styleSpec:u});var d,g=t.valueSpec||f[h];if(!g)return[new i(r,c,'unknown property \"'+h+'\"')];if(\"string\"===a(c)&&g[\"property-function\"]&&!g.tokens&&(d=/^{([^}]+)}$/.exec(c)))return[new i(r,c,'\"'+h+'\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": '+JSON.stringify(d[1])+\" }`.\")];var v=[];return\"symbol\"===t.layerType&&(\"text-field\"===h&&l&&!l.glyphs&&v.push(new i(r,c,'use of \"text-field\" requires a style \"glyphs\" property')),\"text-font\"===h&&o(s.deep(c))&&\"identity\"===s(c.type)&&v.push(new i(r,c,'\"text-font\" does not support identity functions'))),v.concat(n({key:t.key,value:c,valueSpec:g,style:l,styleSpec:u,expressionContext:\"property\",propertyKey:h}))}},{\"../error/validation_error\":122,\"../function\":149,\"../util/get_type\":157,\"../util/unbundle_jsonlint\":161,\"./validate\":162}],179:[function(t,e,r){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),c=[];switch(u){case\"vector\":case\"raster\":case\"raster-dem\":if(c=c.concat(a({key:r,value:e,valueSpec:s[\"source_\"+u.replace(\"-\",\"_\")],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 \"'+h+'\" property'));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});case\"canvas\":return a({key:r,value:e,valueSpec:s.source_canvas,style:l,styleSpec:s});default:return o({key:r+\".type\",value:e.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\",\"canvas\"]},style:l,styleSpec:s})}}},{\"../error/validation_error\":122,\"../util/unbundle_jsonlint\":161,\"./validate_enum\":167,\"./validate_object\":176}],180:[function(t,e,r){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, \"+a+\" found\")]:[]}},{\"../error/validation_error\":122,\"../util/get_type\":157}],181:[function(t,e,r){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,\"*\":function(){return[]}}})),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\"),u=t(\"./validate/validate_glyphs_url\");n.source=a(t(\"./validate/validate_source\")),n.light=a(t(\"./validate/validate_light\")),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\":151,\"./validate/validate\":162,\"./validate/validate_constants\":166,\"./validate/validate_filter\":169,\"./validate/validate_glyphs_url\":171,\"./validate/validate_layer\":172,\"./validate/validate_layout_property\":173,\"./validate/validate_light\":174,\"./validate/validate_paint_property\":177,\"./validate/validate_source\":179}],182:[function(t,e,r){var n=t(\"./zoom_history\"),i=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new n,this.transition={})};i.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},e.exports=i},{\"./zoom_history\":212}],183:[function(t,e,r){var n=t(\"../style-spec/reference/latest\"),i=t(\"../util/util\"),a=t(\"../util/evented\"),o=t(\"./validate_style\"),s=t(\"../util/util\").sphericalToCartesian,l=(t(\"../style-spec/util/color\"),t(\"../style-spec/util/interpolate\")),u=t(\"./properties\"),c=u.Properties,h=u.Transitionable,f=(u.Transitioning,u.PossiblyEvaluated,u.DataConstantProperty),p=function(){this.specification=n.light.position};p.prototype.possiblyEvaluate=function(t,e){return s(t.expression.evaluate(e))},p.prototype.interpolate=function(t,e,r){return{x:l.number(t.x,e.x,r),y:l.number(t.y,e.y,r),z:l.number(t.z,e.z,r)}};var d=new c({anchor:new f(n.light.anchor),position:new p,color:new f(n.light.color),intensity:new f(n.light.intensity)}),g=function(t){function e(e){t.call(this),this._transitionable=new h(d),this.setLight(e),this._transitioning=this._transitionable.untransitioned()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getLight=function(){return this._transitionable.serialize()},e.prototype.setLight=function(t){if(!this._validate(o.light,t))for(var e in t){var r=t[e];i.endsWith(e,\"-transition\")?this._transitionable.setTransition(e.slice(0,-\"-transition\".length),r):this._transitionable.setValue(e,r)}},e.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)},e.prototype.hasTransition=function(){return this._transitioning.hasTransition()},e.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t)},e.prototype._validate=function(t,e){return o.emitErrors(this,t.call(o,i.extend({value:e,style:{glyphs:!0,sprite:!0},styleSpec:n})))},e}(a);e.exports=g},{\"../style-spec/reference/latest\":151,\"../style-spec/util/color\":153,\"../style-spec/util/interpolate\":158,\"../util/evented\":260,\"../util/util\":275,\"./properties\":188,\"./validate_style\":211}],184:[function(t,e,r){var n=t(\"../util/mapbox\").normalizeGlyphsURL,i=t(\"../util/ajax\"),a=t(\"./parse_glyph_pbf\");e.exports=function(t,e,r,o,s){var l=256*e,u=l+255,c=o(n(r).replace(\"{fontstack}\",t).replace(\"{range}\",l+\"-\"+u),i.ResourceType.Glyphs);i.getArrayBuffer(c,function(t,e){if(t)s(t);else if(e){for(var r={},n=0,i=a(e.data);n<i.length;n+=1){var o=i[n];r[o.id]=o}s(null,r)}})}},{\"../util/ajax\":251,\"../util/mapbox\":267,\"./parse_glyph_pbf\":186}],185:[function(t,e,r){var n=t(\"../util/ajax\"),i=t(\"../util/browser\"),a=t(\"../util/mapbox\").normalizeSpriteURL,o=t(\"../util/image\").RGBAImage;e.exports=function(t,e,r){function s(){if(c)r(c);else if(l&&u){var t=i.getImageData(u),e={};for(var n in l){var a=l[n],s=a.width,h=a.height,f=a.x,p=a.y,d=a.sdf,g=a.pixelRatio,v=new o({width:s,height:h});o.copy(t,v,{x:f,y:p},{x:0,y:0},{width:s,height:h}),e[n]={data:v,pixelRatio:g,sdf:d}}r(null,e)}}var l,u,c,h=i.devicePixelRatio>1?\"@2x\":\"\";n.getJSON(e(a(t,h,\".json\"),n.ResourceType.SpriteJSON),function(t,e){c||(c=t,l=e,s())}),n.getImage(e(a(t,h,\".png\"),n.ResourceType.SpriteImage),function(t,e){c||(c=t,u=e,s())})}},{\"../util/ajax\":251,\"../util/browser\":252,\"../util/image\":263,\"../util/mapbox\":267}],186:[function(t,e,r){function n(t,e,r){1===t&&r.readMessage(i,e)}function i(t,e,r){if(3===t){var n=r.readMessage(a,{}),i=n.id,s=n.bitmap,u=n.width,c=n.height,h=n.left,f=n.top,p=n.advance;e.push({id:i,bitmap:new o({width:u+2*l,height:c+2*l},s),metrics:{width:u,height:c,left:h,top:f,advance:p}})}}function a(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())}var o=t(\"../util/image\").AlphaImage,s=t(\"pbf\"),l=3;e.exports=function(t){return new s(t).readFields(n,[])},e.exports.GLYPH_PBF_BORDER=l},{\"../util/image\":263,pbf:30}],187:[function(t,e,r){var n=t(\"../util/browser\"),i=t(\"../symbol/placement\"),a=function(){this._currentTileIndex=0,this._seenCrossTileIDs={}};a.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this;this._currentTileIndex<t.length;){var o=t[a._currentTileIndex];if(e.placeLayerTile(n,o,r,a._seenCrossTileIDs),a._currentTileIndex++,i())return!0}};var o=function(t,e,r,n,a){this.placement=new i(t,a),this._currentPlacementIndex=e.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=n,this._done=!1};o.prototype.isDone=function(){return this._done},o.prototype.continuePlacement=function(t,e,r){for(var i=this,o=n.now(),s=function(){var t=n.now()-o;return!i._forceFullPlacement&&t>2};this._currentPlacementIndex>=0;){var l=e[t[i._currentPlacementIndex]],u=i.placement.collisionIndex.transform.zoom;if(\"symbol\"===l.type&&(!l.minzoom||l.minzoom<=u)&&(!l.maxzoom||l.maxzoom>u)){if(i._inProgressLayer||(i._inProgressLayer=new a),i._inProgressLayer.continuePlacement(r[l.source],i.placement,i._showCollisionBoxes,l,s))return;delete i._inProgressLayer}i._currentPlacementIndex--}this._done=!0},o.prototype.commit=function(t,e){return this.placement.commit(t,e),this.placement},e.exports=o},{\"../symbol/placement\":223,\"../util/browser\":252}],188:[function(t,e,r){var n=t(\"../util/util\"),i=n.clone,a=n.extend,o=n.easeCubicInOut,s=t(\"../style-spec/util/interpolate\"),l=t(\"../style-spec/expression\").normalizePropertyExpression,u=(t(\"../style-spec/util/color\"),t(\"../util/web_worker_transfer\").register),c=function(t,e){this.property=t,this.value=e,this.expression=l(void 0===e?t.specification.default:e,t.specification)};c.prototype.isDataDriven=function(){return\"source\"===this.expression.kind||\"composite\"===this.expression.kind},c.prototype.possiblyEvaluate=function(t){return this.property.possiblyEvaluate(this,t)};var h=function(t){this.property=t,this.value=new c(t,void 0)};h.prototype.transitioned=function(t,e){return new p(this.property,this.value,e,a({},t.transition,this.transition),t.now)},h.prototype.untransitioned=function(){return new p(this.property,this.value,null,{},0)};var f=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};f.prototype.getValue=function(t){return i(this._values[t].value.value)},f.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new h(this._values[t].property)),this._values[t].value=new c(this._values[t].property,null===e?void 0:i(e))},f.prototype.getTransition=function(t){return i(this._values[t].transition)},f.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new h(this._values[t].property)),this._values[t].transition=i(e)||void 0},f.prototype.serialize=function(){for(var t=this,e={},r=0,n=Object.keys(t._values);r<n.length;r+=1){var i=n[r],a=t.getValue(i);void 0!==a&&(e[i]=a);var o=t.getTransition(i);void 0!==o&&(e[i+\"-transition\"]=o)}return e},f.prototype.transitioned=function(t,e){for(var r=new d(this._properties),n=0,i=Object.keys(this._values);n<i.length;n+=1){var a=i[n];r._values[a]=this._values[a].transitioned(t,e._values[a])}return r},f.prototype.untransitioned=function(){for(var t=new d(this._properties),e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e];t._values[n]=this._values[n].untransitioned()}return t};var p=function(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r)};p.prototype.possiblyEvaluate=function(t){var e=t.now||0,r=this.value.possiblyEvaluate(t),n=this.prior;if(n){if(e>this.end)return this.prior=null,r;if(this.value.isDataDriven())return this.prior=null,r;if(e<this.begin)return n.possiblyEvaluate(t);var i=(e-this.begin)/(this.end-this.begin);return this.property.interpolate(n.possiblyEvaluate(t),r,o(i))}return r};var d=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};d.prototype.possiblyEvaluate=function(t){for(var e=new m(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var i=n[r];e._values[i]=this._values[i].possiblyEvaluate(t)}return e},d.prototype.hasTransition=function(){for(var t=0,e=Object.keys(this._values);t<e.length;t+=1){var r=e[t];if(this._values[r].prior)return!0}return!1};var g=function(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)};g.prototype.getValue=function(t){return i(this._values[t].value)},g.prototype.setValue=function(t,e){this._values[t]=new c(this._values[t].property,null===e?void 0:i(e))},g.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i)}return t},g.prototype.possiblyEvaluate=function(t){for(var e=new m(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var i=n[r];e._values[i]=this._values[i].possiblyEvaluate(t)}return e};var v=function(t,e,r){this.property=t,this.value=e,this.globals=r};v.prototype.isConstant=function(){return\"constant\"===this.value.kind},v.prototype.constantOr=function(t){return\"constant\"===this.value.kind?this.value.value:t},v.prototype.evaluate=function(t){return this.property.evaluate(this.value,this.globals,t)};var m=function(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)};m.prototype.get=function(t){return this._values[t]};var y=function(t){this.specification=t};y.prototype.possiblyEvaluate=function(t,e){return t.expression.evaluate(e)},y.prototype.interpolate=function(t,e,r){var n=s[this.specification.type];return n?n(t,e,r):t};var x=function(t){this.specification=t};x.prototype.possiblyEvaluate=function(t,e){return\"constant\"===t.expression.kind||\"camera\"===t.expression.kind?new v(this,{kind:\"constant\",value:t.expression.evaluate(e)},e):new v(this,t.expression,e)},x.prototype.interpolate=function(t,e,r){if(\"constant\"!==t.value.kind||\"constant\"!==e.value.kind)return t;if(void 0!==t.value.value&&void 0!==e.value.value){var n=s[this.specification.type];return n?new v(this,{kind:\"constant\",value:n(t.value.value,e.value.value,r)},t.globals):t}},x.prototype.evaluate=function(t,e,r){return\"constant\"===t.kind?t.value:t.evaluate(e,r)};var b=function(t){this.specification=t};b.prototype.possiblyEvaluate=function(t,e){if(void 0!==t.value){if(\"constant\"===t.expression.kind){var r=t.expression.evaluate(e);return this._calculate(r,r,r,e)}return this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e)}},b.prototype._calculate=function(t,e,r,n){var i=n.zoom,a=i-Math.floor(i),o=n.crossFadingFactor();return i>n.zoomHistory.lastIntegerZoom?{from:t,to:e,fromScale:2,toScale:1,t:a+(1-a)*o}:{from:r,to:e,fromScale:.5,toScale:1,t:1-(1-o)*a}},b.prototype.interpolate=function(t){return t};var _=function(t){this.specification=t};_.prototype.possiblyEvaluate=function(){},_.prototype.interpolate=function(){};u(\"DataDrivenProperty\",x),u(\"DataConstantProperty\",y),u(\"CrossFadedProperty\",b),u(\"HeatmapColorProperty\",_),e.exports={PropertyValue:c,Transitionable:f,Transitioning:d,Layout:g,PossiblyEvaluatedPropertyValue:v,PossiblyEvaluated:m,DataConstantProperty:y,DataDrivenProperty:x,CrossFadedProperty:b,HeatmapColorProperty:_,Properties:function(t){var e=this;for(var r in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},t){var n=t[r],i=e.defaultPropertyValues[r]=new c(n,void 0),a=e.defaultTransitionablePropertyValues[r]=new h(n);e.defaultTransitioningPropertyValues[r]=a.untransitioned(),e.defaultPossiblyEvaluatedValues[r]=i.possiblyEvaluate({})}}}},{\"../style-spec/expression\":139,\"../style-spec/util/color\":153,\"../style-spec/util/interpolate\":158,\"../util/util\":275,\"../util/web_worker_transfer\":278}],189:[function(t,e,r){var n=t(\"@mapbox/point-geometry\");e.exports={getMaximumPaintValue:function(t,e,r){var n=e.paint.get(t).value;return\"constant\"===n.kind?n.value:r.programConfigurations.get(e.id).binders[t].statistics.max},translateDistance:function(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])},translate:function(t,e,r,i,a){if(!e[0]&&!e[1])return t;var o=n.convert(e);\"viewport\"===r&&o._rotate(-i);for(var s=[],l=0;l<t.length;l++){for(var u=t[l],c=[],h=0;h<u.length;h++)c.push(u[h].sub(o._mult(a)));s.push(c)}return s}}},{\"@mapbox/point-geometry\":4}],190:[function(t,e,r){var n=t(\"../util/evented\"),i=t(\"./style_layer\"),a=t(\"./load_sprite\"),o=t(\"../render/image_manager\"),s=t(\"../render/glyph_manager\"),l=t(\"./light\"),u=t(\"../render/line_atlas\"),c=t(\"../util/util\"),h=t(\"../util/ajax\"),f=t(\"../util/mapbox\"),p=t(\"../util/browser\"),d=t(\"../util/dispatcher\"),g=t(\"./validate_style\"),v=t(\"../source/source\").getType,m=t(\"../source/source\").setType,y=t(\"../source/query_features\"),x=t(\"../source/source_cache\"),b=(t(\"../source/geojson_source\"),t(\"../style-spec/reference/latest\")),_=t(\"../util/global_worker_pool\"),w=t(\"../style-spec/deref\"),M=t(\"../style-spec/diff\"),A=t(\"../source/rtl_text_plugin\"),k=t(\"./pauseable_placement\"),T=t(\"./zoom_history\"),S=t(\"../symbol/cross_tile_symbol_index\"),E=c.pick(M.operations,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\"]),C=c.pick(M.operations,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),L=function(t){function e(e,r){var n=this;void 0===r&&(r={}),t.call(this),this.map=e,this.dispatcher=new d(_(),this),this.imageManager=new o,this.glyphManager=new s(e._transformRequest,r.localIdeographFontFamily),this.lineAtlas=new u(256,512),this.crossTileSymbolIndex=new S,this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new T,this._loaded=!1,this._resetUpdates();var i=this;this._rtlTextPluginCallback=A.registerForPluginAvailability(function(t){for(var e in i.dispatcher.broadcast(\"loadRTLTextPlugin\",t.pluginBlobURL,t.errorCallback),i.sourceCaches)i.sourceCaches[e].reload()}),this.on(\"data\",function(t){if(\"source\"===t.dataType&&\"metadata\"===t.sourceDataType){var e=n.sourceCaches[t.sourceId];if(e){var r=e.getSource();if(r&&r.vectorLayerIds)for(var i in n._layers){var a=n._layers[i];a.source===r.id&&n._validateLayer(a)}}}})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.loadURL=function(t,e){var r=this;void 0===e&&(e={}),this.fire(\"dataloading\",{dataType:\"style\"});var n=\"boolean\"==typeof e.validate?e.validate:!f.isMapboxURL(t);t=f.normalizeStyleURL(t,e.accessToken);var i=this.map._transformRequest(t,h.ResourceType.Style);h.getJSON(i,function(t,e){t?r.fire(\"error\",{error:t}):e&&r._load(e,n)})},e.prototype.loadJSON=function(t,e){var r=this;void 0===e&&(e={}),this.fire(\"dataloading\",{dataType:\"style\"}),p.frame(function(){r._load(t,!1!==e.validate)})},e.prototype._load=function(t,e){var r=this;if(!e||!g.emitErrors(this,g(t))){for(var n in this._loaded=!0,this.stylesheet=t,t.sources)r.addSource(n,t.sources[n],{validate:!1});t.sprite?a(t.sprite,this.map._transformRequest,function(t,e){if(t)r.fire(\"error\",t);else if(e)for(var n in e)r.imageManager.addImage(n,e[n]);r.imageManager.setLoaded(!0),r.fire(\"data\",{dataType:\"style\"})}):this.imageManager.setLoaded(!0),this.glyphManager.setURL(t.glyphs);var o=w(this.stylesheet.layers);this._order=o.map(function(t){return t.id}),this._layers={};for(var s=0,u=o;s<u.length;s+=1){var c=u[s];(c=i.create(c)).setEventedParent(r,{layer:{id:c.id}}),r._layers[c.id]=c}this.dispatcher.broadcast(\"setLayers\",this._serializeLayers(this._order)),this.light=new l(this.stylesheet.light),this.fire(\"data\",{dataType:\"style\"}),this.fire(\"style.load\")}},e.prototype._validateLayer=function(t){var e=this.sourceCaches[t.source];if(e){var r=t.sourceLayer;if(r){var n=e.getSource();(\"geojson\"===n.type||n.vectorLayerIds&&-1===n.vectorLayerIds.indexOf(r))&&this.fire(\"error\",{error:new Error('Source layer \"'+r+'\" does not exist on source \"'+n.id+'\" as specified by style layer \"'+t.id+'\"')})}}},e.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},e.prototype._serializeLayers=function(t){var e=this;return t.map(function(t){return e._layers[t].serialize()})},e.prototype.hasTransitions=function(){var t=this;if(this.light&&this.light.hasTransition())return!0;for(var e in t.sourceCaches)if(t.sourceCaches[e].hasTransition())return!0;for(var r in t._layers)if(t._layers[r].hasTransition())return!0;return!1},e.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},e.prototype.update=function(t){var e=this;if(this._loaded){if(this._changed){var r=Object.keys(this._updatedLayers),n=Object.keys(this._removedLayers);for(var i in(r.length||n.length)&&this._updateWorkerLayers(r,n),e._updatedSources){var a=e._updatedSources[i];\"reload\"===a?e._reloadSource(i):\"clear\"===a&&e._clearSource(i)}for(var o in e._updatedPaintProps)e._layers[o].updateTransitions(t);this.light.updateTransitions(t),this._resetUpdates(),this.fire(\"data\",{dataType:\"style\"})}for(var s in e.sourceCaches)e.sourceCaches[s].used=!1;for(var l=0,u=e._order;l<u.length;l+=1){var c=u[l],h=e._layers[c];h.recalculate(t),!h.isHidden(t.zoom)&&h.source&&(e.sourceCaches[h.source].used=!0)}this.light.recalculate(t),this.z=t.zoom}},e.prototype._updateWorkerLayers=function(t,e){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(t),removedIds:e})},e.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={}},e.prototype.setState=function(t){var e=this;if(this._checkLoaded(),g.emitErrors(this,g(t)))return!1;(t=c.clone(t)).layers=w(t.layers);var r=M(this.serialize(),t).filter(function(t){return!(t.command in C)});if(0===r.length)return!1;var n=r.filter(function(t){return!(t.command in E)});if(n.length>0)throw new Error(\"Unimplemented: \"+n.map(function(t){return t.command}).join(\", \")+\".\");return r.forEach(function(t){\"setTransition\"!==t.command&&e[t.command].apply(e,t.args)}),this.stylesheet=t,!0},e.prototype.addImage=function(t,e){if(this.getImage(t))return this.fire(\"error\",{error:new Error(\"An image with this name already exists.\")});this.imageManager.addImage(t,e),this.fire(\"data\",{dataType:\"style\"})},e.prototype.getImage=function(t){return this.imageManager.getImage(t)},e.prototype.removeImage=function(t){if(!this.getImage(t))return this.fire(\"error\",{error:new Error(\"No image with this name exists.\")});this.imageManager.removeImage(t),this.fire(\"data\",{dataType:\"style\"})},e.prototype.addSource=function(t,e,r){var n=this;if(this._checkLoaded(),void 0!==this.sourceCaches[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).join(\", \")+\".\");if(!([\"vector\",\"raster\",\"geojson\",\"video\",\"image\",\"canvas\"].indexOf(e.type)>=0&&this._validate(g.source,\"sources.\"+t,e,null,r))){this.map&&this.map._collectResourceTiming&&(e.collectResourceTiming=!0);var i=this.sourceCaches[t]=new x(t,e,this.dispatcher);i.style=this,i.setEventedParent(this,function(){return{isSourceLoaded:n.loaded(),source:i.serialize(),sourceId:t}}),i.onAdd(this.map),this._changed=!0}},e.prototype.removeSource=function(t){var e=this;if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(\"There is no source with this ID\");for(var r in e._layers)if(e._layers[r].source===t)return e.fire(\"error\",{error:new Error('Source \"'+t+'\" cannot be removed while layer \"'+r+'\" is using it.')});var n=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],n.fire(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:t}),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},e.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},e.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},e.prototype.addLayer=function(t,e,r){this._checkLoaded();var n=t.id;if(\"object\"==typeof t.source&&(this.addSource(n,t.source),t=c.clone(t),t=c.extend(t,{source:n})),!this._validate(g.layer,\"layers.\"+n,t,{arrayIndex:-1},r)){var a=i.create(t);this._validateLayer(a),a.setEventedParent(this,{layer:{id:n}});var o=e?this._order.indexOf(e):this._order.length;if(e&&-1===o)return void this.fire(\"error\",{error:new Error('Layer with id \"'+e+'\" does not exist on this map.')});if(this._order.splice(o,0,n),this._layerOrderChanged=!0,this._layers[n]=a,this._removedLayers[n]&&a.source){var s=this._removedLayers[n];delete this._removedLayers[n],s.type!==a.type?this._updatedSources[a.source]=\"clear\":(this._updatedSources[a.source]=\"reload\",this.sourceCaches[a.source].pause())}this._updateLayer(a)}},e.prototype.moveLayer=function(t,e){if(this._checkLoaded(),this._changed=!0,this._layers[t]){var r=this._order.indexOf(t);this._order.splice(r,1);var n=e?this._order.indexOf(e):this._order.length;e&&-1===n?this.fire(\"error\",{error:new Error('Layer with id \"'+e+'\" does not exist on this map.')}):(this._order.splice(n,0,t),this._layerOrderChanged=!0)}else this.fire(\"error\",{error:new Error(\"The layer '\"+t+\"' does not exist in the map's style and cannot be moved.\")})},e.prototype.removeLayer=function(t){this._checkLoaded();var e=this._layers[t];if(e){e.setEventedParent(null);var r=this._order.indexOf(t);this._order.splice(r,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=e,delete this._layers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t]}else this.fire(\"error\",{error:new Error(\"The layer '\"+t+\"' does not exist in the map's style and cannot be removed.\")})},e.prototype.getLayer=function(t){return this._layers[t]},e.prototype.setLayerZoomRange=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);n?n.minzoom===e&&n.maxzoom===r||(null!=e&&(n.minzoom=e),null!=r&&(n.maxzoom=r),this._updateLayer(n)):this.fire(\"error\",{error:new Error(\"The layer '\"+t+\"' does not exist in the map's style and cannot have zoom extent.\")})},e.prototype.setFilter=function(t,e){this._checkLoaded();var r=this.getLayer(t);if(r)return c.deepEqual(r.filter,e)?void 0:null===e||void 0===e?(r.filter=void 0,void this._updateLayer(r)):void(this._validate(g.filter,\"layers.\"+r.id+\".filter\",e)||(r.filter=c.clone(e),this._updateLayer(r)));this.fire(\"error\",{error:new Error(\"The layer '\"+t+\"' does not exist in the map's style and cannot be filtered.\")})},e.prototype.getFilter=function(t){return c.clone(this.getLayer(t).filter)},e.prototype.setLayoutProperty=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);n?c.deepEqual(n.getLayoutProperty(e),r)||(n.setLayoutProperty(e,r),this._updateLayer(n)):this.fire(\"error\",{error:new Error(\"The layer '\"+t+\"' does not exist in the map's style and cannot be styled.\")})},e.prototype.getLayoutProperty=function(t,e){return this.getLayer(t).getLayoutProperty(e)},e.prototype.setPaintProperty=function(t,e,r){this._checkLoaded();var n=this.getLayer(t);if(n){if(!c.deepEqual(n.getPaintProperty(e),r)){var i=n._transitionablePaint._values[e].value.isDataDriven();n.setPaintProperty(e,r),(n._transitionablePaint._values[e].value.isDataDriven()||i)&&this._updateLayer(n),this._changed=!0,this._updatedPaintProps[t]=!0}}else this.fire(\"error\",{error:new Error(\"The layer '\"+t+\"' does not exist in the map's style and cannot be styled.\")})},e.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},e.prototype.getTransition=function(){return c.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},e.prototype.serialize=function(){var t=this;return c.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,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.sourceCaches,function(t){return t.serialize()}),layers:this._order.map(function(e){return t._layers[e].serialize()})},function(t){return void 0!==t})},e.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&(this._updatedSources[t.source]=\"reload\",this.sourceCaches[t.source].pause()),this._changed=!0},e.prototype._flattenRenderedFeatures=function(t){for(var e=[],r=this._order.length-1;r>=0;r--)for(var n=this._order[r],i=0,a=t;i<a.length;i+=1){var o=a[i][n];if(o)for(var s=0,l=o;s<l.length;s+=1){var u=l[s];e.push(u)}}return e},e.prototype.queryRenderedFeatures=function(t,e,r,n){var i=this;e&&e.filter&&this._validate(g.filter,\"queryRenderedFeatures.filter\",e.filter);var a={};if(e&&e.layers){if(!Array.isArray(e.layers))return this.fire(\"error\",{error:\"parameters.layers must be an Array.\"}),[];for(var o=0,s=e.layers;o<s.length;o+=1){var l=s[o],u=i._layers[l];if(!u)return i.fire(\"error\",{error:\"The layer '\"+l+\"' does not exist in the map's style and cannot be queried for features.\"}),[];a[u.source]=!0}}var c=[];for(var h in i.sourceCaches)if(!e.layers||a[h]){var f=y.rendered(i.sourceCaches[h],i._layers,t,e,r,n,i.placement?i.placement.collisionIndex:null);c.push(f)}return this._flattenRenderedFeatures(c)},e.prototype.querySourceFeatures=function(t,e){e&&e.filter&&this._validate(g.filter,\"querySourceFeatures.filter\",e.filter);var r=this.sourceCaches[t];return r?y.source(r,e):[]},e.prototype.addSourceType=function(t,e,r){return v(t)?r(new Error('A source type called \"'+t+'\" already exists.')):(m(t,e),e.workerSourceURL?void this.dispatcher.broadcast(\"loadWorkerSource\",{name:t,url:e.workerSourceURL},r):r(null,null))},e.prototype.getLight=function(){return this.light.getLight()},e.prototype.setLight=function(t){this._checkLoaded();var e=this.light.getLight(),r=!1;for(var n in t)if(!c.deepEqual(t[n],e[n])){r=!0;break}if(r){var i={now:p.now(),transition:c.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(t),this.light.updateTransitions(i)}},e.prototype._validate=function(t,e,r,n,i){return(!i||!1!==i.validate)&&g.emitErrors(this,t.call(g,c.extend({key:e,style:this.serialize(),value:r,styleSpec:b},n)))},e.prototype._remove=function(){for(var t in A.evented.off(\"pluginAvailable\",this._rtlTextPluginCallback),this.sourceCaches)this.sourceCaches[t].clearTiles();this.dispatcher.remove()},e.prototype._clearSource=function(t){this.sourceCaches[t].clearTiles()},e.prototype._reloadSource=function(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload()},e.prototype._updateSources=function(t){for(var e in this.sourceCaches)this.sourceCaches[e].update(t)},e.prototype._generateCollisionBoxes=function(){for(var t in this.sourceCaches)this._reloadSource(t)},e.prototype._updatePlacement=function(t,e,r){for(var n=this,i=!1,a=!1,o={},s=0,l=n._order;s<l.length;s+=1){var u=l[s],c=n._layers[u];if(\"symbol\"===c.type){if(!o[c.source]){var h=n.sourceCaches[c.source];o[c.source]=h.getRenderableIds().map(function(t){return h.getTileByID(t)}).sort(function(t,e){return e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)})}var f=n.crossTileSymbolIndex.addLayer(c,o[c.source]);i=i||f}}this.crossTileSymbolIndex.pruneUnusedLayers(this._order);var d=this._layerOrderChanged;if((d||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(p.now()))&&(this.pauseablePlacement=new k(t,this._order,d,e,r),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,o),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(this.placement,p.now()),a=!0),i&&this.pauseablePlacement.placement.setStale()),a||i)for(var g=0,v=n._order;g<v.length;g+=1){var m=v[g],y=n._layers[m];\"symbol\"===y.type&&n.placement.updateLayerOpacities(y,o[y.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(p.now())},e.prototype.getImages=function(t,e,r){this.imageManager.getImages(e.icons,r)},e.prototype.getGlyphs=function(t,e,r){this.glyphManager.getGlyphs(e.stacks,r)},e}(n);e.exports=L},{\"../render/glyph_manager\":86,\"../render/image_manager\":88,\"../render/line_atlas\":89,\"../source/geojson_source\":99,\"../source/query_features\":105,\"../source/rtl_text_plugin\":109,\"../source/source\":110,\"../source/source_cache\":111,\"../style-spec/deref\":120,\"../style-spec/diff\":121,\"../style-spec/reference/latest\":151,\"../symbol/cross_tile_symbol_index\":218,\"../util/ajax\":251,\"../util/browser\":252,\"../util/dispatcher\":258,\"../util/evented\":260,\"../util/global_worker_pool\":262,\"../util/mapbox\":267,\"../util/util\":275,\"./light\":183,\"./load_sprite\":185,\"./pauseable_placement\":187,\"./style_layer\":191,\"./validate_style\":211,\"./zoom_history\":212}],191:[function(t,e,r){var n=t(\"../util/util\"),i=t(\"../style-spec/reference/latest\"),a=t(\"./validate_style\"),o=t(\"../util/evented\"),s=t(\"./properties\"),l=s.Layout,u=s.Transitionable,c=(s.Transitioning,s.Properties,function(t){function e(e,r){for(var n in t.call(this),this.id=e.id,this.metadata=e.metadata,this.type=e.type,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,this.visibility=\"visible\",\"background\"!==e.type&&(this.source=e.source,this.sourceLayer=e[\"source-layer\"],this.filter=e.filter),this._featureFilter=function(){return!0},r.layout&&(this._unevaluatedLayout=new l(r.layout)),this._transitionablePaint=new u(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getLayoutProperty=function(t){return\"visibility\"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(null!==e&&void 0!==e){var n=\"layers.\"+this.id+\".layout.\"+t;if(this._validate(a.layoutProperty,n,t,e,r))return}\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=\"none\"===e?e:\"visible\"},e.prototype.getPaintProperty=function(t){return n.endsWith(t,\"-transition\")?this._transitionablePaint.getTransition(t.slice(0,-\"-transition\".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(null!==e&&void 0!==e){var i=\"layers.\"+this.id+\".paint.\"+t;if(this._validate(a.paintProperty,i,t,e,r))return}n.endsWith(t,\"-transition\")?this._transitionablePaint.setTransition(t.slice(0,-\"-transition\".length),e||void 0):this._transitionablePaint.setValue(t,e)},e.prototype.isHidden=function(t){return!!(this.minzoom&&t<this.minzoom)||!!(this.maxzoom&&t>=this.maxzoom)||\"none\"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t){this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t)),this.paint=this._transitioningPaint.possiblyEvaluate(t)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return\"none\"===this.visibility&&(t.layout=t.layout||{},t.layout.visibility=\"none\"),n.filterObject(t,function(t,e){return!(void 0===t||\"layout\"===e&&!Object.keys(t).length||\"paint\"===e&&!Object.keys(t).length)})},e.prototype._validate=function(t,e,r,n,o){return(!o||!1!==o.validate)&&a.emitErrors(this,t.call(a,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:i,style:{glyphs:!0,sprite:!0}}))},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e}(o));e.exports=c;var h={circle:t(\"./style_layer/circle_style_layer\"),heatmap:t(\"./style_layer/heatmap_style_layer\"),hillshade:t(\"./style_layer/hillshade_style_layer\"),fill:t(\"./style_layer/fill_style_layer\"),\"fill-extrusion\":t(\"./style_layer/fill_extrusion_style_layer\"),line:t(\"./style_layer/line_style_layer\"),symbol:t(\"./style_layer/symbol_style_layer\"),background:t(\"./style_layer/background_style_layer\"),raster:t(\"./style_layer/raster_style_layer\")};c.create=function(t){return new h[t.type](t)}},{\"../style-spec/reference/latest\":151,\"../util/evented\":260,\"../util/util\":275,\"./properties\":188,\"./style_layer/background_style_layer\":192,\"./style_layer/circle_style_layer\":194,\"./style_layer/fill_extrusion_style_layer\":196,\"./style_layer/fill_style_layer\":198,\"./style_layer/heatmap_style_layer\":200,\"./style_layer/hillshade_style_layer\":202,\"./style_layer/line_style_layer\":204,\"./style_layer/raster_style_layer\":206,\"./style_layer/symbol_style_layer\":208,\"./validate_style\":211}],192:[function(t,e,r){var n=t(\"../style_layer\"),i=t(\"./background_style_layer_properties\"),a=t(\"../properties\"),o=(a.Transitionable,a.Transitioning,a.PossiblyEvaluated,function(t){function e(e){t.call(this,e,i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(n));e.exports=o},{\"../properties\":188,\"../style_layer\":191,\"./background_style_layer_properties\":193}],193:[function(t,e,r){var n=t(\"../../style-spec/reference/latest\"),i=t(\"../properties\"),a=i.Properties,o=i.DataConstantProperty,s=(i.DataDrivenProperty,i.CrossFadedProperty),l=(i.HeatmapColorProperty,new a({\"background-color\":new o(n.paint_background[\"background-color\"]),\"background-pattern\":new s(n.paint_background[\"background-pattern\"]),\"background-opacity\":new o(n.paint_background[\"background-opacity\"])}));e.exports={paint:l}},{\"../../style-spec/reference/latest\":151,\"../properties\":188}],194:[function(t,e,r){var n=t(\"../style_layer\"),i=t(\"../../data/bucket/circle_bucket\"),a=t(\"../../util/intersection_tests\").multiPolygonIntersectsBufferedMultiPoint,o=t(\"../query_utils\"),s=o.getMaximumPaintValue,l=o.translateDistance,u=o.translate,c=t(\"./circle_style_layer_properties\"),h=t(\"../properties\"),f=(h.Transitionable,h.Transitioning,h.PossiblyEvaluated,function(t){function e(e){t.call(this,e,c)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(t){var e=t;return s(\"circle-radius\",this,e)+s(\"circle-stroke-width\",this,e)+l(this.paint.get(\"circle-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=u(t,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),i,o),l=this.paint.get(\"circle-radius\").evaluate(e)*o,c=this.paint.get(\"circle-stroke-width\").evaluate(e)*o;return a(s,r,l+c)},e}(n));e.exports=f},{\"../../data/bucket/circle_bucket\":42,\"../../util/intersection_tests\":264,\"../properties\":188,\"../query_utils\":189,\"../style_layer\":191,\"./circle_style_layer_properties\":195}],195:[function(t,e,r){var n=t(\"../../style-spec/reference/latest\"),i=t(\"../properties\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=(i.CrossFadedProperty,i.HeatmapColorProperty,new a({\"circle-radius\":new s(n.paint_circle[\"circle-radius\"]),\"circle-color\":new s(n.paint_circle[\"circle-color\"]),\"circle-blur\":new s(n.paint_circle[\"circle-blur\"]),\"circle-opacity\":new s(n.paint_circle[\"circle-opacity\"]),\"circle-translate\":new o(n.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new o(n.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new o(n.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new o(n.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new s(n.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new s(n.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new s(n.paint_circle[\"circle-stroke-opacity\"])}));e.exports={paint:l}},{\"../../style-spec/reference/latest\":151,\"../properties\":188}],196:[function(t,e,r){var n=t(\"../style_layer\"),i=t(\"../../data/bucket/fill_extrusion_bucket\"),a=t(\"../../util/intersection_tests\").multiPolygonIntersectsMultiPolygon,o=t(\"../query_utils\"),s=o.translateDistance,l=o.translate,u=t(\"./fill_extrusion_style_layer_properties\"),c=t(\"../properties\"),h=(c.Transitionable,c.Transitioning,c.PossiblyEvaluated,function(t){function e(e){t.call(this,e,u)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return s(this.paint.get(\"fill-extrusion-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=l(t,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),i,o);return a(s,r)},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"fill-extrusion-opacity\")&&\"none\"!==this.visibility},e.prototype.resize=function(){this.viewportFrame&&(this.viewportFrame.destroy(),this.viewportFrame=null)},e}(n));e.exports=h},{\"../../data/bucket/fill_extrusion_bucket\":46,\"../../util/intersection_tests\":264,\"../properties\":188,\"../query_utils\":189,\"../style_layer\":191,\"./fill_extrusion_style_layer_properties\":197}],197:[function(t,e,r){var n=t(\"../../style-spec/reference/latest\"),i=t(\"../properties\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,u=(i.HeatmapColorProperty,new a({\"fill-extrusion-opacity\":new o(n[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new s(n[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new o(n[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new o(n[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new l(n[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new s(n[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new s(n[\"paint_fill-extrusion\"][\"fill-extrusion-base\"])}));e.exports={paint:u}},{\"../../style-spec/reference/latest\":151,\"../properties\":188}],198:[function(t,e,r){var n=t(\"../style_layer\"),i=t(\"../../data/bucket/fill_bucket\"),a=t(\"../../util/intersection_tests\").multiPolygonIntersectsMultiPolygon,o=t(\"../query_utils\"),s=o.translateDistance,l=o.translate,u=t(\"./fill_style_layer_properties\"),c=t(\"../properties\"),h=(c.Transitionable,c.Transitioning,c.PossiblyEvaluated,function(t){function e(e){t.call(this,e,u)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(t){this.paint=this._transitioningPaint.possiblyEvaluate(t),void 0===this._transitionablePaint.getValue(\"fill-outline-color\")&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"])},e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return s(this.paint.get(\"fill-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o){var s=l(t,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),i,o);return a(s,r)},e}(n));e.exports=h},{\"../../data/bucket/fill_bucket\":44,\"../../util/intersection_tests\":264,\"../properties\":188,\"../query_utils\":189,\"../style_layer\":191,\"./fill_style_layer_properties\":199}],199:[function(t,e,r){var n=t(\"../../style-spec/reference/latest\"),i=t(\"../properties\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,u=(i.HeatmapColorProperty,new a({\"fill-antialias\":new o(n.paint_fill[\"fill-antialias\"]),\"fill-opacity\":new s(n.paint_fill[\"fill-opacity\"]),\"fill-color\":new s(n.paint_fill[\"fill-color\"]),\"fill-outline-color\":new s(n.paint_fill[\"fill-outline-color\"]),\"fill-translate\":new o(n.paint_fill[\"fill-translate\"]),\"fill-translate-anchor\":new o(n.paint_fill[\"fill-translate-anchor\"]),\"fill-pattern\":new l(n.paint_fill[\"fill-pattern\"])}));e.exports={paint:u}},{\"../../style-spec/reference/latest\":151,\"../properties\":188}],200:[function(t,e,r){var n=t(\"../style_layer\"),i=t(\"../../data/bucket/heatmap_bucket\"),a=t(\"../../util/image\").RGBAImage,o=t(\"./heatmap_style_layer_properties\"),s=t(\"../properties\"),l=(s.Transitionable,s.Transitioning,s.PossiblyEvaluated,function(t){function e(e){t.call(this,e,o),this._updateColorRamp()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new i(t)},e.prototype.setPaintProperty=function(e,r,n){t.prototype.setPaintProperty.call(this,e,r,n),\"heatmap-color\"===e&&this._updateColorRamp()},e.prototype._updateColorRamp=function(){for(var t=this._transitionablePaint._values[\"heatmap-color\"].value.expression,e=new Uint8Array(1024),r=e.length,n=4;n<r;n+=4){var i=t.evaluate({heatmapDensity:n/r});e[n+0]=Math.floor(255*i.r/i.a),e[n+1]=Math.floor(255*i.g/i.a),e[n+2]=Math.floor(255*i.b/i.a),e[n+3]=Math.floor(255*i.a)}this.colorRamp=new a({width:256,height:1},e),this.colorRampTexture=null},e.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"heatmap-opacity\")&&\"none\"!==this.visibility},e}(n));e.exports=l},{\"../../data/bucket/heatmap_bucket\":47,\"../../util/image\":263,\"../properties\":188,\"../style_layer\":191,\"./heatmap_style_layer_properties\":201}],201:[function(t,e,r){var n=t(\"../../style-spec/reference/latest\"),i=t(\"../properties\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=(i.CrossFadedProperty,i.HeatmapColorProperty),u=new a({\"heatmap-radius\":new s(n.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new s(n.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new o(n.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new l(n.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new o(n.paint_heatmap[\"heatmap-opacity\"])});e.exports={paint:u}},{\"../../style-spec/reference/latest\":151,\"../properties\":188}],202:[function(t,e,r){var n=t(\"../style_layer\"),i=t(\"./hillshade_style_layer_properties\"),a=t(\"../properties\"),o=(a.Transitionable,a.Transitioning,a.PossiblyEvaluated,function(t){function e(e){t.call(this,e,i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"hillshade-exaggeration\")&&\"none\"!==this.visibility},e}(n));e.exports=o},{\"../properties\":188,\"../style_layer\":191,\"./hillshade_style_layer_properties\":203}],203:[function(t,e,r){var n=t(\"../../style-spec/reference/latest\"),i=t(\"../properties\"),a=i.Properties,o=i.DataConstantProperty,s=(i.DataDrivenProperty,i.CrossFadedProperty,i.HeatmapColorProperty,new a({\"hillshade-illumination-direction\":new o(n.paint_hillshade[\"hillshade-illumination-direction\"]),\"hillshade-illumination-anchor\":new o(n.paint_hillshade[\"hillshade-illumination-anchor\"]),\"hillshade-exaggeration\":new o(n.paint_hillshade[\"hillshade-exaggeration\"]),\"hillshade-shadow-color\":new o(n.paint_hillshade[\"hillshade-shadow-color\"]),\"hillshade-highlight-color\":new o(n.paint_hillshade[\"hillshade-highlight-color\"]),\"hillshade-accent-color\":new o(n.paint_hillshade[\"hillshade-accent-color\"])}));e.exports={paint:s}},{\"../../style-spec/reference/latest\":151,\"../properties\":188}],204:[function(t,e,r){function n(t,e){return e>0?e+2*t:t}var i=t(\"@mapbox/point-geometry\"),a=t(\"../style_layer\"),o=t(\"../../data/bucket/line_bucket\"),s=t(\"../../util/intersection_tests\").multiPolygonIntersectsBufferedMultiLine,l=t(\"../query_utils\"),u=l.getMaximumPaintValue,c=l.translateDistance,h=l.translate,f=t(\"./line_style_layer_properties\"),p=t(\"../../util/util\").extend,d=t(\"../evaluation_parameters\"),g=t(\"../properties\"),v=(g.Transitionable,g.Transitioning,g.Layout,g.PossiblyEvaluated,new(function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new d(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n){return r=p({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n)},e}(g.DataDrivenProperty))(f.paint.properties[\"line-width\"].specification));v.useIntegerZoom=!0;var m=function(t){function e(e){t.call(this,e,f)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),this.paint._values[\"line-floorwidth\"]=v.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,e)},e.prototype.createBucket=function(t){return new o(t)},e.prototype.queryRadius=function(t){var e=t,r=n(u(\"line-width\",this,e),u(\"line-gap-width\",this,e)),i=u(\"line-offset\",this,e);return r/2+Math.abs(i)+c(this.paint.get(\"line-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,a,o,l){var u=h(t,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),o,l),c=l/2*n(this.paint.get(\"line-width\").evaluate(e),this.paint.get(\"line-gap-width\").evaluate(e)),f=this.paint.get(\"line-offset\").evaluate(e);return f&&(r=function(t,e){for(var r=[],n=new i(0,0),a=0;a<t.length;a++){for(var o=t[a],s=[],l=0;l<o.length;l++){var u=o[l-1],c=o[l],h=o[l+1],f=0===l?n:c.sub(u)._unit()._perp(),p=l===o.length-1?n:h.sub(c)._unit()._perp(),d=f._add(p)._unit(),g=d.x*p.x+d.y*p.y;d._mult(1/g),s.push(d._mult(e)._add(c))}r.push(s)}return r}(r,f*l)),s(u,r,c)},e}(a);e.exports=m},{\"../../data/bucket/line_bucket\":49,\"../../util/intersection_tests\":264,\"../../util/util\":275,\"../evaluation_parameters\":182,\"../properties\":188,\"../query_utils\":189,\"../style_layer\":191,\"./line_style_layer_properties\":205,\"@mapbox/point-geometry\":4}],205:[function(t,e,r){var n=t(\"../../style-spec/reference/latest\"),i=t(\"../properties\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=i.CrossFadedProperty,u=(i.HeatmapColorProperty,new a({\"line-cap\":new o(n.layout_line[\"line-cap\"]),\"line-join\":new s(n.layout_line[\"line-join\"]),\"line-miter-limit\":new o(n.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new o(n.layout_line[\"line-round-limit\"])})),c=new a({\"line-opacity\":new s(n.paint_line[\"line-opacity\"]),\"line-color\":new s(n.paint_line[\"line-color\"]),\"line-translate\":new o(n.paint_line[\"line-translate\"]),\"line-translate-anchor\":new o(n.paint_line[\"line-translate-anchor\"]),\"line-width\":new s(n.paint_line[\"line-width\"]),\"line-gap-width\":new s(n.paint_line[\"line-gap-width\"]),\"line-offset\":new s(n.paint_line[\"line-offset\"]),\"line-blur\":new s(n.paint_line[\"line-blur\"]),\"line-dasharray\":new l(n.paint_line[\"line-dasharray\"]),\"line-pattern\":new l(n.paint_line[\"line-pattern\"])});e.exports={paint:c,layout:u}},{\"../../style-spec/reference/latest\":151,\"../properties\":188}],206:[function(t,e,r){var n=t(\"../style_layer\"),i=t(\"./raster_style_layer_properties\"),a=t(\"../properties\"),o=(a.Transitionable,a.Transitioning,a.PossiblyEvaluated,function(t){function e(e){t.call(this,e,i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(n));e.exports=o},{\"../properties\":188,\"../style_layer\":191,\"./raster_style_layer_properties\":207}],207:[function(t,e,r){var n=t(\"../../style-spec/reference/latest\"),i=t(\"../properties\"),a=i.Properties,o=i.DataConstantProperty,s=(i.DataDrivenProperty,i.CrossFadedProperty,i.HeatmapColorProperty,new a({\"raster-opacity\":new o(n.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new o(n.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new o(n.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new o(n.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new o(n.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new o(n.paint_raster[\"raster-contrast\"]),\"raster-fade-duration\":new o(n.paint_raster[\"raster-fade-duration\"])}));e.exports={paint:s}},{\"../../style-spec/reference/latest\":151,\"../properties\":188}],208:[function(t,e,r){var n=t(\"../style_layer\"),i=t(\"../../data/bucket/symbol_bucket\"),a=t(\"../../util/token\"),o=t(\"../../style-spec/expression\").isExpression,s=t(\"./symbol_style_layer_properties\"),l=t(\"../properties\"),u=(l.Transitionable,l.Transitioning,l.Layout,l.PossiblyEvaluated,function(t){function e(e){t.call(this,e,s)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),\"auto\"===this.layout.get(\"icon-rotation-alignment\")&&(\"line\"===this.layout.get(\"symbol-placement\")?this.layout._values[\"icon-rotation-alignment\"]=\"map\":this.layout._values[\"icon-rotation-alignment\"]=\"viewport\"),\"auto\"===this.layout.get(\"text-rotation-alignment\")&&(\"line\"===this.layout.get(\"symbol-placement\")?this.layout._values[\"text-rotation-alignment\"]=\"map\":this.layout._values[\"text-rotation-alignment\"]=\"viewport\"),\"auto\"===this.layout.get(\"text-pitch-alignment\")&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),\"auto\"===this.layout.get(\"icon-pitch-alignment\")&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\"))},e.prototype.getValueAndResolveTokens=function(t,e){var r=this.layout.get(t).evaluate(e),n=this._unevaluatedLayout._values[t];return n.isDataDriven()||o(n.value)?r:a(e.properties,r)},e.prototype.createBucket=function(t){return new i(t)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e}(n));e.exports=u},{\"../../data/bucket/symbol_bucket\":51,\"../../style-spec/expression\":139,\"../../util/token\":274,\"../properties\":188,\"../style_layer\":191,\"./symbol_style_layer_properties\":209}],209:[function(t,e,r){var n=t(\"../../style-spec/reference/latest\"),i=t(\"../properties\"),a=i.Properties,o=i.DataConstantProperty,s=i.DataDrivenProperty,l=(i.CrossFadedProperty,i.HeatmapColorProperty,new a({\"symbol-placement\":new o(n.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new o(n.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new o(n.layout_symbol[\"symbol-avoid-edges\"]),\"icon-allow-overlap\":new o(n.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new o(n.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new o(n.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new o(n.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new s(n.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new o(n.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new o(n.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new s(n.layout_symbol[\"icon-image\"]),\"icon-rotate\":new s(n.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new o(n.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new o(n.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new s(n.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new s(n.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new o(n.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new o(n.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new o(n.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new s(n.layout_symbol[\"text-field\"]),\"text-font\":new s(n.layout_symbol[\"text-font\"]),\"text-size\":new s(n.layout_symbol[\"text-size\"]),\"text-max-width\":new s(n.layout_symbol[\"text-max-width\"]),\"text-line-height\":new o(n.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new s(n.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new s(n.layout_symbol[\"text-justify\"]),\"text-anchor\":new s(n.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new o(n.layout_symbol[\"text-max-angle\"]),\"text-rotate\":new s(n.layout_symbol[\"text-rotate\"]),\"text-padding\":new o(n.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new o(n.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new s(n.layout_symbol[\"text-transform\"]),\"text-offset\":new s(n.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new o(n.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new o(n.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new o(n.layout_symbol[\"text-optional\"])})),u=new a({\"icon-opacity\":new s(n.paint_symbol[\"icon-opacity\"]),\"icon-color\":new s(n.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new s(n.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new s(n.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new s(n.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new o(n.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new o(n.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new s(n.paint_symbol[\"text-opacity\"]),\"text-color\":new s(n.paint_symbol[\"text-color\"]),\"text-halo-color\":new s(n.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new s(n.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new s(n.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new o(n.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new o(n.paint_symbol[\"text-translate-anchor\"])});e.exports={paint:u,layout:l}},{\"../../style-spec/reference/latest\":151,\"../properties\":188}],210:[function(t,e,r){var n=t(\"./style_layer\"),i=t(\"../util/util\"),a=t(\"../style-spec/feature_filter\"),o=t(\"../style-spec/group_by_layout\"),s=function(t){t&&this.replace(t)};s.prototype.replace=function(t){this._layerConfigs={},this._layers={},this.update(t,[])},s.prototype.update=function(t,e){for(var r=this,s=0,l=t;s<l.length;s+=1){var u=l[s];r._layerConfigs[u.id]=u;var c=r._layers[u.id]=n.create(u);c._featureFilter=a(c.filter)}for(var h=0,f=e;h<f.length;h+=1){var p=f[h];delete r._layerConfigs[p],delete r._layers[p]}this.familiesBySource={};for(var d=0,g=o(i.values(this._layerConfigs));d<g.length;d+=1){var v=g[d].map(function(t){return r._layers[t.id]}),m=v[0];if(\"none\"!==m.visibility){var y=m.source||\"\",x=r.familiesBySource[y];x||(x=r.familiesBySource[y]={});var b=m.sourceLayer||\"_geojsonTileLayer\",_=x[b];_||(_=x[b]=[]),_.push(v)}}},e.exports=s},{\"../style-spec/feature_filter\":148,\"../style-spec/group_by_layout\":150,\"../util/util\":275,\"./style_layer\":191}],211:[function(t,e,r){e.exports=t(\"../style-spec/validate_style.min\"),e.exports.emitErrors=function(t,e){if(e&&e.length){for(var r=0,n=e;r<n.length;r+=1){var i=n[r].message;t.fire(\"error\",{error:new Error(i)})}return!0}return!1}},{\"../style-spec/validate_style.min\":181}],212:[function(t,e,r){var n=function(){this.first=!0};n.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom<r&&(this.lastIntegerZoom=r,this.lastIntegerZoomTime=e),t!==this.lastZoom&&(this.lastZoom=t,this.lastFloorZoom=r,!0))},e.exports=n},{}],213:[function(t,e,r){var n=t(\"@mapbox/point-geometry\"),i=t(\"../util/web_worker_transfer\").register,a=function(t){function e(e,r,n,i){t.call(this,e,r),this.angle=n,void 0!==i&&(this.segment=i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(n);i(\"Anchor\",a),e.exports=a},{\"../util/web_worker_transfer\":278,\"@mapbox/point-geometry\":4}],214:[function(t,e,r){e.exports=function(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 p=c.angleTo(h)-h.angleTo(f);for(p=Math.abs((p+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:p}),u+=p;s-l[0].distance>n;)u-=l.shift().angleDelta;if(u>i)return!1;o++,s+=h.dist(f)}return!0}},{}],215:[function(t,e,r){var n=t(\"@mapbox/point-geometry\");e.exports=function(t,e,r,i,a){for(var o=[],s=0;s<t.length;s++)for(var l=t[s],u=void 0,c=0;c<l.length-1;c++){var h=l[c],f=l[c+1];h.x<e&&f.x<e||(h.x<e?h=new n(e,h.y+(f.y-h.y)*((e-h.x)/(f.x-h.x)))._round():f.x<e&&(f=new n(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 n(h.x+(f.x-h.x)*((r-h.y)/(f.y-h.y)),r)._round():f.y<r&&(f=new n(h.x+(f.x-h.x)*((r-h.y)/(f.y-h.y)),r)._round()),h.x>=i&&f.x>=i||(h.x>=i?h=new n(i,h.y+(f.y-h.y)*((i-h.x)/(f.x-h.x)))._round():f.x>=i&&(f=new n(i,h.y+(f.y-h.y)*((i-h.x)/(f.x-h.x)))._round()),h.y>=a&&f.y>=a||(h.y>=a?h=new n(h.x+(f.x-h.x)*((a-h.y)/(f.y-h.y)),a)._round():f.y>=a&&(f=new n(h.x+(f.x-h.x)*((a-h.y)/(f.y-h.y)),a)._round()),u&&h.equals(u[u.length-1])||(u=[h],o.push(u)),u.push(f)))))}return o}},{\"@mapbox/point-geometry\":4}],216:[function(t,e,r){var n=function(t,e,r,n,i,a,o,s,l,u,c){var h=o.top*s-l,f=o.bottom*s+l,p=o.left*s-l,d=o.right*s+l;if(this.boxStartIndex=t.length,u){var g=f-h,v=d-p;g>0&&(g=Math.max(10*s,g),this._addLineCollisionCircles(t,e,r,r.segment,v,g,n,i,a,c))}else t.emplaceBack(r.x,r.y,p,h,d,f,n,i,a,0,0);this.boxEndIndex=t.length};n.prototype._addLineCollisionCircles=function(t,e,r,n,i,a,o,s,l,u){var c=a/2,h=Math.floor(i/c),f=1+.4*Math.log(u)/Math.LN2,p=Math.floor(h*f/2),d=-a/2,g=r,v=n+1,m=d,y=-i/2,x=y-i/4;do{if(--v<0){if(m>y)return;v=0;break}m-=e[v].dist(g),g=e[v]}while(m>x);for(var b=e[v].dist(e[v+1]),_=-p;_<h+p;_++){var w=_*c,M=y+w;if(w<0&&(M+=w),w>i&&(M+=w-i),!(M<m)){for(;m+b<M;){if(m+=b,++v+1>=e.length)return;b=e[v].dist(e[v+1])}var A=M-m,k=e[v],T=e[v+1].sub(k)._unit()._mult(A)._add(k)._round(),S=Math.abs(M-d)<c?0:.8*(M-d);t.emplaceBack(T.x,T.y,-a/2,-a/2,a/2,a/2,o,s,l,a/2,S)}}},e.exports=n},{}],217:[function(t,e,r){function n(t,e,r){t[e+4]=r?1:0}var i=t(\"@mapbox/point-geometry\"),a=t(\"../util/intersection_tests\"),o=t(\"./grid_index\"),s=(t(\"@mapbox/gl-matrix\").mat4,t(\"../symbol/projection\")),l=function(t,e,r){void 0===e&&(e=new o(t.width+200,t.height+200,25)),void 0===r&&(r=new o(t.width+200,t.height+200,25)),this.transform=t,this.grid=e,this.ignoredGrid=r,this.pitchfactor=Math.cos(t._pitch)*t.cameraToCenterDistance,this.screenRightBoundary=t.width+100,this.screenBottomBoundary=t.height+100};l.prototype.placeCollisionBox=function(t,e,r,n){var i=this.projectAndGetPerspectiveRatio(n,t.anchorPointX,t.anchorPointY),a=r*i.perspectiveRatio,o=t.x1*a+i.point.x,s=t.y1*a+i.point.y,l=t.x2*a+i.point.x,u=t.y2*a+i.point.y;return!e&&this.grid.hitTest(o,s,l,u)?{box:[],offscreen:!1}:{box:[o,s,l,u],offscreen:this.isOffscreen(o,s,l,u)}},l.prototype.approximateTileDistance=function(t,e,r,n,i){var a=i?1:n/this.pitchfactor,o=t.lastSegmentViewportDistance*r;return t.prevTileDistance+o+(a-1)*o*Math.abs(Math.sin(e))},l.prototype.placeCollisionCircles=function(t,e,r,a,o,l,u,c,h,f,p,d,g){var v=this,m=[],y=this.projectAnchor(f,l.anchorX,l.anchorY),x=h/24,b=l.lineOffsetX*h,_=l.lineOffsetY*h,w=new i(l.anchorX,l.anchorY),M=s.project(w,p).point,A=s.placeFirstAndLastGlyph(x,c,b,_,!1,M,w,l,u,p,{},!0),k=!1,T=!0,S=y.perspectiveRatio*a,E=1/(a*r),C=0,L=0;A&&(C=this.approximateTileDistance(A.first.tileDistance,A.first.angle,E,y.cameraDistance,g),L=this.approximateTileDistance(A.last.tileDistance,A.last.angle,E,y.cameraDistance,g));for(var z=0;z<t.length;z+=5){var P=t[z],I=t[z+1],D=t[z+2],O=t[z+3];if(!A||O<-C||O>L)n(t,z,!1);else{var R=v.projectPoint(f,P,I),F=D*S;if(m.length>0){var B=R.x-m[m.length-4],N=R.y-m[m.length-3];if(F*F*2>B*B+N*N&&z+8<t.length){var j=t[z+8];if(j>-C&&j<L){n(t,z,!1);continue}}}var V=z/5;if(m.push(R.x,R.y,F,V),n(t,z,!0),T=T&&v.isOffscreen(R.x-F,R.y-F,R.x+F,R.y+F),!e&&v.grid.hitTestCircle(R.x,R.y,F)){if(!d)return{circles:[],offscreen:!1};k=!0}}}return{circles:k?[]:m,offscreen:T}},l.prototype.queryRenderedSymbols=function(t,e,r,n,o,s){var l={},u=[];if(0===t.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return u;for(var c=this.transform.calculatePosMatrix(e.toUnwrapped()),h=[],f=1/0,p=1/0,d=-1/0,g=-1/0,v=0;v<t.length;v++)for(var m=t[v],y=0;y<m.length;y++){var x=this.projectPoint(c,m[y].x,m[y].y);f=Math.min(f,x.x),p=Math.min(p,x.y),d=Math.max(d,x.x),g=Math.max(g,x.y),h.push(x)}for(var b=e.key,_=[],w=this.grid.query(f,p,d,g),M=0;M<w.length;M++)w[M].sourceID===o&&w[M].tileID===b&&s[w[M].bucketInstanceId]&&_.push(w[M].boxIndex);for(var A=this.ignoredGrid.query(f,p,d,g),k=0;k<A.length;k++)A[k].sourceID===o&&A[k].tileID===b&&s[A[k].bucketInstanceId]&&_.push(A[k].boxIndex);for(var T=0;T<_.length;T++){var S=n.get(_[T]),E=S.sourceLayerIndex,C=S.featureIndex,L=S.bucketIndex;if(void 0===l[E]&&(l[E]={}),void 0===l[E][C]&&(l[E][C]={}),!l[E][C][L]){var z=this.projectAndGetPerspectiveRatio(c,S.anchorPointX,S.anchorPointY),P=r*z.perspectiveRatio,I=S.x1*P+z.point.x,D=S.y1*P+z.point.y,O=S.x2*P+z.point.x,R=S.y2*P+z.point.y,F=[new i(I,D),new i(O,D),new i(O,R),new i(I,R)];a.polygonIntersectsPolygon(h,F)&&(l[E][C][L]=!0,u.push(_[T]))}}return u},l.prototype.insertCollisionBox=function(t,e,r,n,i,a){var o={tileID:r,sourceID:n,bucketInstanceId:i,boxIndex:a};(e?this.ignoredGrid:this.grid).insert(o,t[0],t[1],t[2],t[3])},l.prototype.insertCollisionCircles=function(t,e,r,n,i,a){for(var o=e?this.ignoredGrid:this.grid,s=0;s<t.length;s+=4){var l={tileID:r,sourceID:n,bucketInstanceId:i,boxIndex:a+t[s+3]};o.insertCircle(l,t[s],t[s+1],t[s+2])}},l.prototype.projectAnchor=function(t,e,r){var n=[e,r,0,1];return s.xyTransformMat4(n,n,t),{perspectiveRatio:.5+this.transform.cameraToCenterDistance/n[3]*.5,cameraDistance:n[3]}},l.prototype.projectPoint=function(t,e,r){var n=[e,r,0,1];return s.xyTransformMat4(n,n,t),new i((n[0]/n[3]+1)/2*this.transform.width+100,(-n[1]/n[3]+1)/2*this.transform.height+100)},l.prototype.projectAndGetPerspectiveRatio=function(t,e,r){var n=[e,r,0,1];return s.xyTransformMat4(n,n,t),{point:new i((n[0]/n[3]+1)/2*this.transform.width+100,(-n[1]/n[3]+1)/2*this.transform.height+100),perspectiveRatio:.5+this.transform.cameraToCenterDistance/n[3]*.5}},l.prototype.isOffscreen=function(t,e,r,n){return r<100||t>=this.screenRightBoundary||n<100||e>this.screenBottomBoundary},e.exports=l},{\"../symbol/projection\":224,\"../util/intersection_tests\":264,\"./grid_index\":220,\"@mapbox/gl-matrix\":2,\"@mapbox/point-geometry\":4}],218:[function(t,e,r){var n=t(\"../data/extent\"),i=512/n/2,a=function(t,e,r){var n=this;this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var i=0,a=e;i<a.length;i+=1){var o=a[i],s=o.key;n.indexedSymbolInstances[s]||(n.indexedSymbolInstances[s]=[]),n.indexedSymbolInstances[s].push({crossTileID:o.crossTileID,coord:n.getScaledCoordinates(o,t)})}};a.prototype.getScaledCoordinates=function(t,e){var r=e.canonical.z-this.tileID.canonical.z,a=i/Math.pow(2,r),o=t.anchor;return{x:Math.floor((e.canonical.x*n+o.x)*a),y:Math.floor((e.canonical.y*n+o.y)*a)}},a.prototype.findMatches=function(t,e,r){for(var n=this.tileID.canonical.z<e.canonical.z?1:Math.pow(2,this.tileID.canonical.z-e.canonical.z),i=0,a=t;i<a.length;i+=1){var o=a[i];if(!o.crossTileID){var s=this.indexedSymbolInstances[o.key];if(s)for(var l=this.getScaledCoordinates(o,e),u=0,c=s;u<c.length;u+=1){var h=c[u];if(Math.abs(h.coord.x-l.x)<=n&&Math.abs(h.coord.y-l.y)<=n&&!r[h.crossTileID]){r[h.crossTileID]=!0,o.crossTileID=h.crossTileID;break}}}}};var o=function(){this.maxCrossTileID=0};o.prototype.generate=function(){return++this.maxCrossTileID};var s=function(){this.indexes={},this.usedCrossTileIDs={}};s.prototype.addBucket=function(t,e,r){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key])}for(var n=0,i=e.symbolInstances;n<i.length;n+=1)i[n].crossTileID=0;this.usedCrossTileIDs[t.overscaledZ]||(this.usedCrossTileIDs[t.overscaledZ]={});var o=this.usedCrossTileIDs[t.overscaledZ];for(var s in this.indexes){var l=this.indexes[s];if(Number(s)>t.overscaledZ)for(var u in l){var c=l[u];c.tileID.isChildOf(t)&&c.findMatches(e.symbolInstances,t,o)}else{var h=l[t.scaledTo(Number(s)).key];h&&h.findMatches(e.symbolInstances,t,o)}}for(var f=0,p=e.symbolInstances;f<p.length;f+=1){var d=p[f];d.crossTileID||(d.crossTileID=r.generate(),o[d.crossTileID]=!0)}return void 0===this.indexes[t.overscaledZ]&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new a(t,e.symbolInstances,e.bucketInstanceId),!0},s.prototype.removeBucketCrossTileIDs=function(t,e){for(var r in e.indexedSymbolInstances)for(var n=0,i=e.indexedSymbolInstances[r];n<i.length;n+=1){var a=i[n];delete this.usedCrossTileIDs[t][a.crossTileID]}},s.prototype.removeStaleBuckets=function(t){var e=this,r=!1;for(var n in e.indexes){var i=e.indexes[n];for(var a in i)t[i[a].bucketInstanceId]||(e.removeBucketCrossTileIDs(n,i[a]),delete i[a],r=!0)}return r};var l=function(){this.layerIndexes={},this.crossTileIDs=new o,this.maxBucketInstanceId=0};l.prototype.addLayer=function(t,e){var r=this.layerIndexes[t.id];void 0===r&&(r=this.layerIndexes[t.id]=new s);for(var n=!1,i={},a=0,o=e;a<o.length;a+=1){var l=o[a],u=l.getBucket(t);u&&(u.bucketInstanceId||(u.bucketInstanceId=++this.maxBucketInstanceId),r.addBucket(l.tileID,u,this.crossTileIDs)&&(n=!0),i[u.bucketInstanceId]=!0)}return r.removeStaleBuckets(i)&&(n=!0),n},l.prototype.pruneUnusedLayers=function(t){var e={};for(var r in t.forEach(function(t){e[t]=!0}),this.layerIndexes)e[r]||delete this.layerIndexes[r]},e.exports=l},{\"../data/extent\":53}],219:[function(t,e,r){var n=t(\"../style-spec/util/interpolate\").number,i=t(\"../symbol/anchor\"),a=t(\"./check_max_angle\");e.exports=function(t,e,r,o,s,l,u,c,h){var f=o?.6*l*u:0,p=Math.max(o?o.right-o.left:0,s?s.right-s.left:0),d=0===t[0].x||t[0].x===h||0===t[0].y||t[0].y===h;return e-p*u<e/4&&(e=p*u+e/4),function t(e,r,o,s,l,u,c,h,f){for(var p=u/2,d=0,g=0;g<e.length-1;g++)d+=e[g].dist(e[g+1]);for(var v=0,m=r-o,y=[],x=0;x<e.length-1;x++){for(var b=e[x],_=e[x+1],w=b.dist(_),M=_.angleTo(b);m+o<v+w;){var A=((m+=o)-v)/w,k=n(b.x,_.x,A),T=n(b.y,_.y,A);if(k>=0&&k<f&&T>=0&&T<f&&m-p>=0&&m+p<=d){var S=new i(k,T,M,x);S._round(),s&&!a(e,S,u,s,l)||y.push(S)}}v+=w}return h||y.length||c||(y=t(e,v/2,o,s,l,u,c,!0,f)),y}(t,d?e/2*c%e:(p/2+2*l)*u*c%e,e,f,r,p*u,d,!1,h)}},{\"../style-spec/util/interpolate\":158,\"../symbol/anchor\":213,\"./check_max_angle\":214}],220:[function(t,e,r){var n=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a<this.xCellCount*this.yCellCount;a++)n.push([]),i.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=t,this.height=e,this.xScale=this.xCellCount/t,this.yScale=this.yCellCount/e,this.boxUid=0,this.circleUid=0};n.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},n.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},n.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},n.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},n.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},n.prototype._query=function(t,e,r,n,i){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var a=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n)a=Array.prototype.slice.call(this.boxKeys).concat(this.circleKeys);else{var o={hitTest:i,seenUids:{box:{},circle:{}}};this._forEachCell(t,e,r,n,this._queryCell,a,o)}return i?a.length>0:a},n.prototype._queryCircle=function(t,e,r,n){var i=t-r,a=t+r,o=e-r,s=e+r;if(a<0||i>this.width||s<0||o>this.height)return!n&&[];var l=[],u={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(i,o,a,s,this._queryCellCircle,l,u),n?l.length>0:l},n.prototype.query=function(t,e,r,n){return this._query(t,e,r,n,!1)},n.prototype.hitTest=function(t,e,r,n){return this._query(t,e,r,n,!0)},n.prototype.hitTestCircle=function(t,e,r){return this._queryCircle(t,e,r,!0)},n.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this,l=o.seenUids,u=this.boxCells[i];if(null!==u)for(var c=this.bboxes,h=0,f=u;h<f.length;h+=1){var p=f[h];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(t<=c[d+2]&&e<=c[d+3]&&r>=c[d+0]&&n>=c[d+1]){if(o.hitTest)return a.push(!0),!0;a.push(s.boxKeys[p])}}}var g=this.circleCells[i];if(null!==g)for(var v=this.circles,m=0,y=g;m<y.length;m+=1){var x=y[m];if(!l.circle[x]){l.circle[x]=!0;var b=3*x;if(s._circleAndRectCollide(v[b],v[b+1],v[b+2],t,e,r,n)){if(o.hitTest)return a.push(!0),!0;a.push(s.circleKeys[x])}}}},n.prototype._queryCellCircle=function(t,e,r,n,i,a,o){var s=o.circle,l=o.seenUids,u=this.boxCells[i];if(null!==u)for(var c=this.bboxes,h=0,f=u;h<f.length;h+=1){var p=f[h];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(this._circleAndRectCollide(s.x,s.y,s.radius,c[d+0],c[d+1],c[d+2],c[d+3]))return a.push(!0),!0}}var g=this.circleCells[i];if(null!==g)for(var v=this.circles,m=0,y=g;m<y.length;m+=1){var x=y[m];if(!l.circle[x]){l.circle[x]=!0;var b=3*x;if(this._circlesCollide(v[b],v[b+1],v[b+2],s.x,s.y,s.radius))return a.push(!0),!0}}},n.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToXCellCoord(t),l=this._convertToYCellCoord(e),u=this._convertToXCellCoord(r),c=this._convertToYCellCoord(n),h=s;h<=u;h++)for(var f=l;f<=c;f++){var p=this.xCellCount*f+h;if(i.call(this,t,e,r,n,p,a,o))return}},n.prototype._convertToXCellCoord=function(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))},n.prototype._convertToYCellCoord=function(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))},n.prototype._circlesCollide=function(t,e,r,n,i,a){var o=n-t,s=i-e,l=r+a;return l*l>o*o+s*s},n.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var u=(o-i)/2,c=Math.abs(e-(i+u));if(c>u+r)return!1;if(l<=s||c<=u)return!0;var h=l-s,f=c-u;return h*h+f*f<=r*r},e.exports=n},{}],221:[function(t,e,r){e.exports=function(t){function e(e){s.push(t[e]),l++}function r(t,e,r){var n=o[t];return delete o[t],o[e]=n,s[n].geometry[0].pop(),s[n].geometry[0]=s[n].geometry[0].concat(r[0]),n}function n(t,e,r){var n=a[e];return delete a[e],a[t]=n,s[n].geometry[0].shift(),s[n].geometry[0]=r[0].concat(s[n].geometry[0]),n}function i(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+\":\"+n.x+\":\"+n.y}for(var a={},o={},s=[],l=0,u=0;u<t.length;u++){var c=t[u],h=c.geometry,f=c.text;if(f){var p=i(f,h),d=i(f,h,!0);if(p in o&&d in a&&o[p]!==a[d]){var g=n(p,d,h),v=r(p,d,s[g].geometry);delete a[p],delete o[d],o[i(f,s[v].geometry,!0)]=v,s[g].geometry=null}else p in o?r(p,d,h):d in a?n(p,d,h):(e(u),a[p]=l-1,o[d]=l-1)}else e(u)}return s.filter(function(t){return t.geometry})}},{}],222:[function(t,e,r){var n=t(\"../util/web_worker_transfer\").register,i=function(){this.opacity=0,this.targetOpacity=0,this.time=0};i.prototype.clone=function(){var t=new i;return t.opacity=this.opacity,t.targetOpacity=this.targetOpacity,t.time=this.time,t},n(\"OpacityState\",i),e.exports=i},{\"../util/web_worker_transfer\":278}],223:[function(t,e,r){function n(t,e,r){t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0)}function i(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*g+e*v+r*m+e*y+r*x+e*b+r*_+e}var a=t(\"./collision_index\"),o=t(\"../data/extent\"),s=t(\"./symbol_size\"),l=t(\"./projection\"),u=t(\"../style/style_layer/symbol_style_layer_properties\").layout,c=t(\"../source/pixels_to_tile_units\"),h=function(t,e,r,n){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):n&&r?1:0,this.placed=r};h.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var f=function(t,e,r,n,i){this.text=new h(t?t.text:null,e,r,i),this.icon=new h(t?t.icon:null,e,n,i)};f.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var p=function(t,e,r){this.text=t,this.icon=e,this.skipFade=r},d=function(t,e){this.transform=t.clone(),this.collisionIndex=new a(this.transform),this.placements={},this.opacities={},this.stale=!1,this.fadeDuration=e};d.prototype.placeLayerTile=function(t,e,r,n){var i=e.getBucket(t);if(i){var a=i.layers[0].layout,s=Math.pow(2,this.transform.zoom-e.tileID.overscaledZ),u=e.tileSize/o,h=this.transform.calculatePosMatrix(e.tileID.toUnwrapped()),f=l.getLabelPlaneMatrix(h,\"map\"===a.get(\"text-pitch-alignment\"),\"map\"===a.get(\"text-rotation-alignment\"),this.transform,c(e,1,this.transform.zoom)),p=l.getLabelPlaneMatrix(h,\"map\"===a.get(\"icon-pitch-alignment\"),\"map\"===a.get(\"icon-rotation-alignment\"),this.transform,c(e,1,this.transform.zoom));this.placeLayerBucket(i,h,f,p,s,u,r,n,e.collisionBoxArray,e.tileID.key,t.source)}},d.prototype.placeLayerBucket=function(t,e,r,n,i,a,o,l,c,h,f){for(var d=this,g=t.layers[0].layout,v=s.evaluateSizeForZoom(t.textSizeData,this.transform.zoom,u.properties[\"text-size\"]),m=!t.hasTextData()||g.get(\"text-optional\"),y=!t.hasIconData()||g.get(\"icon-optional\"),x=0,b=t.symbolInstances;x<b.length;x+=1){var _=b[x];if(!l[_.crossTileID]){var w=!1,M=!1,A=!0,k=null,T=null,S=null;_.collisionArrays||(_.collisionArrays=t.deserializeCollisionBoxes(c,_.textBoxStartIndex,_.textBoxEndIndex,_.iconBoxStartIndex,_.iconBoxEndIndex)),_.collisionArrays.textBox&&(w=(k=d.collisionIndex.placeCollisionBox(_.collisionArrays.textBox,g.get(\"text-allow-overlap\"),a,e)).box.length>0,A=A&&k.offscreen);var E=_.collisionArrays.textCircles;if(E){var C=t.text.placedSymbolArray.get(_.placedTextSymbolIndices[0]),L=s.evaluateSizeForFeature(t.textSizeData,v,C);T=d.collisionIndex.placeCollisionCircles(E,g.get(\"text-allow-overlap\"),i,a,_.key,C,t.lineVertexArray,t.glyphOffsetArray,L,e,r,o,\"map\"===g.get(\"text-pitch-alignment\")),w=g.get(\"text-allow-overlap\")||T.circles.length>0,A=A&&T.offscreen}_.collisionArrays.iconBox&&(M=(S=d.collisionIndex.placeCollisionBox(_.collisionArrays.iconBox,g.get(\"icon-allow-overlap\"),a,e)).box.length>0,A=A&&S.offscreen),m||y?y?m||(M=M&&w):w=M&&w:M=w=M&&w,w&&k&&d.collisionIndex.insertCollisionBox(k.box,g.get(\"text-ignore-placement\"),h,f,t.bucketInstanceId,_.textBoxStartIndex),M&&S&&d.collisionIndex.insertCollisionBox(S.box,g.get(\"icon-ignore-placement\"),h,f,t.bucketInstanceId,_.iconBoxStartIndex),w&&T&&d.collisionIndex.insertCollisionCircles(T.circles,g.get(\"text-ignore-placement\"),h,f,t.bucketInstanceId,_.textBoxStartIndex),d.placements[_.crossTileID]=new p(w,M,A||t.justReloaded),l[_.crossTileID]=!0}}t.justReloaded=!1},d.prototype.commit=function(t,e){var r=this;this.commitTime=e;var n=!1,i=t&&0!==this.fadeDuration?(this.commitTime-t.commitTime)/this.fadeDuration:1,a=t?t.opacities:{};for(var o in r.placements){var s=r.placements[o],l=a[o];l?(r.opacities[o]=new f(l,i,s.text,s.icon),n=n||s.text!==l.text.placed||s.icon!==l.icon.placed):(r.opacities[o]=new f(null,i,s.text,s.icon,s.skipFade),n=n||s.text||s.icon)}for(var u in a){var c=a[u];if(!r.opacities[u]){var h=new f(c,i,!1,!1);h.isHidden()||(r.opacities[u]=h,n=n||c.text.placed||c.icon.placed)}}n?this.lastPlacementChangeTime=e:\"number\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)},d.prototype.updateLayerOpacities=function(t,e){for(var r={},n=0,i=e;n<i.length;n+=1){var a=i[n],o=a.getBucket(t);o&&this.updateBucketOpacities(o,r,a.collisionBoxArray)}},d.prototype.updateBucketOpacities=function(t,e,r){t.hasTextData()&&t.text.opacityVertexArray.clear(),t.hasIconData()&&t.icon.opacityVertexArray.clear(),t.hasCollisionBoxData()&&t.collisionBox.collisionVertexArray.clear(),t.hasCollisionCircleData()&&t.collisionCircle.collisionVertexArray.clear();for(var a=t.layers[0].layout,o=new f(null,0,a.get(\"text-allow-overlap\"),a.get(\"icon-allow-overlap\"),!0),s=0;s<t.symbolInstances.length;s++){var l=t.symbolInstances[s],u=e[l.crossTileID],c=this.opacities[l.crossTileID];c?u&&(c=o):(c=o,this.opacities[l.crossTileID]=c),e[l.crossTileID]=!0;var h=l.numGlyphVertices>0||l.numVerticalGlyphVertices>0,p=l.numIconVertices>0;if(h){for(var d=i(c.text),g=(l.numGlyphVertices+l.numVerticalGlyphVertices)/4,v=0;v<g;v++)t.text.opacityVertexArray.emplaceBack(d);for(var m=0,y=l.placedTextSymbolIndices;m<y.length;m+=1){var x=y[m];t.text.placedSymbolArray.get(x).hidden=c.text.isHidden()}}if(p){for(var b=i(c.icon),_=0;_<l.numIconVertices/4;_++)t.icon.opacityVertexArray.emplaceBack(b);t.icon.placedSymbolArray.get(s).hidden=c.icon.isHidden()}l.collisionArrays||(l.collisionArrays=t.deserializeCollisionBoxes(r,l.textBoxStartIndex,l.textBoxEndIndex,l.iconBoxStartIndex,l.iconBoxEndIndex));var w=l.collisionArrays;if(w){w.textBox&&t.hasCollisionBoxData()&&n(t.collisionBox.collisionVertexArray,c.text.placed,!1),w.iconBox&&t.hasCollisionBoxData()&&n(t.collisionBox.collisionVertexArray,c.icon.placed,!1);var M=w.textCircles;if(M&&t.hasCollisionCircleData())for(var A=0;A<M.length;A+=5){var k=u||0===M[A+4];n(t.collisionCircle.collisionVertexArray,c.text.placed,k)}}}t.sortFeatures(this.transform.angle),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasCollisionBoxData()&&t.collisionBox.collisionVertexBuffer&&t.collisionBox.collisionVertexBuffer.updateData(t.collisionBox.collisionVertexArray),t.hasCollisionCircleData()&&t.collisionCircle.collisionVertexBuffer&&t.collisionCircle.collisionVertexBuffer.updateData(t.collisionCircle.collisionVertexArray)},d.prototype.symbolFadeChange=function(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration},d.prototype.hasTransitions=function(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration},d.prototype.stillRecent=function(t){return\"undefined\"!==this.commitTime&&this.commitTime+this.fadeDuration>t},d.prototype.setStale=function(){this.stale=!0};var g=Math.pow(2,25),v=Math.pow(2,24),m=Math.pow(2,17),y=Math.pow(2,16),x=Math.pow(2,9),b=Math.pow(2,8),_=Math.pow(2,1);e.exports=d},{\"../data/extent\":53,\"../source/pixels_to_tile_units\":104,\"../style/style_layer/symbol_style_layer_properties\":209,\"./collision_index\":217,\"./projection\":224,\"./symbol_size\":228}],224:[function(t,e,r){function n(t,e){var r=[t.x,t.y,0,1];h(r,r,e);var n=r[3];return{point:new f(r[0]/n,r[1]/n),signedDistanceFromCamera:n}}function i(t,e){var r=t[0]/t[3],n=t[1]/t[3];return r>=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function a(t,e,r,n,i,a,o,s,l,c,h,f){var p=s.glyphStartIndex+s.numGlyphs,d=s.lineStartIndex,g=s.lineStartIndex+s.lineLength,v=e.getoffsetX(s.glyphStartIndex),m=e.getoffsetX(p-1),y=u(t*v,r,n,i,a,o,s.segment,d,g,l,c,h,f);if(!y)return null;var x=u(t*m,r,n,i,a,o,s.segment,d,g,l,c,h,f);return x?{first:y,last:x}:null}function o(t,e,r,n){return t===x.horizontal&&Math.abs(r.y-e.y)>Math.abs(r.x-e.x)*n?{useVertical:!0}:(t===x.vertical?e.y<r.y:e.x>r.x)?{needsFlipping:!0}:null}function s(t,e,r,i,s,c,h,p,d,g,v,y,x,b){var _,w=e/24,M=t.lineOffsetX*e,A=t.lineOffsetY*e;if(t.numGlyphs>1){var k=t.glyphStartIndex+t.numGlyphs,T=t.lineStartIndex,S=t.lineStartIndex+t.lineLength,E=a(w,p,M,A,r,v,y,t,d,c,x,!1);if(!E)return{notEnoughRoom:!0};var C=n(E.first.point,h).point,L=n(E.last.point,h).point;if(i&&!r){var z=o(t.writingMode,C,L,b);if(z)return z}_=[E.first];for(var P=t.glyphStartIndex+1;P<k-1;P++)_.push(u(w*p.getoffsetX(P),M,A,r,v,y,t.segment,T,S,d,c,x,!1));_.push(E.last)}else{if(i&&!r){var I=n(y,s).point,D=t.lineStartIndex+t.segment+1,O=new f(d.getx(D),d.gety(D)),R=n(O,s),F=R.signedDistanceFromCamera>0?R.point:l(y,O,I,1,s),B=o(t.writingMode,I,F,b);if(B)return B}var N=u(w*p.getoffsetX(t.glyphStartIndex),M,A,r,v,y,t.segment,t.lineStartIndex,t.lineStartIndex+t.lineLength,d,c,x,!1);if(!N)return{notEnoughRoom:!0};_=[N]}for(var j=0,V=_;j<V.length;j+=1){var U=V[j];m(g,U.point,U.angle)}return{}}function l(t,e,r,i,a){var o=n(t.add(t.sub(e)._unit()),a).point,s=r.sub(o);return r.add(s._mult(i/s.mag()))}function u(t,e,r,i,a,o,s,u,c,h,p,d,g){var v=i?t-e:t+e,m=v>0?1:-1,y=0;i&&(m*=-1,y=Math.PI),m<0&&(y+=Math.PI);for(var x=m>0?u+s:u+s+1,b=x,_=a,w=a,M=0,A=0,k=Math.abs(v);M+A<=k;){if((x+=m)<u||x>=c)return null;if(w=_,void 0===(_=d[x])){var T=new f(h.getx(x),h.gety(x)),S=n(T,p);if(S.signedDistanceFromCamera>0)_=d[x]=S.point;else{var E=x-m;_=l(0===M?o:new f(h.getx(E),h.gety(E)),T,w,k-M+1,p)}}M+=A,A=w.dist(_)}var C=(k-M)/A,L=_.sub(w),z=L.mult(C)._add(w);return z._add(L._unit()._perp()._mult(r*m)),{point:z,angle:y+Math.atan2(_.y-w.y,_.x-w.x),tileDistance:g?{prevTileDistance:x-m===b?0:h.gettileUnitDistanceFromAnchor(x-m),lastSegmentViewportDistance:k-M}:null}}function c(t,e){for(var r=0;r<t;r++){var n=e.length;e.resize(n+4),e.float32.set(b,3*n)}}function h(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[3]=r[3]*n+r[7]*i+r[15],t}var f=t(\"@mapbox/point-geometry\"),p=t(\"@mapbox/gl-matrix\"),d=p.mat4,g=p.vec4,v=t(\"./symbol_size\"),m=t(\"../data/bucket/symbol_bucket\").addDynamicAttributes,y=t(\"../style/style_layer/symbol_style_layer_properties\").layout,x=t(\"../symbol/shaping\").WritingMode;e.exports={updateLineLabels:function(t,e,r,a,o,l,u,h){var p=a?t.textSizeData:t.iconSizeData,d=v.evaluateSizeForZoom(p,r.transform.zoom,y.properties[a?\"text-size\":\"icon-size\"]),m=[256/r.width*2+1,256/r.height*2+1],b=a?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;b.clear();for(var _=t.lineVertexArray,w=a?t.text.placedSymbolArray:t.icon.placedSymbolArray,M=r.transform.width/r.transform.height,A=!1,k=0;k<w.length;k++){var T=w.get(k);if(T.hidden||T.writingMode===x.vertical&&!A)c(T.numGlyphs,b);else{A=!1;var S=[T.anchorX,T.anchorY,0,1];if(g.transformMat4(S,S,e),i(S,m)){var E=.5+S[3]/r.transform.cameraToCenterDistance*.5,C=v.evaluateSizeForFeature(p,d,T),L=u?C*E:C/E,z=new f(T.anchorX,T.anchorY),P=n(z,o).point,I={},D=s(T,L,!1,h,e,o,l,t.glyphOffsetArray,_,b,P,z,I,M);A=D.useVertical,(D.notEnoughRoom||A||D.needsFlipping&&s(T,L,!0,h,e,o,l,t.glyphOffsetArray,_,b,P,z,I,M).notEnoughRoom)&&c(T.numGlyphs,b)}else c(T.numGlyphs,b)}}a?t.text.dynamicLayoutVertexBuffer.updateData(b):t.icon.dynamicLayoutVertexBuffer.updateData(b)},getLabelPlaneMatrix:function(t,e,r,n,i){var a=d.identity(new Float32Array(16));return e?(d.identity(a),d.scale(a,a,[1/i,1/i,1]),r||d.rotateZ(a,a,n.angle)):(d.scale(a,a,[n.width/2,-n.height/2,1]),d.translate(a,a,[1,-1,0]),d.multiply(a,a,t)),a},getGlCoordMatrix:function(t,e,r,n,i){var a=d.identity(new Float32Array(16));return e?(d.multiply(a,a,t),d.scale(a,a,[i,i,1]),r||d.rotateZ(a,a,-n.angle)):(d.scale(a,a,[1,-1,1]),d.translate(a,a,[-1,-1,0]),d.scale(a,a,[2/n.width,2/n.height,1])),a},project:n,placeFirstAndLastGlyph:a,xyTransformMat4:h};var b=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0])},{\"../data/bucket/symbol_bucket\":51,\"../style/style_layer/symbol_style_layer_properties\":209,\"../symbol/shaping\":226,\"./symbol_size\":228,\"@mapbox/gl-matrix\":2,\"@mapbox/point-geometry\":4}],225:[function(t,e,r){var n=t(\"@mapbox/point-geometry\"),i=t(\"../style/parse_glyph_pbf\").GLYPH_PBF_BORDER;e.exports={getIconQuads:function(t,e,r,i,a,o,s){var l,u,c,h,f=e.image,p=r.layout,d=e.top-1/f.pixelRatio,g=e.left-1/f.pixelRatio,v=e.bottom+1/f.pixelRatio,m=e.right+1/f.pixelRatio;if(\"none\"!==p.get(\"icon-text-fit\")&&a){var y=m-g,x=v-d,b=p.get(\"text-size\").evaluate(s)/24,_=a.left*b,w=a.right*b,M=a.top*b,A=w-_,k=a.bottom*b-M,T=p.get(\"icon-text-fit-padding\")[0],S=p.get(\"icon-text-fit-padding\")[1],E=p.get(\"icon-text-fit-padding\")[2],C=p.get(\"icon-text-fit-padding\")[3],L=\"width\"===p.get(\"icon-text-fit\")?.5*(k-x):0,z=\"height\"===p.get(\"icon-text-fit\")?.5*(A-y):0,P=\"width\"===p.get(\"icon-text-fit\")||\"both\"===p.get(\"icon-text-fit\")?A:y,I=\"height\"===p.get(\"icon-text-fit\")||\"both\"===p.get(\"icon-text-fit\")?k:x;l=new n(_+z-C,M+L-T),u=new n(_+z+S+P,M+L-T),c=new n(_+z+S+P,M+L+E+I),h=new n(_+z-C,M+L+E+I)}else l=new n(g,d),u=new n(m,d),c=new n(m,v),h=new n(g,v);var D=r.layout.get(\"icon-rotate\").evaluate(s)*Math.PI/180;if(D){var O=Math.sin(D),R=Math.cos(D),F=[R,-O,O,R];l._matMult(F),u._matMult(F),h._matMult(F),c._matMult(F)}return[{tl:l,tr:u,bl:h,br:c,tex:{x:f.textureRect.x-1,y:f.textureRect.y-1,w:f.textureRect.w+2,h:f.textureRect.h+2},writingMode:void 0,glyphOffset:[0,0]}]},getGlyphQuads:function(t,e,r,a,o,s,l){for(var u=r.layout.get(\"text-rotate\").evaluate(s)*Math.PI/180,c=r.layout.get(\"text-offset\").evaluate(s).map(function(t){return 24*t}),h=e.positionedGlyphs,f=[],p=0;p<h.length;p++){var d=h[p],g=l[d.glyph];if(g){var v=g.rect;if(v){var m=i+1,y=g.metrics.advance/2,x=a?[d.x+y,d.y]:[0,0],b=a?[0,0]:[d.x+y+c[0],d.y+c[1]],_=g.metrics.left-m-y+b[0],w=-g.metrics.top-m+b[1],M=_+v.w,A=w+v.h,k=new n(_,w),T=new n(M,w),S=new n(_,A),E=new n(M,A);if(a&&d.vertical){var C=new n(-y,y),L=-Math.PI/2,z=new n(5,0);k._rotateAround(L,C)._add(z),T._rotateAround(L,C)._add(z),S._rotateAround(L,C)._add(z),E._rotateAround(L,C)._add(z)}if(u){var P=Math.sin(u),I=Math.cos(u),D=[I,-P,P,I];k._matMult(D),T._matMult(D),S._matMult(D),E._matMult(D)}f.push({tl:k,tr:T,bl:S,br:E,tex:v,writingMode:e.writingMode,glyphOffset:x})}}}return f}}},{\"../style/parse_glyph_pbf\":186,\"@mapbox/point-geometry\":4}],226:[function(t,e,r){function n(t,e,r,n){var i=Math.pow(t-e,2);return n?t<e?i/2:2*i:i+Math.abs(r)*r}function i(t,e){var r=0;return 10===t&&(r-=1e4),40!==t&&65288!==t||(r+=50),41!==e&&65289!==e||(r+=50),r}function a(t,e,r,i,a,o){for(var s=null,l=n(e,r,a,o),u=0,c=i;u<c.length;u+=1){var h=c[u],f=n(e-h.x,r,a,o)+h.badness;f<=l&&(s=h,l=f)}return{index:t,x:e,priorBreak:s,badness:l}}function o(t,e,r,n){if(!r)return[];if(!t)return[];for(var o=[],s=function(t,e,r,n){for(var i=0,a=0;a<t.length;a++){var o=n[t.charCodeAt(a)];o&&(i+=o.metrics.advance+e)}return i/Math.max(1,Math.ceil(i/r))}(t,e,r,n),l=0,c=0;c<t.length;c++){var h=t.charCodeAt(c),f=n[h];f&&!p[h]&&(l+=f.metrics.advance+e),c<t.length-1&&(d[h]||u.charAllowsIdeographicBreaking(h))&&o.push(a(c+1,l,s,o,i(h,t.charCodeAt(c+1)),!1))}return function t(e){return e?t(e.priorBreak).concat(e.index):[]}(a(t.length,l,s,o,0,!0))}function s(t){var e=.5,r=.5;switch(t){case\"right\":case\"top-right\":case\"bottom-right\":e=1;break;case\"left\":case\"top-left\":case\"bottom-left\":e=0}switch(t){case\"bottom\":case\"bottom-right\":case\"bottom-left\":r=1;break;case\"top\":case\"top-right\":case\"top-left\":r=0}return{horizontalAlign:e,verticalAlign:r}}function l(t,e,r,n,i){if(i){var a=e[t[n].glyph];if(a)for(var o=a.metrics.advance,s=(t[n].x+o)*i,l=r;l<=n;l++)t[l].x-=s}}var u=t(\"../util/script_detection\"),c=t(\"../util/verticalize_punctuation\"),h=t(\"../source/rtl_text_plugin\"),f={horizontal:1,vertical:2,horizontalOnly:3};e.exports={shapeText:function(t,e,r,n,i,a,p,d,g,v){var m=t.trim();v===f.vertical&&(m=c(m));var y=[],x={positionedGlyphs:y,text:m,top:d[1],bottom:d[1],left:d[0],right:d[0],writingMode:v},b=h.processBidirectionalText;return function(t,e,r,n,i,a,o,c,h){for(var p=0,d=-17,g=0,v=t.positionedGlyphs,m=\"right\"===a?1:\"left\"===a?0:.5,y=0,x=r;y<x.length;y+=1){var b=x[y];if((b=b.trim()).length){for(var _=v.length,w=0;w<b.length;w++){var M=b.charCodeAt(w),A=e[M];A&&(u.charHasUprightVerticalOrientation(M)&&o!==f.horizontal?(v.push({glyph:M,x:p,y:0,vertical:!0}),p+=h+c):(v.push({glyph:M,x:p,y:d,vertical:!1}),p+=A.metrics.advance+c))}if(v.length!==_){var k=p-c;g=Math.max(k,g),l(v,e,_,v.length-1,m)}p=0,d+=n}else d+=n}var T=s(i),S=T.horizontalAlign,E=T.verticalAlign;!function(t,e,r,n,i,a,o){for(var s=(e-r)*i,l=(-n*o+.5)*a,u=0;u<t.length;u++)t[u].x+=s,t[u].y+=l}(v,m,S,E,g,n,r.length);var C=r.length*n;t.top+=-E*C,t.bottom=t.top+C,t.left+=-S*g,t.right=t.left+g}(x,e,b?b(m,o(m,p,r,e)):function(t,e){for(var r=[],n=0,i=0,a=e;i<a.length;i+=1){var o=a[i];r.push(t.substring(n,o)),n=o}return n<t.length&&r.push(t.substring(n,t.length)),r}(m,o(m,p,r,e)),n,i,a,v,p,g),!!y.length&&x},shapeIcon:function(t,e,r){var n=s(r),i=n.horizontalAlign,a=n.verticalAlign,o=e[0],l=e[1],u=o-t.displaySize[0]*i,c=u+t.displaySize[0],h=l-t.displaySize[1]*a;return{image:t,top:h,bottom:h+t.displaySize[1],left:u,right:c}},WritingMode:f};var p={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},d={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0}},{\"../source/rtl_text_plugin\":109,\"../util/script_detection\":269,\"../util/verticalize_punctuation\":277}],227:[function(t,e,r){function n(t,e,r,n,c,h){var f=h.layoutTextSize.evaluate(e),d=h.layoutIconSize.evaluate(e),g=h.textMaxSize.evaluate(e);void 0===g&&(g=f);var x=t.layers[0].layout,A=x.get(\"text-offset\").evaluate(e),k=x.get(\"icon-offset\").evaluate(e),T=f/24,S=t.tilePixelRatio*T,E=t.tilePixelRatio*g/24,C=t.tilePixelRatio*d,L=t.tilePixelRatio*x.get(\"symbol-spacing\"),z=x.get(\"text-padding\")*t.tilePixelRatio,P=x.get(\"icon-padding\")*t.tilePixelRatio,I=x.get(\"text-max-angle\")/180*Math.PI,D=\"map\"===x.get(\"text-rotation-alignment\")&&\"line\"===x.get(\"symbol-placement\"),O=\"map\"===x.get(\"icon-rotation-alignment\")&&\"line\"===x.get(\"symbol-placement\"),R=L/2,F=function(a,o){o.x<0||o.x>=w||o.y<0||o.y>=w||t.symbolInstances.push(function(t,e,r,n,a,o,s,l,c,h,f,d,g,x,b,_,w,A,k,T,S,E){var C,L,z=t.addToLineVertexArray(e,r),P=0,I=0,D=0,O=n.horizontal?n.horizontal.text:\"\",R=[];n.horizontal&&(C=new m(s,r,e,l,c,h,n.horizontal,f,d,g,t.overscaling),I+=i(t,e,n.horizontal,o,g,k,T,x,z,n.vertical?p.horizontal:p.horizontalOnly,R,S,E),n.vertical&&(D+=i(t,e,n.vertical,o,g,k,T,x,z,p.vertical,R,S,E)));var F=C?C.boxStartIndex:t.collisionBoxArray.length,B=C?C.boxEndIndex:t.collisionBoxArray.length;if(a){var N=v(e,a,o,w,n.horizontal,k,T);L=new m(s,r,e,l,c,h,a,b,_,!1,t.overscaling),P=4*N.length;var j=t.iconSizeData,V=null;\"source\"===j.functionType?V=[10*o.layout.get(\"icon-size\").evaluate(T)]:\"composite\"===j.functionType&&(V=[10*E.compositeIconSizes[0].evaluate(T),10*E.compositeIconSizes[1].evaluate(T)]),t.addSymbols(t.icon,N,V,A,w,T,!1,e,z.lineStartIndex,z.lineLength)}var U=L?L.boxStartIndex:t.collisionBoxArray.length,q=L?L.boxEndIndex:t.collisionBoxArray.length;return t.glyphOffsetArray.length>=M.MAX_GLYPHS&&y.warnOnce(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),{key:O,textBoxStartIndex:F,textBoxEndIndex:B,iconBoxStartIndex:U,iconBoxEndIndex:q,textOffset:x,iconOffset:A,anchor:e,line:r,featureIndex:l,feature:T,numGlyphVertices:I,numVerticalGlyphVertices:D,numIconVertices:P,textOpacityState:new u,iconOpacityState:new u,isDuplicate:!1,placedTextSymbolIndices:R,crossTileID:0}}(t,o,a,r,n,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,S,z,D,A,C,P,O,k,{zoom:t.zoom},e,c,h))};if(\"line\"===x.get(\"symbol-placement\"))for(var B=0,N=l(e.geometry,0,0,w,w);B<N.length;B+=1)for(var j=N[B],V=0,U=s(j,L,I,r.vertical||r.horizontal,n,24,E,t.overscaling,w);V<U.length;V+=1){var q=U[V],H=r.horizontal;H&&a(t,H.text,R,q)||F(j,q)}else if(\"Polygon\"===e.type)for(var G=0,W=_(e.geometry,0);G<W.length;G+=1){var Y=W[G],X=b(Y,16);F(Y[0],new o(X.x,X.y,0))}else if(\"LineString\"===e.type)for(var Z=0,J=e.geometry;Z<J.length;Z+=1){var K=J[Z];F(K,new o(K[0].x,K[0].y,0))}else if(\"Point\"===e.type)for(var Q=0,$=e.geometry;Q<$.length;Q+=1)for(var tt=0,et=$[Q];tt<et.length;tt+=1){var rt=et[tt];F([rt],new o(rt.x,rt.y,0))}}function i(t,e,r,n,i,a,o,s,l,u,c,h,f){var p=g(e,r,n,i,a,o,h),d=t.textSizeData,v=null;return\"source\"===d.functionType?v=[10*n.layout.get(\"text-size\").evaluate(o)]:\"composite\"===d.functionType&&(v=[10*f.compositeTextSizes[0].evaluate(o),10*f.compositeTextSizes[1].evaluate(o)]),t.addSymbols(t.text,p,v,s,i,o,u,e,l.lineStartIndex,l.lineLength),c.push(t.text.placedSymbolArray.length-1),4*p.length}function a(t,e,r,n){var i=t.compareText;if(e in i){for(var a=i[e],o=a.length-1;o>=0;o--)if(n.dist(a[o])<r)return!0}else i[e]=[];return i[e].push(n),!1}var o=t(\"./anchor\"),s=t(\"./get_anchors\"),l=t(\"./clip_line\"),u=t(\"./opacity_state\"),c=t(\"./shaping\"),h=c.shapeText,f=c.shapeIcon,p=c.WritingMode,d=t(\"./quads\"),g=d.getGlyphQuads,v=d.getIconQuads,m=t(\"./collision_feature\"),y=t(\"../util/util\"),x=t(\"../util/script_detection\"),b=t(\"../util/find_pole_of_inaccessibility\"),_=t(\"../util/classify_rings\"),w=t(\"../data/extent\"),M=t(\"../data/bucket/symbol_bucket\"),A=t(\"../style/evaluation_parameters\");t(\"@mapbox/point-geometry\");e.exports={performSymbolLayout:function(t,e,r,i,a,o){t.createArrays(),t.symbolInstances=[];var s=512*t.overscaling;t.tilePixelRatio=w/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,u=t.layers[0]._unevaluatedLayout._values,c={};if(\"composite\"===t.textSizeData.functionType){var d=t.textSizeData.zoomRange,g=d.min,v=d.max;c.compositeTextSizes=[u[\"text-size\"].possiblyEvaluate(new A(g)),u[\"text-size\"].possiblyEvaluate(new A(v))]}if(\"composite\"===t.iconSizeData.functionType){var m=t.iconSizeData.zoomRange,b=m.min,_=m.max;c.compositeIconSizes=[u[\"icon-size\"].possiblyEvaluate(new A(b)),u[\"icon-size\"].possiblyEvaluate(new A(_))]}c.layoutTextSize=u[\"text-size\"].possiblyEvaluate(new A(t.zoom+1)),c.layoutIconSize=u[\"icon-size\"].possiblyEvaluate(new A(t.zoom+1)),c.textMaxSize=u[\"text-size\"].possiblyEvaluate(new A(18));for(var M=24*l.get(\"text-line-height\"),k=\"map\"===l.get(\"text-rotation-alignment\")&&\"line\"===l.get(\"symbol-placement\"),T=l.get(\"text-keep-upright\"),S=0,E=t.features;S<E.length;S+=1){var C=E[S],L=l.get(\"text-font\").evaluate(C).join(\",\"),z=e[L]||{},P=r[L]||{},I={},D=C.text;if(D){var O=x.allowsVerticalWritingMode(D),R=l.get(\"text-offset\").evaluate(C).map(function(t){return 24*t}),F=24*l.get(\"text-letter-spacing\").evaluate(C),B=x.allowsLetterSpacing(D)?F:0,N=l.get(\"text-anchor\").evaluate(C),j=l.get(\"text-justify\").evaluate(C),V=\"line\"!==l.get(\"symbol-placement\")?24*l.get(\"text-max-width\").evaluate(C):0;I.horizontal=h(D,z,V,M,N,j,B,R,24,p.horizontal),O&&k&&T&&(I.vertical=h(D,z,V,M,N,j,B,R,24,p.vertical))}var U=void 0;if(C.icon){var q=i[C.icon];q&&(U=f(a[C.icon],l.get(\"icon-offset\").evaluate(C),l.get(\"icon-anchor\").evaluate(C)),void 0===t.sdfIcons?t.sdfIcons=q.sdf:t.sdfIcons!==q.sdf&&y.warnOnce(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),q.pixelRatio!==t.pixelRatio?t.iconsNeedLinear=!0:0!==l.get(\"icon-rotate\").constantOr(1)&&(t.iconsNeedLinear=!0))}(I.horizontal||U)&&n(t,C,I,U,P,c)}o&&t.generateCollisionDebugBuffers()}}},{\"../data/bucket/symbol_bucket\":51,\"../data/extent\":53,\"../style/evaluation_parameters\":182,\"../util/classify_rings\":255,\"../util/find_pole_of_inaccessibility\":261,\"../util/script_detection\":269,\"../util/util\":275,\"./anchor\":213,\"./clip_line\":215,\"./collision_feature\":216,\"./get_anchors\":219,\"./opacity_state\":222,\"./quads\":225,\"./shaping\":226,\"@mapbox/point-geometry\":4}],228:[function(t,e,r){var n=t(\"../style-spec/expression\").normalizePropertyExpression,i=t(\"../style-spec/util/interpolate\"),a=t(\"../util/util\");e.exports={getSizeData:function(t,e){var r=e.expression;if(\"constant\"===r.kind)return{functionType:\"constant\",layoutSize:r.evaluate({zoom:t+1})};if(\"source\"===r.kind)return{functionType:\"source\"};for(var n=r.zoomStops,i=0;i<n.length&&n[i]<=t;)i++;for(var a=i=Math.max(0,i-1);a<n.length&&n[a]<t+1;)a++;a=Math.min(n.length-1,a);var o={min:n[i],max:n[a]};return\"composite\"===r.kind?{functionType:\"composite\",zoomRange:o,propertyValue:e.value}:{functionType:\"camera\",layoutSize:r.evaluate({zoom:t+1}),zoomRange:o,sizeRange:{min:r.evaluate({zoom:o.min}),max:r.evaluate({zoom:o.max})},propertyValue:e.value}},evaluateSizeForFeature:function(t,e,r){var n=e;return\"source\"===t.functionType?r.lowerSize/10:\"composite\"===t.functionType?i.number(r.lowerSize/10,r.upperSize/10,n.uSizeT):n.uSize},evaluateSizeForZoom:function(t,e,r){if(\"constant\"===t.functionType)return{uSizeT:0,uSize:t.layoutSize};if(\"source\"===t.functionType)return{uSizeT:0,uSize:0};if(\"camera\"===t.functionType){var i=t.propertyValue,o=t.zoomRange,s=t.sizeRange,l=n(i,r.specification),u=a.clamp(l.interpolationFactor(e,o.min,o.max),0,1);return{uSizeT:0,uSize:s.min+u*(s.max-s.min)}}var c=t.propertyValue,h=t.zoomRange,f=n(c,r.specification);return{uSizeT:a.clamp(f.interpolationFactor(e,h.min,h.max),0,1),uSize:0}}}},{\"../style-spec/expression\":139,\"../style-spec/util/interpolate\":158,\"../util/util\":275}],229:[function(t,e,r){var n=t(\"../source/rtl_text_plugin\");e.exports=function(t,e,r){var i=e.layout.get(\"text-transform\").evaluate(r);return\"uppercase\"===i?t=t.toLocaleUpperCase():\"lowercase\"===i&&(t=t.toLocaleLowerCase()),n.applyArabicShaping&&(t=n.applyArabicShaping(t)),t}},{\"../source/rtl_text_plugin\":109}],230:[function(t,e,r){var n=t(\"../util/dom\"),i=t(\"@mapbox/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(){f=null}function o(e,r){var i=n.mousePos(l,r);return t.fire(e,{lngLat:t.unproject(i),point:i,originalEvent:r})}function s(e,r){var a=n.touchPos(l,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 l=t.getCanvasContainer(),u=null,c=!1,h=null,f=null;for(var p in a)t[p]=new a[p](t,e),e.interactive&&e[p]&&t[p].enable(e[p]);l.addEventListener(\"mouseout\",function(t){o(\"mouseout\",t)},!1),l.addEventListener(\"mousedown\",function(e){t.doubleClickZoom.isActive()||t.stop(),h=n.mousePos(l,e),o(\"mousedown\",e),c=!0},!1),l.addEventListener(\"mouseup\",function(e){var r=t.dragRotate&&t.dragRotate.isActive();u&&!r&&o(\"contextmenu\",u),u=null,c=!1,o(\"mouseup\",e)},!1),l.addEventListener(\"mousemove\",function(e){if(!(t.dragPan&&t.dragPan.isActive()||t.dragRotate&&t.dragRotate.isActive())){for(var r=e.toElement||e.target;r&&r!==l;)r=r.parentNode;r===l&&o(\"mousemove\",e)}},!1),l.addEventListener(\"mouseover\",function(t){for(var e=t.toElement||t.target;e&&e!==l;)e=e.parentNode;e===l&&o(\"mouseover\",t)},!1),l.addEventListener(\"touchstart\",function(e){t.stop(),s(\"touchstart\",e),!e.touches||e.touches.length>1||(f?(clearTimeout(f),f=null,o(\"dblclick\",e)):f=setTimeout(r,300))},!1),l.addEventListener(\"touchend\",function(t){s(\"touchend\",t)},!1),l.addEventListener(\"touchmove\",function(t){s(\"touchmove\",t)},!1),l.addEventListener(\"touchcancel\",function(t){s(\"touchcancel\",t)},!1),l.addEventListener(\"click\",function(t){n.mousePos(l,t).equals(h)&&o(\"click\",t)},!1),l.addEventListener(\"dblclick\",function(t){o(\"dblclick\",t),t.preventDefault()},!1),l.addEventListener(\"contextmenu\",function(e){var r=t.dragRotate&&t.dragRotate.isActive();c||r?c&&(u=e):o(\"contextmenu\",e),e.preventDefault()},!1)}},{\"../util/dom\":259,\"./handler/box_zoom\":239,\"./handler/dblclick_zoom\":240,\"./handler/drag_pan\":241,\"./handler/drag_rotate\":242,\"./handler/keyboard\":243,\"./handler/scroll_zoom\":244,\"./handler/touch_zoom_rotate\":245,\"@mapbox/point-geometry\":4}],231:[function(t,e,r){var n=t(\"../util/util\"),i=t(\"../style-spec/util/interpolate\").number,a=t(\"../util/browser\"),o=t(\"../geo/lng_lat\"),s=t(\"../geo/lng_lat_bounds\"),l=t(\"@mapbox/point-geometry\"),u=function(t){function e(e,r){t.call(this),this.moving=!1,this.transform=e,this._bearingSnap=r.bearingSnap}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCenter=function(){return this.transform.center},e.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},e.prototype.panBy=function(t,e,r){return t=l.convert(t).mult(-1),this.panTo(this.transform.center,n.extend({offset:t},e),r)},e.prototype.panTo=function(t,e,r){return this.easeTo(n.extend({center:t},e),r)},e.prototype.getZoom=function(){return this.transform.zoom},e.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},e.prototype.zoomTo=function(t,e,r){return this.easeTo(n.extend({zoom:t},e),r)},e.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},e.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},e.prototype.getBearing=function(){return this.transform.bearing},e.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},e.prototype.rotateTo=function(t,e,r){return this.easeTo(n.extend({bearing:t},e),r)},e.prototype.resetNorth=function(t,e){return this.rotateTo(0,n.extend({duration:1e3},t),e),this},e.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},e.prototype.getPitch=function(){return this.transform.pitch},e.prototype.setPitch=function(t,e){return this.jumpTo({pitch:t},e),this},e.prototype.fitBounds=function(t,e,r){if(\"number\"==typeof(e=n.extend({padding:{top:0,bottom:0,right:0,left:0},offset:[0,0],maxZoom:this.transform.maxZoom},e)).padding){var i=e.padding;e.padding={top:i,bottom:i,right:i,left:i}}if(!n.deepEqual(Object.keys(e.padding).sort(function(t,e){return t<e?-1:t>e?1:0}),[\"bottom\",\"left\",\"right\",\"top\"]))return n.warnOnce(\"options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'\"),this;t=s.convert(t);var a=[(e.padding.left-e.padding.right)/2,(e.padding.top-e.padding.bottom)/2],o=Math.min(e.padding.right,e.padding.left),u=Math.min(e.padding.top,e.padding.bottom);e.offset=[e.offset[0]+a[0],e.offset[1]+a[1]];var c=l.convert(e.offset),h=this.transform,f=h.project(t.getNorthWest()),p=h.project(t.getSouthEast()),d=p.sub(f),g=(h.width-2*o-2*Math.abs(c.x))/d.x,v=(h.height-2*u-2*Math.abs(c.y))/d.y;return v<0||g<0?(n.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\"),this):(e.center=h.unproject(f.add(p).div(2)),e.zoom=Math.min(h.scaleZoom(h.scale*Math.min(g,v)),e.maxZoom),e.bearing=0,e.linear?this.easeTo(e,r):this.flyTo(e,r))},e.prototype.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),void 0!==t.center&&(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(\"pitchstart\",e).fire(\"pitch\",e).fire(\"pitchend\",e),this.fire(\"moveend\",e)},e.prototype.easeTo=function(t,e){var r=this;this.stop(),!1===(t=n.extend({offset:[0,0],duration:500,easing:n.ease},t)).animate&&(t.duration=0);var a=this.transform,s=this.getZoom(),u=this.getBearing(),c=this.getPitch(),h=\"zoom\"in t?+t.zoom:s,f=\"bearing\"in t?this._normalizeBearing(t.bearing,u):u,p=\"pitch\"in t?+t.pitch:c,d=a.centerPoint.add(l.convert(t.offset)),g=a.pointLocation(d),v=o.convert(t.center||g);this._normalizeCenter(v);var m,y,x=a.project(g),b=a.project(v).sub(x),_=a.zoomScale(h-s);return t.around&&(m=o.convert(t.around),y=a.locationPoint(m)),this.zooming=h!==s,this.rotating=u!==f,this.pitching=p!==c,this._prepareEase(e,t.noMoveStart),clearTimeout(this._onEaseEnd),this._ease(function(t){if(r.zooming&&(a.zoom=i(s,h,t)),r.rotating&&(a.bearing=i(u,f,t)),r.pitching&&(a.pitch=i(c,p,t)),m)a.setLocationAtPoint(m,y);else{var n=a.zoomScale(a.zoom-s),o=h>s?Math.min(2,_):Math.max(.5,_),l=Math.pow(o,1-t),g=a.unproject(x.add(b.mult(t*l)).mult(n));a.setLocationAtPoint(a.renderWorldCopies?g.wrap():g,d)}r._fireMoveEvents(e)},function(){t.delayEndEvents?r._onEaseEnd=setTimeout(function(){return r._afterEase(e)},t.delayEndEvents):r._afterEase(e)},t),this},e.prototype._prepareEase=function(t,e){this.moving=!0,e||this.fire(\"movestart\",t),this.zooming&&this.fire(\"zoomstart\",t),this.pitching&&this.fire(\"pitchstart\",t)},e.prototype._fireMoveEvents=function(t){this.fire(\"move\",t),this.zooming&&this.fire(\"zoom\",t),this.rotating&&this.fire(\"rotate\",t),this.pitching&&this.fire(\"pitch\",t)},e.prototype._afterEase=function(t){var e=this.zooming,r=this.pitching;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,e&&this.fire(\"zoomend\",t),r&&this.fire(\"pitchend\",t),this.fire(\"moveend\",t)},e.prototype.flyTo=function(t,e){function r(t){var e=(k*k-A*A+(t?-1:1)*C*C*T*T)/(2*(t?k:A)*C*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}var u=this;this.stop(),t=n.extend({offset:[0,0],speed:1.2,curve:1.42,easing:n.ease},t);var c=this.transform,h=this.getZoom(),f=this.getBearing(),p=this.getPitch(),d=\"zoom\"in t?n.clamp(+t.zoom,c.minZoom,c.maxZoom):h,g=\"bearing\"in t?this._normalizeBearing(t.bearing,f):f,v=\"pitch\"in t?+t.pitch:p,m=c.zoomScale(d-h),y=c.centerPoint.add(l.convert(t.offset)),x=c.pointLocation(y),b=o.convert(t.center||x);this._normalizeCenter(b);var _=c.project(x),w=c.project(b).sub(_),M=t.curve,A=Math.max(c.width,c.height),k=A/m,T=w.mag();if(\"minZoom\"in t){var S=n.clamp(Math.min(t.minZoom,h,d),c.minZoom,c.maxZoom),E=A/c.zoomScale(S-h);M=Math.sqrt(E/T*2)}var C=M*M,L=r(0),z=function(t){return s(L)/s(L+M*t)},P=function(t){return A*((s(L)*function(t){return a(t)/s(t)}(L+M*t)-a(L))/C)/T},I=(r(1)-L)/M;if(Math.abs(T)<1e-6||!isFinite(I)){if(Math.abs(A-k)<1e-6)return this.easeTo(t,e);var D=k<A?-1:1;I=Math.abs(Math.log(k/A))/M,P=function(){return 0},z=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*I/O}return t.maxDuration&&t.duration>t.maxDuration&&(t.duration=0),this.zooming=!0,this.rotating=f!==g,this.pitching=v!==p,this._prepareEase(e,!1),this._ease(function(t){var r=t*I,n=1/z(r);c.zoom=h+c.scaleZoom(n),u.rotating&&(c.bearing=i(f,g,t)),u.pitching&&(c.pitch=i(p,v,t));var a=c.unproject(_.add(w.mult(P(r))).mult(n));c.setLocationAtPoint(c.renderWorldCopies?a.wrap():a,y),u._fireMoveEvents(e)},function(){return u._afterEase(e)},t),this},e.prototype.isEasing=function(){return!!this._isEasing},e.prototype.isMoving=function(){return this.moving},e.prototype.stop=function(){return this._onFrame&&this._finishAnimation(),this},e.prototype._ease=function(t,e,r){var n=this;!1===r.animate||0===r.duration?(t(1),e()):(this._easeStart=a.now(),this._isEasing=!0,this._easeOptions=r,this._startAnimation(function(e){var r=Math.min((a.now()-n._easeStart)/n._easeOptions.duration,1);t(n._easeOptions.easing(r)),1===r&&n.stop()},function(){n._isEasing=!1,e()}))},e.prototype._updateCamera=function(){this._onFrame&&this._onFrame(this.transform)},e.prototype._startAnimation=function(t,e){return void 0===e&&(e=function(){}),this.stop(),this._onFrame=t,this._finishFn=e,this._update(),this},e.prototype._finishAnimation=function(){delete this._onFrame;var t=this._finishFn;delete this._finishFn,t.call(this)},e.prototype._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},e.prototype._normalizeCenter=function(t){var e=this.transform;if(e.renderWorldCopies&&!e.lngRange){var r=t.lng-e.center.lng;t.lng+=r>180?-360:r<-180?360:0}},e}(t(\"../util/evented\"));e.exports=u},{\"../geo/lng_lat\":62,\"../geo/lng_lat_bounds\":63,\"../style-spec/util/interpolate\":158,\"../util/browser\":252,\"../util/evented\":260,\"../util/util\":275,\"@mapbox/point-geometry\":4}],232:[function(t,e,r){var n=t(\"../../util/dom\"),i=t(\"../../util/util\"),a=t(\"../../util/config\"),o=function(t){this.options=t,i.bindAll([\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};o.prototype.getDefaultPosition=function(){return\"bottom-right\"},o.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=n.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),e&&this._container.classList.add(\"mapboxgl-compact\"),this._updateAttributions(),this._updateEditLink(),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"moveend\",this._updateEditLink),void 0===e&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},o.prototype.onRemove=function(){n.remove(this._container),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"moveend\",this._updateEditLink),this._map.off(\"resize\",this._updateCompact),this._map=void 0},o.prototype._updateEditLink=function(){var t=this._editLink;t||(t=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var e=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:a.ACCESS_TOKEN}];if(t){var r=e.reduce(function(t,r,n){return r.value&&(t+=r.key+\"=\"+r.value+(n<e.length-1?\"&\":\"\")),t},\"?\");t.href=\"https://www.mapbox.com/feedback/\"+r+(this._map._hash?this._map._hash.getHashString(!0):\"\")}},o.prototype._updateData=function(t){t&&\"metadata\"===t.sourceDataType&&(this._updateAttributions(),this._updateEditLink())},o.prototype._updateAttributions=function(){if(this._map.style){var t=[];if(this._map.style.stylesheet){var e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}var r=this._map.style.sourceCaches;for(var n in r){var i=r[n].getSource();i.attribution&&t.indexOf(i.attribution)<0&&t.push(i.attribution)}t.sort(function(t,e){return t.length-e.length}),(t=t.filter(function(e,r){for(var n=r+1;n<t.length;n++)if(t[n].indexOf(e)>=0)return!1;return!0})).length?(this._container.innerHTML=t.join(\" | \"),this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null}},o.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\")},e.exports=o},{\"../../util/config\":256,\"../../util/dom\":259,\"../../util/util\":275}],233:[function(t,e,r){var n=t(\"../../util/dom\"),i=t(\"../../util/util\"),a=t(\"../../util/window\"),o=function(){this._fullscreen=!1,i.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in a.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in a.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in a.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in a.document&&(this._fullscreenchange=\"MSFullscreenChange\"),this._className=\"mapboxgl-ctrl\"};o.prototype.onAdd=function(t){return this._map=t,this._mapContainer=this._map.getContainer(),this._container=n.create(\"div\",this._className+\" mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._container.style.display=\"none\",i.warnOnce(\"This device does not support fullscreen mode.\")),this._container},o.prototype.onRemove=function(){n.remove(this._container),this._map=null,a.document.removeEventListener(this._fullscreenchange,this._changeIcon)},o.prototype._checkFullscreenSupport=function(){return!!(a.document.fullscreenEnabled||a.document.mozFullScreenEnabled||a.document.msFullscreenEnabled||a.document.webkitFullscreenEnabled)},o.prototype._setupUI=function(){var t=this._fullscreenButton=n.create(\"button\",this._className+\"-icon \"+this._className+\"-fullscreen\",this._container);t.setAttribute(\"aria-label\",\"Toggle fullscreen\"),t.type=\"button\",this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),a.document.addEventListener(this._fullscreenchange,this._changeIcon)},o.prototype._isFullscreen=function(){return this._fullscreen},o.prototype._changeIcon=function(){(a.document.fullscreenElement||a.document.mozFullScreenElement||a.document.webkitFullscreenElement||a.document.msFullscreenElement)===this._mapContainer!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(this._className+\"-shrink\"),this._fullscreenButton.classList.toggle(this._className+\"-fullscreen\"))},o.prototype._onClickFullscreen=function(){this._isFullscreen()?a.document.exitFullscreen?a.document.exitFullscreen():a.document.mozCancelFullScreen?a.document.mozCancelFullScreen():a.document.msExitFullscreen?a.document.msExitFullscreen():a.document.webkitCancelFullScreen&&a.document.webkitCancelFullScreen():this._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},e.exports=o},{\"../../util/dom\":259,\"../../util/util\":275,\"../../util/window\":254}],234:[function(t,e,r){var n,i=t(\"../../util/evented\"),a=t(\"../../util/dom\"),o=t(\"../../util/window\"),s=t(\"../../util/util\"),l=t(\"../../geo/lng_lat\"),u=t(\"../marker\"),c={positionOptions:{enableHighAccuracy:!1,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showUserLocation:!0},h=function(t){function e(e){t.call(this),this.options=s.extend({},c,e),s.bindAll([\"_onSuccess\",\"_onError\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\",\"_onClickGeolocate\"],this)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.onAdd=function(t){return this._map=t,this._container=a.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),function(t){void 0!==n?t(n):void 0!==o.navigator.permissions?o.navigator.permissions.query({name:\"geolocation\"}).then(function(e){n=\"denied\"!==e.state,t(n)}):(n=!!o.navigator.geolocation,t(n))}(this._setupUI),this._container},e.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(o.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker.remove(),a.remove(this._container),this._map=void 0},e.prototype._onSuccess=function(t){if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\")}this.options.showUserLocation&&\"OFF\"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(\"geolocate\",t),this._finish()},e.prototype._updateCamera=function(t){var e=new l(t.coords.longitude,t.coords.latitude),r=t.coords.accuracy;this._map.fitBounds(e.toBounds(r),this.options.fitBoundsOptions,{geolocateSource:!0})},e.prototype._updateMarker=function(t){t?this._userLocationDotMarker.setLngLat([t.coords.longitude,t.coords.latitude]).addTo(this._map):this._userLocationDotMarker.remove()},e.prototype._onError=function(t){if(this.options.trackUserLocation)if(1===t.code)this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),void 0!==this._geolocationWatchID&&this._clearWatch();else switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\")}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(\"error\",t),this._finish()},e.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},e.prototype._setupUI=function(t){var e=this;!1!==t&&(this._container.addEventListener(\"contextmenu\",function(t){return t.preventDefault()}),this._geolocateButton=a.create(\"button\",\"mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate\",this._container),this._geolocateButton.type=\"button\",this._geolocateButton.setAttribute(\"aria-label\",\"Geolocate\"),this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=a.create(\"div\",\"mapboxgl-user-location-dot\"),this._userLocationDotMarker=new u(this._dotElement),this.options.trackUserLocation&&(this._watchState=\"OFF\")),this._geolocateButton.addEventListener(\"click\",this._onClickGeolocate.bind(this)),this.options.trackUserLocation&&this._map.on(\"movestart\",function(t){t.geolocateSource||\"ACTIVE_LOCK\"!==e._watchState||(e._watchState=\"BACKGROUND\",e._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),e._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),e.fire(\"trackuserlocationend\"))}))},e.prototype._onClickGeolocate=function(){if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(\"trackuserlocationstart\");break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this.fire(\"trackuserlocationend\");break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(\"trackuserlocationstart\")}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"BACKGROUND\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");break;case\"BACKGROUND_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\")}\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID?this._clearWatch():void 0===this._geolocationWatchID&&(this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),this._geolocationWatchID=o.navigator.geolocation.watchPosition(this._onSuccess,this._onError,this.options.positionOptions))}else o.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4)},e.prototype._clearWatch=function(){o.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)},e}(i);e.exports=h},{\"../../geo/lng_lat\":62,\"../../util/dom\":259,\"../../util/evented\":260,\"../../util/util\":275,\"../../util/window\":254,\"../marker\":248}],235:[function(t,e,r){var n=t(\"../../util/dom\"),i=t(\"../../util/util\"),a=function(){i.bindAll([\"_updateLogo\"],this)};a.prototype.onAdd=function(t){this._map=t,this._container=n.create(\"div\",\"mapboxgl-ctrl\");var e=n.create(\"a\",\"mapboxgl-ctrl-logo\");return e.target=\"_blank\",e.href=\"https://www.mapbox.com/\",e.setAttribute(\"aria-label\",\"Mapbox logo\"),this._container.appendChild(e),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._container},a.prototype.onRemove=function(){n.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo)},a.prototype.getDefaultPosition=function(){return\"bottom-left\"},a.prototype._updateLogo=function(t){t&&\"metadata\"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?\"block\":\"none\")},a.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},e.exports=a},{\"../../util/dom\":259,\"../../util/util\":275}],236:[function(t,e,r){var n=t(\"../../util/dom\"),i=t(\"../../util/util\"),a=t(\"../handler/drag_rotate\"),o={showCompass:!0,showZoom:!0},s=function(t){var e=this;this.options=i.extend({},o,t),this._container=n.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",function(t){return t.preventDefault()}),this.options.showZoom&&(this._zoomInButton=this._createButton(\"mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-in\",\"Zoom In\",function(){return e._map.zoomIn()}),this._zoomOutButton=this._createButton(\"mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-out\",\"Zoom Out\",function(){return e._map.zoomOut()})),this.options.showCompass&&(i.bindAll([\"_rotateCompassArrow\"],this),this._compass=this._createButton(\"mapboxgl-ctrl-icon mapboxgl-ctrl-compass\",\"Reset North\",function(){return e._map.resetNorth()}),this._compassArrow=n.create(\"span\",\"mapboxgl-ctrl-compass-arrow\",this._compass))};s.prototype._rotateCompassArrow=function(){var t=\"rotate(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\";this._compassArrow.style.transform=t},s.prototype.onAdd=function(t){return this._map=t,this.options.showCompass&&(this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new a(t,{button:\"left\",element:this._compass}),this._handler.enable()),this._container},s.prototype.onRemove=function(){n.remove(this._container),this.options.showCompass&&(this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.disable(),delete this._handler),delete this._map},s.prototype._createButton=function(t,e,r){var i=n.create(\"button\",t,this._container);return i.type=\"button\",i.setAttribute(\"aria-label\",e),i.addEventListener(\"click\",r),i},e.exports=s},{\"../../util/dom\":259,\"../../util/util\":275,\"../handler/drag_rotate\":242}],237:[function(t,e,r){function n(t,e,r){var n=r&&r.maxWidth||100,a=t._container.clientHeight/2,o=function(t,e){var r=Math.PI/180,n=t.lat*r,i=e.lat*r,a=Math.sin(n)*Math.sin(i)+Math.cos(n)*Math.cos(i)*Math.cos((e.lng-t.lng)*r);return 6371e3*Math.acos(Math.min(a,1))}(t.unproject([0,a]),t.unproject([n,a]));if(r&&\"imperial\"===r.unit){var s=3.2808*o;s>5280?i(e,n,s/5280,\"mi\"):i(e,n,s,\"ft\")}else if(r&&\"nautical\"===r.unit){i(e,n,o/1852,\"nm\")}else i(e,n,o,\"m\")}function i(t,e,r,n){var i=function(t){var e=Math.pow(10,(\"\"+Math.floor(t)).length-1),r=t/e;return e*(r=r>=10?10:r>=5?5:r>=3?3:r>=2?2:1)}(r),a=i/r;\"m\"===n&&i>=1e3&&(i/=1e3,n=\"km\"),t.style.width=e*a+\"px\",t.innerHTML=i+n}var a=t(\"../../util/dom\"),o=t(\"../../util/util\"),s=function(t){this.options=t,o.bindAll([\"_onMove\"],this)};s.prototype.getDefaultPosition=function(){return\"bottom-left\"},s.prototype._onMove=function(){n(this._map,this._container,this.options)},s.prototype.onAdd=function(t){return this._map=t,this._container=a.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},s.prototype.onRemove=function(){a.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},e.exports=s},{\"../../util/dom\":259,\"../../util/util\":275}],238:[function(t,e,r){},{}],239:[function(t,e,r){var n=t(\"../../util/dom\"),i=t(\"../../geo/lng_lat_bounds\"),a=t(\"../../util/util\"),o=t(\"../../util/window\"),s=function(t){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),a.bindAll([\"_onMouseDown\",\"_onMouseMove\",\"_onMouseUp\",\"_onKeyDown\"],this)};s.prototype.isEnabled=function(){return!!this._enabled},s.prototype.isActive=function(){return!!this._active},s.prototype.enable=function(){this.isEnabled()||(this._map.dragPan&&this._map.dragPan.disable(),this._el.addEventListener(\"mousedown\",this._onMouseDown,!1),this._map.dragPan&&this._map.dragPan.enable(),this._enabled=!0)},s.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onMouseDown),this._enabled=!1)},s.prototype._onMouseDown=function(t){t.shiftKey&&0===t.button&&(o.document.addEventListener(\"mousemove\",this._onMouseMove,!1),o.document.addEventListener(\"keydown\",this._onKeyDown,!1),o.document.addEventListener(\"mouseup\",this._onMouseUp,!1),n.disableDrag(),this._startPos=n.mousePos(this._el,t),this._active=!0)},s.prototype._onMouseMove=function(t){var e=this._startPos,r=n.mousePos(this._el,t);this._box||(this._box=n.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",t));var i=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.setTransform(this._box,\"translate(\"+i+\"px,\"+o+\"px)\"),this._box.style.width=a-i+\"px\",this._box.style.height=s-o+\"px\"},s.prototype._onMouseUp=function(t){if(0===t.button){var e=this._startPos,r=n.mousePos(this._el,t),a=(new i).extend(this._map.unproject(e)).extend(this._map.unproject(r));this._finish(),e.x===r.x&&e.y===r.y?this._fireEvent(\"boxzoomcancel\",t):this._map.fitBounds(a,{linear:!0}).fire(\"boxzoomend\",{originalEvent:t,boxZoomBounds:a})}},s.prototype._onKeyDown=function(t){27===t.keyCode&&(this._finish(),this._fireEvent(\"boxzoomcancel\",t))},s.prototype._finish=function(){this._active=!1,o.document.removeEventListener(\"mousemove\",this._onMouseMove,!1),o.document.removeEventListener(\"keydown\",this._onKeyDown,!1),o.document.removeEventListener(\"mouseup\",this._onMouseUp,!1),this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(n.remove(this._box),this._box=null),n.enableDrag()},s.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},e.exports=s},{\"../../geo/lng_lat_bounds\":63,\"../../util/dom\":259,\"../../util/util\":275,\"../../util/window\":254}],240:[function(t,e,r){var n=t(\"../../util/util\"),i=function(t){this._map=t,n.bindAll([\"_onDblClick\",\"_onZoomEnd\"],this)};i.prototype.isEnabled=function(){return!!this._enabled},i.prototype.isActive=function(){return!!this._active},i.prototype.enable=function(){this.isEnabled()||(this._map.on(\"dblclick\",this._onDblClick),this._enabled=!0)},i.prototype.disable=function(){this.isEnabled()&&(this._map.off(\"dblclick\",this._onDblClick),this._enabled=!1)},i.prototype._onDblClick=function(t){this._active=!0,this._map.on(\"zoomend\",this._onZoomEnd),this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)},i.prototype._onZoomEnd=function(){this._active=!1,this._map.off(\"zoomend\",this._onZoomEnd)},e.exports=i},{\"../../util/util\":275}],241:[function(t,e,r){var n=t(\"../../util/dom\"),i=t(\"../../util/util\"),a=t(\"../../util/window\"),o=t(\"../../util/browser\"),s=i.bezier(0,0,.3,1),l=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll([\"_onDown\",\"_onMove\",\"_onUp\",\"_onTouchEnd\",\"_onMouseUp\",\"_onDragFrame\",\"_onDragFinished\"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.isActive=function(){return!!this._active},l.prototype.enable=function(){this.isEnabled()||(this._el.classList.add(\"mapboxgl-touch-drag-pan\"),this._el.addEventListener(\"mousedown\",this._onDown),this._el.addEventListener(\"touchstart\",this._onDown),this._enabled=!0)},l.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove(\"mapboxgl-touch-drag-pan\"),this._el.removeEventListener(\"mousedown\",this._onDown),this._el.removeEventListener(\"touchstart\",this._onDown),this._enabled=!1)},l.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(a.document.addEventListener(\"touchmove\",this._onMove),a.document.addEventListener(\"touchend\",this._onTouchEnd)):(a.document.addEventListener(\"mousemove\",this._onMove),a.document.addEventListener(\"mouseup\",this._onMouseUp)),a.addEventListener(\"blur\",this._onMouseUp),this._active=!1,this._previousPos=n.mousePos(this._el,t),this._inertia=[[o.now(),this._previousPos]])},l.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this._lastMoveEvent=t,t.preventDefault();var e=n.mousePos(this._el,t);if(this._drainInertiaBuffer(),this._inertia.push([o.now(),e]),!this._previousPos)return void(this._previousPos=e);this._pos=e,this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\"dragstart\",t),this._fireEvent(\"movestart\",t),this._map._startAnimation(this._onDragFrame,this._onDragFinished)),this._map._update()}},l.prototype._onDragFrame=function(t){var e=this._lastMoveEvent;e&&(t.setLocationAtPoint(t.pointLocation(this._previousPos),this._pos),this._fireEvent(\"drag\",e),this._fireEvent(\"move\",e),this._previousPos=this._pos,delete this._lastMoveEvent)},l.prototype._onDragFinished=function(t){var e=this;if(this.isActive()){this._active=!1,delete this._lastMoveEvent,delete this._previousPos,delete this._pos,this._fireEvent(\"dragend\",t),this._drainInertiaBuffer();var r=function(){e._map.moving=!1,e._fireEvent(\"moveend\",t)},n=this._inertia;if(n.length<2)return void r();var i=n[n.length-1],a=n[0],o=i[1].sub(a[1]),l=(i[0]-a[0])/1e3;if(0===l||i[1].equals(a[1]))return void r();var u=o.mult(.3/l),c=u.mag();c>1400&&(c=1400,u._unit()._mult(c));var h=c/750,f=u.mult(-h/2);this._map.panBy(f,{duration:1e3*h,easing:s,noMoveStart:!0},{originalEvent:t})}},l.prototype._onUp=function(t){this._onDragFinished(t)},l.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),a.document.removeEventListener(\"mousemove\",this._onMove),a.document.removeEventListener(\"mouseup\",this._onMouseUp),a.removeEventListener(\"blur\",this._onMouseUp))},l.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),a.document.removeEventListener(\"touchmove\",this._onMove),a.document.removeEventListener(\"touchend\",this._onTouchEnd))},l.prototype._fireEvent=function(t,e){return this._map.fire(t,e?{originalEvent:e}:{})},l.prototype._ignoreEvent=function(t){var e=this._map;return!(!e.boxZoom||!e.boxZoom.isActive())||!(!e.dragRotate||!e.dragRotate.isActive())||(t.touches?t.touches.length>1:!!t.ctrlKey||\"mousemove\"!==t.type&&t.button&&0!==t.button)},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>0&&e-t[0][0]>160;)t.shift()},e.exports=l},{\"../../util/browser\":252,\"../../util/dom\":259,\"../../util/util\":275,\"../../util/window\":254}],242:[function(t,e,r){var n=t(\"../../util/dom\"),i=t(\"../../util/util\"),a=t(\"../../util/window\"),o=t(\"../../util/browser\"),s=i.bezier(0,0,.25,1),l=function(t,e){this._map=t,this._el=e.element||t.getCanvasContainer(),this._button=e.button||\"right\",this._bearingSnap=e.bearingSnap||0,this._pitchWithRotate=!1!==e.pitchWithRotate,i.bindAll([\"_onDown\",\"_onMove\",\"_onUp\",\"_onDragFrame\",\"_onDragFinished\"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.isActive=function(){return!!this._active},l.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onDown),this._enabled=!0)},l.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onDown),this._enabled=!1)},l.prototype._onDown=function(t){if(!(this._map.boxZoom&&this._map.boxZoom.isActive()||this._map.dragPan&&this._map.dragPan.isActive()||this.isActive())){if(\"right\"===this._button){var e=t.ctrlKey?0:2,r=t.button;if(void 0!==a.InstallTrigger&&2===t.button&&t.ctrlKey&&a.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0&&(r=0),r!==e)return}else if(t.ctrlKey||0!==t.button)return;n.disableDrag(),a.document.addEventListener(\"mousemove\",this._onMove,{capture:!0}),a.document.addEventListener(\"mouseup\",this._onUp),a.addEventListener(\"blur\",this._onUp),this._active=!1,this._inertia=[[o.now(),this._map.getBearing()]],this._previousPos=n.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault()}},l.prototype._onMove=function(t){this._lastMoveEvent=t;var e=n.mousePos(this._el,t);this._previousPos?(this._pos=e,this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\"rotatestart\",t),this._fireEvent(\"movestart\",t),this._pitchWithRotate&&this._fireEvent(\"pitchstart\",t),this._map._startAnimation(this._onDragFrame,this._onDragFinished)),this._map._update()):this._previousPos=e},l.prototype._onUp=function(t){a.document.removeEventListener(\"mousemove\",this._onMove,{capture:!0}),a.document.removeEventListener(\"mouseup\",this._onUp),a.removeEventListener(\"blur\",this._onUp),n.enableDrag(),this._onDragFinished(t)},l.prototype._onDragFrame=function(t){var e=this._lastMoveEvent;if(e){var r=this._previousPos,n=this._pos,i=.8*(r.x-n.x),a=-.5*(r.y-n.y),s=t.bearing-i,l=t.pitch-a,u=this._inertia,c=u[u.length-1];this._drainInertiaBuffer(),u.push([o.now(),this._map._normalizeBearing(s,c[1])]),t.bearing=s,this._pitchWithRotate&&(this._fireEvent(\"pitch\",e),t.pitch=l),this._fireEvent(\"rotate\",e),this._fireEvent(\"move\",e),delete this._lastMoveEvent,this._previousPos=this._pos}},l.prototype._onDragFinished=function(t){var e=this;if(this.isActive()){this._active=!1,delete this._lastMoveEvent,delete this._previousPos,this._fireEvent(\"rotateend\",t),this._drainInertiaBuffer();var r=this._map,n=r.getBearing(),i=this._inertia,a=function(){Math.abs(n)<e._bearingSnap?r.resetNorth({noMoveStart:!0},{originalEvent:t}):(e._map.moving=!1,e._fireEvent(\"moveend\",t)),e._pitchWithRotate&&e._fireEvent(\"pitchend\",t)};if(i.length<2)return void a();var o=i[0],l=i[i.length-1],u=i[i.length-2],c=r._normalizeBearing(n,u[1]),h=l[1]-o[1],f=h<0?-1:1,p=(l[0]-o[0])/1e3;if(0===h||0===p)return void a();var d=Math.abs(h*(.25/p));d>180&&(d=180);var g=d/180;c+=f*d*(g/2),Math.abs(r._normalizeBearing(c,0))<this._bearingSnap&&(c=r._normalizeBearing(0,c)),r.rotateTo(c,{duration:1e3*g,easing:s,noMoveStart:!0},{originalEvent:t})}},l.prototype._fireEvent=function(t,e){return this._map.fire(t,e?{originalEvent:e}:{})},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>0&&e-t[0][0]>160;)t.shift()},e.exports=l},{\"../../util/browser\":252,\"../../util/dom\":259,\"../../util/util\":275,\"../../util/window\":254}],243:[function(t,e,r){function n(t){return t*(2-t)}var i=t(\"../../util/util\"),a=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll([\"_onKeyDown\"],this)};a.prototype.isEnabled=function(){return!!this._enabled},a.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"keydown\",this._onKeyDown,!1),this._enabled=!0)},a.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"keydown\",this._onKeyDown),this._enabled=!1)},a.prototype._onKeyDown=function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=0,r=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?r=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?r=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(o=1,t.preventDefault());break;default:return}var s=this._map,l=s.getZoom(),u={duration:300,delayEndEvents:500,easing:n,zoom:e?Math.round(l)+e*(t.shiftKey?2:1):l,bearing:s.getBearing()+15*r,pitch:s.getPitch()+10*i,offset:[100*-a,100*-o],center:s.getCenter()};s.easeTo(u,{originalEvent:t})}},e.exports=a},{\"../../util/util\":275}],244:[function(t,e,r){var n=t(\"../../util/dom\"),i=t(\"../../util/util\"),a=t(\"../../util/browser\"),o=t(\"../../util/window\"),s=t(\"../../style-spec/util/interpolate\").number,l=t(\"../../geo/lng_lat\"),u=o.navigator.userAgent.toLowerCase(),c=-1!==u.indexOf(\"firefox\"),h=-1!==u.indexOf(\"safari\")&&-1===u.indexOf(\"chrom\"),f=function(t){this._map=t,this._el=t.getCanvasContainer(),this._delta=0,i.bindAll([\"_onWheel\",\"_onTimeout\",\"_onScrollFrame\",\"_onScrollFinished\"],this)};f.prototype.isEnabled=function(){return!!this._enabled},f.prototype.isActive=function(){return!!this._active},f.prototype.enable=function(t){this.isEnabled()||(this._el.addEventListener(\"wheel\",this._onWheel,!1),this._el.addEventListener(\"mousewheel\",this._onWheel,!1),this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around)},f.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"wheel\",this._onWheel),this._el.removeEventListener(\"mousewheel\",this._onWheel),this._enabled=!1)},f.prototype._onWheel=function(t){var e=0;\"wheel\"===t.type?(e=t.deltaY,c&&t.deltaMode===o.WheelEvent.DOM_DELTA_PIXEL&&(e/=a.devicePixelRatio),t.deltaMode===o.WheelEvent.DOM_DELTA_LINE&&(e*=40)):\"mousewheel\"===t.type&&(e=-t.wheelDeltaY,h&&(e/=3));var r=a.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==e&&e%4.000244140625==0?this._type=\"wheel\":0!==e&&Math.abs(e)<4?this._type=\"trackpad\":n>400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40,t)):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._lastWheelEvent=t,this._delta-=e,this.isActive()||this._start(t)),t.preventDefault()},f.prototype._onTimeout=function(t){this._type=\"wheel\",this._delta-=this._lastValue,this.isActive()||this._start(t)},f.prototype._start=function(t){if(this._delta){this._active=!0,this._map.moving=!0,this._map.zooming=!0,this._map.fire(\"movestart\",{originalEvent:t}),this._map.fire(\"zoomstart\",{originalEvent:t}),clearTimeout(this._finishTimeout);var e=n.mousePos(this._el,t);this._around=l.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(e)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._map._startAnimation(this._onScrollFrame,this._onScrollFinished)}},f.prototype._onScrollFrame=function(t){if(this.isActive()){if(0!==this._delta){var e=\"wheel\"===this._type&&Math.abs(this._delta)>4.000244140625?1/450:.01,r=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==r&&(r=1/r);var n=\"number\"==typeof this._targetZoom?t.zoomScale(this._targetZoom):t.scale;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(n*r))),\"wheel\"===this._type&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}if(\"wheel\"===this._type){var i=Math.min((a.now()-this._lastWheelEventTime)/200,1),o=this._easing(i);t.zoom=s(this._startZoom,this._targetZoom,o),1===i&&this._map.stop()}else t.zoom=this._targetZoom,this._map.stop();t.setLocationAtPoint(this._around,this._aroundPoint),this._map.fire(\"move\",{originalEvent:this._lastWheelEvent}),this._map.fire(\"zoom\",{originalEvent:this._lastWheelEvent})}},f.prototype._onScrollFinished=function(){var t=this;this.isActive()&&(this._active=!1,this._finishTimeout=setTimeout(function(){t._map.moving=!1,t._map.zooming=!1,t._map.fire(\"zoomend\"),t._map.fire(\"moveend\"),delete t._targetZoom},200))},f.prototype._smoothOutEasing=function(t){var e=i.ease;if(this._prevEase){var r=this._prevEase,n=(a.now()-r.start)/r.duration,o=r.easing(n+.01)-r.easing(n),s=.27/Math.sqrt(o*o+1e-4)*.01,l=Math.sqrt(.0729-s*s);e=i.bezier(s,l,.25,1)}return this._prevEase={start:a.now(),duration:t,easing:e},e},e.exports=f},{\"../../geo/lng_lat\":62,\"../../style-spec/util/interpolate\":158,\"../../util/browser\":252,\"../../util/dom\":259,\"../../util/util\":275,\"../../util/window\":254}],245:[function(t,e,r){var n=t(\"../../util/dom\"),i=t(\"../../util/util\"),a=t(\"../../util/window\"),o=t(\"../../util/browser\"),s=i.bezier(0,0,.15,1),l=function(t){this._map=t,this._el=t.getCanvasContainer(),i.bindAll([\"_onStart\",\"_onMove\",\"_onEnd\"],this)};l.prototype.isEnabled=function(){return!!this._enabled},l.prototype.enable=function(t){this.isEnabled()||(this._el.classList.add(\"mapboxgl-touch-zoom-rotate\"),this._el.addEventListener(\"touchstart\",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around)},l.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\"),this._el.removeEventListener(\"touchstart\",this._onStart),this._enabled=!1)},l.prototype.disableRotation=function(){this._rotationDisabled=!0},l.prototype.enableRotation=function(){this._rotationDisabled=!1},l.prototype._onStart=function(t){if(2===t.touches.length){var e=n.mousePos(this._el,t.touches[0]),r=n.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=[],a.document.addEventListener(\"touchmove\",this._onMove,!1),a.document.addEventListener(\"touchend\",this._onEnd,!1)}},l.prototype._onMove=function(t){if(2===t.touches.length){var e=n.mousePos(this._el,t.touches[0]),r=n.mousePos(this._el,t.touches[1]),i=e.add(r).div(2),a=e.sub(r),s=a.mag()/this._startVec.mag(),l=this._rotationDisabled?0:180*a.angleWith(this._startVec)/Math.PI,u=this._map;if(this._gestureIntent){var c={duration:0,around:u.unproject(i)};\"rotate\"===this._gestureIntent&&(c.bearing=this._startBearing+l),\"zoom\"!==this._gestureIntent&&\"rotate\"!==this._gestureIntent||(c.zoom=u.transform.scaleZoom(this._startScale*s)),u.stop(),this._drainInertiaBuffer(),this._inertia.push([o.now(),s,i]),u.easeTo(c,{originalEvent:t})}else{var h=Math.abs(1-s)>.15;Math.abs(l)>10?this._gestureIntent=\"rotate\":h&&(this._gestureIntent=\"zoom\"),this._gestureIntent&&(this._startVec=a,this._startScale=u.transform.scale,this._startBearing=u.transform.bearing)}t.preventDefault()}},l.prototype._onEnd=function(t){a.document.removeEventListener(\"touchmove\",this._onMove),a.document.removeEventListener(\"touchend\",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,r=this._map;if(e.length<2)r.snapToNorth({},{originalEvent:t});else{var n=e[e.length-1],i=e[0],o=r.transform.scaleZoom(this._startScale*n[1]),l=r.transform.scaleZoom(this._startScale*i[1]),u=o-l,c=(n[0]-i[0])/1e3,h=n[2];if(0!==c&&o!==l){var f=.15*u/c;Math.abs(f)>2.5&&(f=f>0?2.5:-2.5);var p=1e3*Math.abs(f/(12*.15)),d=o+f*p/2e3;d<0&&(d=0),r.easeTo({zoom:d,duration:p,easing:s,around:this._aroundCenter?r.getCenter():r.unproject(h)},{originalEvent:t})}else r.snapToNorth({},{originalEvent:t})}},l.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=o.now();t.length>2&&e-t[0][0]>160;)t.shift()},e.exports=l},{\"../../util/browser\":252,\"../../util/dom\":259,\"../../util/util\":275,\"../../util/window\":254}],246:[function(t,e,r){var n=t(\"../util/util\"),i=t(\"../util/window\"),a=t(\"../util/throttle\"),o=function(){n.bindAll([\"_onHashChange\",\"_updateHash\"],this),this._updateHash=a(this._updateHashUnthrottled.bind(this),300)};o.prototype.addTo=function(t){return this._map=t,i.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},o.prototype.remove=function(){return i.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),delete this._map,this},o.prototype.getHashString=function(t){var e=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.pow(10,n),a=Math.round(e.lng*i)/i,o=Math.round(e.lat*i)/i,s=this._map.getBearing(),l=this._map.getPitch(),u=\"\";return u+=t?\"#/\"+a+\"/\"+o+\"/\"+r:\"#\"+r+\"/\"+o+\"/\"+a,(s||l)&&(u+=\"/\"+Math.round(10*s)/10),l&&(u+=\"/\"+Math.round(l)),u},o.prototype._onHashChange=function(){var t=i.location.hash.replace(\"#\",\"\").split(\"/\");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},o.prototype._updateHashUnthrottled=function(){var t=this.getHashString();i.history.replaceState(\"\",\"\",t)},e.exports=o},{\"../util/throttle\":272,\"../util/util\":275,\"../util/window\":254}],247:[function(t,e,r){function n(t){t.parentNode&&t.parentNode.removeChild(t)}var i=t(\"../util/util\"),a=t(\"../util/browser\"),o=t(\"../util/window\"),s=t(\"../util/window\"),l=s.HTMLImageElement,u=s.HTMLElement,c=t(\"../util/dom\"),h=t(\"../util/ajax\"),f=t(\"../style/style\"),p=t(\"../style/evaluation_parameters\"),d=t(\"../render/painter\"),g=t(\"../geo/transform\"),v=t(\"./hash\"),m=t(\"./bind_handlers\"),y=t(\"./camera\"),x=t(\"../geo/lng_lat\"),b=t(\"../geo/lng_lat_bounds\"),_=t(\"@mapbox/point-geometry\"),w=t(\"./control/attribution_control\"),M=t(\"./control/logo_control\"),A=t(\"@mapbox/mapbox-gl-supported\"),k=t(\"../util/image\").RGBAImage;t(\"./events\");var T={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:22,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,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,transformRequest:null,fadeDuration:300},S=function(t){function e(e){if(null!=(e=i.extend({},T,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error(\"maxZoom must be greater than minZoom\");var r=new g(e.minZoom,e.maxZoom,e.renderWorldCopies);t.call(this,r,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming;var n=e.transformRequest;if(this._transformRequest=n?function(t,e){return n(t,e)||{url:t}}:function(t){return{url:t}},\"string\"==typeof e.container){var a=o.document.getElementById(e.container);if(!a)throw new Error(\"Container '\"+e.container+\"' not found.\");this._container=a}else{if(!(e.container instanceof u))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=e.container}e.maxBounds&&this.setMaxBounds(e.maxBounds),i.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_contextLost\",\"_contextRestored\",\"_update\",\"_render\",\"_onData\",\"_onDataLoading\"],this),this._setupContainer(),this._setupPainter(),this.on(\"move\",this._update.bind(this,!1)),this.on(\"zoom\",this._update.bind(this,!0)),void 0!==o&&(o.addEventListener(\"online\",this._onWindowOnline,!1),o.addEventListener(\"resize\",this._onWindowResize,!1)),m(this,e),this._hash=e.hash&&(new v).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this.resize(),e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new w),this.addControl(new M,e.logoPosition),this.on(\"style.load\",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\"data\",this._onData),this.on(\"dataloading\",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e=\"top-right\");var r=t.onAdd(this),n=this._controlPositions[e];return-1!==e.indexOf(\"bottom\")?n.insertBefore(r,n.firstChild):n.appendChild(r),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],r=t[1];return this._resizeCanvas(e,r),this.transform.resize(e,r),this.painter.resize(e,r),this.fire(\"movestart\").fire(\"move\").fire(\"resize\").fire(\"moveend\")},e.prototype.getBounds=function(){var t=new b(this.transform.pointLocation(new _(0,this.transform.height)),this.transform.pointLocation(new _(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new _(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new _(0,this.transform.size.y)))),t},e.prototype.getMaxBounds=function(){return this.transform.latRange&&2===this.transform.latRange.length&&this.transform.lngRange&&2===this.transform.lngRange.length?new b([this.transform.lngRange[0],this.transform.latRange[0]],[this.transform.lngRange[1],this.transform.latRange[1]]):null},e.prototype.setMaxBounds=function(t){if(t){var e=b.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=null,this.transform.latRange=null,this._update());return this},e.prototype.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\")},e.prototype.getMinZoom=function(){return this.transform.minZoom},e.prototype.setMaxZoom=function(t){if((t=null===t||void 0===t?22:t)>=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(x.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(_.convert(t))},e.prototype.on=function(e,r,n){var a=this;if(void 0===n)return t.prototype.on.call(this,e,r);var o=function(){if(\"mouseenter\"===e||\"mouseover\"===e){var t=!1;return{layer:r,listener:n,delegates:{mousemove:function(o){var s=a.getLayer(r)?a.queryRenderedFeatures(o.point,{layers:[r]}):[];s.length?t||(t=!0,n.call(a,i.extend({features:s},o,{type:e}))):t=!1},mouseout:function(){t=!1}}}}if(\"mouseleave\"===e||\"mouseout\"===e){var o=!1;return{layer:r,listener:n,delegates:{mousemove:function(t){(a.getLayer(r)?a.queryRenderedFeatures(t.point,{layers:[r]}):[]).length?o=!0:o&&(o=!1,n.call(a,i.extend({},t,{type:e})))},mouseout:function(t){o&&(o=!1,n.call(a,i.extend({},t,{type:e})))}}}}var s;return{layer:r,listener:n,delegates:(s={},s[e]=function(t){var e=a.getLayer(r)?a.queryRenderedFeatures(t.point,{layers:[r]}):[];e.length&&n.call(a,i.extend({features:e},t))},s)}}();for(var s in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(o),o.delegates)a.on(s,o.delegates[s]);return this},e.prototype.off=function(e,r,n){if(void 0===n)return t.prototype.off.call(this,e,r);if(this._delegatedListeners&&this._delegatedListeners[e])for(var i=this._delegatedListeners[e],a=0;a<i.length;a++){var o=i[a];if(o.layer===r&&o.listener===n){for(var s in o.delegates)this.off(s,o.delegates[s]);return i.splice(a,1),this}}return this},e.prototype.queryRenderedFeatures=function(t,e){return 2===arguments.length?(t=arguments[0],e=arguments[1]):1===arguments.length&&function(t){return t instanceof _||Array.isArray(t)}(arguments[0])?(t=arguments[0],e={}):1===arguments.length?(t=void 0,e=arguments[0]):(t=void 0,e={}),this.style?this.style.queryRenderedFeatures(this._makeQueryGeometry(t),e,this.transform.zoom,this.transform.angle):[]},e.prototype._makeQueryGeometry=function(t){var e,r=this;if(void 0===t&&(t=[_.convert([0,0]),_.convert([this.transform.width,this.transform.height])]),t instanceof _||\"number\"==typeof t[0])e=[_.convert(t)];else{var n=[_.convert(t[0]),_.convert(t[1])];e=[n[0],new _(n[1].x,n[0].y),n[1],new _(n[0].x,n[1].y),n[0]]}return e.map(function(t){return r.transform.pointCoordinate(t)})},e.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},e.prototype.setStyle=function(t,e){if((!e||!1!==e.diff&&!e.localIdeographFontFamily)&&this.style&&t&&\"object\"==typeof t)try{return this.style.setState(t)&&this._update(!0),this}catch(t){i.warnOnce(\"Unable to perform style diff: \"+(t.message||t.error||t)+\".  Rebuilding the style from scratch.\")}return this.style&&(this.style.setEventedParent(null),this.style._remove()),t?(this.style=new f(this,e||{}),this.style.setEventedParent(this,{style:this.style}),\"string\"==typeof t?this.style.loadURL(t):this.style.loadJSON(t),this):(delete this.style,this)},e.prototype.getStyle=function(){if(this.style)return this.style.serialize()},e.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():i.warnOnce(\"There is no style added to the map.\")},e.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0),this},e.prototype.isSourceLoaded=function(t){var e=this.style&&this.style.sourceCaches[t];return void 0===e?void this.fire(\"error\",{error:new Error(\"There is no source with ID '\"+t+\"'\")}):e.loaded()},e.prototype.areTilesLoaded=function(){var t=this.style&&this.style.sourceCaches;for(var e in t){var r=t[e]._tiles;for(var n in r){var i=r[n];if(\"loaded\"!==i.state&&\"errored\"!==i.state)return!1}}return!0},e.prototype.addSourceType=function(t,e,r){return this.style.addSourceType(t,e,r)},e.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0),this},e.prototype.getSource=function(t){return this.style.getSource(t)},e.prototype.addImage=function(t,e,r){void 0===r&&(r={});var n=r.pixelRatio;void 0===n&&(n=1);var i=r.sdf;if(void 0===i&&(i=!1),e instanceof l){var o=a.getImageData(e),s=o.width,u=o.height,c=o.data;this.style.addImage(t,{data:new k({width:s,height:u},c),pixelRatio:n,sdf:i})}else{if(void 0===e.width||void 0===e.height)return this.fire(\"error\",{error:new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")});var h=e.width,f=e.height,p=e.data;this.style.addImage(t,{data:new k({width:h,height:f},p.slice(0)),pixelRatio:n,sdf:i})}},e.prototype.hasImage=function(t){return t?!!this.style.getImage(t):(this.fire(\"error\",{error:new Error(\"Missing required image id\")}),!1)},e.prototype.removeImage=function(t){this.style.removeImage(t)},e.prototype.loadImage=function(t,e){h.getImage(this._transformRequest(t,h.ResourceType.Image),e)},e.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0),this},e.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0),this},e.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0),this},e.prototype.getLayer=function(t){return this.style.getLayer(t)},e.prototype.setFilter=function(t,e){return this.style.setFilter(t,e),this._update(!0),this},e.prototype.setLayerZoomRange=function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0),this},e.prototype.getFilter=function(t){return this.style.getFilter(t)},e.prototype.setPaintProperty=function(t,e,r){return this.style.setPaintProperty(t,e,r),this._update(!0),this},e.prototype.getPaintProperty=function(t,e){return this.style.getPaintProperty(t,e)},e.prototype.setLayoutProperty=function(t,e,r){return this.style.setLayoutProperty(t,e,r),this._update(!0),this},e.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},e.prototype.setLight=function(t){return this.style.setLight(t),this._update(!0),this},e.prototype.getLight=function(){return this.style.getLight()},e.prototype.getContainer=function(){return this._container},e.prototype.getCanvasContainer=function(){return this._canvasContainer},e.prototype.getCanvas=function(){return this._canvas},e.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),[t,e]},e.prototype._setupContainer=function(){var t=this._container;t.classList.add(\"mapboxgl-map\"),(this._missingCSSContainer=c.create(\"div\",\"mapboxgl-missing-css\",t)).innerHTML=\"Missing Mapbox GL JS CSS\";var e=this._canvasContainer=c.create(\"div\",\"mapboxgl-canvas-container\",t);this._interactive&&e.classList.add(\"mapboxgl-interactive\"),this._canvas=c.create(\"canvas\",\"mapboxgl-canvas\",e),this._canvas.style.position=\"absolute\",this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\");var r=this._containerDimensions();this._resizeCanvas(r[0],r[1]);var n=this._controlContainer=c.create(\"div\",\"mapboxgl-control-container\",t),i=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(function(t){i[t]=c.create(\"div\",\"mapboxgl-ctrl-\"+t,n)})},e.prototype._resizeCanvas=function(t,e){var r=o.devicePixelRatio||1;this._canvas.width=r*t,this._canvas.height=r*e,this._canvas.style.width=t+\"px\",this._canvas.style.height=e+\"px\"},e.prototype._setupPainter=function(){var t=i.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},A.webGLContextAttributes),e=this._canvas.getContext(\"webgl\",t)||this._canvas.getContext(\"experimental-webgl\",t);e?this.painter=new d(e,this.transform):this.fire(\"error\",{error:new Error(\"Failed to initialize WebGL\")})},e.prototype._contextLost=function(t){t.preventDefault(),this._frameId&&(a.cancelFrame(this._frameId),this._frameId=null),this.fire(\"webglcontextlost\",{originalEvent:t})},e.prototype._contextRestored=function(t){this._setupPainter(),this.resize(),this._update(),this.fire(\"webglcontextrestored\",{originalEvent:t})},e.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},e.prototype._update=function(t){this.style&&(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender())},e.prototype._render=function(){this._updateCamera();var t=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var e=this.transform.zoom,r=a.now();this.style.zoomHistory.update(e,r);var n=new p(e,{now:r,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),i=n.crossFadingFactor();1===i&&i===this._crossFadingFactor||(t=!0,this._crossFadingFactor=i),this.style.update(n)}return this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.rotating,zooming:this.zooming,fadeDuration:this._fadeDuration}),this.fire(\"render\"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(\"load\")),this.style&&(this.style.hasTransitions()||t)&&(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty||this._placementDirty)&&this._rerender(),this},e.prototype.remove=function(){this._hash&&this._hash.remove(),a.cancelFrame(this._frameId),this._frameId=null,this.setStyle(null),void 0!==o&&(o.removeEventListener(\"resize\",this._onWindowResize,!1),o.removeEventListener(\"online\",this._onWindowOnline,!1));var t=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");t&&t.loseContext(),n(this._canvasContainer),n(this._controlContainer),n(this._missingCSSContainer),this._container.classList.remove(\"mapboxgl-map\"),this.fire(\"remove\")},e.prototype._rerender=function(){var t=this;this.style&&!this._frameId&&(this._frameId=a.frame(function(){t._frameId=null,t._render()}))},e.prototype._onWindowOnline=function(){this._update()},e.prototype._onWindowResize=function(){this._trackResize&&this.stop().resize()._update()},r.showTileBoundaries.get=function(){return!!this._showTileBoundaries},r.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},r.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},r.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())},r.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},r.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},r.repaint.get=function(){return!!this._repaint},r.repaint.set=function(t){this._repaint=t,this._update()},r.vertices.get=function(){return!!this._vertices},r.vertices.set=function(t){this._vertices=t,this._update()},e.prototype._onData=function(t){this._update(\"style\"===t.dataType),this.fire(t.dataType+\"data\",t)},e.prototype._onDataLoading=function(t){this.fire(t.dataType+\"dataloading\",t)},Object.defineProperties(e.prototype,r),e}(y);e.exports=S},{\"../geo/lng_lat\":62,\"../geo/lng_lat_bounds\":63,\"../geo/transform\":64,\"../render/painter\":90,\"../style/evaluation_parameters\":182,\"../style/style\":190,\"../util/ajax\":251,\"../util/browser\":252,\"../util/dom\":259,\"../util/image\":263,\"../util/util\":275,\"../util/window\":254,\"./bind_handlers\":230,\"./camera\":231,\"./control/attribution_control\":232,\"./control/logo_control\":235,\"./events\":238,\"./hash\":246,\"@mapbox/mapbox-gl-supported\":3,\"@mapbox/point-geometry\":4}],248:[function(t,e,r){var n=t(\"../util/dom\"),i=t(\"../geo/lng_lat\"),a=t(\"@mapbox/point-geometry\"),o=t(\"../util/smart_wrap\"),s=t(\"../util/util\").bindAll,l=function(t,e){if(s([\"_update\",\"_onMapClick\"],this),!t){t=n.create(\"div\");var r=n.createNS(\"http://www.w3.org/2000/svg\",\"svg\");r.setAttributeNS(null,\"height\",\"41px\"),r.setAttributeNS(null,\"width\",\"27px\"),r.setAttributeNS(null,\"viewBox\",\"0 0 27 41\");var i=n.createNS(\"http://www.w3.org/2000/svg\",\"g\");i.setAttributeNS(null,\"stroke\",\"none\"),i.setAttributeNS(null,\"stroke-width\",\"1\"),i.setAttributeNS(null,\"fill\",\"none\"),i.setAttributeNS(null,\"fill-rule\",\"evenodd\");var o=n.createNS(\"http://www.w3.org/2000/svg\",\"g\");o.setAttributeNS(null,\"fill-rule\",\"nonzero\");var l=n.createNS(\"http://www.w3.org/2000/svg\",\"g\");l.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),l.setAttributeNS(null,\"fill\",\"#000000\");for(var u=0,c=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];u<c.length;u+=1){var h=c[u],f=n.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");f.setAttributeNS(null,\"opacity\",\"0.04\"),f.setAttributeNS(null,\"cx\",\"10.5\"),f.setAttributeNS(null,\"cy\",\"5.80029008\"),f.setAttributeNS(null,\"rx\",h.rx),f.setAttributeNS(null,\"ry\",h.ry),l.appendChild(f)}var p=n.createNS(\"http://www.w3.org/2000/svg\",\"g\");p.setAttributeNS(null,\"fill\",\"#3FB1CE\");var d=n.createNS(\"http://www.w3.org/2000/svg\",\"path\");d.setAttributeNS(null,\"d\",\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"),p.appendChild(d);var g=n.createNS(\"http://www.w3.org/2000/svg\",\"g\");g.setAttributeNS(null,\"opacity\",\"0.25\"),g.setAttributeNS(null,\"fill\",\"#000000\");var v=n.createNS(\"http://www.w3.org/2000/svg\",\"path\");v.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),g.appendChild(v);var m=n.createNS(\"http://www.w3.org/2000/svg\",\"g\");m.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),m.setAttributeNS(null,\"fill\",\"#FFFFFF\");var y=n.createNS(\"http://www.w3.org/2000/svg\",\"g\");y.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");var x=n.createNS(\"http://www.w3.org/2000/svg\",\"circle\");x.setAttributeNS(null,\"fill\",\"#000000\"),x.setAttributeNS(null,\"opacity\",\"0.25\"),x.setAttributeNS(null,\"cx\",\"5.5\"),x.setAttributeNS(null,\"cy\",\"5.5\"),x.setAttributeNS(null,\"r\",\"5.4999962\");var b=n.createNS(\"http://www.w3.org/2000/svg\",\"circle\");b.setAttributeNS(null,\"fill\",\"#FFFFFF\"),b.setAttributeNS(null,\"cx\",\"5.5\"),b.setAttributeNS(null,\"cy\",\"5.5\"),b.setAttributeNS(null,\"r\",\"5.4999962\"),y.appendChild(x),y.appendChild(b),o.appendChild(l),o.appendChild(p),o.appendChild(g),o.appendChild(m),o.appendChild(y),r.appendChild(o),t.appendChild(r);var _=[0,-14];e&&e.offset||(e?e.offset=_:e={offset:_})}this._offset=a.convert(e&&e.offset||[0,0]),t.classList.add(\"mapboxgl-marker\"),this._element=t,this._popup=null};l.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),this._update(),this._map.on(\"click\",this._onMapClick),this},l.prototype.remove=function(){return this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),delete this._map),n.remove(this._element),this._popup&&this._popup.remove(),this},l.prototype.getLngLat=function(){return this._lngLat},l.prototype.setLngLat=function(t){return this._lngLat=i.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},l.prototype.getElement=function(){return this._element},l.prototype.setPopup=function(t){return this._popup&&(this._popup.remove(),this._popup=null),t&&(\"offset\"in t.options||(t.options.offset=this._offset),this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat)),this},l.prototype._onMapClick=function(t){var e=t.originalEvent.target,r=this._element;this._popup&&(e===r||r.contains(e))&&this.togglePopup()},l.prototype.getPopup=function(){return this._popup},l.prototype.togglePopup=function(){var t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this},l.prototype._update=function(t){this._map&&(this._map.transform.renderWorldCopies&&(this._lngLat=o(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset),t&&\"moveend\"!==t.type||(this._pos=this._pos.round()),n.setTransform(this._element,\"translate(-50%, -50%) translate(\"+this._pos.x+\"px, \"+this._pos.y+\"px)\"))},l.prototype.getOffset=function(){return this._offset},l.prototype.setOffset=function(t){return this._offset=a.convert(t),this._update(),this},e.exports=l},{\"../geo/lng_lat\":62,\"../util/dom\":259,\"../util/smart_wrap\":270,\"../util/util\":275,\"@mapbox/point-geometry\":4}],249:[function(t,e,r){var n=t(\"../util/util\"),i=t(\"../util/evented\"),a=t(\"../util/dom\"),o=t(\"../geo/lng_lat\"),s=t(\"@mapbox/point-geometry\"),l=t(\"../util/window\"),u=t(\"../util/smart_wrap\"),c={closeButton:!0,closeOnClick:!0},h=function(t){function e(e){t.call(this),this.options=n.extend(Object.create(c),e),n.bindAll([\"_update\",\"_onClickClose\"],this)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.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},e.prototype.isOpen=function(){return!!this._map},e.prototype.remove=function(){return this._content&&a.remove(this._content),this._container&&(a.remove(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},e.prototype.getLngLat=function(){return this._lngLat},e.prototype.setLngLat=function(t){return this._lngLat=o.convert(t),this._pos=null,this._update(),this},e.prototype.setText=function(t){return this.setDOMContent(l.document.createTextNode(t))},e.prototype.setHTML=function(t){var e,r=l.document.createDocumentFragment(),n=l.document.createElement(\"body\");for(n.innerHTML=t;e=n.firstChild;)r.appendChild(e);return this.setDOMContent(r)},e.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},e.prototype._createContent=function(){this._content&&a.remove(this._content),this._content=a.create(\"div\",\"mapboxgl-popup-content\",this._container),this.options.closeButton&&(this._closeButton=a.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"&#215;\",this._closeButton.addEventListener(\"click\",this._onClickClose))},e.prototype._update=function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=a.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=a.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content)),this._map.transform.renderWorldCopies&&(this._lngLat=u(this._lngLat,this._pos,this._map.transform));var t=this._pos=this._map.project(this._lngLat),e=this.options.anchor,r=function t(e){if(e){if(\"number\"==typeof e){var r=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{top:new s(0,e),\"top-left\":new s(r,r),\"top-right\":new s(-r,r),bottom:new s(0,-e),\"bottom-left\":new s(r,-r),\"bottom-right\":new s(-r,-r),left:new s(e,0),right:new s(-e,0)}}if(e instanceof s||Array.isArray(e)){var n=s.convert(e);return{top:n,\"top-left\":n,\"top-right\":n,bottom:n,\"bottom-left\":n,\"bottom-right\":n,left:n,right:n}}return{top:s.convert(e.top||[0,0]),\"top-left\":s.convert(e[\"top-left\"]||[0,0]),\"top-right\":s.convert(e[\"top-right\"]||[0,0]),bottom:s.convert(e.bottom||[0,0]),\"bottom-left\":s.convert(e[\"bottom-left\"]||[0,0]),\"bottom-right\":s.convert(e[\"bottom-right\"]||[0,0]),left:s.convert(e.left||[0,0]),right:s.convert(e.right||[0,0])}}return t(new s(0,0))}(this.options.offset);if(!e){var n=this._container.offsetWidth,i=this._container.offsetHeight;e=t.y+r.bottom.y<i?[\"top\"]:t.y>this._map.transform.height-i?[\"bottom\"]:[],t.x<n/2?e.push(\"left\"):t.x>this._map.transform.width-n/2&&e.push(\"right\"),e=0===e.length?\"bottom\":e.join(\"-\")}var o=t.add(r[e]).round(),l={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%)\"},c=this._container.classList;for(var h in l)c.remove(\"mapboxgl-popup-anchor-\"+h);c.add(\"mapboxgl-popup-anchor-\"+e),a.setTransform(this._container,l[e]+\" translate(\"+o.x+\"px,\"+o.y+\"px)\")}},e.prototype._onClickClose=function(){this.remove()},e}(i);e.exports=h},{\"../geo/lng_lat\":62,\"../util/dom\":259,\"../util/evented\":260,\"../util/smart_wrap\":270,\"../util/util\":275,\"../util/window\":254,\"@mapbox/point-geometry\":4}],250:[function(t,e,r){var n=t(\"./util\"),i=t(\"./web_worker_transfer\"),a=i.serialize,o=i.deserialize,s=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.callbackID=0,n.bindAll([\"receive\"],this),this.target.addEventListener(\"message\",this.receive,!1)};s.prototype.send=function(t,e,r,n){var i=r?this.mapId+\":\"+this.callbackID++:null;r&&(this.callbacks[i]=r);var o=[];this.target.postMessage({targetMapId:n,sourceMapId:this.mapId,type:t,id:String(i),data:a(e,o)},o)},s.prototype.receive=function(t){var e,r=this,n=t.data,i=n.id;if(!n.targetMapId||this.mapId===n.targetMapId){var s=function(t,e){var n=[];r.target.postMessage({sourceMapId:r.mapId,type:\"<response>\",id:String(i),error:t?String(t):null,data:a(e,n)},n)};if(\"<response>\"===n.type)e=this.callbacks[n.id],delete this.callbacks[n.id],e&&n.error?e(new Error(n.error)):e&&e(null,o(n.data));else if(void 0!==n.id&&this.parent[n.type])this.parent[n.type](n.sourceMapId,o(n.data),s);else if(void 0!==n.id&&this.parent.getWorkerSource){var l=n.type.split(\".\");this.parent.getWorkerSource(n.sourceMapId,l[0])[l[1]](o(n.data),s)}else this.parent[n.type](o(n.data))}},s.prototype.remove=function(){this.target.removeEventListener(\"message\",this.receive,!1)},e.exports=s},{\"./util\":275,\"./web_worker_transfer\":278}],251:[function(t,e,r){function n(t){var e=new a.XMLHttpRequest;for(var r in e.open(\"GET\",t.url,!0),t.headers)e.setRequestHeader(r,t.headers[r]);return e.withCredentials=\"include\"===t.credentials,e}function i(t){var e=a.document.createElement(\"a\");return e.href=t,e.protocol===a.document.location.protocol&&e.host===a.document.location.host}var a=t(\"./window\"),o={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};r.ResourceType=o,\"function\"==typeof Object.freeze&&Object.freeze(o);var s=function(t){function e(e,r){t.call(this,e),this.status=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error);r.getJSON=function(t,e){var r=n(t);return r.setRequestHeader(\"Accept\",\"application/json\"),r.onerror=function(){e(new Error(r.statusText))},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 s(r.statusText,r.status))},r.send(),r},r.getArrayBuffer=function(t,e){var r=n(t);return r.responseType=\"arraybuffer\",r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){var t=r.response;if(0===t.byteLength&&200===r.status)return e(new Error(\"http status 200 returned without content.\"));r.status>=200&&r.status<300&&r.response?e(null,{data:t,cacheControl:r.getResponseHeader(\"Cache-Control\"),expires:r.getResponseHeader(\"Expires\")}):e(new s(r.statusText,r.status))},r.send(),r};r.getImage=function(t,e){return r.getArrayBuffer(t,function(t,r){if(t)e(t);else if(r){var n=new a.Image,i=a.URL||a.webkitURL;n.onload=function(){e(null,n),i.revokeObjectURL(n.src)};var o=new a.Blob([new Uint8Array(r.data)],{type:\"image/png\"});n.cacheControl=r.cacheControl,n.expires=r.expires,n.src=r.data.byteLength?i.createObjectURL(o):\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\"}})},r.getVideo=function(t,e){var r=a.document.createElement(\"video\");r.onloadstart=function(){e(null,r)};for(var n=0;n<t.length;n++){var o=a.document.createElement(\"source\");i(t[n])||(r.crossOrigin=\"Anonymous\"),o.src=t[n],r.appendChild(o)}return r}},{\"./window\":254}],252:[function(t,e,r){var n=t(\"./window\"),i=n.performance&&n.performance.now?n.performance.now.bind(n.performance):Date.now.bind(Date),a=n.requestAnimationFrame||n.mozRequestAnimationFrame||n.webkitRequestAnimationFrame||n.msRequestAnimationFrame,o=n.cancelAnimationFrame||n.mozCancelAnimationFrame||n.webkitCancelAnimationFrame||n.msCancelAnimationFrame;e.exports={now:i,frame:function(t){return a(t)},cancelFrame:function(t){return o(t)},getImageData:function(t){var e=n.document.createElement(\"canvas\"),r=e.getContext(\"2d\");if(!r)throw new Error(\"failed to create canvas 2d context\");return e.width=t.width,e.height=t.height,r.drawImage(t,0,0,t.width,t.height),r.getImageData(0,0,t.width,t.height)},hardwareConcurrency:n.navigator.hardwareConcurrency||4,get devicePixelRatio(){return n.devicePixelRatio},supportsWebp:!1};var s=n.document.createElement(\"img\");s.onload=function(){e.exports.supportsWebp=!0},s.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\"},{\"./window\":254}],253:[function(t,e,r){var n=t(\"webworkify\"),i=t(\"../window\"),a=i.URL.createObjectURL(new n(t(\"../../source/worker\"),{bare:!0}));e.exports=function(){return new i.Worker(a)}},{\"../../source/worker\":118,\"../window\":254,webworkify:36}],254:[function(t,e,r){e.exports=self},{}],255:[function(t,e,r){function n(t,e){return e.area-t.area}var i=t(\"quickselect\"),a=t(\"./util\").calculateSignedArea;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=a(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||(i(l[h],e,1,l[h].length-1,n),l[h]=l[h].slice(0,e));return l}},{\"./util\":275,quickselect:31}],256:[function(t,e,r){e.exports={API_URL:\"https://api.mapbox.com\",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null}},{}],257:[function(t,e,r){var n=function(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}};n.prototype.encode=function(t){return this._stringToNumber[t]},n.prototype.decode=function(t){return this._numberToString[t]},e.exports=n},{}],258:[function(t,e,r){var n=t(\"./util\"),i=t(\"./actor\"),a=function(t,e){this.workerPool=t,this.actors=[],this.currentActor=0,this.id=n.uniqueId();for(var r=this.workerPool.acquire(this.id),a=0;a<r.length;a++){var o=r[a],s=new i(o,e,this.id);s.name=\"Worker \"+a,this.actors.push(s)}};a.prototype.broadcast=function(t,e,r){r=r||function(){},n.asyncAll(this.actors,function(r,n){r.send(t,e,n)},r)},a.prototype.send=function(t,e,r,n){return(\"number\"!=typeof n||isNaN(n))&&(n=this.currentActor=(this.currentActor+1)%this.actors.length),this.actors[n].send(t,e,r),n},a.prototype.remove=function(){this.actors.forEach(function(t){t.remove()}),this.actors=[],this.workerPool.release(this.id)},e.exports=a},{\"./actor\":250,\"./util\":275}],259:[function(t,e,r){function n(t){for(var e=0;e<t.length;e++)if(t[e]in s)return t[e];return t[0]}var i=t(\"@mapbox/point-geometry\"),a=t(\"./window\");r.create=function(t,e,r){var n=a.document.createElement(t);return e&&(n.className=e),r&&r.appendChild(n),n},r.createNS=function(t,e){return a.document.createElementNS(t,e)};var o,s=a.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};var c=function(t){t.preventDefault(),t.stopPropagation(),a.removeEventListener(\"click\",c,!0)};r.suppressClick=function(){a.addEventListener(\"click\",c,!0),a.setTimeout(function(){a.removeEventListener(\"click\",c,!0)},0)},r.mousePos=function(t,e){var r=t.getBoundingClientRect();return e=e.touches?e.touches[0]:e,new i(e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop)},r.touchPos=function(t,e){for(var r=t.getBoundingClientRect(),n=[],a=\"touchend\"===e.type?e.changedTouches:e.touches,o=0;o<a.length;o++)n.push(new i(a[o].clientX-r.left-t.clientLeft,a[o].clientY-r.top-t.clientTop));return n},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)}},{\"./window\":254,\"@mapbox/point-geometry\":4}],260:[function(t,e,r){function n(t,e,r){r[t]=r[t]||[],r[t].push(e)}function i(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1)}}var a=t(\"./util\"),o=function(){};o.prototype.on=function(t,e){return this._listeners=this._listeners||{},n(t,e,this._listeners),this},o.prototype.off=function(t,e){return i(t,e,this._listeners),i(t,e,this._oneTimeListeners),this},o.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},n(t,e,this._oneTimeListeners),this},o.prototype.fire=function(t,e){var r=this;if(this.listens(t)){e=a.extend({},e,{type:t,target:this});for(var n=0,o=this._listeners&&this._listeners[t]?this._listeners[t].slice():[];n<o.length;n+=1)o[n].call(r,e);for(var s=0,l=this._oneTimeListeners&&this._oneTimeListeners[t]?this._oneTimeListeners[t].slice():[];s<l.length;s+=1){var u=l[s];i(t,u,r._oneTimeListeners),u.call(r,e)}this._eventedParent&&this._eventedParent.fire(t,a.extend({},e,\"function\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData))}else a.endsWith(t,\"error\")&&console.error(e&&e.error||e||\"Empty error event\");return this},o.prototype.listens=function(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},o.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this},e.exports=o},{\"./util\":275}],261:[function(t,e,r){function n(t,e){return e.max-t.max}function i(t,e,r,n){this.p=new o(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;i<e.length;i++)for(var a=e[i],o=0,l=a.length,u=l-1;o<l;u=o++){var c=a[o],h=a[u];c.y>t.y!=h.y>t.y&&t.x<(h.x-c.x)*(t.y-c.y)/(h.y-c.y)+c.x&&(r=!r),n=Math.min(n,s(t,c,h))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}var a=t(\"tinyqueue\"),o=t(\"@mapbox/point-geometry\"),s=t(\"./intersection_tests\").distToSegmentSquared;e.exports=function(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var s=1/0,l=1/0,u=-1/0,c=-1/0,h=t[0],f=0;f<h.length;f++){var p=h[f];(!f||p.x<s)&&(s=p.x),(!f||p.y<l)&&(l=p.y),(!f||p.x>u)&&(u=p.x),(!f||p.y>c)&&(c=p.y)}var d=u-s,g=c-l,v=Math.min(d,g),m=v/2,y=new a(null,n);if(0===v)return new o(s,l);for(var x=s;x<u;x+=v)for(var b=l;b<c;b+=v)y.push(new i(x+m,b+m,m,t));for(var _=function(t){for(var e=0,r=0,n=0,a=t[0],o=0,s=a.length,l=s-1;o<s;l=o++){var u=a[o],c=a[l],h=u.x*c.y-c.x*u.y;r+=(u.x+c.x)*h,n+=(u.y+c.y)*h,e+=3*h}return new i(r/e,n/e,0,t)}(t),w=y.length;y.length;){var M=y.pop();(M.d>_.d||!_.d)&&(_=M,r&&console.log(\"found best %d after %d probes\",Math.round(1e4*M.d)/1e4,w)),M.max-_.d<=e||(m=M.h/2,y.push(new i(M.p.x-m,M.p.y-m,m,t)),y.push(new i(M.p.x+m,M.p.y-m,m,t)),y.push(new i(M.p.x-m,M.p.y+m,m,t)),y.push(new i(M.p.x+m,M.p.y+m,m,t)),w+=4)}return r&&(console.log(\"num probes: \"+w),console.log(\"best distance: \"+_.d)),_.p}},{\"./intersection_tests\":264,\"@mapbox/point-geometry\":4,tinyqueue:33}],262:[function(t,e,r){var n,i=t(\"./worker_pool\");e.exports=function(){return n||(n=new i),n}},{\"./worker_pool\":279}],263:[function(t,e,r){function n(t,e,r,n){var i=e.width,a=e.height;if(n){if(n.length!==i*a*r)throw new RangeError(\"mismatched image size\")}else n=new Uint8Array(i*a*r);return t.width=i,t.height=a,t.data=n,t}function i(t,e,r){var i=e.width,o=e.height;if(i!==t.width||o!==t.height){var s=n({},{width:i,height:o},r);a(t,s,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,i),height:Math.min(t.height,o)},r),t.width=i,t.height=o,t.data=s.data}}function a(t,e,r,n,i,a){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\"out of range source coordinates for image copy\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var o=t.data,s=e.data,l=0;l<i.height;l++)for(var u=((r.y+l)*t.width+r.x)*a,c=((n.y+l)*e.width+n.x)*a,h=0;h<i.width*a;h++)s[c+h]=o[u+h];return e}var o=t(\"./web_worker_transfer\").register,s=function(t,e){n(this,t,1,e)};s.prototype.resize=function(t){i(this,t,1)},s.prototype.clone=function(){return new s({width:this.width,height:this.height},new Uint8Array(this.data))},s.copy=function(t,e,r,n,i){a(t,e,r,n,i,1)};var l=function(t,e){n(this,t,4,e)};l.prototype.resize=function(t){i(this,t,4)},l.prototype.clone=function(){return new l({width:this.width,height:this.height},new Uint8Array(this.data))},l.copy=function(t,e,r,n,i){a(t,e,r,n,i,4)},o(\"AlphaImage\",s),o(\"RGBAImage\",l),e.exports={AlphaImage:s,RGBAImage:l}},{\"./web_worker_transfer\":278}],264:[function(t,e,r){function n(t,e,r){if(t.length>1){if(i(t,e))return!0;for(var n=0;n<e.length;n++)if(o(e[n],t,r))return!0}for(var a=0;a<t.length;a++)if(o(t[a],e,r))return!0;return!1}function i(t,e){if(0===t.length||0===e.length)return!1;for(var r=0;r<t.length-1;r++)for(var n=t[r],i=t[r+1],o=0;o<e.length-1;o++){if(a(n,i,e[o],e[o+1]))return!0}return!1}function a(t,e,r,n){return c(t,r,n)!==c(e,r,n)&&c(t,e,r)!==c(t,e,n)}function o(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(s(t,e[i-1],e[i])<n)return!0;return!1}function s(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 l(t,e){for(var r,n,i,a=!1,o=0;o<t.length;o++)for(var s=0,l=(r=t[o]).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 u(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}var c=t(\"./util\").isCounterClockwise;e.exports={multiPolygonIntersectsBufferedMultiPoint:function(t,e,r){for(var n=0;n<t.length;n++)for(var i=t[n],a=0;a<e.length;a++)for(var s=e[a],l=0;l<s.length;l++){var c=s[l];if(u(i,c))return!0;if(o(c,i,r))return!0}return!1},multiPolygonIntersectsMultiPolygon:function(t,e){if(1===t.length&&1===t[0].length)return l(e,t[0][0]);for(var r=0;r<e.length;r++)for(var n=e[r],a=0;a<n.length;a++)if(l(t,n[a]))return!0;for(var o=0;o<t.length;o++){for(var s=t[o],u=0;u<s.length;u++)if(l(e,s[u]))return!0;for(var c=0;c<e.length;c++)if(i(s,e[c]))return!0}return!1},multiPolygonIntersectsBufferedMultiLine:function(t,e,r){for(var i=0;i<e.length;i++)for(var a=e[i],o=0;o<t.length;o++){var s=t[o];if(s.length>=3)for(var l=0;l<a.length;l++)if(u(s,a[l]))return!0;if(n(s,a,r))return!0}return!1},polygonIntersectsPolygon:function(t,e){for(var r=0;r<t.length;r++)if(u(e,t[r]))return!0;for(var n=0;n<e.length;n++)if(u(t,e[n]))return!0;return!!i(t,e)},distToSegmentSquared:s}},{\"./util\":275}],265:[function(t,e,r){e.exports={\"Latin-1 Supplement\":function(t){return t>=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},\"Arabic Supplement\":function(t){return t>=1872&&t<=1919},\"Arabic Extended-A\":function(t){return t>=2208&&t<=2303},\"Hangul Jamo\":function(t){return t>=4352&&t<=4607},\"Unified Canadian Aboriginal Syllabics\":function(t){return t>=5120&&t<=5759},\"Unified Canadian Aboriginal Syllabics Extended\":function(t){return t>=6320&&t<=6399},\"General Punctuation\":function(t){return t>=8192&&t<=8303},\"Letterlike Symbols\":function(t){return t>=8448&&t<=8527},\"Number Forms\":function(t){return t>=8528&&t<=8591},\"Miscellaneous Technical\":function(t){return t>=8960&&t<=9215},\"Control Pictures\":function(t){return t>=9216&&t<=9279},\"Optical Character Recognition\":function(t){return t>=9280&&t<=9311},\"Enclosed Alphanumerics\":function(t){return t>=9312&&t<=9471},\"Geometric Shapes\":function(t){return t>=9632&&t<=9727},\"Miscellaneous Symbols\":function(t){return t>=9728&&t<=9983},\"Miscellaneous Symbols and Arrows\":function(t){return t>=11008&&t<=11263},\"CJK Radicals Supplement\":function(t){return t>=11904&&t<=12031},\"Kangxi Radicals\":function(t){return t>=12032&&t<=12255},\"Ideographic Description Characters\":function(t){return t>=12272&&t<=12287},\"CJK Symbols and Punctuation\":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},\"Hangul Compatibility Jamo\":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},\"Bopomofo Extended\":function(t){return t>=12704&&t<=12735},\"CJK Strokes\":function(t){return t>=12736&&t<=12783},\"Katakana Phonetic Extensions\":function(t){return t>=12784&&t<=12799},\"Enclosed CJK Letters and Months\":function(t){return t>=12800&&t<=13055},\"CJK Compatibility\":function(t){return t>=13056&&t<=13311},\"CJK Unified Ideographs Extension A\":function(t){return t>=13312&&t<=19903},\"Yijing Hexagram Symbols\":function(t){return t>=19904&&t<=19967},\"CJK Unified Ideographs\":function(t){return t>=19968&&t<=40959},\"Yi Syllables\":function(t){return t>=40960&&t<=42127},\"Yi Radicals\":function(t){return t>=42128&&t<=42191},\"Hangul Jamo Extended-A\":function(t){return t>=43360&&t<=43391},\"Hangul Syllables\":function(t){return t>=44032&&t<=55215},\"Hangul Jamo Extended-B\":function(t){return t>=55216&&t<=55295},\"Private Use Area\":function(t){return t>=57344&&t<=63743},\"CJK Compatibility Ideographs\":function(t){return t>=63744&&t<=64255},\"Arabic Presentation Forms-A\":function(t){return t>=64336&&t<=65023},\"Vertical Forms\":function(t){return t>=65040&&t<=65055},\"CJK Compatibility Forms\":function(t){return t>=65072&&t<=65103},\"Small Form Variants\":function(t){return t>=65104&&t<=65135},\"Arabic Presentation Forms-B\":function(t){return t>=65136&&t<=65279},\"Halfwidth and Fullwidth Forms\":function(t){return t>=65280&&t<=65519}}},{}],266:[function(t,e,r){var n=function(t,e){this.max=t,this.onRemove=e,this.reset()};n.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);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.getAndRemove(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.getAndRemove=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.get=function(t){return this.has(t)?this.data[t]:null},n.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},n.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){var r=e.getAndRemove(e.order[0]);r&&e.onRemove(r)}return this},e.exports=n},{}],267:[function(t,e,r){function n(t,e){var r=a(s.API_URL);if(t.protocol=r.protocol,t.authority=r.authority,\"/\"!==r.path&&(t.path=\"\"+r.path+t.path),!s.REQUIRE_ACCESS_TOKEN)return o(t);if(!(e=e||s.ACCESS_TOKEN))throw new Error(\"An API access token is required to use Mapbox GL. \"+u);if(\"s\"===e[0])throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+u);return t.params.push(\"access_token=\"+e),o(t)}function i(t){return 0===t.indexOf(\"mapbox:\")}function a(t){var e=t.match(h);if(!e)throw new Error(\"Unable to parse URL object\");return{protocol:e[1],authority:e[2],path:e[3]||\"/\",params:e[4]?e[4].split(\"&\"):[]}}function o(t){var e=t.params.length?\"?\"+t.params.join(\"&\"):\"\";return t.protocol+\"://\"+t.authority+t.path+e}var s=t(\"./config\"),l=t(\"./browser\"),u=\"See https://www.mapbox.com/api-documentation/#access-tokens\";r.isMapboxURL=i,r.normalizeStyleURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path=\"/styles/v1\"+r.path,n(r,e)},r.normalizeGlyphsURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path=\"/fonts/v1\"+r.path,n(r,e)},r.normalizeSourceURL=function(t,e){if(!i(t))return t;var r=a(t);return r.path=\"/v4/\"+r.authority+\".json\",r.params.push(\"secure\"),n(r,e)},r.normalizeSpriteURL=function(t,e,r,s){var l=a(t);return i(t)?(l.path=\"/styles/v1\"+l.path+\"/sprite\"+e+r,n(l,s)):(l.path+=\"\"+e+r,o(l))};var c=/(\\.(png|jpg)\\d*)(?=$)/;r.normalizeTileURL=function(t,e,r){if(!e||!i(e))return t;var n=a(t),u=l.devicePixelRatio>=2||512===r?\"@2x\":\"\",h=l.supportsWebp?\".webp\":\"$1\";return n.path=n.path.replace(c,\"\"+u+h),function(t){for(var e=0;e<t.length;e++)0===t[e].indexOf(\"access_token=tk.\")&&(t[e]=\"access_token=\"+(s.ACCESS_TOKEN||\"\"))}(n.params),o(n)};var h=/^(\\w+):\\/\\/([^\\/?]*)(\\/[^?]+)?\\??(.+)?/},{\"./browser\":252,\"./config\":256}],268:[function(t,e,r){e.exports={getEntriesByName:function(t){return!(!performance||!performance.getEntriesByName)&&performance.getEntriesByName(t)}}},{}],269:[function(t,e,r){var n=t(\"./is_char_in_unicode_block\");e.exports.allowsIdeographicBreaking=function(t){for(var e=0,n=t;e<n.length;e+=1){var i=n[e];if(!r.charAllowsIdeographicBreaking(i.charCodeAt(0)))return!1}return!0},e.exports.allowsVerticalWritingMode=function(t){for(var e=0,n=t;e<n.length;e+=1){var i=n[e];if(r.charHasUprightVerticalOrientation(i.charCodeAt(0)))return!0}return!1},e.exports.allowsLetterSpacing=function(t){for(var e=0,n=t;e<n.length;e+=1){var i=n[e];if(!r.charAllowsLetterSpacing(i.charCodeAt(0)))return!1}return!0},e.exports.charAllowsLetterSpacing=function(t){return!(n.Arabic(t)||n[\"Arabic Supplement\"](t)||n[\"Arabic Extended-A\"](t)||n[\"Arabic Presentation Forms-A\"](t)||n[\"Arabic Presentation Forms-B\"](t))},e.exports.charAllowsIdeographicBreaking=function(t){return!!(!(t<11904)&&(n[\"Bopomofo Extended\"](t)||n.Bopomofo(t)||n[\"CJK Compatibility Forms\"](t)||n[\"CJK Compatibility Ideographs\"](t)||n[\"CJK Compatibility\"](t)||n[\"CJK Radicals Supplement\"](t)||n[\"CJK Strokes\"](t)||n[\"CJK Symbols and Punctuation\"](t)||n[\"CJK Unified Ideographs Extension A\"](t)||n[\"CJK Unified Ideographs\"](t)||n[\"Enclosed CJK Letters and Months\"](t)||n[\"Halfwidth and Fullwidth Forms\"](t)||n.Hiragana(t)||n[\"Ideographic Description Characters\"](t)||n[\"Kangxi Radicals\"](t)||n[\"Katakana Phonetic Extensions\"](t)||n.Katakana(t)||n[\"Vertical Forms\"](t)||n[\"Yi Radicals\"](t)||n[\"Yi Syllables\"](t)))},r.charHasUprightVerticalOrientation=function(t){return!!(746===t||747===t||!(t<4352)&&(n[\"Bopomofo Extended\"](t)||n.Bopomofo(t)||n[\"CJK Compatibility Forms\"](t)&&!(t>=65097&&t<=65103)||n[\"CJK Compatibility Ideographs\"](t)||n[\"CJK Compatibility\"](t)||n[\"CJK Radicals Supplement\"](t)||n[\"CJK Strokes\"](t)||!(!n[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||n[\"CJK Unified Ideographs Extension A\"](t)||n[\"CJK Unified Ideographs\"](t)||n[\"Enclosed CJK Letters and Months\"](t)||n[\"Hangul Compatibility Jamo\"](t)||n[\"Hangul Jamo Extended-A\"](t)||n[\"Hangul Jamo Extended-B\"](t)||n[\"Hangul Jamo\"](t)||n[\"Hangul Syllables\"](t)||n.Hiragana(t)||n[\"Ideographic Description Characters\"](t)||n.Kanbun(t)||n[\"Kangxi Radicals\"](t)||n[\"Katakana Phonetic Extensions\"](t)||n.Katakana(t)&&12540!==t||!(!n[\"Halfwidth and Fullwidth Forms\"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!n[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||n[\"Unified Canadian Aboriginal Syllabics\"](t)||n[\"Unified Canadian Aboriginal Syllabics Extended\"](t)||n[\"Vertical Forms\"](t)||n[\"Yijing Hexagram Symbols\"](t)||n[\"Yi Syllables\"](t)||n[\"Yi Radicals\"](t)))},r.charHasNeutralVerticalOrientation=function(t){return!!(n[\"Latin-1 Supplement\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||n[\"General Punctuation\"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||n[\"Letterlike Symbols\"](t)||n[\"Number Forms\"](t)||n[\"Miscellaneous Technical\"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||n[\"Control Pictures\"](t)&&9251!==t||n[\"Optical Character Recognition\"](t)||n[\"Enclosed Alphanumerics\"](t)||n[\"Geometric Shapes\"](t)||n[\"Miscellaneous Symbols\"](t)&&!(t>=9754&&t<=9759)||n[\"Miscellaneous Symbols and Arrows\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||n[\"CJK Symbols and Punctuation\"](t)||n.Katakana(t)||n[\"Private Use Area\"](t)||n[\"CJK Compatibility Forms\"](t)||n[\"Small Form Variants\"](t)||n[\"Halfwidth and Fullwidth Forms\"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)},r.charHasRotatedVerticalOrientation=function(t){return!(r.charHasUprightVerticalOrientation(t)||r.charHasNeutralVerticalOrientation(t))}},{\"./is_char_in_unicode_block\":265}],270:[function(t,e,r){var n=t(\"../geo/lng_lat\");e.exports=function(t,e,r){if(t=new n(t.lng,t.lat),e){var i=new n(t.lng-360,t.lat),a=new n(t.lng+360,t.lat),o=r.locationPoint(t).distSqr(e);r.locationPoint(i).distSqr(e)<o?t=i:r.locationPoint(a).distSqr(e)<o&&(t=a)}for(;Math.abs(t.lng-r.center.lng)>180;){var s=r.locationPoint(t);if(s.x>=0&&s.y>=0&&s.x<=r.width&&s.y<=r.height)break;t.lng>r.center.lng?t.lng-=360:t.lng+=360}return t}},{\"../geo/lng_lat\":62}],271:[function(t,e,r){function n(t,e){return Math.ceil(t/e)*e}var i={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},a=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};a.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},a.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},a.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},a.prototype.clear=function(){this.length=0},a.prototype.resize=function(t){this.reserve(t),this.length=t},a.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},a.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")},e.exports.StructArray=a,e.exports.Struct=function(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},e.exports.viewTypes=i,e.exports.createLayout=function(t,e){void 0===e&&(e=1);var r=0,a=0;return{members:t.map(function(t){var o=function(t){return i[t].BYTES_PER_ELEMENT}(t.type),s=r=n(r,Math.max(e,o)),l=t.components||1;return a=Math.max(a,o),r+=o*l,{name:t.name,type:t.type,components:l,offset:s}}),size:n(r,Math.max(a,e)),alignment:e}}},{}],272:[function(t,e,r){e.exports=function(t,e){var r=!1,n=0,i=function(){n=0,r&&(t(),n=setTimeout(i,e),r=!1)};return function(){return r=!0,n||i(),n}}},{}],273:[function(t,e,r){function n(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 i(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 p=l*Math.max(0,Math.min(t.dy,f+c-t.y0))+t.x0,d=u*Math.max(0,Math.min(e.dy,f+h-e.y0))+e.x0;i(Math.floor(d),Math.ceil(p),f)}}function a(t,e,r,a,o,s){var l,u=n(t,e),c=n(e,r),h=n(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&&i(h,u,a,o,s),c.dy&&i(h,c,a,o,s)}t(\"../geo/coordinate\");var o=t(\"../source/tile_id\").OverscaledTileID;e.exports=function(t,e,r,n){function i(e,i,a){var u,c,h;if(a>=0&&a<=s)for(u=e;u<i;u++)0!==(c=Math.floor(u/s))&&!0!==n||(h=new o(r,c,t,(u%s+s)%s,a),l[h.key]=h)}void 0===n&&(n=!0);var s=1<<t,l={};return a(e[0],e[1],e[2],0,s,i),a(e[2],e[3],e[0],0,s,i),Object.keys(l).map(function(t){return l[t]})}},{\"../geo/coordinate\":61,\"../source/tile_id\":114}],274:[function(t,e,r){e.exports=function(t,e){return e.replace(/{([^{}]+)}/g,function(e,r){return r in t?String(t[r]):\"\"})}},{}],275:[function(t,e,r){var n=t(\"@mapbox/unitbezier\"),i=t(\"../geo/coordinate\");t(\"@mapbox/point-geometry\");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.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.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},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=arguments,r=[],n=arguments.length-1;n-- >0;)r[n]=e[n+1];for(var i=0,a=r;i<a.length;i+=1){var o=a[i];for(var s in o)t[s]=o[s]}return t},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.bindAll=function(t,e){t.forEach(function(t){e[t]&&(e[t]=e[t].bind(e))})},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),c=Math.max(0,Math.floor(-Math.log(u)/Math.LN2));return new i((e+n)/2,(r+a)/2,0).zoomTo(c)},r.endsWith=function(t,e){return-1!==t.indexOf(e,t.length-e.length)},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=t(\"../style-spec/util/deep_equal\"),r.clone=function(t){return Array.isArray(t)?t.map(r.clone):\"object\"==typeof t&&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)},r.isCounterClockwise=function(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)},r.calculateSignedArea=function(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r<n;i=r++)a=t[r],e+=((o=t[i]).x-a.x)*(a.y+o.y);return e},r.isClosedPolygon=function(t){if(t.length<4)return!1;var e=t[0],n=t[t.length-1];return!(Math.abs(e.x-n.x)>0||Math.abs(e.y-n.y)>0)&&Math.abs(r.calculateSignedArea(t))>.01},r.sphericalToCartesian=function(t){var e=t[0],r=t[1],n=t[2];return r+=90,r*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(r)*Math.sin(n),y:e*Math.sin(r)*Math.sin(n),z:e*Math.cos(n)}},r.parseCacheControl=function(t){var e={};if(t.replace(/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),\"\"}),e[\"max-age\"]){var r=parseInt(e[\"max-age\"],10);isNaN(r)?delete e[\"max-age\"]:e[\"max-age\"]=r}return e}},{\"../geo/coordinate\":61,\"../style-spec/util/deep_equal\":155,\"@mapbox/point-geometry\":4,\"@mapbox/unitbezier\":7}],276:[function(t,e,r){var n=function(t,e,r,n){this.type=\"Feature\",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&&(this.id=t.id)},i={geometry:{}};i.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},i.geometry.set=function(t){this._geometry=t},n.prototype.toJSON=function(){var t={geometry:this.geometry};for(var e in this)\"_geometry\"!==e&&\"_vectorTileFeature\"!==e&&(t[e]=this[e]);return t},Object.defineProperties(n.prototype,i),e.exports=n},{}],277:[function(t,e,r){var n=t(\"./script_detection\");e.exports=function(t){for(var r=\"\",i=0;i<t.length;i++){var a=t.charCodeAt(i+1)||null,o=t.charCodeAt(i-1)||null;a&&n.charHasRotatedVerticalOrientation(a)&&!e.exports.lookup[t[i+1]]||o&&n.charHasRotatedVerticalOrientation(o)&&!e.exports.lookup[t[i-1]]||!e.exports.lookup[t[i]]?r+=t[i]:r+=e.exports.lookup[t[i]]}return r},e.exports.lookup={\"!\":\"\\ufe15\",\"#\":\"\\uff03\",$:\"\\uff04\",\"%\":\"\\uff05\",\"&\":\"\\uff06\",\"(\":\"\\ufe35\",\")\":\"\\ufe36\",\"*\":\"\\uff0a\",\"+\":\"\\uff0b\",\",\":\"\\ufe10\",\"-\":\"\\ufe32\",\".\":\"\\u30fb\",\"/\":\"\\uff0f\",\":\":\"\\ufe13\",\";\":\"\\ufe14\",\"<\":\"\\ufe3f\",\"=\":\"\\uff1d\",\">\":\"\\ufe40\",\"?\":\"\\ufe16\",\"@\":\"\\uff20\",\"[\":\"\\ufe47\",\"\\\\\":\"\\uff3c\",\"]\":\"\\ufe48\",\"^\":\"\\uff3e\",_:\"\\ufe33\",\"`\":\"\\uff40\",\"{\":\"\\ufe37\",\"|\":\"\\u2015\",\"}\":\"\\ufe38\",\"~\":\"\\uff5e\",\"\\xa2\":\"\\uffe0\",\"\\xa3\":\"\\uffe1\",\"\\xa5\":\"\\uffe5\",\"\\xa6\":\"\\uffe4\",\"\\xac\":\"\\uffe2\",\"\\xaf\":\"\\uffe3\",\"\\u2013\":\"\\ufe32\",\"\\u2014\":\"\\ufe31\",\"\\u2018\":\"\\ufe43\",\"\\u2019\":\"\\ufe44\",\"\\u201c\":\"\\ufe41\",\"\\u201d\":\"\\ufe42\",\"\\u2026\":\"\\ufe19\",\"\\u2027\":\"\\u30fb\",\"\\u20a9\":\"\\uffe6\",\"\\u3001\":\"\\ufe11\",\"\\u3002\":\"\\ufe12\",\"\\u3008\":\"\\ufe3f\",\"\\u3009\":\"\\ufe40\",\"\\u300a\":\"\\ufe3d\",\"\\u300b\":\"\\ufe3e\",\"\\u300c\":\"\\ufe41\",\"\\u300d\":\"\\ufe42\",\"\\u300e\":\"\\ufe43\",\"\\u300f\":\"\\ufe44\",\"\\u3010\":\"\\ufe3b\",\"\\u3011\":\"\\ufe3c\",\"\\u3014\":\"\\ufe39\",\"\\u3015\":\"\\ufe3a\",\"\\u3016\":\"\\ufe17\",\"\\u3017\":\"\\ufe18\",\"\\uff01\":\"\\ufe15\",\"\\uff08\":\"\\ufe35\",\"\\uff09\":\"\\ufe36\",\"\\uff0c\":\"\\ufe10\",\"\\uff0d\":\"\\ufe32\",\"\\uff0e\":\"\\u30fb\",\"\\uff1a\":\"\\ufe13\",\"\\uff1b\":\"\\ufe14\",\"\\uff1c\":\"\\ufe3f\",\"\\uff1e\":\"\\ufe40\",\"\\uff1f\":\"\\ufe16\",\"\\uff3b\":\"\\ufe47\",\"\\uff3d\":\"\\ufe48\",\"\\uff3f\":\"\\ufe33\",\"\\uff5b\":\"\\ufe37\",\"\\uff5c\":\"\\u2015\",\"\\uff5d\":\"\\ufe38\",\"\\uff5f\":\"\\ufe35\",\"\\uff60\":\"\\ufe36\",\"\\uff61\":\"\\ufe12\",\"\\uff62\":\"\\ufe41\",\"\\uff63\":\"\\ufe42\"}},{\"./script_detection\":269}],278:[function(t,e,r){function n(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,\"_classRegistryKey\",{value:t,writeable:!1}),g[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]}}var i=t(\"grid-index\"),a=t(\"../style-spec/util/color\"),o=t(\"../style-spec/expression\"),s=o.StylePropertyFunction,l=o.StyleExpression,u=o.StyleExpressionWithErrorHandling,c=o.ZoomDependentExpression,h=o.ZoomConstantExpression,f=t(\"../style-spec/expression/compound_expression\").CompoundExpression,p=t(\"../style-spec/expression/definitions\"),d=t(\"./window\").ImageData,g={};for(var v in n(\"Object\",Object),i.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),r},i.deserialize=function(t){return new i(t)},n(\"Grid\",i),n(\"Color\",a),n(\"StylePropertyFunction\",s),n(\"StyleExpression\",l,{omit:[\"_evaluator\"]}),n(\"StyleExpressionWithErrorHandling\",u,{omit:[\"_evaluator\"]}),n(\"ZoomDependentExpression\",c),n(\"ZoomConstantExpression\",h),n(\"CompoundExpression\",f,{omit:[\"_evaluate\"]}),p)p[v]._classRegistryKey||n(\"Expression_\"+v,p[v]);e.exports={register:n,serialize:function t(e,r){if(null===e||void 0===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp)return e;if(e instanceof ArrayBuffer)return r&&r.push(e),e;if(ArrayBuffer.isView(e)){var n=e;return r&&r.push(n.buffer),n}if(e instanceof d)return r&&r.push(e.data.buffer),e;if(Array.isArray(e)){for(var i=[],a=0,o=e;a<o.length;a+=1){var s=o[a];i.push(t(s,r))}return i}if(\"object\"==typeof e){var l=e.constructor,u=l._classRegistryKey;if(!u)throw new Error(\"can't serialize object of unregistered class\");var c={};if(l.serialize)c._serialized=l.serialize(e,r);else for(var h in e)if(e.hasOwnProperty(h)&&!(g[u].omit.indexOf(h)>=0)){var f=e[h];c[h]=g[u].shallow.indexOf(h)>=0?f:t(f,r)}return{name:u,properties:c}}throw new Error(\"can't serialize object of type \"+typeof e)},deserialize:function t(e){if(null===e||void 0===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||e instanceof d)return e;if(Array.isArray(e))return e.map(function(e){return t(e)});if(\"object\"==typeof e){var r=e,n=r.name,i=r.properties;if(!n)throw new Error(\"can't deserialize object of anonymous class\");var a=g[n].klass;if(!a)throw new Error(\"can't deserialize unregistered class \"+n);if(a.deserialize)return a.deserialize(i._serialized);for(var o=Object.create(a.prototype),s=0,l=Object.keys(i);s<l.length;s+=1){var u=l[s];o[u]=g[n].shallow.indexOf(u)>=0?i[u]:t(i[u])}return o}throw new Error(\"can't deserialize object of type \"+typeof e)}}},{\"../style-spec/expression\":139,\"../style-spec/expression/compound_expression\":123,\"../style-spec/expression/definitions\":131,\"../style-spec/util/color\":153,\"./window\":254,\"grid-index\":24}],279:[function(t,e,r){var n=t(\"./web_worker\"),i=function(){this.active={}};i.prototype.acquire=function(e){if(!this.workers){var r=t(\"../\").workerCount;for(this.workers=[];this.workers.length<r;)this.workers.push(new n)}return this.active[e]=!0,this.workers.slice()},i.prototype.release=function(t){delete this.active[t],0===Object.keys(this.active).length&&(this.workers.forEach(function(t){t.terminate()}),this.workers=null)},e.exports=i},{\"../\":73,\"./web_worker\":253}]},{},[73])(73)})}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{}),bq=bq.exports;var _q={requiredVersion:\"0.44.1\",styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",controlContainerClassName:\"mapboxgl-control-container\",wrongVersionErrorMsg:[\"Your custom plotly.js bundle is not using the correct mapbox-gl version\",\"Please install mapbox-gl@0.44.1.\"].join(\"\\n\"),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.\",styleRules:{map:\"overflow:hidden;position:relative;\",\"missing-css\":\"display:none\"}},wq=Oe.defaultLine,Mq=qc.attributes,Aq=Zr.textposition,kq=ye.overrideAll,Tq=T({});Tq.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\";var Sq=kq({_arrayAttrRegexps:[ne.counterRegex(\"mapbox\",\".layers\",!0)],domain:Mq({name:\"mapbox\"}),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:wq},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:wq}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},textfont:Tq,textposition:ne.extendFlat({},Aq,{arrayOk:!1})}}},\"plot\",\"from-root\");function Eq(t,e,r,n){r(\"accesstoken\",n.accessToken),r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\"),function(t,e){var r,n,i=t.layers||[],a=e.layers=[];function o(t,e){return ne.coerce(r,n,Sq.layers,t,e)}for(var s=0;s<i.length;s++)if(r=i[s],n={},ne.isPlainObject(r)){var l=o(\"sourcetype\");o(\"source\"),\"vector\"===l&&o(\"sourcelayer\");var u=o(\"type\");o(\"below\"),o(\"color\"),o(\"opacity\"),\"circle\"===u&&o(\"circle.radius\"),\"line\"===u&&o(\"line.width\"),\"fill\"===u&&o(\"fill.outlinecolor\"),\"symbol\"===u&&(o(\"symbol.icon\"),o(\"symbol.iconsize\"),o(\"symbol.text\"),ne.coerceFont(o,\"symbol.textfont\"),o(\"symbol.textposition\")),n._index=s,a.push(n)}}(t,e),e._input=t}var Cq=function(t,e){var r=t.split(\" \"),n=r[0],i=r[1],a=ne.isArrayOrTypedArray(e)?ne.mean(e):e,o=.5+a/100,s=1.5+a/100,l=[\"\",\"\"],u=[0,0];switch(n){case\"top\":l[0]=\"top\",u[1]=-s;break;case\"bottom\":l[0]=\"bottom\",u[1]=s}switch(i){case\"left\":l[1]=\"right\",u[0]=-o;break;case\"right\":l[1]=\"left\",u[0]=o}return{anchor:l[0]&&l[1]?l.join(\"-\"):l[0]?l[0]:l[1]?l[1]:\"center\",offset:u}};function Lq(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}var zq=Lq.prototype;function Pq(t){var e=t.source;return ne.isPlainObject(e)||\"string\"==typeof e&&e.length>0}function Iq(t){var e={},r={};switch(t.type){case\"circle\":ne.extendFlat(r,{\"circle-radius\":t.circle.radius,\"circle-color\":t.color,\"circle-opacity\":t.opacity});break;case\"line\":ne.extendFlat(r,{\"line-width\":t.line.width,\"line-color\":t.color,\"line-opacity\":t.opacity});break;case\"fill\":ne.extendFlat(r,{\"fill-color\":t.color,\"fill-outline-color\":t.fill.outlinecolor,\"fill-opacity\":t.opacity});break;case\"symbol\":var n=t.symbol,i=Cq(n.textposition,n.iconsize);ne.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}),ne.extendFlat(r,{\"icon-color\":t.color,\"text-color\":n.textfont.color,\"text-opacity\":t.opacity})}return{layout:e,paint:r}}zq.update=function(t){this.visible?this.needsNewSource(t)?(this.updateLayer(t),this.updateSource(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=Pq(t)},zq.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},zq.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==t.below},zq.updateSource=function(t){var e=this.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,Pq(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,i={type:r};\"geojson\"===r?e=\"data\":\"vector\"===r&&(e=\"string\"==typeof n?\"url\":\"tiles\");return i[e]=n,i}(t);e.addSource(this.idSource,r)}},zq.updateLayer=function(t){var e=this.map,r=Iq(t);e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),this.layerType=t.type,Pq(t)&&e.addLayer({id:this.idLayer,source:this.idSource,\"source-layer\":t.sourcelayer||\"\",type:t.type,layout:r.layout,paint:r.paint},t.below)},zq.updateStyle=function(t){if(Pq(t)){var e=Iq(t);this.mapbox.setOptions(this.idLayer,\"setLayoutProperty\",e.layout),this.mapbox.setOptions(this.idLayer,\"setPaintProperty\",e.paint)}},zq.dispose=function(){var t=this.map;t.removeLayer(this.idLayer),t.removeSource(this.idSource)};var Dq=function(t,e,r){var n=new Lq(t,e);return n.update(r),n};function Oq(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=[]}var Rq=Oq.prototype,Fq=function(t){return new Oq(t)};function Bq(t){var e=Sq.style.values,r=Sq.style.dflt,n={};return ne.isPlainObject(t)?(n.id=t.id,n.style=t):\"string\"==typeof t?(n.id=t,n.style=-1!==e.indexOf(t)?Nq(t):t):(n.id=r,n.style=Nq(r)),n.transition={duration:0,delay:0},n}function Nq(t){return _q.styleUrlPrefix+t+\"-\"+_q.styleUrlSuffix}function jq(t){return[t.lon,t.lat]}Rq.plot=function(t,e,r){var n,i=this,a=i.opts=e[this.id];i.map&&a.accesstoken!==i.accessToken&&(i.map.remove(),i.map=null,i.styleObj=null,i.traceHash=[],i.layerList={}),n=i.map?new Promise(function(r,n){i.updateMap(t,e,r,n)}):new Promise(function(r,n){i.createMap(t,e,r,n)}),r.push(n)},Rq.createMap=function(t,e,r,n){var i=this,a=i.gd,o=i.opts,s=i.styleObj=Bq(o.style);i.accessToken=o.accesstoken;var l=i.map=new bq.Map({container:i.div,style:s.style,center:jq(o.center),zoom:o.zoom,bearing:o.bearing,pitch:o.pitch,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1}),u=_q.controlContainerClassName,c=i.div.getElementsByClassName(u)[0];function h(){yo.loneUnhover(e._toppaper)}i.div.removeChild(c),l._canvas.style.left=\"0px\",l._canvas.style.top=\"0px\",i.rejectOnError(n),l.once(\"load\",function(){i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)}),i.isStatic||(l.on(\"moveend\",function(t){if(i.map){var e=i.getView();if(o._input.center=o.center=e.center,o._input.zoom=o.zoom=e.zoom,o._input.bearing=o.bearing=e.bearing,o._input.pitch=o.pitch=e.pitch,t.originalEvent){var r={};r[i.id]=ne.extendFlat({},e),a.emit(\"plotly_relayout\",r)}}}),l.on(\"mousemove\",function(t){var e=i.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},i.xaxis.p2c=function(){return t.lngLat.lng},i.yaxis.p2c=function(){return t.lngLat.lat},yo.hover(a,t,i.id)}),l.on(\"click\",function(t){yo.click(a,t.originalEvent)}),l.on(\"dragstart\",h),l.on(\"zoomstart\",h),l.on(\"dblclick\",function(){var t=i.viewInitial;l.setCenter(jq(t.center)),l.setZoom(t.zoom),l.setBearing(t.bearing),l.setPitch(t.pitch);var e=i.getView();o._input.center=o.center=e.center,o._input.zoom=o.zoom=e.zoom,o._input.bearing=o.bearing=e.bearing,o._input.pitch=o.pitch=e.pitch,a.emit(\"plotly_doubleclick\",null)}),i.clearSelect=function(){a._fullLayout._zoomlayer.selectAll(\".select-outline\").remove()})},Rq.updateMap=function(t,e,r,n){var i=this,a=i.map;i.rejectOnError(n);var o=Bq(i.opts.style);i.styleObj.id!==o.id?(i.styleObj=o,a.setStyle(o.style),a.once(\"styledata\",function(){i.traceHash={},i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)})):(i.updateData(t),i.updateLayout(e),i.resolveOnRender(r))},Rq.updateData=function(t){var e,r,n,i,a=this.traceHash;for(n=0;n<t.length;n++){var o=t[n];(e=a[(r=o[0].trace).uid])?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(l===(r=t[i][0].trace).uid)continue t;(e=a[l]).dispose(),delete a[l]}},Rq.updateLayout=function(t){var e=this.map,r=this.opts;e.setCenter(jq(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch),this.updateLayers(),this.updateFramework(t),this.updateFx(t),this.map.resize()},Rq.resolveOnRender=function(t){var e=this.map;e.on(\"render\",function r(){e.loaded()&&(e.off(\"render\",r),setTimeout(t,0))})},Rq.rejectOnError=function(t){var e=this.map;function r(){t(new Error(_q.mapOnErrorMsg))}e.once(\"error\",r),e.once(\"style.error\",r),e.once(\"source.error\",r),e.once(\"tile.error\",r),e.once(\"layer.error\",r)},Rq.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)},Rq.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var i,a=t.dragmode;if(i=\"select\"===a?function(t,r){(t.range={})[e.id]=[s([r.xmin,r.ymin]),s([r.xmax,r.ymax])]}:function(t,r,n){(t.lassoPoints={})[e.id]=n.filtered.map(s)},\"select\"===a||\"lasso\"===a){r.dragPan.disable(),r.on(\"zoomstart\",e.clearSelect);var o={element:e.div,gd:n,plotinfo:{xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:i},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id,prepFn:function(t,e,r){_c(t,e,r,o,a)}};Ua.init(o)}else r.dragPan.enable(),r.off(\"zoomstart\",e.clearSelect),e.div.onmousedown=null}function s(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},Rq.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])},Rq.updateLayers=function(){var t,e=this.opts.layers,r=this.layerList;if(e.length!==r.length){for(t=0;t<r.length;t++)r[t].dispose();for(r=this.layerList=[],t=0;t<e.length;t++)r.push(Dq(this,t,e[t]))}else for(t=0;t<e.length;t++)r[t].update(e[t])},Rq.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))},Rq.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()},Rq.setOptions=function(t,e,r){for(var n in r)this.map[e](t,n,r[n])},Rq.project=function(t){return this.map.project(new bq.LngLat(t[0],t[1]))},Rq.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()}};var Vq={},Uq=sa.getSubplotCalcData;for(var qq in _q.styleRules)ne.addStyleRule(\".mapboxgl-\"+qq,_q.styleRules[qq]);Vq.name=\"mapbox\",Vq.attr=\"subplot\",Vq.idRoot=\"mapbox\",Vq.idRegex=Vq.attrRegex=ne.counterRegex(\"mapbox\"),Vq.attributes={subplot:{valType:\"subplotid\",dflt:\"mapbox\",editType:\"calc\"}},Vq.layoutAttributes=Sq,Vq.supplyLayoutDefaults=function(t,e,r){Jc(t,e,0,{type:\"mapbox\",attributes:Sq,handleDefaults:Eq,partition:\"y\",accessToken:e._mapboxAccessToken})},Vq.plot=function(t){var e=t._fullLayout,r=t.calcdata,n=e._subplots.mapbox;if(bq.version!==_q.requiredVersion)throw new Error(_q.wrongVersionErrorMsg);var i=function(t,e){var r=t._fullLayout;if(\"\"===t._context.mapboxAccessToken)return\"\";for(var n=0;n<e.length;n++){var i=r[e[n]];if(i.accesstoken)return i.accesstoken}throw new Error(_q.noAccessTokenErrorMsg)}(t,n);bq.accessToken=i;for(var a=0;a<n.length;a++){var o=n[a],s=Uq(r,\"mapbox\",o),l=e[o],u=l._subplot;u||(u=Fq({gd:t,container:e._glcontainer.node(),id:o,fullLayout:e,staticPlot:t._context.staticPlot}),e[o]._subplot=u),u.viewInitial||(u.viewInitial={center:ne.extendFlat({},l.center),zoom:l.zoom,bearing:l.bearing,pitch:l.pitch}),u.plot(s,e,t._promises)}},Vq.clean=function(t,e,r,n){for(var i=n._subplots.mapbox||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._subplot&&n[o]._subplot.destroy()}},Vq.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=e._size,i=0;i<r.length;i++){var a=e[r[i]],o=a.domain,s=a._subplot,l=s.toImage(\"png\");e._glimages.append(\"svg:image\").attr({xmlns:$e.svg,\"xlink:href\":l,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"}),s.destroy()}},Vq.updateFx=function(t){for(var e=t._subplots.mapbox,r=0;r<e.length;r++){t[e[r]]._subplot.updateFx(t)}};var Hq=m.extendFlat,Gq=ye.overrideAll,Wq=uh.line,Yq=uh.marker,Xq=Gq({lon:uh.lon,lat:uh.lat,mode:Hq({},Zr.mode,{dflt:\"markers\"}),text:Hq({},Zr.text,{}),hovertext:Hq({},Zr.hovertext,{}),line:{color:Wq.color,width:Wq.width},connectgaps:Zr.connectgaps,marker:{symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},opacity:Yq.opacity,size:Yq.size,sizeref:Yq.sizeref,sizemin:Yq.sizemin,sizemode:Yq.sizemode,color:Yq.color,colorscale:Yq.colorscale,cauto:Yq.cauto,cmax:Yq.cmax,cmin:Yq.cmin,autocolorscale:Yq.autocolorscale,reversescale:Yq.reversescale,showscale:Yq.showscale,colorbar:ze},fill:uh.fill,fillcolor:Zr.fillcolor,textfont:Sq.layers.symbol.textfont,textposition:Sq.layers.symbol.textposition,selected:{marker:Zr.selected.marker},unselected:{marker:Zr.unselected.marker},hoverinfo:Hq({},E.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]})},\"calc\",\"nested\");var Zq=t.BADNUM;var Jq=t.BADNUM,Kq=function(t){var e,n=t[0].trace,i=!0===n.visible,a=\"none\"!==n.fill,o=Tr.hasLines(n),s=Tr.hasMarkers(n),l=Tr.hasText(n),u=s&&\"circle\"===n.marker.symbol,c=s&&\"circle\"!==n.marker.symbol,h=Qq(),f=Qq(),p=Qq(),d=Qq(),g={fill:h,line:f,circle:p,symbol:d};if(!i)return g;if((a||o)&&(e=aV.calcTraceToLineCoords(t)),a&&(h.geojson=aV.makePolygon(e),h.layout.visibility=\"visible\",ne.extendFlat(h.paint,{\"fill-color\":n.fillcolor})),o&&(f.geojson=aV.makeLine(e),f.layout.visibility=\"visible\",ne.extendFlat(f.paint,{\"line-width\":n.line.width,\"line-color\":n.line.color,\"line-opacity\":n.opacity})),u){var v=function(t){var e,n,i,a,o=t[0].trace,s=o.marker,l=o.selectedpoints,u=ne.isArrayOrTypedArray(s.color),c=ne.isArrayOrTypedArray(s.size),h=ne.isArrayOrTypedArray(s.opacity);function f(t){return o.opacity*t}function p(t){return t/2}u&&(n=Je.hasColorscale(o,\"marker\")?Je.makeColorScaleFunc(Je.extractScale(s.colorscale,s.cmin,s.cmax)):ne.identity);c&&(i=kr(o));h&&(a=function(t){var e=r(t)?+ne.constrain(t,0,1):0;return f(e)});var d,g=[];for(e=0;e<t.length;e++){var v=t[e],m=v.lonlat;if(!eH(m)){var y={};n&&(y.mcc=v.mcc=n(v.mc)),i&&(y.mrc=v.mrc=i(v.ms)),a&&(y.mo=a(v.mo)),l&&(y.selected=v.selected||0),g.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:m},properties:y})}}if(l)for(d=Sr.makeSelectedPointStyleFns(o),e=0;e<g.length;e++){var x=g[e].properties,b=d.opacityFn(x);if(void 0!==b?x.mo=f(b):void 0===x.mo&&(x.mo=f(s.opacity)),d.colorFn){var _=d.colorFn(x);_?x.mcc=_:x.mcc||(x.mcc=s.color)}if(d.sizeFn){var w=d.sizeFn(x);void 0!==w?x.mrc=w:void 0===x.mrc&&(x.mrc=p(s.size))}}return{geojson:{type:\"FeatureCollection\",features:g},mcc:u||d&&d.colorFn?{type:\"identity\",property:\"mcc\"}:s.color,mrc:c||d&&d.sizeFn?{type:\"identity\",property:\"mrc\"}:p(s.size),mo:h||l?{type:\"identity\",property:\"mo\"}:f(s.opacity)}}(t);p.geojson=v.geojson,p.layout.visibility=\"visible\",ne.extendFlat(p.paint,{\"circle-color\":v.mcc,\"circle-radius\":v.mrc,\"circle-opacity\":v.mo})}if((c||l)&&(d.geojson=function(t){for(var e=t[0].trace,r=(e.marker||{}).symbol,n=e.text,i=\"circle\"!==r?$q(r):tH,a=Tr.hasText(e)?$q(n):tH,o=[],s=0;s<t.length;s++){var l=t[s];eH(l.lonlat)||o.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:l.lonlat},properties:{symbol:i(l.mx),text:a(l.tx)}})}return{type:\"FeatureCollection\",features:o}}(t),ne.extendFlat(d.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),c&&(ne.extendFlat(d.layout,{\"icon-size\":n.marker.size/10}),ne.extendFlat(d.paint,{\"icon-opacity\":n.opacity*n.marker.opacity,\"icon-color\":n.marker.color})),l)){var m=(n.marker||{}).size,y=Cq(n.textposition,m);ne.extendFlat(d.layout,{\"text-size\":n.textfont.size,\"text-anchor\":y.anchor,\"text-offset\":y.offset}),ne.extendFlat(d.paint,{\"text-color\":n.textfont.color,\"text-opacity\":n.opacity})}return g};function Qq(){return{geojson:aV.makeBlank(),layout:{visibility:\"none\"},paint:{}}}function $q(t){return ne.isArrayOrTypedArray(t)?function(t){return t}:t?function(){return t}:tH}function tH(){return\"\"}function eH(t){return t[0]===Jq}function rH(t,e){this.subplot=t,this.uid=e,this.sourceIds={fill:e+\"-source-fill\",line:e+\"-source-line\",circle:e+\"-source-circle\",symbol:e+\"-source-symbol\"},this.layerIds={fill:e+\"-layer-fill\",line:e+\"-layer-line\",circle:e+\"-layer-circle\",symbol:e+\"-layer-symbol\"},this.order=[\"fill\",\"line\",\"circle\",\"symbol\"]}var nH=rH.prototype;nH.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:\"geojson\",data:e.geojson})},nH.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},nH.addLayer=function(t,e){this.subplot.map.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint})},nH.update=function(t){for(var e=this.subplot,r=Kq(t),n=0;n<this.order.length;n++){var i=this.order[n],a=r[i];e.setOptions(this.layerIds[i],\"setLayoutProperty\",a.layout),\"visible\"===a.layout.visibility&&(this.setSourceData(i,a),e.setOptions(this.layerIds[i],\"setPaintProperty\",a.paint))}t[0].trace._glTrace=this},nH.dispose=function(){for(var t=this.subplot.map,e=0;e<this.order.length;e++){var r=this.order[e];t.removeLayer(this.layerIds[r]),t.removeSource(this.sourceIds[r])}};var iH={};iH.attributes=Xq,iH.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,Xq,r,n)}if(function(t,e,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return e._length=a,a}(0,e,i)){if(i(\"text\"),i(\"hovertext\"),i(\"mode\"),Tr.hasLines(e)&&(px(t,e,r,n,i,{noDash:!0}),i(\"connectgaps\")),Tr.hasMarkers(e)){gx(t,e,r,n,i,{noLine:!0});var a=e.marker;a.line={width:0},\"circle\"!==a.symbol&&(ne.isArrayOrTypedArray(a.size)&&(a.size=a.size[0]),ne.isArrayOrTypedArray(a.color)&&(a.color=a.color[0]))}Tr.hasText(e)&&vx(0,0,n,i,{noSelect:!0}),i(\"fill\"),\"none\"!==e.fill&&hx(0,e,r,i),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},iH.colorbar=is,iH.calc=nV,iH.plot=function(t,e){for(var r=new rH(t,e[0].trace.uid),n=Kq(e),i=0;i<r.order.length;i++){var a=r.order[i],o=n[a];r.addSource(a,o),r.addLayer(a,o)}return e[0].trace._glTrace=r,r},iH.hoverPoints=function(t,e,r){var n=t.cd,i=n[0].trace,a=t.xa,o=t.ya,s=t.subplot,l=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),u=e-l;if(yo.getClosest(n,function(t){var e=t.lonlat;if(e[0]===Zq)return 1/0;var n=ne.wrap180(e[0]),i=e[1],l=s.project([n,i]),c=l.x-a.c2p([u,i]),h=l.y-o.c2p([n,r]),f=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(c*c+h*h)-f,1-3/f)},t),!1!==t.index){var c=n[t.index],h=c.lonlat,f=[ne.wrap180(h[0])+l,h[1]],p=a.c2p(f),d=o.c2p(f),g=c.mrc||1;return t.x0=p-g,t.x1=p+g,t.y0=d-g,t.y1=d+g,t.color=mx(i,c),t.extraText=function(t,e,r){var n=(e.hi||t.hoverinfo).split(\"+\"),i=-1!==n.indexOf(\"all\"),a=-1!==n.indexOf(\"lon\"),o=-1!==n.indexOf(\"lat\"),s=e.lonlat,l=[];function u(t){return t+\"\\xb0\"}return i||a&&o?l.push(\"(\"+u(s[0])+\", \"+u(s[1])+\")\"):a?l.push(r.lon+u(s[0])):o&&l.push(r.lat+u(s[1])),(i||-1!==n.indexOf(\"text\"))&&xo(e,t,l),l.join(\"<br>\")}(i,c,n[0].t.labels),[t]}},iH.eventData=function(t,e){return t.lon=e.lon,t.lat=e.lat,t},iH.selectPoints=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace;if(!Tr.hasMarkers(s))return[];if(!1===e)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var l=n[r],u=l.lonlat,c=[ne.wrap180(u[0]),u[1]],h=[i.c2p(c),a.c2p(c)];e.contains(h)?(o.push({pointNumber:r,lon:u[0],lat:u[1]}),l.selected=1):l.selected=0}return o},iH.style=function(t,e){e&&e[0].trace._glTrace.update(e)},iH.moduleType=\"trace\",iH.name=\"scattermapbox\",iH.basePlotModule=Vq,iH.categories=[\"mapbox\",\"gl\",\"symbols\",\"markerColorscale\",\"showLegend\",\"scatterlike\"],iH.meta={};var aH=iH,oH={attr:\"subplot\",name:\"polar\",axisNames:[\"angularaxis\",\"radialaxis\"],axisName2dataArray:{angularaxis:\"theta\",radialaxis:\"r\"},layerNames:[\"draglayer\",\"plotbg\",\"backplot\",\"angular-grid\",\"radial-grid\",\"frontplot\",\"angular-axis\",\"radial-axis\",\"angular-line\",\"radial-line\"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20},sH=qc.attributes,lH=ne.extendFlat,uH=ye.overrideAll,cH=uH({color:Ce.color,showline:lH({},Ce.showline,{dflt:!0}),linecolor:Ce.linecolor,linewidth:Ce.linewidth,showgrid:lH({},Ce.showgrid,{dflt:!0}),gridcolor:Ce.gridcolor,gridwidth:Ce.gridwidth},\"plot\",\"from-root\"),hH=uH({tickmode:Ce.tickmode,nticks:Ce.nticks,tick0:Ce.tick0,dtick:Ce.dtick,tickvals:Ce.tickvals,ticktext:Ce.ticktext,ticks:Ce.ticks,ticklen:Ce.ticklen,tickwidth:Ce.tickwidth,tickcolor:Ce.tickcolor,showticklabels:Ce.showticklabels,showtickprefix:Ce.showtickprefix,tickprefix:Ce.tickprefix,showticksuffix:Ce.showticksuffix,ticksuffix:Ce.ticksuffix,showexponent:Ce.showexponent,exponentformat:Ce.exponentformat,separatethousands:Ce.separatethousands,tickfont:Ce.tickfont,tickangle:Ce.tickangle,tickformat:Ce.tickformat,tickformatstops:Ce.tickformatstops,layer:Ce.layer},\"plot\",\"from-root\"),fH={visible:lH({},Ce.visible,{dflt:!0}),type:Ce.type,autorange:Ce.autorange,rangemode:{valType:\"enumerated\",values:[\"tozero\",\"nonnegative\",\"normal\"],dflt:\"tozero\",editType:\"calc\"},range:Ce.range,categoryorder:Ce.categoryorder,categoryarray:Ce.categoryarray,angle:{valType:\"angle\",editType:\"plot\"},side:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"clockwise\",editType:\"plot\"},title:lH({},Ce.title,{editType:\"plot\",dflt:\"\"}),titlefont:uH(Ce.titlefont,\"plot\",\"from-root\"),hoverformat:Ce.hoverformat,editType:\"calc\"};lH(fH,cH,hH);var pH={visible:lH({},Ce.visible,{dflt:!0}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"category\"],dflt:\"-\",editType:\"calc\"},categoryorder:Ce.categoryorder,categoryarray:Ce.categoryarray,thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\"],dflt:\"degrees\",editType:\"calc\"},period:{valType:\"number\",editType:\"calc\",min:0},direction:{valType:\"enumerated\",values:[\"counterclockwise\",\"clockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"angle\",editType:\"calc\"},hoverformat:Ce.hoverformat,editType:\"calc\"};lH(pH,cH,hH);var dH={domain:sH({name:\"polar\",editType:\"plot\"}),sector:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],dflt:[0,360],editType:\"plot\"},bgcolor:{valType:\"color\",editType:\"plot\",dflt:C.background},radialaxis:fH,angularaxis:pH,editType:\"calc\"},gH={};gH.setConvertAngular=function(t){var e,r,n={clockwise:-1,counterclockwise:1}[t.direction],i=ne.deg2rad(t.rotation);function a(){return t.period?Math.max(t.period,t._categories.length):t._categories.length}function o(t){return(t-i)/n}\"linear\"===t.type?(e=function(t,e){return\"degrees\"===e?ne.deg2rad(t):t},r=function(t,e){return\"degrees\"===e?ne.rad2deg(t):t}):\"category\"===t.type&&(e=function(t){var e=a();return 2*t*Math.PI/e},r=function(t){return t*a()/Math.PI/2}),t.unTransformRad=o,t._c2rad=e,t.c2rad=function(t,r){return function(t){return n*t+i}(e(t,r))},t.rad2c=function(t,e){return r(o(t),e)},t.c2deg=function(e,r){return ne.rad2deg(t.c2rad(e,r))},t.deg2c=function(e,r){return t.rad2c(ne.deg2rad(e),r)}};var vH=sa.getSubplotData,mH=gH.setConvertAngular,yH=oH.axisNames;function xH(t,e,r,n){var i=r(\"bgcolor\");n.bgColor=Oe.combine(i,n.paper_bgcolor);var a,o=r(\"sector\"),s=vH(n.fullData,oH.name,n.id),l=n.layoutOut;function u(t,e){return r(a+\".\"+t,e)}for(var c=0;c<yH.length;c++){a=yH[c],ne.isPlainObject(t[a])||(t[a]={});var h=t[a],f=e[a]={};f._id=f._name=a;var p=oH.axisName2dataArray[a],d=bH(h,f,u,s,p);Wi(h,f,u),f._initialCategories=\"category\"===d?Ki(p,f.categoryorder,f.categoryarray,s):[];var g,v,m=u(\"visible\");switch(ei(f,l),m&&(v=(g=u(\"color\"))===h.color?g:n.font.color),f._m=1,a){case\"radialaxis\":var y=u(\"autorange\",!f.isValidRange(h.range));h.autorange=y,y&&u(\"rangemode\"),\"reversed\"===y&&(f._m=-1),u(\"range\"),f.cleanRange(\"range\",{dfltRange:[0,1]}),m&&(u(\"side\"),u(\"angle\",o[0]),u(\"title\"),ne.coerceFont(u,\"titlefont\",{family:n.font.family,size:Math.round(1.2*n.font.size),color:v}));break;case\"angularaxis\":if(\"date\"===d){ne.log(\"Polar plots do not support date angular axes yet.\");for(var x=0;x<s.length;x++)s[x].visible=!1;d=h.type=f.type=\"linear\"}u(\"linear\"===d?\"thetaunit\":\"period\"),u(\"rotation\",{counterclockwise:0,clockwise:90}[u(\"direction\")]),mH(f)}if(m)Ge(h,f,u,f.type),Ue(h,f,u,f.type,{tickSuffixDflt:\"degrees\"===f.thetaunit?\"\\xb0\":void 0}),qe(h,f,u,{outerTicks:!0}),u(\"showticklabels\")&&(ne.coerceFont(u,\"tickfont\",{family:n.font.family,size:n.font.size,color:v}),u(\"tickangle\"),u(\"tickformat\")),Zi(h,f,u,{dfltColor:g,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:dH[a]}),u(\"layer\");\"category\"!==d&&u(\"hoverformat\"),f._input=h}}function bH(t,e,r,n,i){if(\"-\"===r(\"type\")){for(var a,o=0;o<n.length;o++)if(n[o].visible){a=n[o];break}a&&(e.type=Yn(a[i],\"gregorian\")),\"-\"===e.type?e.type=\"linear\":t.type=e.type}return e.type}var _H=Nn,wH=Qe.MID_SHIFT,MH=ne._,AH=ne.deg2rad,kH=ne.rad2deg,TH=ne.wrap360,SH=ne.wrap180,EH=gH.setConvertAngular;function CH(t,e){this.id=e,this.gd=t,this._hasClipOnAxisFalse=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var r=t._fullLayout,n=\"clip\"+r._uid+e;this.clipIds.circle=n+\"-circle\",this.clipPaths.circle=r._clips.append(\"clipPath\").attr(\"id\",this.clipIds.circle),this.clipPaths.circle.append(\"path\"),this.framework=r._polarlayer.append(\"g\").attr(\"class\",e),this.radialTickLayout=null,this.angularTickLayout=null}var LH=CH.prototype,zH=function(t,e){return new CH(t,e)};function PH(t,e,r){ri.setConvert(t,r),t._min=e._min,t._max=e._max,t.setScale()}function IH(t){var e=t.ticks+String(t.ticklen)+String(t.showticklabels);return\"side\"in t&&(e+=t.side),e}function DH(t,e){if(RH(e))return Sr.symbolFuncs[0](t);var r=t*Math.cos(AH(e[0])),n=-t*Math.sin(AH(e[0])),i=t*Math.cos(AH(e[1])),a=-t*Math.sin(AH(e[1]));return\"M\"+[r,n]+\"A\"+[t,t]+\" \"+(Math.abs(e[1]-e[0])<=180?[0,0,0]:[0,1,0])+\" \"+[i,a]}function OH(t,e){return DH(t,e)+(RH(e)?\"\":\"L0,0Z\")}function RH(t){return 360===Math.abs(t[1]-t[0])}function FH(t,e,r){return e?(t.attr(\"display\",null),t.attr(r)):t&&t.attr(\"display\",\"none\"),t}function BH(t,e){return\"translate(\"+t+\",\"+e+\")\"}function NH(t){return\"rotate(\"+t+\")\"}function jH(t){return Math.abs(t)<1e-10?0:t>0?1:-1}function VH(t){return jH(Math.cos(t))}function UH(t){return jH(Math.sin(t))}LH.plot=function(t,e){var r=e[this.id];this._hasClipOnAxisFalse=!1;for(var n=0;n<t.length;n++){if(!1===t[n][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(e,r),this.updateLayout(e,r),_n.generalUpdatePerTraceModule(this.gd,this,t,r),this.updateFx(e,r)},LH.updateLayers=function(t,r){var n=this.layers,i=r.radialaxis,a=r.angularaxis,o=oH.layerNames,s=o.indexOf(\"frontplot\"),l=o.slice(0,s),u=\"below traces\"===a.layer,c=\"below traces\"===i.layer;u&&l.push(\"angular-axis\"),c&&l.push(\"radial-axis\"),u&&l.push(\"angular-line\"),c&&l.push(\"radial-line\"),l.push(\"frontplot\"),u||l.push(\"angular-axis\"),c||l.push(\"radial-axis\"),u||l.push(\"angular-line\"),c||l.push(\"radial-line\");var h=this.framework.selectAll(\".polarsublayer\").data(l,String);h.enter().append(\"g\").attr(\"class\",function(t){return\"polarsublayer \"+t}).each(function(t){var r=n[t]=e.select(this);switch(t){case\"frontplot\":r.append(\"g\").classed(\"scatterlayer\",!0);break;case\"backplot\":r.append(\"g\").classed(\"maplayer\",!0);break;case\"plotbg\":n.bgcircle=r.append(\"path\");break;case\"radial-grid\":r.style(\"fill\",\"none\"),r.append(\"g\").classed(\"x\",1);break;case\"angular-grid\":r.style(\"fill\",\"none\"),r.append(\"g\").classed(\"angular\",1);break;case\"radial-line\":r.append(\"line\").style(\"fill\",\"none\");break;case\"angular-line\":r.append(\"path\").style(\"fill\",\"none\")}}),h.order()},LH.updateLayout=function(t,e){var r=this,n=r.layers,i=t._size,a=e.domain.x,o=e.domain.y;r.xOffset=i.l+i.w*a[0],r.yOffset=i.t+i.h*(1-o[1]);var s,l,u,c,h,f=r.xLength=i.w*(a[1]-a[0]),p=r.yLength=i.h*(o[1]-o[0]),d=r.sector=e.sector,g=r.sectorBBox=function(t){var e,r,n,i,a=t[0],o=t[1]-a,s=TH(a),l=s+o,u=Math.cos(AH(s)),c=Math.sin(AH(s)),h=Math.cos(AH(l)),f=Math.sin(AH(l));i=s<=90&&l>=90||s>90&&l>=450?1:c<=0&&f<=0?0:Math.max(c,f);e=s<=180&&l>=180||s>180&&l>=540?-1:u>=0&&h>=0?0:Math.min(u,h);r=s<=270&&l>=270||s>270&&l>=630?-1:c>=0&&f>=0?0:Math.min(c,f);n=l>=360?1:u<=0&&h<=0?0:Math.max(u,h);return[e,r,n,i]}(d),v=g[2]-g[0],m=g[3]-g[1],y=p/f,x=Math.abs(m/v);y>x?(s=f,h=(p-(l=f*x))/i.h/2,u=[a[0],a[1]],c=[o[0]+h,o[1]-h]):(l=p,h=(f-(s=p/x))/i.w/2,u=[a[0]+h,a[1]-h],c=[o[0],o[1]]),r.xLength2=s,r.yLength2=l,r.xDomain2=u,r.yDomain2=c;var b=r.xOffset2=i.l+i.w*u[0],_=r.yOffset2=i.t+i.h*(1-c[1]),w=r.radius=s/v,M=r.cx=b-w*g[0],A=r.cy=_+w*g[3],k=r.cxx=M-b,T=r.cyy=A-_;r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.updateAngularAxis(t,e);var S=r.radialAxis.range,E=S[1]-S[0],C=r.xaxis={type:\"linear\",_id:\"x\",range:[g[0]*E,g[2]*E],domain:u};ri.setConvert(C,t),C.setScale();var L=r.yaxis={type:\"linear\",_id:\"y\",range:[g[1]*E,g[3]*E],domain:c};ri.setConvert(L,t),L.setScale(),C.isPtWithinRange=function(t){return r.isPtWithinSector(t)},L.isPtWithinRange=function(){return!0},n.frontplot.attr(\"transform\",BH(b,_)).call(Sr.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.circle),n.bgcircle.attr({d:OH(w,d),transform:BH(M,A)}).call(Oe.fill,e.bgcolor),r.clipPaths.circle.select(\"path\").attr(\"d\",OH(w,d)).attr(\"transform\",BH(k,T)),r.framework.selectAll(\".crisp\").classed(\"crisp\",0)},LH.updateRadialAxis=function(t,e){var r=this.gd,n=this.layers,i=this.radius,a=this.cx,o=this.cy,s=t._size,l=e.radialaxis,u=e.sector,c=TH(u[0]);this.fillViewInitialKey(\"radialaxis.angle\",l.angle);var h=this.radialAxis=ne.extendFlat({},l,{_axislayer:n[\"radial-axis\"],_gridlayer:n[\"radial-grid\"],_id:\"x\",_pos:0,side:{counterclockwise:\"top\",clockwise:\"bottom\"}[l.side],domain:[0,i/s.w],anchor:\"free\",position:0,_counteraxis:!0,automargin:!1});PH(h,l,t),_H(h),l.range=h.range.slice(),l._input.range=h.range.slice(),this.fillViewInitialKey(\"radialaxis.range\",h.range.slice()),\"auto\"===h.tickangle&&c>90&&c<=270&&(h.tickangle=180),h._transfn=function(t){return\"translate(\"+h.l2p(t.x)+\",0)\"},h._gridpath=function(t){return DH(h.r2p(t.x),u)};var f=IH(l);this.radialTickLayout!==f&&(n[\"radial-axis\"].selectAll(\".xtick\").remove(),this.radialTickLayout=f),ri.doTicks(r,h,!0),FH(n[\"radial-axis\"],l.showticklabels||l.ticks,{transform:BH(a,o)+NH(-l.angle)}),FH(n[\"radial-grid\"],l.showgrid,{transform:BH(a,o)}).selectAll(\"path\").attr(\"transform\",null),FH(n[\"radial-line\"].select(\"line\"),l.showline,{x1:0,y1:0,x2:i,y2:0,transform:BH(a,o)+NH(-l.angle)}).attr(\"stroke-width\",l.linewidth).call(Oe.stroke,l.linecolor)},LH.updateRadialAxisTitle=function(t,e,r){var n=this.gd,i=this.radius,a=this.cx,o=this.cy,s=e.radialaxis,l=this.id+\"title\",u=void 0!==r?r:s.angle,c=AH(u),h=Math.cos(c),f=Math.sin(c),p=0;if(s.title){var d=Sr.bBox(this.layers[\"radial-axis\"].node()).height,g=s.titlefont.size;p=\"counterclockwise\"===s.side?-d-.4*g:d+.8*g}this.layers[\"radial-axis-title\"]=Dn.draw(n,l,{propContainer:s,propName:this.id+\".radialaxis.title\",placeholder:MH(n,\"Click to enter radial axis title\"),attributes:{x:a+i/2*h+p*f,y:o-i/2*f+p*h,\"text-anchor\":\"middle\"},transform:{rotate:-u}})},LH.updateAngularAxis=function(t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.cx,l=n.cy,u=r.angularaxis,c=r.sector,h=c.map(AH);n.fillViewInitialKey(\"angularaxis.rotation\",u.rotation);var f=n.angularAxis=ne.extendFlat({},u,{_axislayer:a[\"angular-axis\"],_gridlayer:a[\"angular-grid\"],_id:\"angular\",_pos:0,side:\"right\",domain:[0,Math.PI],anchor:\"free\",position:0,_counteraxis:!0,automargin:!1,autorange:!1});if(\"linear\"===f.type)RH(c)?f.range=c.slice():f.range=h.map(f.unTransformRad).map(kH),\"radians\"===f.thetaunit&&(f.tick0=kH(f.tick0),f.dtick=kH(f.dtick));else if(\"category\"===f.type){var p=u.period?Math.max(u.period,u._categories.length):u._categories.length;f.range=[0,p],f._tickFilter=function(t){return n.isPtWithinSector({r:n.radialAxis.range[1],rad:f.c2rad(t.x)})}}function d(t){return f.c2rad(t.x,\"degrees\")}function g(t){return[o*Math.cos(t),o*Math.sin(t)]}PH(f,u,t),f._transfn=function(t){var r=d(t),n=g(r),i=BH(s+n[0],l-n[1]),a=e.select(this);return a&&a.node()&&a.classed(\"ticks\")&&(i+=NH(-kH(r))),i},f._gridpath=function(t){var e=g(d(t));return\"M0,0L\"+-e[0]+\",\"+e[1]};var v=\"outside\"!==u.ticks?.7:.5;f._labelx=function(t){var e=d(t),r=f._labelStandoff,n=f._pad;return(0===UH(e)?0:Math.cos(e)*(r+n+v*t.fontSize))+VH(e)*(t.dx+r+n)},f._labely=function(t){var e=d(t),r=f._labelStandoff,n=f._labelShift,i=f._pad;return t.dy+t.fontSize*wH-n+-Math.sin(e)*(r+i+v*t.fontSize)},f._labelanchor=function(t,e){var r=d(e);return 0===UH(r)?VH(r)>0?\"start\":\"end\":\"middle\"};var m=IH(u);n.angularTickLayout!==m&&(a[\"angular-axis\"].selectAll(\".angulartick\").remove(),n.angularTickLayout=m),ri.doTicks(i,f,!0),FH(a[\"angular-line\"].select(\"path\"),u.showline,{d:OH(o,c),transform:BH(s,l)}).attr(\"stroke-width\",u.linewidth).call(Oe.stroke,u.linecolor)},LH.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t,e),this.updateRadialDrag(t,e),this.updateMainDrag(t,e))},LH.updateMainDrag=function(t,r){var n=this,i=n.gd,a=n.layers,o=t._zoomlayer,l=oH.MINZOOM,u=oH.OFFEDGE,c=n.radius,h=n.cx,f=n.cy,p=n.cxx,d=n.cyy,g=r.sector,v=Bm.makeDragger(a,\"path\",\"maindrag\",\"crosshair\");e.select(v).attr(\"d\",OH(c,g)).attr(\"transform\",BH(h,f));var m,y,x,b,_,w,M,A,k,T={element:v,gd:i,subplot:n.id,plotinfo:{xaxis:n.xaxis,yaxis:n.yaxis},xaxes:[n.xaxis],yaxes:[n.yaxis]};function S(t,e){var r=t-p,n=e-d;return Math.sqrt(r*r+n*n)}function E(t,e){return Math.atan2(d-e,t-p)}function C(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function L(t,e){var r=oH.cornerLen,n=oH.cornerHalfWidth;if(0===t)return OH(2*n,g);var i=r/t/2,a=e-i,o=e+i,s=Math.max(0,Math.min(t,c)),l=s-n,u=s+n;return\"M\"+C(l,a)+\"A\"+[l,l]+\" 0,0,0 \"+C(l,o)+\"L\"+C(u,o)+\"A\"+[u,u]+\" 0,0,1 \"+C(u,a)+\"Z\"}function z(t,e){var r,n,i=m+t,a=y+e,o=S(m,y),s=Math.min(S(i,a),c),h=E(m,y),f=E(i,a);o<u?o=0:c-o<u?o=c:s<u?s=0:c-s<u&&(s=c),Math.abs(s-o)>l?(o<s?(x=o,b=s):(x=s,b=o,f=[h,h=f][0]),r=_+OH(b,g)+OH(x,g),n=L(x,h)+L(b,f)):(x=null,b=null,r=_,n=\"M0,0Z\"),A.attr(\"d\",r),k.attr(\"d\",n),Bm.transitionZoombox(A,k,w,M),w=!0}function I(){if(Bm.removeZoombox(i),null!==x&&null!==b){Bm.showDoubleClickNotifier(i);var t=n.radialAxis.range,e=t[1]-t[0],r={};r[n.id+\".radialaxis.range\"]=[t[0]+x*e/c,t[0]+b*e/c],P.call(\"relayout\",i,r)}}T.prepFn=function(t,e,r){var a=i._fullLayout.dragmode,l=v.getBoundingClientRect();switch(m=e-l.left,y=r-l.top,a){case\"zoom\":T.moveFn=z,T.doneFn=I,function(){x=null,b=null,_=OH(c,g),w=!1;var t=i._fullLayout[n.id];M=s(t.bgcolor).getLuminance(),(A=Bm.makeZoombox(o,M,h,f,_)).attr(\"fill-rule\",\"evenodd\"),k=Bm.makeCorners(o,h,f),Bm.clearSelect(o)}();break;case\"select\":case\"lasso\":_c(t,e,r,T,a)}},T.clickFn=function(t,e){if(Bm.removeZoombox(i),2===t){var r={};for(var a in n.viewInitial)r[n.id+\".\"+a]=n.viewInitial[a];i.emit(\"plotly_doubleclick\",null),P.call(\"relayout\",i,r)}yo.click(i,e,n.id)},v.onmousemove=function(t){yo.hover(i,t,n.id),i._fullLayout._lasthover=v,i._fullLayout._hoversubplot=n.id},v.onmouseout=function(t){i._dragging||Ua.unhover(i,t)},Ua.init(T)},LH.updateRadialDrag=function(t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.cx,l=n.cy,u=n.radialAxis,c=r.radialaxis,h=AH(c.angle),f=u.range.slice(),p=f[1]-f[0],d=oH.radialDragBoxSize,g=d/2;if(c.visible){var v,m,y,x=Bm.makeRectDragger(a,\"radialdrag\",\"crosshair\",-g,-g,d,d),b={element:x,gd:i},_=s+(o+g)*Math.cos(h),w=l-(o+g)*Math.sin(h);e.select(x).attr(\"transform\",BH(_,w)),b.prepFn=function(){v=null,m=null,y=null,b.moveFn=M,b.doneFn=A,Bm.clearSelect(t._zoomlayer)},b.clampFn=function(t,e){return Math.sqrt(t*t+e*e)<oH.MINDRAG&&(t=0,e=0),[t,e]},Ua.init(b)}function M(t,e){if(v)v(t,e);else{var r=[t,-e],n=[Math.cos(h),Math.sin(h)],i=Math.abs(ne.dot(r,n)/Math.sqrt(ne.dot(r,r)));isNaN(i)||(v=i<.5?k:T)}}function A(){null!==m?P.call(\"relayout\",i,n.id+\".radialaxis.angle\",m):null!==y&&P.call(\"relayout\",i,n.id+\".radialaxis.range[1]\",y)}function k(t,e){var r=_+t,i=w+e;m=kH(Math.atan2(l-i,r-s));var o=BH(s,l)+NH(-m);a[\"radial-axis\"].attr(\"transform\",o),a[\"radial-line\"].select(\"line\").attr(\"transform\",o);var u=n.gd._fullLayout,c=u[n.id];n.updateRadialAxisTitle(u,c,m)}function T(t,e){var r=ne.dot([t,-e],[Math.cos(h),Math.sin(h)]),c=f[1]-p*r/o*.75;if(p>0==c>f[0]){y=u.range[1]=c,ri.doTicks(i,n.radialAxis,!0),a[\"radial-grid\"].attr(\"transform\",BH(s,l)).selectAll(\"path\").attr(\"transform\",null);var d=y-f[0],g=n.sectorBBox;for(var v in n.xaxis.range=[g[0]*d,g[2]*d],n.yaxis.range=[g[1]*d,g[3]*d],n.xaxis.setScale(),n.yaxis.setScale(),n.traceHash){var m=n.traceHash[v],x=ne.filterVisible(m),b=m[0][0].trace._module,_=i._fullLayout[n.id];if(b.plot(i,n,x,_),!P.traceIs(v,\"gl\"))for(var w=0;w<x.length;w++)b.style(i,x[w])}}}},LH.updateAngularDrag=function(t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.cx,l=n.cy,u=n.cxx,c=n.cyy,h=r.sector,f=oH.angularDragBoxSize,p=Bm.makeDragger(a,\"path\",\"angulardrag\",\"move\"),d={element:p,gd:i};function g(t,e){return Math.atan2(c+f-e,t-u-f)}e.select(p).attr(\"d\",function(t,e,r){var n,i,a,o=Math.abs(r[1]-r[0])<=180?0:1;function s(t,e){return[t*Math.cos(e),-t*Math.sin(e)]}function l(t,e,r){return\"A\"+[t,t]+\" \"+[0,o,r]+\" \"+s(t,e)}return RH(r)?(n=0,a=2*Math.PI,i=Math.PI,\"M\"+s(t,n)+l(t,i,0)+l(t,a,0)+\"ZM\"+s(e,n)+l(e,i,1)+l(e,a,1)+\"Z\"):(n=AH(r[0]),a=AH(r[1]),\"M\"+s(t,n)+\"L\"+s(e,n)+l(e,a,0)+\"L\"+s(t,a)+l(t,n,1)+\"Z\")}(o,o+f,h)).attr(\"transform\",BH(s,l)).call(Ka,\"move\");var v,m,y,x,b,_,w=a.frontplot.select(\".scatterlayer\").selectAll(\".trace\"),M=w.selectAll(\".point\"),A=w.selectAll(\".textpoint\");function k(t,r){var o=g(v+t,m+r),s=kH(o-_);x=y+s,a.frontplot.attr(\"transform\",BH(n.xOffset2,n.yOffset2)+NH([-s,u,c])),n.clipPaths.circle.select(\"path\").attr(\"transform\",BH(u,c)+NH(s)),M.each(function(){var t=e.select(this),r=Sr.getTranslate(t);t.attr(\"transform\",BH(r.x,r.y)+NH([s]))}),A.each(function(){var t=e.select(this),r=t.select(\"text\"),n=Sr.getTranslate(t);t.attr(\"transform\",NH([s,r.attr(\"x\"),r.attr(\"y\")])+BH(n.x,n.y))});var l=n.angularAxis;for(var f in l.rotation=SH(x),\"linear\"!==l.type||RH(h)||(l.range=b.map(AH).map(l.unTransformRad).map(kH)),EH(l),ri.doTicks(i,l,!0),n._hasClipOnAxisFalse&&!RH(h)&&(n.sector=[b[0]-s,b[1]-s],w.call(Sr.hideOutsideRangePoints,n)),n.traceHash)if(P.traceIs(f,\"gl\")){var p=n.traceHash[f],d=ne.filterVisible(p),k=p[0][0].trace._module,T=i._fullLayout[n.id];k.plot(i,n,d,T)}}function T(){A.select(\"text\").attr(\"transform\",null);var t={};t[n.id+\".angularaxis.rotation\"]=x,P.call(\"relayout\",i,t)}d.prepFn=function(e,r,i){var a=t[n.id];b=a.sector.slice(),y=a.angularaxis.rotation;var o=p.getBoundingClientRect();v=r-o.left,m=i-o.top,_=g(v,m),d.moveFn=k,d.doneFn=T,Bm.clearSelect(t._zoomlayer)},Ua.init(d)},LH.isPtWithinSector=function(t){var e=this.sector,r=this.radialAxis,n=r.range,i=r.c2r(t.r),a=TH(e[0]),o=TH(e[1]);a>o&&(o+=360);var s,l,u=TH(kH(t.rad)),c=u+360;return n[1]>=n[0]?(s=n[0],l=n[1]):(s=n[1],l=n[0]),i>=s&&i<=l&&(RH(e)||u>=a&&u<=o||c>=a&&c<=o)},LH.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)};var qH=sa.getSubplotCalcData,HH=ne.counterRegex,GH=oH.attr,WH=oH.name,YH=HH(WH),XH={};XH[GH]={valType:\"subplotid\",dflt:WH,editType:\"calc\"};var ZH={attr:GH,name:WH,idRoot:WH,idRegex:YH,attrRegex:YH,attributes:XH,layoutAttributes:dH,supplyLayoutDefaults:function(t,e,r){Jc(t,e,0,{type:oH.name,attributes:dH,handleDefaults:xH,font:e.font,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})},plot:function(t){for(var e=t._fullLayout,r=t.calcdata,n=e._subplots[WH],i=0;i<n.length;i++){var a=n[i],o=qH(r,WH,a),s=e[a]._subplot;s||(s=zH(t,a),e[a]._subplot=s),s.plot(o,e,t._promises)}},clean:function(t,e,r,n){for(var i=n._subplots[WH]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;if(!e[o]&&s)for(var l in s.framework.remove(),s.layers[\"radial-axis-title\"].remove(),s.clipPaths)s.clipPaths[l].remove()}},toSVG:ua.toSVG},JH=m.extendFlat,KH=Zr.line,QH={mode:Zr.mode,r:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},theta:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\",\"gradians\"],dflt:\"degrees\",editType:\"calc+clearAxisTypes\"},text:Zr.text,hovertext:Zr.hovertext,line:{color:KH.color,width:KH.width,dash:KH.dash,shape:JH({},KH.shape,{values:[\"linear\",\"spline\"]}),smoothing:KH.smoothing,editType:\"calc\"},connectgaps:Zr.connectgaps,marker:Zr.marker,cliponaxis:JH({},Zr.cliponaxis,{dflt:!1}),textposition:Zr.textposition,textfont:Zr.textfont,fill:JH({},Zr.fill,{values:[\"none\",\"toself\",\"tonext\"]}),fillcolor:Zr.fillcolor,hoverinfo:JH({},E.hoverinfo,{flags:[\"r\",\"theta\",\"text\",\"name\"]}),hoveron:Zr.hoveron,selected:Zr.selected,unselected:Zr.unselected},$H=t.BADNUM,tG=sx,eG=Wr.PTS_LINESONLY;function rG(t,e,r){var n=r.radialAxis,i=r.angularAxis,a=(t.hi||e.hoverinfo).split(\"+\"),o=[];n._hovertitle=\"r\",i._hovertitle=\"\\u03b8\";var s,l=i._c2rad(t.theta,e.thetaunit);function u(t,e){o.push(t._hovertitle+\": \"+ri.tickText(t,e,\"hover\").text)}return s=\"linear\"===i.type&&e.thetaunit!==i.thetaunit?\"degrees\"===i.thetaunit?ne.rad2deg(l):l:t.theta,-1!==a.indexOf(\"all\")&&(a=[\"r\",\"theta\"]),-1!==a.indexOf(\"r\")&&u(n,n.c2r(t.r)),-1!==a.indexOf(\"theta\")&&u(i,s),o.join(\"<br>\")}var nG={hoverPoints:function(t,e,r,n){var i=yx(t,e,r,n);if(i&&!1!==i[0].index){var a=i[0];if(void 0===a.index)return i;var o=t.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtWithinSector(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,a.extraText=rG(s,l,o),i}},makeHoverPointText:rG},iG=t.BADNUM,aG={moduleType:\"trace\",name:\"scatterpolar\",basePlotModule:ZH,categories:[\"polar\",\"symbols\",\"markerColorscale\",\"showLegend\",\"scatter-like\"],attributes:QH,supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,QH,r,n)}var a=i(\"r\"),o=i(\"theta\"),s=a&&o?Math.min(a.length,o.length):0;if(s){e._length=s,i(\"thetaunit\"),i(\"mode\",s<eG?\"lines+markers\":\"lines\"),i(\"text\"),i(\"hovertext\"),Tr.hasLines(e)&&(px(t,e,r,n,i),dx(0,0,i),i(\"connectgaps\")),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{gradient:!0}),Tr.hasText(e)&&vx(0,0,n,i);var l=[];(Tr.hasMarkers(e)||Tr.hasText(e))&&(i(\"cliponaxis\"),i(\"marker.maxdisplayed\"),l.push(\"points\")),i(\"fill\"),\"none\"!==e.fill&&(hx(0,e,r,i),Tr.hasLines(e)||dx(0,0,i)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||l.push(\"fills\"),i(\"hoveron\",l.join(\"+\")||\"points\"),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},calc:function(t,e){var n,i=t._fullLayout,a=e.subplot,o=i[a].radialaxis,s=i[a].angularaxis,l=o.makeCalcdata(e,\"r\"),u=s.makeCalcdata(e,\"theta\"),c=e._length,h=new Array(c);for(var f=0;f<c;f++){var p=l[f],d=u[f],g=h[f]={};r(p)&&r(d)?(g.r=p,g.theta=d,g.rad=(n=d,s.c2rad(n,e.thetaunit))):g.r=$H}var v=tG(e,c);return ri.expand(o,l,{ppad:v}),ex(e),dh(h,e),Ma(h,e),h},plot:function(t,e,r){var n,i,a,o={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.circle:null},s=e.radialAxis,l=s.range;for(a=l[0]>l[1]?function(t){return t<=0}:function(t){return t>=0},n=0;n<r.length;n++)for(i=0;i<r[n].length;i++){var u=r[n][i],c=u.r;if(c!==iG){var h=s.c2r(c)-l[0];if(a(h)){var f=u.rad;u.x=h*Math.cos(f),u.y=h*Math.sin(f);continue}u.intoCenter=[e.cxx,e.cyy]}u.x=iG,u.y=iG}kx(t,o,r)},style:Cx.style,hoverPoints:nG.hoverPoints,selectPoints:Sx,meta:{}},oG={mode:QH.mode,r:QH.r,theta:QH.theta,thetaunit:QH.thetaunit,text:QH.text,line:cq.line,connectgaps:cq.connectgaps,marker:cq.marker,fill:cq.fill,fillcolor:cq.fillcolor,hoverinfo:QH.hoverinfo,hoveron:QH.hoveron,selected:QH.selected,unselected:QH.unselected},sG=Wr.PTS_LINESONLY,lG=nG.makeHoverPointText;var uG={moduleType:\"trace\",name:\"scatterpolargl\",basePlotModule:ZH,categories:[\"gl\",\"regl\",\"polar\",\"symbols\",\"markerColorscale\",\"showLegend\",\"scatter-like\"],attributes:oG,supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,oG,r,n)}var a=i(\"r\"),o=i(\"theta\"),s=a&&o?Math.min(a.length,o.length):0;if(s){e._length=s,i(\"thetaunit\"),i(\"mode\",s<sG?\"lines+markers\":\"lines\"),i(\"text\"),Tr.hasLines(e)&&(px(t,e,r,n,i),i(\"connectgaps\"));var l=[];Tr.hasMarkers(e)&&(gx(t,e,r,n,i),l.push(\"points\")),i(\"fill\"),\"none\"!==e.fill&&hx(0,e,r,i),\"tonext\"!==e.fill&&\"toself\"!==e.fill||l.push(\"fills\"),i(\"hoveron\",l.join(\"+\")||\"points\"),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},calc:function(t,e){var r=t._fullLayout,n=e.subplot,i=r[n].radialaxis,a=r[n].angularaxis,o=i.makeCalcdata(e,\"r\"),s=a.makeCalcdata(e,\"theta\"),l={};return e._length<o.length&&(o=o.slice(0,e._length)),e._length<s.length&&(s=s.slice(0,e._length)),ex(e),l.r=o,l.theta=s,ri.expand(i,o,{tozero:!0}),\"linear\"!==a.type&&(a.autorange=!0,ri.expand(a,s),delete a.autorange),[{x:!1,y:!1,t:l,trace:e}]},plot:function(t,e,n){var i=e.radialAxis,a=e.angularAxis,o=i.range,s=yq.sceneUpdate(t,e);return s.clear(),n.forEach(function(l,u){if(l&&l[0]&&l[0].trace){var c,h,f,p,d,g=l[0],v=g.trace,m=g.t,y=m.r,x=m.theta,b=y.slice(),_=x.slice();for(c=0;c<y.length;c++)h=y[c],p=x[c],d=a.c2rad(p,v.thetaunit),e.isPtWithinSector({r:h,rad:d})||(b[c]=NaN,_[c]=NaN);var w,M=y.length,A=new Array(2*M),k=Array(M),T=Array(M);for(c=0;c<M;c++)h=b[c],p=_[c],r(h)&&r(p)&&h>=0?(f=i.c2r(h)-o[0],w=p,d=a.c2rad(w,v.thetaunit),k[c]=A[2*c]=f*Math.cos(d),T[c]=A[2*c+1]=f*Math.sin(d)):k[c]=T[c]=A[2*c]=A[2*c+1]=NaN;var S=yq.sceneOptions(t,e,v,A);S.fill&&!s.fill2d&&(s.fill2d=!0),S.marker&&!s.scatter2d&&(s.scatter2d=!0),S.line&&!s.line2d&&(s.line2d=!0),!S.errorX&&!S.errorY||s.error2d||(s.error2d=!0),Tr.hasMarkers(v)&&(S.selected.positions=S.unselected.positions=S.marker.positions),s.lineOptions.push(S.line),s.errorXOptions.push(S.errorX),s.errorYOptions.push(S.errorY),s.fillOptions.push(S.fill),s.markerOptions.push(S.marker),s.selectedOptions.push(S.selected),s.unselectedOptions.push(S.unselected),s.count=n.length,m.scene=s,m.index=u,m.x=k,m.y=T,m.rawx=k,m.rawy=T,m.r=y,m.theta=x,m.positions=A,m.count=M,m.tree=vV(A,512)}}),yq.plot(t,e,n)},hoverPoints:function(t,e,r,n){var i=t.cd[0].t,a=i.r,o=i.theta,s=yq.hoverPoints(t,e,r,n);if(s&&!1!==s[0].index){var l=s[0];if(void 0===l.index)return s;var u=t.subplot,c=u.angularAxis,h=l.cd[l.index],f=l.trace;if(h.r=a[l.index],h.theta=o[l.index],h.rad=c.c2rad(h.theta,f.thetaunit),u.isPtWithinSector(h))return l.xLabelVal=void 0,l.yLabelVal=void 0,l.extraText=lG(h,f,u),s}},style:yq.style,selectPoints:yq.selectPoints,meta:{}},cG=m.extendFlat,hG={title:Ce.title,titlefont:Ce.titlefont,color:Ce.color,tickmode:Ce.tickmode,nticks:cG({},Ce.nticks,{dflt:6,min:1}),tick0:Ce.tick0,dtick:Ce.dtick,tickvals:Ce.tickvals,ticktext:Ce.ticktext,ticks:Ce.ticks,ticklen:Ce.ticklen,tickwidth:Ce.tickwidth,tickcolor:Ce.tickcolor,showticklabels:Ce.showticklabels,showtickprefix:Ce.showtickprefix,tickprefix:Ce.tickprefix,showticksuffix:Ce.showticksuffix,ticksuffix:Ce.ticksuffix,showexponent:Ce.showexponent,exponentformat:Ce.exponentformat,separatethousands:Ce.separatethousands,tickfont:Ce.tickfont,tickangle:Ce.tickangle,tickformat:Ce.tickformat,tickformatstops:Ce.tickformatstops,hoverformat:Ce.hoverformat,showline:cG({},Ce.showline,{dflt:!0}),linecolor:Ce.linecolor,linewidth:Ce.linewidth,showgrid:cG({},Ce.showgrid,{dflt:!0}),gridcolor:Ce.gridcolor,gridwidth:Ce.gridwidth,layer:Ce.layer,min:{valType:\"number\",dflt:0,min:0}},fG=function(t,e,r){function n(r,n){return ne.coerce(t,e,hG,r,n)}e.type=\"linear\";var i=n(\"color\"),a=i===t.color?i:r.font.color,o=e._name.charAt(0).toUpperCase(),s=\"Component \"+o,l=n(\"title\",s);e._hovertitle=l===s?l:o,ne.coerceFont(n,\"titlefont\",{family:r.font.family,size:Math.round(1.2*r.font.size),color:a}),n(\"min\"),Ge(t,e,n,\"linear\"),Ue(t,e,n,\"linear\",{}),qe(t,e,n,{outerTicks:!0}),n(\"showticklabels\")&&(ne.coerceFont(n,\"tickfont\",{family:r.font.family,size:r.font.size,color:a}),n(\"tickangle\"),n(\"tickformat\")),Zi(t,e,n,{dfltColor:i,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:hG}),n(\"hoverformat\"),n(\"layer\")},pG=qc.attributes,dG=(0,ye.overrideAll)({domain:pG({name:\"ternary\"}),bgcolor:{valType:\"color\",dflt:C.background},sum:{valType:\"number\",dflt:1,min:0},aaxis:hG,baxis:hG,caxis:hG},\"plot\",\"from-root\"),gG=[\"aaxis\",\"baxis\",\"caxis\"];function vG(t,e,r,n){var i,a,o,s=r(\"bgcolor\"),l=r(\"sum\");n.bgColor=Oe.combine(s,n.paper_bgcolor);for(var u=0;u<gG.length;u++)a=t[i=gG[u]]||{},o=e[i]={_name:i,type:\"linear\"},fG(a,o,n);var c=e.aaxis,h=e.baxis,f=e.caxis;c.min+h.min+f.min>=l&&(c.min=0,h.min=0,f.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}var mG=ne._,yG=m.extendFlat;function xG(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e)}var bG=xG,_G=xG.prototype;_G.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},_G.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var i=0;i<t.length;i++){if(!1===t[i][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(r),this.adjustLayout(r,n),_n.generalUpdatePerTraceModule(this.graphDiv,this,t,r),this.layers.plotbg.select(\"path\").call(Oe.fill,r.bgcolor)},_G.makeFramework=function(t){var e=t[this.id],r=this.clipId=\"clip\"+this.layoutId+this.id;this.clipDef=t._clips.selectAll(\"#\"+r).data([0]),this.clipDef.enter().append(\"clipPath\").attr(\"id\",r).append(\"path\").attr(\"d\",\"M0,0Z\");var n=this.clipIdRelative=\"clip-relative\"+this.layoutId+this.id;this.clipDefRelative=t._clips.selectAll(\"#\"+n).data([0]),this.clipDefRelative.enter().append(\"clipPath\").attr(\"id\",n).append(\"path\").attr(\"d\",\"M0,0Z\"),this.plotContainer=this.container.selectAll(\"g.\"+this.id).data([0]),this.plotContainer.enter().append(\"g\").classed(this.id,!0),this.updateLayers(e),Sr.setClipUrl(this.layers.backplot,r),Sr.setClipUrl(this.layers.grids,r)},_G.updateLayers=function(t){var r=this.layers,n=[\"draglayer\",\"plotbg\",\"backplot\",\"grids\"];\"below traces\"===t.aaxis.layer&&n.push(\"aaxis\",\"aline\"),\"below traces\"===t.baxis.layer&&n.push(\"baxis\",\"bline\"),\"below traces\"===t.caxis.layer&&n.push(\"caxis\",\"cline\"),n.push(\"frontplot\"),\"above traces\"===t.aaxis.layer&&n.push(\"aaxis\",\"aline\"),\"above traces\"===t.baxis.layer&&n.push(\"baxis\",\"bline\"),\"above traces\"===t.caxis.layer&&n.push(\"caxis\",\"cline\");var i=this.plotContainer.selectAll(\"g.toplevel\").data(n,String),a=[\"agrid\",\"bgrid\",\"cgrid\"];i.enter().append(\"g\").attr(\"class\",function(t){return\"toplevel \"+t}).each(function(t){var n=e.select(this);r[t]=n,\"frontplot\"===t?n.append(\"g\").classed(\"scatterlayer\",!0):\"backplot\"===t?n.append(\"g\").classed(\"maplayer\",!0):\"plotbg\"===t?n.append(\"path\").attr(\"d\",\"M0,0Z\"):\"aline\"===t||\"bline\"===t||\"cline\"===t?n.append(\"path\"):\"grids\"===t&&a.forEach(function(t){r[t]=n.append(\"g\").classed(\"grid \"+t,!0);var e=\"bgrid\"===t?\"x\":\"y\";r[t].append(\"g\").classed(e,!0)})}),i.order()};var wG=Math.sqrt(4/3);_G.adjustLayout=function(t,e){var r,n,i,a,o,s,l=this,u=t.domain,c=(u.x[0]+u.x[1])/2,h=(u.y[0]+u.y[1])/2,f=u.x[1]-u.x[0],p=u.y[1]-u.y[0],d=f*e.w,g=p*e.h,v=t.sum,m=t.aaxis.min,y=t.baxis.min,x=t.caxis.min;d>wG*g?i=(a=g)*wG:a=(i=d)/wG,o=f*i/d,s=p*a/g,r=e.l+e.w*c-i/2,n=e.t+e.h*(1-h)-a/2,l.x0=r,l.y0=n,l.w=i,l.h=a,l.sum=v,l.xaxis={type:\"linear\",range:[m+2*x-v,v-m-2*y],domain:[c-o/2,c+o/2],_id:\"x\"},ei(l.xaxis,l.graphDiv._fullLayout),l.xaxis.setScale(),l.xaxis.isPtWithinRange=function(t){return t.a>=l.aaxis.range[0]&&t.a<=l.aaxis.range[1]&&t.b>=l.baxis.range[1]&&t.b<=l.baxis.range[0]&&t.c>=l.caxis.range[1]&&t.c<=l.caxis.range[0]},l.yaxis={type:\"linear\",range:[m,v-y-x],domain:[h-s/2,h+s/2],_id:\"y\"},ei(l.yaxis,l.graphDiv._fullLayout),l.yaxis.setScale(),l.yaxis.isPtWithinRange=function(){return!0};var b=l.yaxis.domain[0],_=l.aaxis=yG({},t.aaxis,{visible:!0,range:[m,v-y-x],side:\"left\",_counterangle:30,tickangle:(+t.aaxis.tickangle||0)-30,domain:[b,b+s*wG],_axislayer:l.layers.aaxis,_gridlayer:l.layers.agrid,_pos:0,_id:\"y\",_length:i,_gridpath:\"M0,0l\"+a+\",-\"+i/2,automargin:!1});ei(_,l.graphDiv._fullLayout),_.setScale();var w=l.baxis=yG({},t.baxis,{visible:!0,range:[v-m-x,y],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,automargin:!1});ei(w,l.graphDiv._fullLayout),w.setScale(),_._counteraxis=w;var M=l.caxis=yG({},t.caxis,{visible:!0,range:[v-m-y,x],side:\"right\",_counterangle:30,tickangle:(+t.caxis.tickangle||0)+30,domain:[b,b+s*wG],_axislayer:l.layers.caxis,_gridlayer:l.layers.cgrid,_counteraxis:l.baxis,_pos:0,_id:\"y\",_length:i,_gridpath:\"M0,0l-\"+a+\",\"+i/2,automargin:!1});ei(M,l.graphDiv._fullLayout),M.setScale();var A=\"M\"+r+\",\"+(n+a)+\"h\"+i+\"l-\"+i/2+\",-\"+a+\"Z\";l.clipDef.select(\"path\").attr(\"d\",A),l.layers.plotbg.select(\"path\").attr(\"d\",A);var k=\"M0,\"+a+\"h\"+i+\"l-\"+i/2+\",-\"+a+\"Z\";l.clipDefRelative.select(\"path\").attr(\"d\",k);var T=\"translate(\"+r+\",\"+n+\")\";l.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",T),l.clipDefRelative.select(\"path\").attr(\"transform\",null);var S=\"translate(\"+(r-w._offset)+\",\"+(n+a)+\")\";l.layers.baxis.attr(\"transform\",S),l.layers.bgrid.attr(\"transform\",S);var E=\"translate(\"+(r+i/2)+\",\"+n+\")rotate(30)translate(0,\"+-_._offset+\")\";l.layers.aaxis.attr(\"transform\",E),l.layers.agrid.attr(\"transform\",E);var C=\"translate(\"+(r+i/2)+\",\"+n+\")rotate(-30)translate(0,\"+-M._offset+\")\";l.layers.caxis.attr(\"transform\",C),l.layers.cgrid.attr(\"transform\",C),l.drawAxes(!0),l.plotContainer.selectAll(\".crisp\").classed(\"crisp\",!1),l.layers.aline.select(\"path\").attr(\"d\",_.showline?\"M\"+r+\",\"+(n+a)+\"l\"+i/2+\",-\"+a:\"M0,0\").call(Oe.stroke,_.linecolor||\"#000\").style(\"stroke-width\",(_.linewidth||0)+\"px\"),l.layers.bline.select(\"path\").attr(\"d\",w.showline?\"M\"+r+\",\"+(n+a)+\"h\"+i:\"M0,0\").call(Oe.stroke,w.linecolor||\"#000\").style(\"stroke-width\",(w.linewidth||0)+\"px\"),l.layers.cline.select(\"path\").attr(\"d\",M.showline?\"M\"+(r+i/2)+\",\"+n+\"l\"+i/2+\",\"+a:\"M0,0\").call(Oe.stroke,M.linecolor||\"#000\").style(\"stroke-width\",(M.linewidth||0)+\"px\"),l.graphDiv._context.staticPlot||l.initInteractions(),Sr.setClipUrl(l.layers.frontplot,l._hasClipOnAxisFalse?null:l.clipId)},_G.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+\"title\",n=this.aaxis,i=this.baxis,a=this.caxis;if(ri.doTicks(e,n,!0),ri.doTicks(e,i,!0),ri.doTicks(e,a,!0),t){var o=Math.max(n.showticklabels?n.tickfont.size/2:0,(a.showticklabels?.75*a.tickfont.size:0)+(\"outside\"===a.ticks?.87*a.ticklen:0));this.layers[\"a-title\"]=Dn.draw(e,\"a\"+r,{propContainer:n,propName:this.id+\".aaxis.title\",placeholder:mG(e,\"Click to enter Component A title\"),attributes:{x:this.x0+this.w/2,y:this.y0-n.titlefont.size/3-o,\"text-anchor\":\"middle\"}});var s=(i.showticklabels?i.tickfont.size:0)+(\"outside\"===i.ticks?i.ticklen:0)+3;this.layers[\"b-title\"]=Dn.draw(e,\"b\"+r,{propContainer:i,propName:this.id+\".baxis.title\",placeholder:mG(e,\"Click to enter Component B title\"),attributes:{x:this.x0-s,y:this.y0+this.h+.83*i.titlefont.size+s,\"text-anchor\":\"middle\"}}),this.layers[\"c-title\"]=Dn.draw(e,\"c\"+r,{propContainer:a,propName:this.id+\".caxis.title\",placeholder:mG(e,\"Click to enter Component C title\"),attributes:{x:this.x0+this.w+s,y:this.y0+this.h+.83*a.titlefont.size+s,\"text-anchor\":\"middle\"}})}};var MG=Te.MINZOOM/2+.87,AG=\"m-0.87,.5h\"+MG+\"v3h-\"+(MG+5.2)+\"l\"+(MG/2+2.6)+\",-\"+(.87*MG+4.5)+\"l2.6,1.5l-\"+MG/2+\",\"+.87*MG+\"Z\",kG=\"m0.87,.5h-\"+MG+\"v3h\"+(MG+5.2)+\"l-\"+(MG/2+2.6)+\",-\"+(.87*MG+4.5)+\"l-2.6,1.5l\"+MG/2+\",\"+.87*MG+\"Z\",TG=\"m0,1l\"+MG/2+\",\"+.87*MG+\"l2.6,-1.5l-\"+(MG/2+2.6)+\",-\"+(.87*MG+4.5)+\"l-\"+(MG/2+2.6)+\",\"+(.87*MG+4.5)+\"l2.6,1.5l\"+MG/2+\",-\"+.87*MG+\"Z\",SG=\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z\",EG=!0;function CG(t){e.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}_G.initInteractions=function(){var t,e,r,n,i,a,o,l,u,c,h=this,f=h.layers.plotbg.select(\"path\").node(),p=h.graphDiv,d=p._fullLayout._zoomlayer,g={element:f,gd:p,plotinfo:{xaxis:h.xaxis,yaxis:h.yaxis},subplot:h.id,prepFn:function(v,m,y){g.xaxes=[h.xaxis],g.yaxes=[h.yaxis];var A=p._fullLayout.dragmode;v.shiftKey&&(A=\"pan\"===A?\"zoom\":\"pan\"),g.minDrag=\"lasso\"===A?1:void 0,\"zoom\"===A?(g.moveFn=x,g.doneFn=b,function(p,g,v){var m=f.getBoundingClientRect();t=g-m.left,e=v-m.top,r={a:h.aaxis.range[0],b:h.baxis.range[1],c:h.caxis.range[1]},i=r,n=h.aaxis.range[1]-r.a,a=s(h.graphDiv._fullLayout[h.id].bgcolor).getLuminance(),o=\"M0,\"+h.h+\"L\"+h.w/2+\", 0L\"+h.w+\",\"+h.h+\"Z\",l=!1,u=d.append(\"path\").attr(\"class\",\"zoombox\").attr(\"transform\",\"translate(\"+h.x0+\", \"+h.y0+\")\").style({fill:a>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"d\",o),c=d.append(\"path\").attr(\"class\",\"zoombox-corners\").attr(\"transform\",\"translate(\"+h.x0+\", \"+h.y0+\")\").style({fill:Oe.background,stroke:Oe.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"d\",\"M0,0Z\"),M()}(0,m,y)):\"pan\"===A?(g.moveFn=_,g.doneFn=w,r={a:h.aaxis.range[0],b:h.baxis.range[1],c:h.caxis.range[1]},i=r,M()):\"select\"!==A&&\"lasso\"!==A||_c(v,m,y,g,A)},clickFn:function(t,e){if(CG(p),2===t){var r={};r[h.id+\".aaxis.min\"]=0,r[h.id+\".baxis.min\"]=0,r[h.id+\".caxis.min\"]=0,p.emit(\"plotly_doubleclick\",null),P.call(\"relayout\",p,r)}yo.click(p,e,h.id)}};function v(t,e){return 1-e/h.h}function m(t,e){return 1-(t+(h.h-e)/Math.sqrt(3))/h.w}function y(t,e){return(t-(h.h-e)/Math.sqrt(3))/h.w}function x(s,f){var p=t+s,d=e+f,g=Math.max(0,Math.min(1,v(0,e),v(0,d))),x=Math.max(0,Math.min(1,m(t,e),m(p,d))),b=Math.max(0,Math.min(1,y(t,e),y(p,d))),_=(g/2+b)*h.w,w=(1-g/2-x)*h.w,M=(_+w)/2,A=w-_,k=(1-g)*h.h,T=k-A/wG;A<Te.MINZOOM?(i=r,u.attr(\"d\",o),c.attr(\"d\",\"M0,0Z\")):(i={a:r.a+g*n,b:r.b+x*n,c:r.c+b*n},u.attr(\"d\",o+\"M\"+_+\",\"+k+\"H\"+w+\"L\"+M+\",\"+T+\"L\"+_+\",\"+k+\"Z\"),c.attr(\"d\",\"M\"+t+\",\"+e+SG+\"M\"+_+\",\"+k+AG+\"M\"+w+\",\"+k+kG+\"M\"+M+\",\"+T+TG)),l||(u.transition().style(\"fill\",a>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),c.transition().style(\"opacity\",1).duration(200),l=!0)}function b(){if(CG(p),i!==r){var t={};t[h.id+\".aaxis.min\"]=i.a,t[h.id+\".baxis.min\"]=i.b,t[h.id+\".caxis.min\"]=i.c,P.call(\"relayout\",p,t),EG&&p.data&&p._context.showTips&&(ne.notifier(mG(p,\"Double-click to zoom back out\"),\"long\"),EG=!1)}}function _(t,e){var n=t/h.xaxis._m,a=e/h.yaxis._m,o=[(i={a:r.a-a,b:r.b+(n+a)/2,c:r.c-(n-a)/2}).a,i.b,i.c].sort(),s=o.indexOf(i.a),l=o.indexOf(i.b),u=o.indexOf(i.c);o[0]<0&&(o[1]+o[0]/2<0?(o[2]+=o[0]+o[1],o[0]=o[1]=0):(o[2]+=o[0]/2,o[1]+=o[0]/2,o[0]=0),i={a:o[s],b:o[l],c:o[u]},e=(r.a-i.a)*h.yaxis._m,t=(r.c-i.c-r.b+i.b)*h.xaxis._m);var c=\"translate(\"+(h.x0+t)+\",\"+(h.y0+e)+\")\";h.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",c);var f=\"translate(\"+-t+\",\"+-e+\")\";h.clipDefRelative.select(\"path\").attr(\"transform\",f),h.aaxis.range=[i.a,h.sum-i.b-i.c],h.baxis.range=[h.sum-i.a-i.c,i.b],h.caxis.range=[h.sum-i.a-i.b,i.c],h.drawAxes(!1),h.plotContainer.selectAll(\".crisp\").classed(\"crisp\",!1),h._hasClipOnAxisFalse&&h.plotContainer.select(\".scatterlayer\").selectAll(\".trace\").call(Sr.hideOutsideRangePoints,h)}function w(){var t={};t[h.id+\".aaxis.min\"]=i.a,t[h.id+\".baxis.min\"]=i.b,t[h.id+\".caxis.min\"]=i.c,P.call(\"relayout\",p,t)}function M(){d.selectAll(\".select-outline\").remove()}f.onmousemove=function(t){yo.hover(p,t,h.id),p._fullLayout._lasthover=f,p._fullLayout._hoversubplot=h.id},f.onmouseout=function(t){p._dragging||Ua.unhover(p,t)},Ua.init(g)};var LG={},zG=sa.getSubplotCalcData,PG=ne.counterRegex;LG.name=\"ternary\",LG.attr=\"subplot\",LG.idRoot=\"ternary\",LG.idRegex=LG.attrRegex=PG(\"ternary\"),LG.attributes={subplot:{valType:\"subplotid\",dflt:\"ternary\",editType:\"calc\"}},LG.layoutAttributes=dG,LG.supplyLayoutDefaults=function(t,e,r){Jc(t,e,0,{type:\"ternary\",attributes:dG,handleDefaults:vG,font:e.font,paper_bgcolor:e.paper_bgcolor})},LG.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,n=e._subplots.ternary,i=0;i<n.length;i++){var a=n[i],o=zG(r,\"ternary\",a),s=e[a]._subplot;s||(s=new bG({id:a,graphDiv:t,container:e._ternarylayer.node()},e),e[a]._subplot=s),s.plot(o,e,t._promises)}},LG.clean=function(t,e,r,n){for(var i=n._subplots.ternary||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers[\"a-title\"].remove(),s.layers[\"b-title\"].remove(),s.layers[\"c-title\"].remove())}};var IG=Ae.dash,DG=m.extendFlat,OG=Zr.marker,RG=Zr.line,FG=OG.line,BG={a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},c:{valType:\"data_array\",editType:\"calc\"},sum:{valType:\"number\",dflt:0,min:0,editType:\"calc\"},mode:DG({},Zr.mode,{dflt:\"markers\"}),text:DG({},Zr.text,{}),hovertext:DG({},Zr.hovertext,{}),line:{color:RG.color,width:RG.width,dash:IG,shape:DG({},RG.shape,{values:[\"linear\",\"spline\"]}),smoothing:RG.smoothing,editType:\"calc\"},connectgaps:Zr.connectgaps,cliponaxis:Zr.cliponaxis,fill:DG({},Zr.fill,{values:[\"none\",\"toself\",\"tonext\"]}),fillcolor:Zr.fillcolor,marker:DG({symbol:OG.symbol,opacity:OG.opacity,maxdisplayed:OG.maxdisplayed,size:OG.size,sizeref:OG.sizeref,sizemin:OG.sizemin,sizemode:OG.sizemode,line:DG({width:FG.width,editType:\"calc\"},De()),gradient:OG.gradient,editType:\"calc\"},De(),{showscale:OG.showscale,colorbar:ze}),textfont:Zr.textfont,textposition:Zr.textposition,selected:Zr.selected,unselected:Zr.unselected,hoverinfo:DG({},E.hoverinfo,{flags:[\"a\",\"b\",\"c\",\"text\",\"name\"]}),hoveron:Zr.hoveron},NG=sx,jG=[\"a\",\"b\",\"c\"],VG={a:[\"b\",\"c\"],b:[\"a\",\"c\"],c:[\"a\",\"b\"]},UG={};UG.attributes=BG,UG.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,BG,r,n)}var a,o=i(\"a\"),s=i(\"b\"),l=i(\"c\");if(o?(a=o.length,s?(a=Math.min(a,s.length),l&&(a=Math.min(a,l.length))):a=l?Math.min(a,l.length):0):s&&l&&(a=Math.min(s.length,l.length)),a){e._length=a,i(\"sum\"),i(\"text\"),i(\"hovertext\"),i(\"mode\",a<Wr.PTS_LINESONLY?\"lines+markers\":\"lines\"),Tr.hasLines(e)&&(px(t,e,r,n,i),dx(0,0,i),i(\"connectgaps\")),Tr.hasMarkers(e)&&gx(t,e,r,n,i,{gradient:!0}),Tr.hasText(e)&&vx(0,0,n,i);var u=[];(Tr.hasMarkers(e)||Tr.hasText(e))&&(i(\"cliponaxis\"),i(\"marker.maxdisplayed\"),u.push(\"points\")),i(\"fill\"),\"none\"!==e.fill&&(hx(0,e,r,i),Tr.hasLines(e)||dx(0,0,i)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||u.push(\"fills\"),i(\"hoveron\",u.join(\"+\")||\"points\"),ne.coerceSelectionMarkerOpacity(e,i)}else e.visible=!1},UG.colorbar=is,UG.calc=function(t,e){var n,i,a,o,s,l,u=t._fullLayout[e.subplot].sum,c=e.sum||u,h={a:e.a,b:e.b,c:e.c};for(n=0;n<jG.length;n++)if(!h[a=jG[n]]){for(s=h[VG[a][0]],l=h[VG[a][1]],o=new Array(s.length),i=0;i<s.length;i++)o[i]=c-s[i]-l[i];h[a]=o}var f,p,d,g,v,m,y=e._length,x=new Array(y);for(n=0;n<y;n++)f=h.a[n],p=h.b[n],d=h.c[n],r(f)&&r(p)&&r(d)?(1!=(g=u/((f=+f)+(p=+p)+(d=+d)))&&(f*=g,p*=g,d*=g),m=f,v=d-p,x[n]={x:v,y:m,a:f,b:p,c:d}):x[n]={x:!1,y:!1};return NG(e,y),ex(e),dh(x,e),Ma(x,e),x},UG.plot=function(t,e,r){var n=e.plotContainer;n.select(\".scatterlayer\").selectAll(\"*\").remove();var i={xaxis:e.xaxis,yaxis:e.yaxis,plot:n,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null};kx(t,i,r)},UG.style=Cx.style,UG.hoverPoints=function(t,e,r,n){var i=yx(t,e,r,n);if(i&&!1!==i[0].index){var a=i[0];if(void 0===a.index){var o=1-a.y0/t.ya._length,s=t.xa._length,l=s*o/2,u=s-l;return a.x0=Math.max(Math.min(a.x0,u),l),a.x1=Math.max(Math.min(a.x1,u),l),i}var c=a.cd[a.index];a.a=c.a,a.b=c.b,a.c=c.c,a.xLabelVal=void 0,a.yLabelVal=void 0;var h=a.trace,f=a.subplot,p=(c.hi||h.hoverinfo).split(\"+\"),d=[];return-1!==p.indexOf(\"all\")&&(p=[\"a\",\"b\",\"c\"]),-1!==p.indexOf(\"a\")&&g(f.aaxis,c.a),-1!==p.indexOf(\"b\")&&g(f.baxis,c.b),-1!==p.indexOf(\"c\")&&g(f.caxis,c.c),a.extraText=d.join(\"<br>\"),i}function g(t,e){d.push(t._hovertitle+\": \"+ri.tickText(t,e,\"hover\").text)}},UG.selectPoints=Sx,UG.eventData=function(t,e,r,n,i){if(e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),n[i]){var a=n[i];t.a=a.a,t.b=a.b,t.c=a.c}else t.a=e.a,t.b=e.b,t.c=e.c;return t},UG.moduleType=\"trace\",UG.name=\"scatterternary\",UG.basePlotModule=LG,UG.categories=[\"ternary\",\"symbols\",\"markerColorscale\",\"showLegend\",\"scatter-like\"],UG.meta={};var qG=UG,HG={},GG=Di.pointsAccessorFunction;HG.moduleType=\"transform\",HG.name=\"sort\",HG.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},target:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},order:{valType:\"enumerated\",values:[\"ascending\",\"descending\"],dflt:\"ascending\",editType:\"calc\"},editType:\"calc\"},HG.supplyDefaults=function(t){var e={};function r(r,n){return ne.coerce(t,e,HG.attributes,r,n)}return r(\"enabled\")&&(r(\"target\"),r(\"order\")),e},HG.calcTransform=function(t,e,r){if(r.enabled){var n=ne.getTargetArray(e,r);if(n){var i,a,o=r.target,s=n.length,l=e._arrayAttrs,u=function(t,e,r){for(var n=e.length,i=new Array(n),a=e.slice().sort(function(t,e){switch(t.order){case\"ascending\":return function(t,r){return e(t)-e(r)};case\"descending\":return function(t,r){return e(r)-e(t)}}}(t,r)),o=0;o<n;o++)for(var s=e[o],l=0;l<n;l++){var u=a[l];if(s===u){i[l]=o,a[l]=null;break}}return i}(r,n,ri.getDataToCoordFunc(t,e,o,n)),c=GG(e.transforms,r),h={};for(i=0;i<l.length;i++){var f=ne.nestedProperty(e,l[i]),p=f.get(),d=new Array(s);for(a=0;a<s;a++)d[a]=p[u[a]];f.set(d)}for(a=0;a<s;a++)h[a]=c(u[a]);r._indexToPoints=h}}};var WG=HG,YG={},XG=E_([\"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\"]),ZG=E_([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(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\\nfloat beckmannSpecular(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness) {\\n  return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\\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 = max(beckmannSpecular(L, V, N, roughness), 0.);\\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\"]),JG=E_([\"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\"]),KG=E_([\"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\"]);YG.createShader=function(t){var e=Bw(t,XG,ZG,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},YG.createPickShader=function(t){var e=Bw(t,XG,KG,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},YG.createContourShader=function(t){var e=Bw(t,JG,ZG,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},YG.createPickContourShader=function(t){var e=Bw(t,JG,KG,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e};var QG=function(t,e,r){if(Array.isArray(r)){if(r.length!==e.dimension)throw new Error(\"ndarray-gradient: invalid boundary conditions\")}else r=b_(e.dimension,\"string\"==typeof r?r:\"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;return function(t){var e=t.join();if(f=tW[e])return f;var r=t.length,n=[\"function gradient(dst,src){var s=src.shape.slice();\"];function i(e){for(var i=r-e.length,a=[],o=[],s=[],l=0;l<r;++l)e.indexOf(l+1)>=0?s.push(\"0\"):e.indexOf(-(l+1))>=0?s.push(\"s[\"+l+\"]-1\"):(s.push(\"-1\"),a.push(\"1\"),o.push(\"s[\"+l+\"]-2\"));var u=\".lo(\"+a.join()+\").hi(\"+o.join()+\")\";if(0===a.length&&(u=\"\"),i>0){n.push(\"if(1\");for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(\"&&s[\",l,\"]>2\");n.push(\"){grad\",i,\"(src.pick(\",s.join(),\")\",u);for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(\",dst.pick(\",s.join(),\",\",l,\")\",u);n.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(),p=s.slice();e[l]<0?f[c]=\"s[\"+c+\"]-2\":p[c]=\"1\",0===i?n.push(\"if(s[\",c,\"]>1){dst.set(\",s.join(),\",\",c,\",0.5*(src.get(\",f.join(),\")-src.get(\",p.join(),\")))}else{dst.set(\",s.join(),\",\",c,\",0)};\"):n.push(\"if(s[\",c,\"]>1){diff(\",h,\",src.pick(\",f.join(),\")\",u,\",src.pick(\",p.join(),\")\",u,\");}else{zero(\",h,\");};\");break;case\"mirror\":0===i?n.push(\"dst.set(\",s.join(),\",\",c,\",0);\"):n.push(\"zero(\",h,\");\");break;case\"wrap\":var d=s.slice(),g=s.slice();e[l]<0?(d[c]=\"s[\"+c+\"]-2\",g[c]=\"0\"):(d[c]=\"s[\"+c+\"]-1\",g[c]=\"1\"),0===i?n.push(\"if(s[\",c,\"]>2){dst.set(\",s.join(),\",\",c,\",0.5*(src.get(\",d.join(),\")-src.get(\",g.join(),\")))}else{dst.set(\",s.join(),\",\",c,\",0)};\"):n.push(\"if(s[\",c,\"]>2){diff(\",h,\",src.pick(\",d.join(),\")\",u,\",src.pick(\",g.join(),\")\",u,\");}else{zero(\",h,\");};\");break;default:throw new Error(\"ndarray-gradient: Invalid boundary condition\")}}i>0&&n.push(\"};\")}for(var a=0;a<1<<r;++a){for(var o=[],s=0;s<r;++s)a&1<<s&&o.push(s+1);for(var l=0;l<1<<o.length;++l){for(var u=o.slice(),s=0;s<o.length;++s)l&1<<s&&(u[s]=-u[s]);i(u)}}n.push(\"return dst;};return gradient\");for(var c=[\"diff\",\"zero\"],h=[rW,nW],a=1;a<=r;++a)c.push(\"grad\"+a),h.push(iW(a));c.push(n.join(\"\"));var f=Function.apply(void 0,c).apply(void 0,h);return $G[e]=f,f}(r)(t,e)},$G={},tW={},eW={body:\"\",args:[],thisVars:[],localVars:[]},rW=nb({args:[\"array\",\"array\",\"array\"],pre:eW,post:eW,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\"}),nW=nb({args:[\"array\"],pre:eW,post:eW,body:{args:[{name:\"out\",lvalue:!0,rvalue:!1,count:1}],body:\"out=0\",thisVars:[],localVars:[]},funcName:\"zero\"});function iW(t){if(t in $G)return $G[t];for(var e=[],r=0;r<t;++r)e.push(\"out\",r,\"s=0.5*(inp\",r,\"l-inp\",r,\"r);\");var n=[\"array\"],i=[\"junk\"];for(r=0;r<t;++r){n.push(\"array\"),i.push(\"out\"+r+\"s\");var a=b_(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 $G[t]=nb({args:n,pre:eW,post:eW,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})}var aW=nb({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}),oW=function(t,e){for(var r=[],n=t,i=1;Array.isArray(n);)r.push(n.length),i*=n.length,n=n[0];return 0===r.length?wb():(e||(e=wb(new Float64Array(i),r)),aW(e,t),e)},sW=function(t){var e=t.gl,r=lW(e),n=cW(e),i=uW(e),a=hW(e),o=S_(e),s=EP(e,[{buffer:o,size:4,stride:fW,offset:0},{buffer:o,size:3,stride:fW,offset:16},{buffer:o,size:3,stride:fW,offset:28}]),l=S_(e),u=EP(e,[{buffer:l,size:4,stride:20,offset:0},{buffer:l,size:1,stride:20,offset:16}]),c=S_(e),h=EP(e,[{buffer:c,size:2,type:e.FLOAT}]),f=zE(e,1,vW,e.RGBA,e.UNSIGNED_BYTE);f.minFilter=e.LINEAR,f.magFilter=e.LINEAR;var p=new mW(e,[0,0],[[0,0,0],[0,0,0]],r,n,o,s,f,i,a,l,u,c,h),d={levels:[[],[],[]]};for(var g in t)d[g]=t[g];return d.colormap=d.colormap||\"jet\",p.update(d),p},lW=YG.createShader,uW=YG.createContourShader,cW=YG.createPickShader,hW=YG.createPickContourShader,fW=40,pW=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],dW=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],gW=[[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=gW[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var vW=256;function mW(t,e,r,n,i,a,o,s,l,u,c,h,f,p){this.gl=t,this.shape=e,this.bounds=r,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=s,this._contourShader=l,this._contourPickShader=u,this._contourBuffer=c,this._contourVAO=h,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new function(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=f,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=[wb(__.mallocFloat(1024),[0,0]),wb(__.mallocFloat(1024),[0,0]),wb(__.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}var yW=mW.prototype;yW.isTransparent=function(){return this.opacity<1},yW.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},yW.pickSlots=1,yW.setPickBase=function(t){this.pickId=t};var xW=[0,0,0],bW={showSurface:!1,showContour:!1,projections:[pW.slice(),pW.slice(),pW.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function _W(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||xW,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=bW.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],Dz(l,t.model,l);var u=bW.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 bW.showSurface=o,bW.showContour=s,bW}var wW={model:pW,view:pW,projection:pW,inverseModel:pW.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},MW=pW.slice(),AW=[1,0,0,0,1,0,0,0,1];function kW(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=wW;n.model=t.model||pW,n.view=t.view||pW,n.projection=t.projection||pW,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=cz(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-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=AW,n.vertexColor=this.vertexColor;var s=MW;for(Dz(s,n.view,n.model),Dz(s,n.projection,s),cz(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var u=s[12+i];for(o=0;o<3;++o)u+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=u/l}var c=_W(n,this);if(c.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=c.projections[i],this._shader.uniforms.clipBounds=c.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(c.showContour&&!e){var h=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,h.bind(),h.uniforms=n;var f=this._contourVAO;for(f.bind(),i=0;i<3;++i)for(h.uniforms.permutation=gW[i],r.lineWidth(this.contourWidth[i]),o=0;o<this.contourLevels[i].length;++o)this._contourCounts[i][o]&&(o===this.highlightLevel[i]?(h.uniforms.contourColor=this.highlightColor[i],h.uniforms.contourTint=this.highlightTint[i]):0!==o&&o-1!==this.highlightLevel[i]||(h.uniforms.contourColor=this.contourColor[i],h.uniforms.contourTint=this.contourTint[i]),h.uniforms.height=this.contourLevels[i][o],f.draw(r.LINES,this._contourCounts[i][o],this._contourOffsets[i][o]));for(i=0;i<3;++i)for(h.uniforms.model=c.projections[i],h.uniforms.clipBounds=c.clipBounds[i],o=0;o<3;++o)if(this.contourProject[i][o]){h.uniforms.permutation=gW[o],r.lineWidth(this.contourWidth[o]);for(var p=0;p<this.contourLevels[o].length;++p)p===this.highlightLevel[o]?(h.uniforms.contourColor=this.highlightColor[o],h.uniforms.contourTint=this.highlightTint[o]):0!==p&&p-1!==this.highlightLevel[o]||(h.uniforms.contourColor=this.contourColor[o],h.uniforms.contourTint=this.contourTint[o]),h.uniforms.height=this.contourLevels[o][p],f.draw(r.LINES,this._contourCounts[o][p],this._contourOffsets[o][p])}for(f.unbind(),(f=this._dynamicVAO).bind(),i=0;i<3;++i)if(0!==this._dynamicCounts[i])for(h.uniforms.model=n.model,h.uniforms.clipBounds=n.clipBounds,h.uniforms.permutation=gW[i],r.lineWidth(this.dynamicWidth[i]),h.uniforms.contourColor=this.dynamicColor[i],h.uniforms.contourTint=this.dynamicTint[i],h.uniforms.height=this.dynamicLevel[i],f.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]),o=0;o<3;++o)this.contourProject[o][i]&&(h.uniforms.model=c.projections[o],h.uniforms.clipBounds=c.clipBounds[o],f.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]));f.unbind()}}yW.draw=function(t){return kW.call(this,t,!1)},yW.drawTransparent=function(t){return kW.call(this,t,!0)};var TW={model:pW,view:pW,projection:pW,inverseModel:pW,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]};function SW(t,e){var r=e.shape.slice(),n=t.shape.slice();ib.assign(t.lo(1,1).hi(r[0],r[1]),e),ib.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),ib.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),ib.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),ib.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 EW(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function CW(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 LW(t){if(Array.isArray(t)){if(Array.isArray(t))return[CW(t[0]),CW(t[1]),CW(t[2])];var e=CW(t);return[e.slice(),e.slice(),e.slice()]}}yW.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=TW;r.model=t.model||pW,r.view=t.view||pW,r.projection=t.projection||pW,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.permutation=AW;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 o=_W(r,this);if(o.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=o.projections[n],this._pickShader.uniforms.clipBounds=o.clipBounds[n],this._vao.draw(e.TRIANGLES,this._vertexCount));this._vao.unbind()}if(o.showContour){var s=this._contourPickShader;s.bind(),s.uniforms=r;var l=this._contourVAO;for(l.bind(),a=0;a<3;++a)for(e.lineWidth(this.contourWidth[a]),s.uniforms.permutation=gW[a],n=0;n<this.contourLevels[a].length;++n)this._contourCounts[a][n]&&(s.uniforms.height=this.contourLevels[a][n],l.draw(e.LINES,this._contourCounts[a][n],this._contourOffsets[a][n]));for(n=0;n<3;++n)for(s.uniforms.model=o.projections[n],s.uniforms.clipBounds=o.clipBounds[n],a=0;a<3;++a)if(this.contourProject[n][a]){s.uniforms.permutation=gW[a],e.lineWidth(this.contourWidth[a]);for(var u=0;u<this.contourLevels[a].length;++u)this._contourCounts[a][u]&&(s.uniforms.height=this.contourLevels[a][u],l.draw(e.LINES,this._contourCounts[a][u],this._contourOffsets[a][u]))}l.unbind()}},yW.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 p=i+c,d=s+f,g=h*(f?l:1-l),v=0;v<3;++v)u[v]+=this._field[v].get(p,d)*g;for(var m=this._pickResult.level,y=0;y<3;++y)if(m[y]=wT.le(this.contourLevels[y],u[y]),m[y]<0)this.contourLevels[y].length>0&&(m[y]=0);else if(m[y]<this.contourLevels[y].length-1){var x=this.contourLevels[y][m[y]],b=this.contourLevels[y][m[y]+1];Math.abs(x-u[y])>Math.abs(b-u[y])&&(m[y]+=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},yW.update=function(t){t=t||{},this.dirty=!0,\"contourWidth\"in t&&(this.contourWidth=EW(t.contourWidth,Number)),\"showContour\"in t&&(this.showContour=EW(t.showContour,Boolean)),\"showSurface\"in t&&(this.showSurface=!!t.showSurface),\"contourTint\"in t&&(this.contourTint=EW(t.contourTint,Boolean)),\"contourColor\"in t&&(this.contourColor=LW(t.contourColor)),\"contourProject\"in t&&(this.contourProject=EW(t.contourProject,function(t){return EW(t,Boolean)})),\"surfaceProject\"in t&&(this.surfaceProject=t.surfaceProject),\"dynamicColor\"in t&&(this.dynamicColor=LW(t.dynamicColor)),\"dynamicTint\"in t&&(this.dynamicTint=EW(t.dynamicTint,Number)),\"dynamicWidth\"in t&&(this.dynamicWidth=EW(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&&(__.freeFloat(this._field[2].data),this._field[2].data=__.mallocFloat(Mb.nextPow2(n))),this._field[2]=wb(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),SW(this._field[2],e),this.shape=e.shape.slice();for(var i=this.shape,a=0;a<2;++a)this._field[2].size>this._field[a].data.length&&(__.freeFloat(this._field[a].data),this._field[a].data=__.mallocFloat(this._field[2].size)),this._field[a]=wb(this._field[a].data,[i[0]+2,i[1]+2]);if(t.coords){var o=t.coords;if(!Array.isArray(o)||3!==o.length)throw new Error(\"gl-surface: invalid coordinates for x/y\");for(a=0;a<2;++a){var s=o[a];for(f=0;f<2;++f)if(s.shape[f]!==i[f])throw new Error(\"gl-surface: coords have incorrect shape\");SW(this._field[a],s)}}else if(t.ticks){var l=t.ticks;if(!Array.isArray(l)||2!==l.length)throw new Error(\"gl-surface: invalid ticks\");for(a=0;a<2;++a){var u=l[a];if((Array.isArray(u)||u.length)&&(u=wb(u)),u.shape[0]!==i[a])throw new Error(\"gl-surface: invalid tick length\");var c=wb(u.data,i);c.stride[a]=u.stride[0],c.stride[1^a]=0,SW(this._field[a],c)}}else{for(a=0;a<2;++a){var h=[0,0];h[a]=1,this._field[a]=wb(this._field[a].data,[i[0]+2,i[1]+2],h,0)}this._field[0].set(0,0,0);for(var f=0;f<i[0];++f)this._field[0].set(f+1,0,f);for(this._field[0].set(i[0]+1,0,i[0]-1),this._field[1].set(0,0,0),f=0;f<i[1];++f)this._field[1].set(0,f+1,f);this._field[1].set(0,i[1]+1,i[1]-1)}var p=this._field,d=wb(__.mallocFloat(3*p[2].size*2),[3,i[0]+2,i[1]+2,2]);for(a=0;a<3;++a)QG(d.pick(a),p[a],\"mirror\");var g=wb(__.mallocFloat(3*p[2].size),[i[0]+2,i[1]+2,3]);for(a=0;a<i[0]+2;++a)for(f=0;f<i[1]+2;++f){var v=d.get(0,a,f,0),m=d.get(0,a,f,1),y=d.get(1,a,f,0),x=d.get(1,a,f,1),b=d.get(2,a,f,0),_=d.get(2,a,f,1),w=y*_-x*b,M=b*m-_*v,A=v*x-m*y,k=Math.sqrt(w*w+M*M+A*A);k<1e-8?(k=Math.max(Math.abs(w),Math.abs(M),Math.abs(A)))<1e-8?(A=1,M=w=0,k=1):k=1/k:k=1/Math.sqrt(k),g.set(a,f,0,w*k),g.set(a,f,1,M*k),g.set(a,f,2,A*k)}__.free(d.data);var T=[1/0,1/0,1/0],S=[-1/0,-1/0,-1/0],E=1/0,C=-1/0,L=(i[0]-1)*(i[1]-1)*6,z=__.mallocFloat(Mb.nextPow2(10*L)),P=0,I=0;for(a=0;a<i[0]-1;++a)t:for(f=0;f<i[1]-1;++f){for(var D=0;D<2;++D)for(var O=0;O<2;++O)for(var R=0;R<3;++R){var F=this._field[R].get(1+a+D,1+f+O);if(isNaN(F)||!isFinite(F))continue t}for(R=0;R<6;++R){var B=a+dW[R][0],N=f+dW[R][1],j=this._field[0].get(B+1,N+1),V=this._field[1].get(B+1,N+1),U=F=this._field[2].get(B+1,N+1);w=g.get(B+1,N+1,0),M=g.get(B+1,N+1,1),A=g.get(B+1,N+1,2),t.intensity&&(U=t.intensity.get(B,N)),z[P++]=B,z[P++]=N,z[P++]=j,z[P++]=V,z[P++]=F,z[P++]=0,z[P++]=U,z[P++]=w,z[P++]=M,z[P++]=A,T[0]=Math.min(T[0],j),T[1]=Math.min(T[1],V),T[2]=Math.min(T[2],F),E=Math.min(E,U),S[0]=Math.max(S[0],j),S[1]=Math.max(S[1],V),S[2]=Math.max(S[2],F),C=Math.max(C,U),I+=1}}for(t.intensityBounds&&(E=+t.intensityBounds[0],C=+t.intensityBounds[1]),a=6;a<P;a+=10)z[a]=(z[a]-E)/(C-E);this._vertexCount=I,this._coordinateBuffer.update(z.subarray(0,P)),__.freeFloat(z),__.free(g.data),this.bounds=[T,S],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===E&&this.intensityBounds[1]===C||(r=!0),this.intensityBounds=[E,C]}if(\"levels\"in t){var q=t.levels;for(q=Array.isArray(q[0])?q.slice():[[],[],q],a=0;a<3;++a)q[a]=q[a].slice(),q.sort(function(t,e){return t-e});t:for(a=0;a<3;++a){if(q[a].length!==this.contourLevels[a].length){r=!0;break}for(f=0;f<q[a].length;++f)if(q[a][f]!==this.contourLevels[a][f]){r=!0;break t}}this.contourLevels=q}if(r){p=this._field,i=this.shape;for(var H=[],G=0;G<3;++G){q=this.contourLevels[G];var W=[],Y=[],X=[0,0,0];for(a=0;a<q.length;++a){var Z=yE(this._field[G],q[a]);W.push(H.length/5|0),I=0;t:for(f=0;f<Z.cells.length;++f){var J=Z.cells[f];for(R=0;R<2;++R){var K=Z.positions[J[R]],Q=K[0],$=0|Math.floor(Q),tt=Q-$,et=K[1],rt=0|Math.floor(et),nt=et-rt,it=!1;e:for(var at=0;at<3;++at){X[at]=0;var ot=(G+at+1)%3;for(D=0;D<2;++D){var st=D?tt:1-tt;for(B=0|Math.min(Math.max($+D,0),i[0]),O=0;O<2;++O){var lt=O?nt:1-nt;if(N=0|Math.min(Math.max(rt+O,0),i[1]),F=at<2?this._field[ot].get(B,N):(this.intensity.get(B,N)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(F)||isNaN(F)){it=!0;break e}var ut=st*lt;X[at]+=ut*F}}}if(it){if(R>0){for(var ct=0;ct<5;++ct)H.pop();I-=1}continue t}H.push(X[0],X[1],K[0],K[1],X[2]),I+=1}}Y.push(I)}this._contourOffsets[G]=W,this._contourCounts[G]=Y}var ht=__.mallocFloat(H.length);for(a=0;a<H.length;++a)ht[a]=H[a];this._contourBuffer.update(ht),__.freeFloat(ht)}t.colormap&&this._colorMap.setPixels(function(t){var e=oW([LO({colormap:t,nshades:vW,format:\"rgba\"}).map(function(t){return[t[0],t[1],t[2],255*t[3]]})]);return ib.divseq(e,255),e}(t.colormap))},yW.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)__.freeFloat(this._field[t].data)},yW.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=__.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,yE(u,r[o])),p=f.cells,d=f.positions;for(this._dynamicOffsets[o]=n,e=0;e<p.length;++e)for(var g=p[e],v=0;v<2;++v){var m=d[g[v]],y=+m[0],x=0|y,b=0|Math.min(x+1,i[0]),_=y-x,w=1-_,M=+m[1],A=0|M,k=0|Math.min(A+1,i[1]),T=M-A,S=1-T,E=w*S,C=w*T,L=_*S,z=_*T,P=E*c.get(x,A)+C*c.get(x,k)+L*c.get(b,A)+z*c.get(b,k),I=E*h.get(x,A)+C*h.get(x,k)+L*h.get(b,A)+z*h.get(b,k);if(isNaN(P)||isNaN(I)){v&&(n-=1);break}a[2*n+0]=P,a[2*n+1]=I,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)),__.freeFloat(a)}};var zW=LE({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}),PW=function(t,e){return zW(t,e),t},IW=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};var DW=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,p=u*a-o*l,d=r*h+n*f+i*p;return d?(d=1/d,t[0]=h*d,t[1]=(-c*n+i*u)*d,t[2]=(s*n-i*o)*d,t[3]=f*d,t[4]=(c*r-i*l)*d,t[5]=(-s*r+i*a)*d,t[6]=p*d,t[7]=(-u*r+n*l)*d,t[8]=(o*r-n*a)*d,t):null};var OW=function(t,e){switch(e.length){case 0:break;case 1:t[0]=1/e[0];break;case 4:IW(t,e);break;case 9:DW(t,e);break;case 16:cz(t,e);break;default:throw new Error(\"currently supports matrices up to 4x4\")}return t};var RW={};function FW(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 BW(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 NW(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),p=n-f,d=0<=f&&f<t.shape[2],g=0<=f+1&&f+1<t.shape[2],v=o&&c&&d?t.get(i,l,f):0,m=o&&h&&d?t.get(i,l+1,f):0,y=s&&c&&d?t.get(i+1,l,f):0,x=s&&h&&d?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;return(1-p)*((1-u)*((1-a)*v+a*y)+u*((1-a)*m+a*x))+p*((1-u)*((1-a)*b+a*(s&&c&&g?t.get(i+1,l,f+1):0))+u*((1-a)*_+a*(s&&h&&g?t.get(i+1,l+1,f+1):0)))}(RW=function(t,e,r,n){switch(t.shape.length){case 0:return 0;case 1:return FW(t,e);case 2:return BW(t,e,r);case 3:return NW(t,e,r,n);default:return function(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}.apply(void 0,arguments)}}).d1=FW,RW.d2=BW,RW.d3=NW;var jW=LE({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=new Array(_inline_3_arg4_)}\",args:[{name:\"_inline_3_arg0_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_3_arg1_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_3_arg2_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_3_arg3_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_3_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_4_arg2_(this_warped,_inline_4_arg0_),_inline_4_arg1_=_inline_4_arg3_.apply(void 0,this_warped)}\",args:[{name:\"_inline_4_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_4_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_4_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_4_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_4_arg4_\",lvalue:!1,rvalue:!1,count:0}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warpND\",blockSize:64}),VW=LE({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=[0]}\",args:[],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_7_arg2_(this_warped,_inline_7_arg0_),_inline_7_arg1_=_inline_7_arg3_(_inline_7_arg4_,this_warped[0])}\",args:[{name:\"_inline_7_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_7_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_7_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_7_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_7_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warp1D\",blockSize:64}),UW=LE({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=[0,0]}\",args:[],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_(_inline_10_arg4_,this_warped[0],this_warped[1])}\",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:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warp2D\",blockSize:64}),qW=LE({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=[0,0,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],this_warped[1],this_warped[2])}\",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:\"warp3D\",blockSize:64}),HW=function(t,e,r){switch(e.shape.length){case 1:VW(t,r,RW.d1,e);break;case 2:UW(t,r,RW.d2,e);break;case 3:qW(t,r,RW.d3,e);break;default:jW(t,r,RW.bind(void 0,e),e.shape.length)}return t},GW=function(t,e,r){var n=e.dimension,i=OW([],r);return HW(t,e,function(t,e){for(var r=0;r<n;++r){t[r]=i[(n+1)*n+r];for(var a=0;a<n;++a)t[r]+=i[(n+1)*a+r]*e[a]}var o=i[(n+1)*(n+1)-1];for(a=0;a<n;++a)o+=i[(n+1)*a+n]*e[a];var s=1/o;for(r=0;r<n;++r)t[r]*=s;return t}),t};var WW=ne.isArrayOrTypedArray,YW=128;function XW(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.dataScale=1}var ZW=XW.prototype;function JW(t){var e=t.shape,r=[e[0]+2,e[1]+2],n=wb(new Float32Array(r[0]*r[1]),r);return ib.assign(n.lo(1,1).hi(e[0],e[1]),t),ib.assign(n.lo(1).hi(e[0],1),t.hi(e[0],1)),ib.assign(n.lo(1,r[1]-1).hi(e[0],1),t.lo(0,e[1]-1).hi(e[0],1)),ib.assign(n.lo(0,1).hi(1,e[1]),t.hi(1)),ib.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}ZW.handlePick=function(t){if(t.object===this.surface){var e=t.index=[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];WW(this.data.x)?WW(this.data.x[0])?r[0]=this.data.x[e[1]][e[0]]:r[0]=this.data.x[e[0]]:r[0]=e[0],WW(this.data.y)?WW(this.data.y[0])?r[1]=this.data.y[e[1]][e[0]]:r[1]=this.data.y[e[1]]:r[1]=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 Array.isArray(i)&&i[e[1]]&&void 0!==i[e[1]][e[0]]?t.textLabel=i[e[1]][e[0]]:t.textLabel=i||\"\",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}},ZW.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})},ZW.update=function(t){var e,r=this.scene,n=r.fullSceneLayout,i=this.surface,a=t.opacity,o=function(t,e){return void 0===e&&(e=1),t.map(function(t){var r=t[0],n=s(t[1]).toRgb();return{index:r,rgb:[n.r,n.g,n.b,e]}})}(t.colorscale,a),l=t.z,u=t.x,c=t.y,h=n.xaxis,f=n.yaxis,p=n.zaxis,d=r.dataScale,g=l[0].length,v=t._ylength,m=[wb(new Float32Array(g*v),[g,v]),wb(new Float32Array(g*v),[g,v]),wb(new Float32Array(g*v),[g,v])],y=m[0],x=m[1],b=r.contourLevels;this.data=t;var _=t.xcalendar,w=t.ycalendar,M=t.zcalendar;PW(m[2],function(t,e){return p.d2l(l[e][t],0,M)*d[2]}),WW(u)?WW(u[0])?PW(y,function(t,e){return h.d2l(u[e][t],0,_)*d[0]}):PW(y,function(t){return h.d2l(u[t],0,_)*d[0]}):PW(y,function(t){return h.d2l(t,0,_)*d[0]}),WW(u)?WW(c[0])?PW(x,function(t,e){return f.d2l(c[e][t],0,w)*d[1]}):PW(x,function(t,e){return f.d2l(c[e],0,w)*d[1]}):PW(x,function(t,e){return f.d2l(e,0,_)*d[1]});var A={colormap:o,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(A.intensityBounds=[t.cmin,t.cmax],t.surfacecolor){var k=wb(new Float32Array(g*v),[g,v]);PW(k,function(e,r){return t.surfacecolor[r][e]}),m.push(k)}else A.intensityBounds[0]*=d[2],A.intensityBounds[1]*=d[2];this.dataScale=function(t){var e=Math.max(t[0].shape[0],t[0].shape[1]);if(e<YW){for(var r=YW/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 o=JW(t[a]),s=wb(new Float32Array(i),n);GW(s,o,[r,0,0,0,r,0,0,0,1]),t[a]=s}return r}return 1}(m),t.surfacecolor&&(A.intensity=m.pop());var T=[!0,!0,!0],S=[\"x\",\"y\",\"z\"];for(e=0;e<3;++e){var E=t.contours[S[e]];T[e]=E.highlight,A.showContour[e]=E.show||E.highlight,A.showContour[e]&&(A.contourProject[e]=[E.project.x,E.project.y,E.project.z],E.show?(this.showContour[e]=!0,A.levels[e]=b[e],i.highlightColor[e]=A.contourColor[e]=WC(E.color),E.usecolormap?i.highlightTint[e]=A.contourTint[e]=0:i.highlightTint[e]=A.contourTint[e]=1,A.contourWidth[e]=E.width):this.showContour[e]=!1,E.highlight&&(A.dynamicColor[e]=WC(E.highlightcolor),A.dynamicWidth[e]=E.highlightwidth))}(function(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]})(o)&&(A.vertexColor=!0),A.coords=m,i.update(A),i.visible=t.visible,i.enableDynamic=T,i.snapToData=!0,\"lighting\"in t&&(i.ambientLight=t.lighting.ambient,i.diffuseLight=t.lighting.diffuse,i.specularLight=t.lighting.specular,i.roughness=t.lighting.roughness,i.fresnel=t.lighting.fresnel),\"lightposition\"in t&&(i.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z]),a&&a<1&&(i.supportsTransparency=!0)},ZW.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()};var KW=function(t,e){var r=t.glplot.gl,n=sW({gl:r}),i=new XW(t,n,e.uid);return n._trace=i,i.update(e),t.glplot.add(n),i};function QW(t,e,r){e in t&&!(r in t)&&(t[r]=t[e])}var $W={};$W.attributes=LD,$W.supplyDefaults=function(t,e,r,n){var i,a;function o(r,n){return ne.coerce(t,e,LD,r,n)}var s=o(\"z\");if(s){var l=o(\"x\");o(\"y\"),e._xlength=Array.isArray(l)&&ne.isArrayOrTypedArray(l[0])?s.length:s[0].length,e._ylength=s.length,P.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],n),o(\"text\"),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"hidesurface\",\"opacity\"].forEach(function(t){o(t)});var u=o(\"surfacecolor\");o(\"colorscale\");var c=[\"x\",\"y\",\"z\"];for(i=0;i<3;++i){var h=\"contours.\"+c[i],f=o(h+\".show\"),p=o(h+\".highlight\");if(f||p)for(a=0;a<3;++a)o(h+\".project.\"+c[a]);f&&(o(h+\".color\"),o(h+\".width\"),o(h+\".usecolormap\")),p&&(o(h+\".highlightcolor\"),o(h+\".highlightwidth\"))}u||(QW(t,\"zmin\",\"cmin\"),QW(t,\"zmax\",\"cmax\"),QW(t,\"zauto\",\"cauto\")),Ye(t,e,n,o,{prefix:\"\",cLetter:\"c\"})}else e.visible=!1},$W.colorbar=function(t,e){var n=e[0].trace,i=\"cb\"+n.uid,a=n.cmin,o=n.cmax,s=n.surfacecolor||n.z;if(r(a)||(a=ne.aggNums(Math.min,null,s)),r(o)||(o=ne.aggNums(Math.max,null,s)),t._fullLayout._infolayer.selectAll(\".\"+i).remove(),n.showscale){var l=e[0].t.cb=ns(t,i),u=Je.makeColorScaleFunc(Je.extractScale(n.colorscale,a,o),{noNumericCheck:!0});l.fillcolor(u).filllevels({start:a,end:o,size:(o-a)/254}).options(n.colorbar)()}else _n.autoMargin(t,i)},$W.calc=function(t,e){e.surfacecolor?Ve(e,e.surfacecolor,\"\",\"c\"):Ve(e,e.z,\"\",\"c\")},$W.plot=KW,$W.moduleType=\"trace\",$W.name=\"surface\",$W.basePlotModule=SD,$W.categories=[\"gl3d\",\"2dMap\",\"noOpacity\"],$W.meta={};var tY=$W,eY=m.extendFlat,rY=(0,ye.overrideAll)({domain:(0,qc.attributes)({name:\"table\",trace:!0}),columnwidth:{valType:\"number\",arrayOk:!0,dflt:null},columnorder:{valType:\"data_array\"},header:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[]},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:28},align:eY({},Jp.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:eY({},T({arrayOk:!0}))},cells:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[]},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:20},align:eY({},Jp.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:eY({},T({arrayOk:!0}))}},\"calc\",\"from-root\"),nY={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\\$.*\\$$/,goldenRatio:1.618,lineBreaker:\"<br>\",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:\"cubic-out\",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:\"cubic-out\",uplift:5,wrapSpacer:\" \",wrapSplitCharacter:\" \",cn:{table:\"table\",tableControlView:\"table-control-view\",scrollBackground:\"scroll-background\",yColumn:\"y-column\",columnBlock:\"column-block\",scrollAreaClip:\"scroll-area-clip\",scrollAreaClipRect:\"scroll-area-clip-rect\",columnBoundary:\"column-boundary\",columnBoundaryClippath:\"column-boundary-clippath\",columnBoundaryRect:\"column-boundary-rect\",columnCells:\"column-cells\",columnCell:\"column-cell\",cellRect:\"cell-rect\",cellText:\"cell-text\",cellTextHolder:\"cell-text-holder\",scrollbarKit:\"scrollbar-kit\",scrollbar:\"scrollbar\",scrollbarSlider:\"scrollbar-slider\",scrollbarGlyph:\"scrollbar-glyph\",scrollbarCaptureZone:\"scrollbar-capture-zone\"}},iY=m.extendFlat;function aY(t){return t.calcdata.columns.reduce(function(e,r){return r.xIndex<t.xIndex?e+r.columnWidth:e},0)}function oY(t,e){return Object.keys(t).map(function(r){return iY({},t[r],{auxiliaryBlocks:e})})}function sY(t,e){for(var r,n={},i=0,a=0,o={firstRowIndex:null,lastRowIndex:null,rows:[]},s=0,l=0,u=0;u<t.length;u++)r=t[u],o.rows.push({rowIndex:u,rowHeight:r}),((a+=r)>=e||u===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=u+1,a=0);return n}var lY={},uY=m.extendFlat;lY.splitToPanels=function(t){var e=[0,0],r=uY({},t,{key:\"header\",type:\"header\",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:uY({},t.calcdata,{cells:t.calcdata.headerCells})});return[uY({},t,{key:\"cells1\",type:\"cells\",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),uY({},t,{key:\"cells2\",type:\"cells\",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},lY.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0,n=e?r+e.rows.length:0;return[r,n]}(t);return(t.values||[]).slice(e[0],e[1]).map(function(r,n){return{keyWithinBlock:n+(\"string\"==typeof r&&r.match(/[<$&> ]/)?\"_keybuster_\"+Math.random():\"\"),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}})};var cY=ne.raiseToTop,hY=ne.cancelTransition,fY=function(t,n){var i=t._fullLayout._paper.selectAll(\".\"+nY.cn.table).data(n.map(function(e){var n=ZR.unwrap(e).trace;return function(t,e){var n=e.cells.values,i=function(t){return t.slice(e.header.values.length,t.length)},a=e.header.values.map(function(t){return Array.isArray(t)?t:[t]}).concat(i(n).map(function(){return[\"\"]})),o=e.domain,s=Math.floor(t._fullLayout._size.w*(o.x[1]-o.x[0])),l=Math.floor(t._fullLayout._size.h*(o.y[1]-o.y[0])),u=e.header.values.length?a[0].map(function(){return e.header.height}):[nY.emptyHeaderHeight],c=n.length?n[0].map(function(){return e.cells.height}):[],h=u.reduce(function(t,e){return t+e},0),f=sY(c,l-h+nY.uplift),p=oY(sY(u,h),[]),d=oY(f,p),g={},v=e._fullInput.columnorder.concat(i(n.map(function(t,e){return e}))),m=a.map(function(t,n){var i=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(n,e.columnwidth.length-1)]:e.columnwidth;return r(i)?Number(i):1}),y=m.reduce(function(t,e){return t+e},0);m=m.map(function(t){return t/y*s});var x={key:e.index,translateX:o.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-o.y[1]),size:t._fullLayout._size,width:s,height:l,columnOrder:v,groupHeight:l,rowBlocks:d,headerRowBlocks:p,scrollY:0,cells:e.cells,headerCells:iY({},e.header,{values:a}),gdColumns:a.map(function(t){return t[0]}),gdColumnsOriginalOrder:a.map(function(t){return t[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:a.map(function(t,e){var r=g[t];return g[t]=(r||0)+1,{key:t+\"__\"+g[t],label:t,specIndex:e,xIndex:v[e],xScale:aY,x:void 0,calcdata:void 0,columnWidth:m[e]}})};return x.columns.forEach(function(t){t.calcdata=x,t.x=aY(t)}),x}(t,n)}),ZR.keyFun);i.exit().remove(),i.enter().append(\"g\").classed(nY.cn.table,!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\",\"all\"),i.attr(\"width\",function(t){return t.width+t.size.l+t.size.r}).attr(\"height\",function(t){return t.height+t.size.t+t.size.b}).attr(\"transform\",function(t){return\"translate(\"+t.translateX+\",\"+t.translateY+\")\"});var a=i.selectAll(\".\"+nY.cn.tableControlView).data(ZR.repeat,ZR.keyFun);a.enter().append(\"g\").classed(nY.cn.tableControlView,!0).style(\"box-sizing\",\"content-box\").on(\"mousemove\",function(e){a.filter(function(t){return e===t}).call(vY,t)}).on(\"mousewheel\",function(r){r.scrollbarState.wheeling||(r.scrollbarState.wheeling=!0,e.event.stopPropagation(),e.event.preventDefault(),TY(t,a,null,r.scrollY+e.event.deltaY)(r),r.scrollbarState.wheeling=!1)}).call(vY,t,!0),a.attr(\"transform\",function(t){return\"translate(\"+t.size.l+\" \"+t.size.t+\")\"});var o=a.selectAll(\".\"+nY.cn.scrollBackground).data(ZR.repeat,ZR.keyFun);o.enter().append(\"rect\").classed(nY.cn.scrollBackground,!0).attr(\"fill\",\"none\"),o.attr(\"width\",function(t){return t.width}).attr(\"height\",function(t){return t.height}),a.each(function(r){Sr.setClipUrl(e.select(this),pY(t,r))});var s=a.selectAll(\".\"+nY.cn.yColumn).data(function(t){return t.columns},ZR.keyFun);s.enter().append(\"g\").classed(nY.cn.yColumn,!0),s.exit().remove(),s.attr(\"transform\",function(t){return\"translate(\"+t.x+\" 0)\"}).call(e.behavior.drag().origin(function(r){return _Y(e.select(this),r,-nY.uplift),cY(this),r.calcdata.columnDragInProgress=!0,vY(a.filter(function(t){return r.calcdata.key===t.key}),t),r}).on(\"drag\",function(t){var r=e.select(this),n=function(r){return(t===r?e.event.x:r.x)+r.columnWidth/2};t.x=Math.max(-nY.overdrag,Math.min(t.calcdata.width+nY.overdrag-t.columnWidth,e.event.x)),gY(s).filter(function(e){return e.calcdata.key===t.calcdata.key}).sort(function(t,e){return n(t)-n(e)}).forEach(function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e)}),s.filter(function(e){return t!==e}).transition().ease(nY.transitionEase).duration(nY.transitionDuration).attr(\"transform\",function(t){return\"translate(\"+t.x+\" 0)\"}),r.call(hY).attr(\"transform\",\"translate(\"+t.x+\" -\"+nY.uplift+\" )\")}).on(\"dragend\",function(r){var n=e.select(this),i=r.calcdata;r.x=r.xScale(r),r.calcdata.columnDragInProgress=!1,_Y(n,r,0),function(t,e,r){var n=e.gdColumnsOriginalOrder;e.gdColumns.sort(function(t,e){return r[n.indexOf(t)]-r[n.indexOf(e)]}),e.columnorder=r,t.emit(\"plotly_restyle\")}(t,i,i.columns.map(function(t){return t.xIndex}))})),s.each(function(r){Sr.setClipUrl(e.select(this),dY(t,r))});var l=s.selectAll(\".\"+nY.cn.columnBlock).data(lY.splitToPanels,ZR.keyFun);l.enter().append(\"g\").classed(nY.cn.columnBlock,!0).attr(\"id\",function(t){return t.key}),l.style(\"cursor\",function(t){return t.dragHandle?\"ew-resize\":t.calcdata.scrollbarState.barWiggleRoom?\"ns-resize\":\"default\"});var u=l.filter(MY),c=l.filter(wY);c.call(e.behavior.drag().origin(function(t){return e.event.stopPropagation(),t}).on(\"drag\",TY(t,a,-1)).on(\"dragend\",function(){})),mY(t,a,u,l),mY(t,a,c,l);var h=a.selectAll(\".\"+nY.cn.scrollAreaClip).data(ZR.repeat,ZR.keyFun);h.enter().append(\"clipPath\").classed(nY.cn.scrollAreaClip,!0).attr(\"id\",function(e){return pY(t,e)});var f=h.selectAll(\".\"+nY.cn.scrollAreaClipRect).data(ZR.repeat,ZR.keyFun);f.enter().append(\"rect\").classed(nY.cn.scrollAreaClipRect,!0).attr(\"x\",-nY.overdrag).attr(\"y\",-nY.uplift).attr(\"fill\",\"none\"),f.attr(\"width\",function(t){return t.width+2*nY.overdrag}).attr(\"height\",function(t){return t.height+nY.uplift}),s.selectAll(\".\"+nY.cn.columnBoundary).data(ZR.repeat,ZR.keyFun).enter().append(\"g\").classed(nY.cn.columnBoundary,!0);var p=s.selectAll(\".\"+nY.cn.columnBoundaryClippath).data(ZR.repeat,ZR.keyFun);p.enter().append(\"clipPath\").classed(nY.cn.columnBoundaryClippath,!0),p.attr(\"id\",function(e){return dY(t,e)});var d=p.selectAll(\".\"+nY.cn.columnBoundaryRect).data(ZR.repeat,ZR.keyFun);d.enter().append(\"rect\").classed(nY.cn.columnBoundaryRect,!0).attr(\"fill\",\"none\"),d.attr(\"width\",function(t){return t.columnWidth}).attr(\"height\",function(t){return t.calcdata.height+nY.uplift}),kY(null,c,a)};function pY(t,e){return\"clip\"+t._fullLayout._uid+\"_scrollAreaBottomClip_\"+e.key}function dY(t,e){return\"clip\"+t._fullLayout._uid+\"_columnBoundaryClippath_\"+e.calcdata.key+\"_\"+e.specIndex}function gY(t){return[].concat.apply([],t.map(function(t){return t})).map(function(t){return t.__data__})}function vY(t,r,n){var i=t.selectAll(\".\"+nY.cn.scrollbarKit).data(ZR.repeat,ZR.keyFun);i.enter().append(\"g\").classed(nY.cn.scrollbarKit,!0).style(\"shape-rendering\",\"geometricPrecision\"),i.each(function(t){var e=t.scrollbarState;e.totalHeight=function(t){var e=t.rowBlocks;return PY(e,e.length-1)+(e.length?IY(e[e.length-1],1/0):1)}(t),e.scrollableAreaHeight=t.groupHeight-AY(t),e.currentlyVisibleHeight=Math.min(e.totalHeight,e.scrollableAreaHeight),e.ratio=e.currentlyVisibleHeight/e.totalHeight,e.barLength=Math.max(e.ratio*e.currentlyVisibleHeight,nY.goldenRatio*nY.scrollbarWidth),e.barWiggleRoom=e.currentlyVisibleHeight-e.barLength,e.wiggleRoom=Math.max(0,e.totalHeight-e.scrollableAreaHeight),e.topY=0===e.barWiggleRoom?0:t.scrollY/e.wiggleRoom*e.barWiggleRoom,e.bottomY=e.topY+e.barLength,e.dragMultiplier=e.wiggleRoom/e.barWiggleRoom}).attr(\"transform\",function(t){return\"translate(\"+(t.width+nY.scrollbarWidth/2+nY.scrollbarOffset)+\" \"+AY(t)+\")\"});var a=i.selectAll(\".\"+nY.cn.scrollbar).data(ZR.repeat,ZR.keyFun);a.enter().append(\"g\").classed(nY.cn.scrollbar,!0);var o=a.selectAll(\".\"+nY.cn.scrollbarSlider).data(ZR.repeat,ZR.keyFun);o.enter().append(\"g\").classed(nY.cn.scrollbarSlider,!0),o.attr(\"transform\",function(t){return\"translate(0 \"+(t.scrollbarState.topY||0)+\")\"});var s=o.selectAll(\".\"+nY.cn.scrollbarGlyph).data(ZR.repeat,ZR.keyFun);s.enter().append(\"line\").classed(nY.cn.scrollbarGlyph,!0).attr(\"stroke\",\"black\").attr(\"stroke-width\",nY.scrollbarWidth).attr(\"stroke-linecap\",\"round\").attr(\"y1\",nY.scrollbarWidth/2),s.attr(\"y2\",function(t){return t.scrollbarState.barLength-nY.scrollbarWidth/2}).attr(\"stroke-opacity\",function(t){return t.columnDragInProgress||!t.scrollbarState.barWiggleRoom||n?0:.4}),s.transition().delay(0).duration(0),s.transition().delay(nY.scrollbarHideDelay).duration(nY.scrollbarHideDuration).attr(\"stroke-opacity\",0);var l=a.selectAll(\".\"+nY.cn.scrollbarCaptureZone).data(ZR.repeat,ZR.keyFun);l.enter().append(\"line\").classed(nY.cn.scrollbarCaptureZone,!0).attr(\"stroke\",\"white\").attr(\"stroke-opacity\",.01).attr(\"stroke-width\",nY.scrollbarCaptureWidth).attr(\"stroke-linecap\",\"butt\").attr(\"y1\",0).on(\"mousedown\",function(n){var i=e.event.y,a=this.getBoundingClientRect(),o=n.scrollbarState,s=i-a.top,l=e.scale.linear().domain([0,o.scrollableAreaHeight]).range([0,o.totalHeight]).clamp(!0);o.topY<=s&&s<=o.bottomY||TY(r,t,null,l(s-o.barLength/2))(n)}).call(e.behavior.drag().origin(function(t){return e.event.stopPropagation(),t.scrollbarState.scrollbarScrollInProgress=!0,t}).on(\"drag\",TY(r,t)).on(\"dragend\",function(){})),l.attr(\"y2\",function(t){return t.scrollbarState.scrollableAreaHeight})}function mY(t,r,n,i){var a=function(t){var e=t.selectAll(\".\"+nY.cn.columnCell).data(lY.splitToCells,function(t){return t.keyWithinBlock});return e.enter().append(\"g\").classed(nY.cn.columnCell,!0),e.exit().remove(),e}(function(t){var e=t.selectAll(\".\"+nY.cn.columnCells).data(ZR.repeat,ZR.keyFun);return e.enter().append(\"g\").classed(nY.cn.columnCells,!0),e.exit().remove(),e}(n));!function(t){t.each(function(t,e){var r=t.calcdata.cells.font,n=t.column.specIndex,i={size:bY(r.size,n,e),color:bY(r.color,n,e),family:bY(r.family,n,e)};t.rowNumber=t.key,t.align=bY(t.calcdata.cells.align,n,e),t.cellBorderWidth=bY(t.calcdata.cells.line.width,n,e),t.font=i})}(a),function(t){t.attr(\"width\",function(t){return t.column.columnWidth}).attr(\"stroke-width\",function(t){return t.cellBorderWidth}).each(function(t){var r=e.select(this);Oe.stroke(r,bY(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),Oe.fill(r,bY(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}(function(t){var e=t.selectAll(\".\"+nY.cn.cellRect).data(ZR.repeat,function(t){return t.keyWithinBlock});return e.enter().append(\"rect\").classed(nY.cn.cellRect,!0),e}(a));var o=function(t){var r=t.selectAll(\".\"+nY.cn.cellText).data(ZR.repeat,function(t){return t.keyWithinBlock});return r.enter().append(\"text\").classed(nY.cn.cellText,!0).style(\"cursor\",function(){return\"auto\"}).on(\"mousedown\",function(){e.event.stopPropagation()}),r}(function(t){var e=t.selectAll(\".\"+nY.cn.cellTextHolder).data(ZR.repeat,function(t){return t.keyWithinBlock});return e.enter().append(\"g\").classed(nY.cn.cellTextHolder,!0).style(\"shape-rendering\",\"geometricPrecision\"),e}(a));!function(t){t.each(function(t){Sr.font(e.select(this),t.font)})}(o),yY(o,r,i,t),zY(a)}function yY(t,r,n,i){t.text(function(t){var r=t.column.specIndex,n=t.rowNumber,i=t.value,a=\"string\"==typeof i,o=a&&i.match(/<br>/i),s=!a||o;t.mayHaveMarkup=a&&i.match(/[<&>]/);var l,u=\"string\"==typeof(l=i)&&l.match(nY.latexCheck);t.latex=u;var c,h,f=u?\"\":bY(t.calcdata.cells.prefix,r,n)||\"\",p=u?\"\":bY(t.calcdata.cells.suffix,r,n)||\"\",d=u?null:bY(t.calcdata.cells.format,r,n)||null,g=f+(d?e.format(d)(t.value):t.value)+p;if(t.wrappingNeeded=!t.wrapped&&!s&&!u&&(c=xY(g)),t.cellHeightMayIncrease=o||u||t.mayHaveMarkup||(void 0===c?xY(g):c),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var v=(\" \"===nY.wrapSplitCharacter?g.replace(/<a href=/gi,\"<a_href=\"):g).split(nY.wrapSplitCharacter),m=\" \"===nY.wrapSplitCharacter?v.map(function(t){return t.replace(/<a_href=/gi,\"<a href=\")}):v;t.fragments=m.map(function(t){return{text:t,width:null}}),t.fragments.push({fragment:nY.wrapSpacer,width:null}),h=m.join(nY.lineBreaker)+nY.lineBreaker+nY.wrapSpacer}else delete t.fragments,h=g;return h}).attr(\"dy\",function(t){return t.needsConvertToTspans?0:\"0.75em\"}).each(function(t){var a=e.select(this),o=t.wrappingNeeded?EY:CY;t.needsConvertToTspans?er.convertToTspans(a,i,o(n,this,r,i,t)):e.select(this.parentNode).attr(\"transform\",function(t){return\"translate(\"+LY(t)+\" \"+nY.cellPad+\")\"}).attr(\"text-anchor\",function(t){return{left:\"start\",center:\"middle\",right:\"end\"}[t.align]})})}function xY(t){return-1!==t.indexOf(nY.wrapSplitCharacter)}function bY(t,e,r){if(Array.isArray(t)){var n=t[Math.min(e,t.length-1)];return Array.isArray(n)?n[Math.min(r,n.length-1)]:n}return t}function _Y(t,e,r){t.transition().ease(nY.releaseTransitionEase).duration(nY.releaseTransitionDuration).attr(\"transform\",\"translate(\"+e.x+\" \"+r+\")\")}function wY(t){return\"cells\"===t.type}function MY(t){return\"header\"===t.type}function AY(t){return(t.rowBlocks.length?t.rowBlocks[0].auxiliaryBlocks:[]).reduce(function(t,e){return t+IY(e,1/0)},0)}function kY(t,e,r){var n=gY(e)[0];if(void 0!==n){var i=n.rowBlocks,a=n.calcdata,o=PY(i,i.length),s=n.calcdata.groupHeight-AY(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),u=function(t,e,r){for(var n=[],i=0,a=0;a<t.length;a++){for(var o=t[a],s=o.rows,l=0,u=0;u<s.length;u++)l+=s[u].rowHeight;o.allRowsHeight=l,e<i+l&&e+r>i&&n.push(a),i+=l}return n}(i,l,s);1===u.length&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),e.each(function(t,e){t.page=u[e],t.scrollY=l}),e.attr(\"transform\",function(t){return\"translate(0 \"+(PY(t.rowBlocks,t.page)-t.scrollY)+\")\"}),t&&(SY(t,r,e,u,n.prevPages,n,0),SY(t,r,e,u,n.prevPages,n,1),vY(r,t))}}function TY(t,r,n,i){return function(a){var o=a.calcdata?a.calcdata:a,s=r.filter(function(t){return o.key===t.key}),l=n||o.scrollbarState.dragMultiplier;o.scrollY=void 0===i?o.scrollY+l*e.event.dy:i;var u=s.selectAll(\".\"+nY.cn.yColumn).selectAll(\".\"+nY.cn.columnBlock).filter(wY);kY(t,u,s)}}function SY(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var a=r.filter(function(t,e){return e===o&&n[e]!==i[e]});mY(t,e,a,r),i[o]=n[o]}))}function EY(t,r,n){return function(){var i=e.select(r.parentNode);i.each(function(t){var e=t.fragments;i.selectAll(\"tspan.line\").each(function(t,r){e[r].width=this.getComputedTextLength()});var r,n,a=e[e.length-1].width,o=e.slice(0,-1),s=[],l=0,u=t.column.columnWidth-2*nY.cellPad;for(t.value=\"\";o.length;)l+(n=(r=o.shift()).width+a)>u&&(t.value+=s.join(nY.wrapSpacer)+nY.lineBreaker,s=[],l=0),s.push(r.text),l+=n;l&&(t.value+=s.join(nY.wrapSpacer)),t.wrapped=!0}),i.selectAll(\"tspan.line\").remove(),yY(i.select(\".\"+nY.cn.cellText),n,t),e.select(r.parentNode.parentNode).call(zY)}}function CY(t,r,n,i,a){return function(){if(!a.settledY){var o=e.select(r.parentNode),s=OY(a),l=a.key-s.firstRowIndex,u=s.rows[l].rowHeight,c=a.cellHeightMayIncrease?r.parentNode.getBoundingClientRect().height+2*nY.cellPad:u,h=Math.max(c,u);h-s.rows[l].rowHeight&&(s.rows[l].rowHeight=h,t.selectAll(\".\"+nY.cn.columnCell).call(zY),kY(null,t.filter(wY),0),vY(n,i,!0)),o.attr(\"transform\",function(){var t=this.parentNode.getBoundingClientRect(),r=e.select(this.parentNode).select(\".\"+nY.cn.cellRect).node().getBoundingClientRect(),n=this.transform.baseVal.consolidate(),i=r.top-t.top+(n?n.matrix.f:nY.cellPad);return\"translate(\"+LY(a,e.select(this.parentNode).select(\".\"+nY.cn.cellTextHolder).node().getBoundingClientRect().width)+\" \"+i+\")\"}),a.settledY=!0}}}function LY(t,e){switch(t.align){case\"left\":return nY.cellPad;case\"right\":return t.column.columnWidth-(e||0)-nY.cellPad;case\"center\":return(t.column.columnWidth-(e||0))/2;default:return nY.cellPad}}function zY(t){t.attr(\"transform\",function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce(function(t,e){return t+IY(e,1/0)},0);return\"translate(0 \"+(IY(OY(t),t.key)+e)+\")\"}).selectAll(\".\"+nY.cn.cellRect).attr(\"height\",function(t){return(e=OY(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r})}function PY(t,e){for(var r=0,n=e-1;n>=0;n--)r+=DY(t[n]);return r}function IY(t,e){for(var r=0,n=0;n<t.rows.length&&t.rows[n].rowIndex<e;n++)r+=t.rows[n].rowHeight;return r}function DY(t){var e=t.allRowsHeight;if(void 0!==e)return e;for(var r=0,n=0;n<t.rows.length;n++)r+=t.rows[n].rowHeight;return t.allRowsHeight=r,r}function OY(t){return t.rowBlocks[t.page]}var RY={},FY=sa.getModuleCalcData;RY.name=\"table\",RY.plot=function(t){var e=FY(t.calcdata,\"table\");e.length&&fY(t,e)},RY.clean=function(t,e,r,n){var i=n._has&&n._has(\"table\"),a=e._has&&e._has(\"table\");i&&!a&&n._paperdiv.selectAll(\".table\").remove()};var BY=ZR.wrap,NY=qc.defaults;var jY={};jY.attributes=rY,jY.supplyDefaults=function(t,e,r,n){function i(r,n){return ne.coerce(t,e,rY,r,n)}NY(e,n,i),i(\"columnwidth\"),i(\"header.values\"),i(\"header.format\"),i(\"header.align\"),i(\"header.prefix\"),i(\"header.suffix\"),i(\"header.height\"),i(\"header.line.width\"),i(\"header.line.color\"),i(\"header.fill.color\"),ne.coerceFont(i,\"header.font\",ne.extendFlat({},n.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort(function(t,e){return t-e}),o=i.map(function(t){return a.indexOf(t)}),s=o.length;s<n;s++)o.push(s);e(\"columnorder\",o)}(e,i),i(\"cells.values\"),i(\"cells.format\"),i(\"cells.align\"),i(\"cells.prefix\"),i(\"cells.suffix\"),i(\"cells.height\"),i(\"cells.line.width\"),i(\"cells.line.color\"),i(\"cells.fill.color\"),ne.coerceFont(i,\"cells.font\",ne.extendFlat({},n.font))},jY.calc=function(t,e){return BY(e)},jY.plot=fY,jY.moduleType=\"trace\",jY.name=\"table\",jY.basePlotModule=RY,jY.categories=[\"noOpacity\"],jY.meta={};var VY=jY,UY=m.extendFlat,qY={y:cs.y,x:cs.x,x0:cs.x0,y0:cs.y0,name:cs.name,orientation:UY({},cs.orientation,{}),bandwidth:{valType:\"number\",min:0,editType:\"calc\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},scalemode:{valType:\"enumerated\",values:[\"width\",\"count\"],dflt:\"width\",editType:\"calc\"},spanmode:{valType:\"enumerated\",values:[\"soft\",\"hard\",\"manual\"],dflt:\"soft\",editType:\"calc\"},span:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:cs.fillcolor,points:UY({},cs.boxpoints,{}),jitter:UY({},cs.jitter,{}),pointpos:UY({},cs.pointpos,{}),marker:cs.marker,text:cs.text,box:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},width:{valType:\"number\",min:0,max:1,dflt:.25,editType:\"plot\"},fillcolor:{valType:\"color\",editType:\"style\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},editType:\"plot\"},meanline:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"plot\"},side:{valType:\"enumerated\",values:[\"both\",\"positive\",\"negative\"],dflt:\"both\",editType:\"plot\"},selected:cs.selected,unselected:cs.unselected,hoveron:{valType:\"flaglist\",flags:[\"violins\",\"points\",\"kde\"],dflt:\"violins+points+kde\",extras:[\"all\"],editType:\"style\"}},HY={},GY=function(t){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*t*t)};HY.makeKDE=function(t,e,r){var n=r.length,i=GY,a=t.bandwidth,o=1/(n*a);return function(t){for(var e=0,s=0;s<n;s++)e+=i((t-r[s])/a);return o*e}},HY.getPositionOnKdePath=function(t,e,r){var n,i;\"h\"===e.orientation?(n=\"y\",i=\"x\"):(n=\"x\",i=\"y\");var a=ne.findPointOnPath(t.path,r,i,{pathLength:t.pathLength}),o=t.posCenterPx,s=a[n];return[s,\"both\"===e.side?2*o-s:o]},HY.getKdeValue=function(t,e,r){var n=t.pts.map(HY.extractVal);return HY.makeKDE(t,e,n)(r)/t.posDensityScale},HY.extractVal=function(t){return t.v};var WY=t.BADNUM;function YY(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t.length,-.2)}function XY(t,e,r,n){var i,a=t.spanmode,o=t.span||[],s=[e.min,e.max],l=[e.min-2*n,e.max+2*n];function u(n){var i=o[n],a=r.d2c(i,0,t[e.valLetter+\"calendar\"]);return a===WY?l[n]:a}var c={type:\"linear\",range:i=\"soft\"===a?l:\"hard\"===a?s:[u(0),u(1)]};return ri.setConvert(c),c.cleanRange(),i}var ZY=ne.extendFlat,JY={violinmode:ZY({},ws.boxmode,{}),violingap:ZY({},ws.boxgap,{}),violingroupgap:ZY({},ws.boxgroupgap,{})},KY=Os,QY=[\"v\",\"h\"],$Y=Cx.stylePoints,tX={attributes:qY,layoutAttributes:JY,supplyDefaults:function(t,e,r,n){function i(r,n){return ne.coerce(t,e,qY,r,n)}function a(r,n){return ne.coerce2(t,e,qY,r,n)}if(ys.handleSampleDefaults(t,e,i,n),!1!==e.visible){i(\"bandwidth\"),i(\"scalegroup\",e.name),i(\"scalemode\"),i(\"side\");var o,s=i(\"span\");Array.isArray(s)&&(o=\"manual\"),i(\"spanmode\",o);var l=i(\"line.color\",(t.marker||{}).color||r),u=i(\"line.width\"),c=i(\"fillcolor\",Oe.addOpacity(e.line.color,.5));ys.handlePointsDefaults(t,e,i,{prefix:\"\"});var h=a(\"box.width\"),f=a(\"box.fillcolor\",c),p=a(\"box.line.color\",l),d=a(\"box.line.width\",u);i(\"box.visible\",Boolean(h||f||p||d))||delete e.box;var g=a(\"meanline.color\",l),v=a(\"meanline.width\",u);i(\"meanline.visible\",Boolean(g||v))||delete e.meanline}},supplyLayoutDefaults:function(t,e,r){As._supply(t,e,r,function(r,n){return ne.coerce(t,e,JY,r,n)},\"violin\")},calc:function(t,e){var r=fs(t,e);if(r[0].t.empty)return r;var n=t._fullLayout,i=ri.getFromId(t,e[\"h\"===e.orientation?\"xaxis\":\"yaxis\"]),a=n._violinScaleGroupStats,o=e.scalegroup,s=a[o];s||(s=a[o]={maxWidth:0,maxCount:0});for(var l=0;l<r.length;l++){var u=r[l],c=u.pts.map(HY.extractVal),h=c.length,f=YY(c,ne.stdev(c,h-1,u.mean),u.q3-u.q1),p=u.bandwidth=e.bandwidth||f,d=u.span=XY(e,u,i,p),g=d[1]-d[0],v=Math.ceil(g/(Math.min(f,p)/3)),m=g/v;if(!isFinite(m)||!isFinite(v))return ne.error(\"Something went wrong with computing the violin span\"),r[0].t.empty=!0,r;var y=HY.makeKDE(u,e,c);u.density=new Array(v);for(var x=0,b=d[0];b<d[1]+m/2;x++,b+=m){var _=y(b);s.maxWidth=Math.max(s.maxWidth,_),u.density[x]={v:_,t:b}}ri.expand(i,d,{padded:!0}),s.maxCount=Math.max(s.maxCount,c.length)}return r[0].t.labels.kde=ne._(t,\"kde:\"),r},setPositions:function(t,e){for(var r=t.calcdata,n=e.xaxis,i=e.yaxis,a=0;a<QY.length;a++){for(var o=QY[a],s=\"h\"===o?i:n,l=[],u=0,c=0,h=0;h<r.length;h++){var f=r[h],p=f[0].t,d=f[0].trace;!0!==d.visible||\"violin\"!==d.type||p.empty||d.orientation!==o||d.xaxis!==n._id||d.yaxis!==i._id||(l.push(h),!1!==d.points&&(u=Math.max(u,d.jitter-d.pointpos-1),c=Math.max(c,d.jitter+d.pointpos-1)))}KY(\"violin\",t,l,s,[u,c])}},plot:function(t,r,n){var i=t._fullLayout,a=r.xaxis,o=r.yaxis;function s(t){var e=wx(t,{xaxis:a,yaxis:o,connectGaps:!0,baseTolerance:.75,shape:\"spline\",simplify:!0});return Sr.smoothopen(e[0],1)}r.plot.select(\".violinlayer\").selectAll(\"g.trace.violins\").data(n).enter().append(\"g\").attr(\"class\",\"trace violins\").each(function(t){var n=t[0],l=n.t,u=n.trace,c=n.node3=e.select(this),h=i._numViolins,f=\"group\"===i.violinmode&&h>1,p=l.bdPos=l.dPos*(1-i.violingap)*(1-i.violingroupgap)/(f?h:1),d=l.bPos=f?2*l.dPos*((l.num+.5)/h-.5)*(1-i.violingap):0;if(!0!==u.visible||l.empty)e.select(this).remove();else{var g=r[l.valLetter+\"axis\"],v=r[l.posLetter+\"axis\"],m=\"both\"===u.side,y=m||\"positive\"===u.side,x=m||\"negative\"===u.side,b=u.box&&u.box.visible,_=u.meanline&&u.meanline.visible,w=i._violinScaleGroupStats[u.scalegroup];if(c.selectAll(\"path.violin\").data(ne.identity).enter().append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").attr(\"class\",\"violin\").each(function(t){var r,n,i,a,o,c,h,f,b=e.select(this),_=t.density,M=_.length,A=t.pos+d,k=v.c2p(A);switch(u.scalemode){case\"width\":r=w.maxWidth/p;break;case\"count\":r=w.maxWidth/p*(w.maxCount/t.pts.length)}if(y){for(h=new Array(M),o=0;o<M;o++)(f=h[o]={})[l.posLetter]=A+_[o].v/r,f[l.valLetter]=_[o].t;n=s(h)}if(x){for(h=new Array(M),c=0,o=M-1;c<M;c++,o--)(f=h[c]={})[l.posLetter]=A-_[o].v/r,f[l.valLetter]=_[o].t;i=s(h)}if(m)a=n+\"L\"+i.substr(1)+\"Z\";else{var T=[k,g.c2p(_[0].t)],S=[k,g.c2p(_[M-1].t)];\"h\"===u.orientation&&(T.reverse(),S.reverse()),a=y?\"M\"+T+\"L\"+n.substr(1)+\"L\"+S:\"M\"+S+\"L\"+i.substr(1)+\"L\"+T}b.attr(\"d\",a),t.posCenterPx=k,t.posDensityScale=r*p,t.path=b.node(),t.pathLength=t.path.getTotalLength()/(m?2:1)}),b){var M,A,k=u.box.width,T=u.box.line.width;m?(M=p*k,A=0):y?(M=[0,p*k/2],A=-T):(M=[p*k/2,0],A=T),u.whiskerwidth=0,Ls.plotBoxAndWhiskers(c,{pos:v,val:g},u,{bPos:d,bdPos:M,bPosPxOffset:A}),_&&Ls.plotBoxMean(c,{pos:v,val:g},u,{bPos:d,bdPos:M,bPosPxOffset:A})}else _&&c.selectAll(\"path.mean\").data(ne.identity).enter().append(\"path\").attr(\"class\",\"mean\").style({fill:\"none\",\"vector-effect\":\"non-scaling-stroke\"}).each(function(t){var r=g.c2p(t.mean,!0),n=HY.getPositionOnKdePath(t,u,r);e.select(this).attr(\"d\",\"h\"===u.orientation?\"M\"+r+\",\"+n[0]+\"V\"+n[1]:\"M\"+n[0]+\",\"+r+\"H\"+n[1])});u.points&&Ls.plotPoints(c,{x:a,y:o},u,l)}})},style:function(t,r){var n=r?r[0].node3:e.select(t).selectAll(\"g.trace.violins\");n.style(\"opacity\",function(t){return t[0].trace.opacity}),n.each(function(r){var n=r[0].trace,i=e.select(this),a=n.box||{},o=a.line||{},s=n.meanline||{},l=s.width;i.selectAll(\"path.violin\").style(\"stroke-width\",n.line.width+\"px\").call(Oe.stroke,n.line.color).call(Oe.fill,n.fillcolor),i.selectAll(\"path.box\").style(\"stroke-width\",o.width+\"px\").call(Oe.stroke,o.color).call(Oe.fill,a.fillcolor),i.selectAll(\"path.mean\").style({\"stroke-width\":l+\"px\",\"stroke-dasharray\":2*l+\"px,\"+l+\"px\"}).call(Oe.stroke,s.color),$Y(i,n,t)})},hoverPoints:function(t,e,r,n,i){var a,o,s=t.cd,l=s[0].trace,u=l.hoveron,c=-1!==u.indexOf(\"violins\"),h=-1!==u.indexOf(\"kde\"),f=[];if(c||h){var p=_s.hoverOnBoxes(t,e,r,n);if(c&&(f=f.concat(p)),h&&p.length>0){var d,g,v,m,y,x=t.xa,b=t.ya;\"h\"===l.orientation?(y=e,d=\"y\",v=b,g=\"x\",m=x):(y=r,d=\"x\",v=x,g=\"y\",m=b);var _=s[t.index];if(y>=_.span[0]&&y<=_.span[1]){var w=ne.extendFlat({},t),M=m.c2p(y,!0),A=HY.getKdeValue(_,l,y),k=HY.getPositionOnKdePath(_,l,M),T=v._offset,S=v._length;w[d+\"0\"]=k[0],w[d+\"1\"]=k[1],w[g+\"0\"]=w[g+\"1\"]=M,w[g+\"Label\"]=g+\": \"+ri.hoverLabelText(m,y)+\", \"+s[0].t.labels.kde+\" \"+A.toFixed(3),w.spikeDistance=p[0].spikeDistance;var E=d+\"Spike\";w[E]=p[0][E],p[0].spikeDistance=void 0,p[0][E]=void 0,f.push(w),(o={stroke:t.color})[d+\"1\"]=ne.constrain(T+k[0],T,T+S),o[d+\"2\"]=ne.constrain(T+k[1],T,T+S),o[g+\"1\"]=o[g+\"2\"]=m._offset+M}}}-1!==u.indexOf(\"points\")&&(a=_s.hoverOnPoints(t,e,r));var C=i.selectAll(\".violinline-\"+l.uid).data(o?[0]:[]);return C.enter().append(\"line\").classed(\"violinline-\"+l.uid,!0).attr(\"stroke-width\",1.5),C.exit().remove(),C.attr(o),\"closest\"===n?a?[a]:f:a?(f.push(a),f):f},selectPoints:zs,moduleType:\"trace\",name:\"violin\",basePlotModule:ua,categories:[\"cartesian\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\"],meta:{}};return Fx.register([os,Bs,Kx,qL,ZL,$L,YF,fp,qG,tX,Wj,tY,DR,dV,Sh,xq,aB,LL,LF,aH,uN,VY,Gu,tV,Ep,UR,iu,aG,uG]),Fx.register([Hi,qx,Yx,WG]),Fx.register([Ul]),Fx});\n",
       "});require(['plotly'], function(Plotly) {window.Plotly = Plotly;});}</script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import plotly.offline as py\n",
    "import plotly.graph_objs as go\n",
    "\n",
    "py.init_notebook_mode()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "bbcd0b1ac1c549b9bfd133721543f0ec",
       "version_major": 2,
       "version_minor": 0
      },
      "text/html": [
       "<p>Failed to display Jupyter Widget of type <code>VBox</code>.</p>\n",
       "<p>\n",
       "  If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n",
       "  that the widgets JavaScript is still loading. If this message persists, it\n",
       "  likely means that the widgets JavaScript library is either not installed or\n",
       "  not enabled. See the <a href=\"https://ipywidgets.readthedocs.io/en/stable/user_install.html\">Jupyter\n",
       "  Widgets Documentation</a> for setup instructions.\n",
       "</p>\n",
       "<p>\n",
       "  If you're reading this message in another frontend (for example, a static\n",
       "  rendering on GitHub or <a href=\"https://nbviewer.jupyter.org/\">NBViewer</a>),\n",
       "  it may mean that your frontend doesn't currently support widgets.\n",
       "</p>\n"
      ],
      "text/plain": [
       "VBox(children=(Button(description='Plot!', style=ButtonStyle()), Output()))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "create_plot = widgets.Button(description='Plot!')\n",
    "plot_out = widgets.Output()\n",
    "\n",
    "\n",
    "def plot(*args):\n",
    "    with plot_out:\n",
    "        per_year = get_filtered_dataframe()[['year', 'pages']].groupby('year').sum()\n",
    "        ppy = go.Bar(x=per_year.index,\n",
    "                      y=per_year.pages,\n",
    "                      name='PPY'\n",
    "                     )\n",
    "        ppy_data = go.Data([ppy])\n",
    "        ppy_layout = go.Layout(title='Pages per Year',\n",
    "                           xaxis={'title': 'Years'},\n",
    "                           yaxis={'title': 'Pages'})\n",
    "        ppy_figure = go.Figure(data=ppy_data, layout=ppy_layout)\n",
    "        py.iplot(ppy_figure)\n",
    "        \n",
    "create_plot.on_click(plot)\n",
    "\n",
    "\n",
    "widgets.VBox([\n",
    "    create_plot,\n",
    "    plot_out\n",
    "])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Widgets + Plotly"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'plot_clear' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-17-e6f1946da4c2>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m    110\u001b[0m \u001b[0mlang\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mobserve\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mupdate_filtered_plotly_output\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnames\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'value'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    111\u001b[0m \u001b[0mlabs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mobserve\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mupdate_filtered_plotly_output\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnames\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'value'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 112\u001b[0;31m \u001b[0mclear_plot\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mon_click\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mplot_clear\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    113\u001b[0m \u001b[0mcreate_plot\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mon_click\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    114\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mNameError\u001b[0m: name 'plot_clear' is not defined"
     ]
    }
   ],
   "source": [
    "wide_layout = widgets.Layout(width='90%')\n",
    "\n",
    "years = widgets.IntRangeSlider(value=(year_min, year_max), min=year_min, max=year_max, step=1,\n",
    "                               continuous_update=False, description='Years', layout=wide_layout)\n",
    "pages = widgets.SelectionRangeSlider(value=(pages_min, pages_max), options=pages_unique,\n",
    "                                     continuous_update=False, description='Pages', layout=wide_layout)\n",
    "lang = widgets.SelectMultiple(options=language_options, value=language_options[:], rows=len(language_options),\n",
    "                              description='Languages', layout=wide_layout)\n",
    "labs = widgets.Checkbox(value=False,\n",
    "                        description='Limit to Lab content', layout=wide_layout)\n",
    "clear_plot = widgets.Button(description='Clear!', layout=wide_layout)\n",
    "create_plot = widgets.Button(description='Plot!', layout=wide_layout)\n",
    "text_out = widgets.Output(layout=wide_layout)\n",
    "plot_out = widgets.Output(layout=wide_layout)\n",
    "\n",
    "\n",
    "def get_filtered_dataframe():\n",
    "    ymin, ymax = years.value\n",
    "    pmin, pmax = pages.value\n",
    "    selected_languages = lang.value\n",
    "    filtered = dd[\n",
    "        (dd['year'] >= ymin) &\n",
    "        (dd['year'] <= ymax) &\n",
    "        (dd['pages'] >= pmin) &\n",
    "        (dd['pages'] <= pmax) &\n",
    "        (dd['languages'].isin(selected_languages))\n",
    "    ]\n",
    "    if labs.value:\n",
    "        filtered = filtered[filtered['in_labs']]\n",
    "    return filtered\n",
    "\n",
    "\n",
    "def plot_issues():\n",
    "    with plot_out:\n",
    "        per_year_and_language = get_filtered_dataframe()[['languages', 'year']] \\\n",
    "                                    .groupby(['languages', 'year']).size().to_frame() \\\n",
    "                                    .rename(index=str, columns={0: 'issues'})\n",
    "        \n",
    "        # issues per language - all languages\n",
    "        idx = per_year_and_language.index\n",
    "\n",
    "        iper_language = {}\n",
    "        for lang in idx.get_level_values(0):\n",
    "            data = per_year_and_language[idx.get_level_values(0) == lang]\n",
    "            graph_obj = go.Bar(\n",
    "                x = data.index.get_level_values(1),\n",
    "                y = data.issues,\n",
    "                name = lang.upper()\n",
    "            )\n",
    "            iper_language[lang] = {\n",
    "                'data_obj': data,\n",
    "                'graph_obj': graph_obj\n",
    "            }\n",
    "\n",
    "        ipl_all_data = [iper_language[lang]['graph_obj'] for lang in sorted(iper_language.keys(), reverse=True)]\n",
    "        ipl_all_layout = go.Layout(\n",
    "            title='Issues per Language per Year',\n",
    "            barmode='stack',\n",
    "            xaxis={'title': 'Year'},\n",
    "            yaxis={'title': 'Issues'},\n",
    "            height=500\n",
    "        )\n",
    "        ipl_all_fig = go.Figure(data=ipl_all_data, layout=ipl_all_layout)\n",
    "        py.iplot(ipl_all_fig)        \n",
    "\n",
    "        \n",
    "def plot_pages():\n",
    "    with plot_out:\n",
    "        per_year_and_language = get_filtered_dataframe()[['languages', 'year', 'pages']].groupby(['languages', 'year']).sum()\n",
    "        \n",
    "        # pages per language - all languages\n",
    "        idx = per_year_and_language.index\n",
    "\n",
    "        pper_language = {}\n",
    "        for lang in idx.get_level_values(0):\n",
    "            data = per_year_and_language[idx.get_level_values(0) == lang]\n",
    "            graph_obj = go.Bar(\n",
    "                x = data.index.get_level_values(1),\n",
    "                y = data.pages,\n",
    "                name = lang.upper()\n",
    "            )\n",
    "            pper_language[lang] = {\n",
    "                'data_obj': data,\n",
    "                'graph_obj': graph_obj\n",
    "            }\n",
    "\n",
    "        ppl_all_data = [pper_language[lang]['graph_obj'] for lang in sorted(pper_language.keys(), reverse=True)]\n",
    "        ppl_all_layout = go.Layout(\n",
    "            title='Pages per Language per Year',\n",
    "            barmode='stack',\n",
    "            xaxis={'title': 'Year'},\n",
    "            yaxis={'title': 'Pages'},\n",
    "            height=500\n",
    "        )\n",
    "        ppl_all_fig = go.Figure(data=ppl_all_data, layout=ppl_all_layout)\n",
    "        py.iplot(ppl_all_fig)        \n",
    "        \n",
    "def plot(*args):\n",
    "    plot_out.clear_output()\n",
    "    plot_pages()\n",
    "    plot_issues()\n",
    "\n",
    "def update_filtered_plotly_output(*args):\n",
    "    filtered_data = get_filtered_dataframe()\n",
    "    text_out.clear_output()\n",
    "    with text_out:\n",
    "        print('Selected Issues: {}'.format(len(filtered_data)))\n",
    "\n",
    "        \n",
    "years.observe(update_filtered_plotly_output, names=['value'])\n",
    "pages.observe(update_filtered_plotly_output, names=['value'])\n",
    "lang.observe(update_filtered_plotly_output, names=['value'])\n",
    "labs.observe(update_filtered_plotly_output, names=['value'])\n",
    "clear_plot.on_click(plot_clear)\n",
    "create_plot.on_click(plot)\n",
    "\n",
    "update_filtered_plotly_output()\n",
    "    \n",
    "dyn_view = widgets.VBox([\n",
    "    years,\n",
    "    pages,\n",
    "    lang,\n",
    "    labs,\n",
    "    text_out,\n",
    "    # widgets.HBox([create_plot, clear_plot]),\n",
    "    create_plot,\n",
    "    plot_out\n",
    "])\n",
    "dyn_view"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import ipywidgets.embed as embed"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "embed.embed_minimal_html('export.html', views=dyn_view, title='Widgets export')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## IPyWidgets Walker"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 257,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = embed.embed_data(dyn_view)\n",
    "state, view = data['manager_state']['state'], data['view_specs']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 262,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_model(model_id):\n",
    "    return state[model_id]\n",
    "\n",
    "def model_to_html(model_id):\n",
    "    model = get_model(model_id)\n",
    "    name = model['model_name']\n",
    "    state = model.get('state', {})\n",
    "    if name == 'VBoxModel':\n",
    "        children = state['children']\n",
    "        child_ids = [e.replace('IPY_MODEL_', '') for e in children if e.startswith('IPY_MODEL_')]\n",
    "        return '<div class=\"ipywalker ipywalker-vbox\">{children}</div>', child_ids\n",
    "    #elif name == 'CheckboxModel':\n",
    "    #    descr, value = state['description'], state['value']\n",
    "    #    return '<input type=\"checkbox\" id=\"{id}\" {checked} /><label for=\"{id}\">{descr}</label>'.format(\n",
    "    #        checked='checked' if value else '',\n",
    "    #        id=model_id,\n",
    "    #        descr=descr)\n",
    "    elif name == 'IntRangeSliderModel':\n",
    "        # TODO: Labels to show current values\n",
    "        # TODO: Text input to set current values - connect to slider position\n",
    "        descr, min_, max_, low, high = state['description'], state['min'], state['max'], *state['value']\n",
    "        return ('<label for=\"{id}-low\">{descr}</label>\\n'\n",
    "                '<input type=\"range\" id=\"{id}-low\" min=\"{min}\" max=\"{max}\" value=\"{low}\" />\\n'\n",
    "                '<input type=\"range\" id=\"{id}-high\" min=\"{min}\" max=\"{max}\" value=\"{high}\" />').format(\n",
    "            id=model_id, descr=descr, min=min_, max=max_, low=low, high=high)\n",
    "    # TODO: SelectionRangeSliderModel\n",
    "    # TODO: SelectMultipleModel\n",
    "    # TODO: ButtonModel\n",
    "    else:\n",
    "        return '<!-- MODEL FOR MODEL_ID {} NOT IMPLEMENTED -->'.format(model_id)\n",
    "\n",
    "def walk_view(view):\n",
    "    html_widgets = []\n",
    "    for view_obj in view:\n",
    "        model_id = view_obj['model_id']\n",
    "        html_string, children = model_to_html(model_id)\n",
    "        if children:\n",
    "            children_html = [model_to_html(child) for child in children]\n",
    "            html_widgets.append(html_string.format(children='\\n'.join(children_html)))\n",
    "        else:\n",
    "            html_widgets.append(html_string)\n",
    "    return html_widgets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 263,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "('<div class=\"ipywalker ipywalker-vbox\">{children}</div>',\n",
       " ['e3d17a73234248318d14a1f28814a565',\n",
       "  'f5229546363143b685d9750d555e5a73',\n",
       "  '11218b97f7d84062b89abda12a395a23',\n",
       "  'da995b665fd047faadad9a32303622d9',\n",
       "  'f4ac1c6f5d5b4da299ecf558a9954c94',\n",
       "  'edb7713a2fb641e6a2cba5be524fe76c',\n",
       "  '2f65bc25d8d241939f8eebd72172181f'])"
      ]
     },
     "execution_count": 263,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model_to_html('13f4f856169d45f1915e2b89864048b5')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 270,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div class=\"ipywalker ipywalker-vbox\"><label for=\"7729a51e218f4b78a93b984b8254467a-low\">Years</label>\n",
       "<input type=\"range\" id=\"7729a51e218f4b78a93b984b8254467a-low\" min=\"1505\" max=\"2017\" value=\"1505\" />\n",
       "<input type=\"range\" id=\"7729a51e218f4b78a93b984b8254467a-high\" min=\"1505\" max=\"2017\" value=\"2017\" />\n",
       "<!-- MODEL FOR MODEL_ID eb700b35499741b98512b9b8b09ffa41 NOT IMPLEMENTED -->\n",
       "<!-- MODEL FOR MODEL_ID 55839b499ec04b0096f8593b16ac4305 NOT IMPLEMENTED -->\n",
       "<!-- MODEL FOR MODEL_ID f9155da7d6a344e5996128898d45b090 NOT IMPLEMENTED -->\n",
       "<!-- MODEL FOR MODEL_ID d1e288fd15ea40639f7be3820309c1c8 NOT IMPLEMENTED -->\n",
       "<!-- MODEL FOR MODEL_ID 8ff1565facd749cebaf8605ec20db960 NOT IMPLEMENTED -->\n",
       "<!-- MODEL FOR MODEL_ID e5248e6de7a8404187517f98aee45572 NOT IMPLEMENTED --></div>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from IPython.display import HTML\n",
    "display(HTML(walk_view(view)[0]))\n",
    "# len(walk_view(view))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 265,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'model_module': '@jupyter-widgets/controls',\n",
       " 'model_module_version': '1.1.0',\n",
       " 'model_name': 'ButtonModel',\n",
       " 'state': {'_dom_classes': (),\n",